DBA Data[Home] [Help]

PACKAGE BODY: APPS.CSC_CUST_PLANS_AUDIT_PKG

Source


1 PACKAGE BODY CSC_CUST_PLANS_AUDIT_PKG as
2 /* $Header: csctcpab.pls 120.0 2005/05/30 15:46:47 appldev noship $ */
3 -- Start of Comments
4 -- Package name     : CSC_CUST_PLANS_AUDIT_PKG
5 -- Purpose          : Table handler package to perform inserts into
6 --                    CSC_CUST_PLANS_AUDIT table. This table maintains an audit
7 --                    log of the operations performed on the CSC_CUST_PLANS table.
8 -- History          :
9 -- MM-DD-YYYY    NAME          MODIFICATIONS
10 -- 10-29-1999    dejoseph      Created.
11 -- 12-08-1999    dejoseph      'Arcs'ed in for first code freeze.
12 -- 12-21-1999    dejoseph      'Arcs'ed in for second code freeze.
13 -- 01-03-2000    dejoseph      'Arcs'ed in for third code freeze. (10-JAN-2000)
14 -- 01-31-2000    dejoseph      'Arcs'ed in for fourth code freeze. (07-FEB-2000)
15 -- 02-13-2000    dejoseph      'Arcs'ed on for fifth code freeze. (21-FEB-2000)
16 -- 02-28-2000    dejoseph      'Arcs'ed on for sixth code freeze. (06-MAR-2000)
17 -- 04-10-2000    dejoseph      Removed reference to cust_account_org in lieu of TCA's
18 --                             decision to drop column org_id from hz_cust_accounts.
19 -- 10-23-2000    dejoseph      Changed the IN OUT NOCOPY parameter px_plan_audit_id to an
20 --                             OUT NOCOPY parameter x_plan_audit_id. Fix to bug # 1467071
21 -- 11-12-2002	 bhroy		NOCOPY changes made
22 -- 12-03-2002	 bhroy		Added check-in comments WHENEVER OSERROR EXIT FAILURE ROLLBACK
23 --
24 -- NOTE             :
25 -- End of Comments
26 
27 
28 G_PKG_NAME  CONSTANT VARCHAR2(30) := 'CSC_CUST_PLANS_AUDIT_PKG';
29 G_FILE_NAME CONSTANT VARCHAR2(12) := 'csctcpab.pls';
30 
31 PROCEDURE Insert_Row(
32           --px_PLAN_AUDIT_ID           IN OUT  NOCOPY NUMBER,
33           p_PLAN_ID                  IN      NUMBER,
34           p_PARTY_ID                 IN      NUMBER,
35           p_CUST_ACCOUNT_ID          IN      NUMBER,
36           --p_CUST_ACCOUNT_ORG         IN      NUMBER,
37           p_PLAN_STATUS_CODE         IN      VARCHAR2,
38           p_REQUEST_ID               IN      NUMBER,
39           p_PROGRAM_APPLICATION_ID   IN      NUMBER,
40           p_PROGRAM_ID               IN      NUMBER,
41           p_PROGRAM_UPDATE_DATE      IN      DATE,
42           p_CREATION_DATE            IN      DATE,
43           p_LAST_UPDATE_DATE         IN      DATE,
44           p_CREATED_BY               IN      NUMBER,
45           p_LAST_UPDATED_BY          IN      NUMBER,
46           p_LAST_UPDATE_LOGIN        IN      NUMBER,
47           p_ATTRIBUTE1               IN      VARCHAR2,
48           p_ATTRIBUTE2               IN      VARCHAR2,
49           p_ATTRIBUTE3               IN      VARCHAR2,
50           p_ATTRIBUTE4               IN      VARCHAR2,
51           p_ATTRIBUTE5               IN      VARCHAR2,
52           p_ATTRIBUTE6               IN      VARCHAR2,
53           p_ATTRIBUTE7               IN      VARCHAR2,
54           p_ATTRIBUTE8               IN      VARCHAR2,
55           p_ATTRIBUTE9               IN      VARCHAR2,
56           p_ATTRIBUTE10              IN      VARCHAR2,
57           p_ATTRIBUTE11              IN      VARCHAR2,
58           p_ATTRIBUTE12              IN      VARCHAR2,
59           p_ATTRIBUTE13              IN      VARCHAR2,
60           p_ATTRIBUTE14              IN      VARCHAR2,
61           p_ATTRIBUTE15              IN      VARCHAR2,
62           p_ATTRIBUTE_CATEGORY       IN      VARCHAR2,
63 		x_plan_audit_id            OUT NOCOPY    NUMBER)
64 IS
65    CURSOR C2 IS
66 	 SELECT CSC_CUST_PLANS_AUDIT_S.nextval
67 	 FROM sys.dual;
68 BEGIN
69    OPEN C2;
70    FETCH C2 INTO x_PLAN_AUDIT_ID;
71    CLOSE C2;
72 
73    INSERT INTO CSC_CUST_PLANS_AUDIT(
74            PLAN_AUDIT_ID,
75            PLAN_ID,
76            PARTY_ID,
77            CUST_ACCOUNT_ID,
78            --CUST_ACCOUNT_ORG,
79            PLAN_STATUS_CODE,
80            REQUEST_ID,
81            PROGRAM_APPLICATION_ID,
82            PROGRAM_ID,
83            PROGRAM_UPDATE_DATE,
84            CREATION_DATE,
85            LAST_UPDATE_DATE,
86            CREATED_BY,
87            LAST_UPDATED_BY,
88            LAST_UPDATE_LOGIN,
89            ATTRIBUTE1,
90            ATTRIBUTE2,
91            ATTRIBUTE3,
92            ATTRIBUTE4,
93            ATTRIBUTE5,
94            ATTRIBUTE6,
95            ATTRIBUTE7,
96            ATTRIBUTE8,
97            ATTRIBUTE9,
98            ATTRIBUTE10,
99            ATTRIBUTE11,
100            ATTRIBUTE12,
101            ATTRIBUTE13,
102            ATTRIBUTE14,
103            ATTRIBUTE15,
104            ATTRIBUTE_CATEGORY,
105            OBJECT_VERSION_NUMBER
106           ) VALUES (
107            x_PLAN_AUDIT_ID,
108            decode( p_PLAN_ID, FND_API.G_MISS_NUM, NULL, p_PLAN_ID),
109            decode( p_PARTY_ID, FND_API.G_MISS_NUM, NULL, p_PARTY_ID),
110            decode( p_CUST_ACCOUNT_ID, FND_API.G_MISS_NUM, NULL, p_CUST_ACCOUNT_ID),
111            --decode( p_CUST_ACCOUNT_ORG, FND_API.G_MISS_NUM, NULL, p_CUST_ACCOUNT_ORG),
112            decode( p_PLAN_STATUS_CODE, FND_API.G_MISS_CHAR, NULL, p_PLAN_STATUS_CODE),
113            decode( p_REQUEST_ID, FND_API.G_MISS_NUM, NULL, p_REQUEST_ID),
114            decode( p_PROGRAM_APPLICATION_ID, FND_API.G_MISS_NUM, NULL, p_PROGRAM_APPLICATION_ID),
115            decode( p_PROGRAM_ID, FND_API.G_MISS_NUM, NULL, p_PROGRAM_ID),
116            decode( p_PROGRAM_UPDATE_DATE, FND_API.G_MISS_DATE, NULL, p_PROGRAM_UPDATE_DATE),
117            decode( p_CREATION_DATE, FND_API.G_MISS_DATE, NULL, p_CREATION_DATE),
118            decode( p_LAST_UPDATE_DATE, FND_API.G_MISS_DATE, NULL, p_LAST_UPDATE_DATE),
119            decode( p_CREATED_BY, FND_API.G_MISS_NUM, NULL, p_CREATED_BY),
120            decode( p_LAST_UPDATED_BY, FND_API.G_MISS_NUM, NULL, p_LAST_UPDATED_BY),
121            decode( p_LAST_UPDATE_LOGIN, FND_API.G_MISS_NUM, NULL, p_LAST_UPDATE_LOGIN),
122            decode( p_ATTRIBUTE1, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE1),
123            decode( p_ATTRIBUTE2, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE2),
124            decode( p_ATTRIBUTE3, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE3),
125            decode( p_ATTRIBUTE4, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE4),
126            decode( p_ATTRIBUTE5, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE5),
127            decode( p_ATTRIBUTE6, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE6),
128            decode( p_ATTRIBUTE7, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE7),
129            decode( p_ATTRIBUTE8, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE8),
130            decode( p_ATTRIBUTE9, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE9),
131            decode( p_ATTRIBUTE10, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE10),
132            decode( p_ATTRIBUTE11, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE11),
133            decode( p_ATTRIBUTE12, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE12),
134            decode( p_ATTRIBUTE13, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE13),
135            decode( p_ATTRIBUTE14, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE14),
136            decode( p_ATTRIBUTE15, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE15),
137            decode( p_ATTRIBUTE_CATEGORY, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE_CATEGORY),
138            1 );  -- the first time a record is created, the object_version_number = 1
139 
140 End Insert_Row;
141 
142 
143 PROCEDURE Update_Row(
144           p_PLAN_AUDIT_ID            IN   NUMBER,
145           p_PLAN_ID                  IN   NUMBER,
146           p_PARTY_ID                 IN   NUMBER,
147           p_CUST_ACCOUNT_ID          IN   NUMBER,
148           --p_CUST_ACCOUNT_ORG         IN   NUMBER,
149           p_PLAN_STATUS_CODE         IN   VARCHAR2,
150           p_REQUEST_ID               IN   NUMBER,
151           p_PROGRAM_APPLICATION_ID   IN   NUMBER,
152           p_PROGRAM_ID               IN   NUMBER,
153           p_PROGRAM_UPDATE_DATE      IN   DATE,
154           p_LAST_UPDATE_DATE         IN   DATE,
155           p_LAST_UPDATED_BY          IN   NUMBER,
156           p_LAST_UPDATE_LOGIN        IN   NUMBER,
157           p_ATTRIBUTE1               IN   VARCHAR2,
158           p_ATTRIBUTE2               IN   VARCHAR2,
159           p_ATTRIBUTE3               IN   VARCHAR2,
160           p_ATTRIBUTE4               IN   VARCHAR2,
161           p_ATTRIBUTE5               IN   VARCHAR2,
162           p_ATTRIBUTE6               IN   VARCHAR2,
163           p_ATTRIBUTE7               IN   VARCHAR2,
164           p_ATTRIBUTE8               IN   VARCHAR2,
165           p_ATTRIBUTE9               IN   VARCHAR2,
166           p_ATTRIBUTE10              IN   VARCHAR2,
167           p_ATTRIBUTE11              IN   VARCHAR2,
168           p_ATTRIBUTE12              IN   VARCHAR2,
169           p_ATTRIBUTE13              IN   VARCHAR2,
170           p_ATTRIBUTE14              IN   VARCHAR2,
171           p_ATTRIBUTE15              IN   VARCHAR2,
172           p_ATTRIBUTE_CATEGORY       IN   VARCHAR2 )
173 IS
174 BEGIN
175     Update CSC_CUST_PLANS_AUDIT
176     SET
177       PLAN_ID = decode( p_PLAN_ID, FND_API.G_MISS_NUM, PLAN_ID, p_PLAN_ID),
178       PARTY_ID = decode( p_PARTY_ID, FND_API.G_MISS_NUM, PARTY_ID, p_PARTY_ID),
179       CUST_ACCOUNT_ID = decode( p_CUST_ACCOUNT_ID, FND_API.G_MISS_NUM, CUST_ACCOUNT_ID, p_CUST_ACCOUNT_ID),
180       --CUST_ACCOUNT_ORG = decode( p_CUST_ACCOUNT_ORG, FND_API.G_MISS_NUM, CUST_ACCOUNT_ORG, p_CUST_ACCOUNT_ORG),
181       PLAN_STATUS_CODE = decode( p_PLAN_STATUS_CODE, FND_API.G_MISS_CHAR, PLAN_STATUS_CODE, p_PLAN_STATUS_CODE),
182       REQUEST_ID = decode( p_REQUEST_ID, FND_API.G_MISS_NUM, REQUEST_ID, p_REQUEST_ID),
183       PROGRAM_APPLICATION_ID = decode( p_PROGRAM_APPLICATION_ID, FND_API.G_MISS_NUM, PROGRAM_APPLICATION_ID, p_PROGRAM_APPLICATION_ID),
184       PROGRAM_ID = decode( p_PROGRAM_ID, FND_API.G_MISS_NUM, PROGRAM_ID, p_PROGRAM_ID),
185       PROGRAM_UPDATE_DATE = decode( p_PROGRAM_UPDATE_DATE, FND_API.G_MISS_DATE, PROGRAM_UPDATE_DATE, p_PROGRAM_UPDATE_DATE),
186       LAST_UPDATE_DATE = decode( p_LAST_UPDATE_DATE, FND_API.G_MISS_DATE, LAST_UPDATE_DATE, p_LAST_UPDATE_DATE),
187       LAST_UPDATED_BY = decode( p_LAST_UPDATED_BY, FND_API.G_MISS_NUM, LAST_UPDATED_BY, p_LAST_UPDATED_BY),
188       LAST_UPDATE_LOGIN = decode( p_LAST_UPDATE_LOGIN, FND_API.G_MISS_NUM, LAST_UPDATE_LOGIN, p_LAST_UPDATE_LOGIN),
189       ATTRIBUTE1 = decode( p_ATTRIBUTE1, FND_API.G_MISS_CHAR, ATTRIBUTE1, p_ATTRIBUTE1),
190       ATTRIBUTE2 = decode( p_ATTRIBUTE2, FND_API.G_MISS_CHAR, ATTRIBUTE2, p_ATTRIBUTE2),
191       ATTRIBUTE3 = decode( p_ATTRIBUTE3, FND_API.G_MISS_CHAR, ATTRIBUTE3, p_ATTRIBUTE3),
192       ATTRIBUTE4 = decode( p_ATTRIBUTE4, FND_API.G_MISS_CHAR, ATTRIBUTE4, p_ATTRIBUTE4),
193       ATTRIBUTE5 = decode( p_ATTRIBUTE5, FND_API.G_MISS_CHAR, ATTRIBUTE5, p_ATTRIBUTE5),
194       ATTRIBUTE6 = decode( p_ATTRIBUTE6, FND_API.G_MISS_CHAR, ATTRIBUTE6, p_ATTRIBUTE6),
195       ATTRIBUTE7 = decode( p_ATTRIBUTE7, FND_API.G_MISS_CHAR, ATTRIBUTE7, p_ATTRIBUTE7),
196       ATTRIBUTE8 = decode( p_ATTRIBUTE8, FND_API.G_MISS_CHAR, ATTRIBUTE8, p_ATTRIBUTE8),
197       ATTRIBUTE9 = decode( p_ATTRIBUTE9, FND_API.G_MISS_CHAR, ATTRIBUTE9, p_ATTRIBUTE9),
198       ATTRIBUTE10 = decode( p_ATTRIBUTE10, FND_API.G_MISS_CHAR, ATTRIBUTE10, p_ATTRIBUTE10),
199       ATTRIBUTE11 = decode( p_ATTRIBUTE11, FND_API.G_MISS_CHAR, ATTRIBUTE11, p_ATTRIBUTE11),
200       ATTRIBUTE12 = decode( p_ATTRIBUTE12, FND_API.G_MISS_CHAR, ATTRIBUTE12, p_ATTRIBUTE12),
201       ATTRIBUTE13 = decode( p_ATTRIBUTE13, FND_API.G_MISS_CHAR, ATTRIBUTE13, p_ATTRIBUTE13),
202       ATTRIBUTE14 = decode( p_ATTRIBUTE14, FND_API.G_MISS_CHAR, ATTRIBUTE14, p_ATTRIBUTE14),
203       ATTRIBUTE15 = decode( p_ATTRIBUTE15, FND_API.G_MISS_CHAR, ATTRIBUTE15, p_ATTRIBUTE15),
204       ATTRIBUTE_CATEGORY = decode( p_ATTRIBUTE_CATEGORY, FND_API.G_MISS_CHAR, ATTRIBUTE_CATEGORY, p_ATTRIBUTE_CATEGORY),
205       OBJECT_VERSION_NUMBER = OBJECT_VERSION_NUMBER + 1
206     where PLAN_AUDIT_ID = p_PLAN_AUDIT_ID;
207 
208     If (SQL%NOTFOUND) then
209         RAISE NO_DATA_FOUND;
210     End If;
211 END Update_Row;
212 
213 PROCEDURE Delete_Row(
214           p_PLAN_AUDIT_ID           IN   NUMBER)
215  IS
216  BEGIN
217    DELETE FROM CSC_CUST_PLANS_AUDIT
218     WHERE PLAN_AUDIT_ID = p_PLAN_AUDIT_ID;
219    If (SQL%NOTFOUND) then
220        RAISE NO_DATA_FOUND;
221    End If;
222  END Delete_Row;
223 
224 PROCEDURE Lock_Row(
225           p_PLAN_AUDIT_ID           IN   NUMBER,
226           p_PLAN_ID                 IN   NUMBER,
227           p_PARTY_ID                IN   NUMBER,
228           p_CUST_ACCOUNT_ID         IN   NUMBER,
229           --p_CUST_ACCOUNT_ORG        IN   NUMBER,
230           p_PLAN_STATUS_CODE        IN   VARCHAR2,
231           p_REQUEST_ID              IN   NUMBER,
232           p_PROGRAM_APPLICATION_ID  IN   NUMBER,
233           p_PROGRAM_ID              IN   NUMBER,
234           p_PROGRAM_UPDATE_DATE     IN   DATE,
235           p_CREATION_DATE           IN   DATE,
236           p_LAST_UPDATE_DATE        IN   DATE,
237           p_CREATED_BY              IN   NUMBER,
238           p_LAST_UPDATED_BY         IN   NUMBER,
239           p_LAST_UPDATE_LOGIN       IN   NUMBER,
240           p_ATTRIBUTE1              IN   VARCHAR2,
241           p_ATTRIBUTE2              IN   VARCHAR2,
242           p_ATTRIBUTE3              IN   VARCHAR2,
243           p_ATTRIBUTE4              IN   VARCHAR2,
244           p_ATTRIBUTE5              IN   VARCHAR2,
245           p_ATTRIBUTE6              IN   VARCHAR2,
246           p_ATTRIBUTE7              IN   VARCHAR2,
247           p_ATTRIBUTE8              IN   VARCHAR2,
248           p_ATTRIBUTE9              IN   VARCHAR2,
249           p_ATTRIBUTE10             IN   VARCHAR2,
250           p_ATTRIBUTE11             IN   VARCHAR2,
251           p_ATTRIBUTE12             IN   VARCHAR2,
252           p_ATTRIBUTE13             IN   VARCHAR2,
253           p_ATTRIBUTE14             IN   VARCHAR2,
254           p_ATTRIBUTE15             IN   VARCHAR2,
255           p_ATTRIBUTE_CATEGORY      IN   VARCHAR2,
256           p_OBJECT_VERSION_NUMBER   IN   NUMBER )
257 IS
258    CURSOR C IS
259         SELECT *
260         FROM   CSC_CUST_PLANS_AUDIT
261         WHERE  PLAN_AUDIT_ID =  p_PLAN_AUDIT_ID
262         FOR UPDATE of PLAN_AUDIT_ID NOWAIT;
263    Recinfo C%ROWTYPE;
264 BEGIN
265     OPEN C;
266     FETCH C INTO Recinfo;
267     If (C%NOTFOUND) then
268         CLOSE C;
269         FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
270         --APP_EXCEPTION.RAISE_EXCEPTION;
271     End If;
272     CLOSE C;
273     if (
274            (      Recinfo.PLAN_AUDIT_ID = p_PLAN_AUDIT_ID)
275        AND (    ( Recinfo.PLAN_ID = p_PLAN_ID)
276             OR (    ( Recinfo.PLAN_ID IS NULL )
277                 AND (  p_PLAN_ID IS NULL )))
278        AND (    ( Recinfo.PARTY_ID = p_PARTY_ID)
279             OR (    ( Recinfo.PARTY_ID IS NULL )
280                 AND (  p_PARTY_ID IS NULL )))
281        AND (    ( Recinfo.CUST_ACCOUNT_ID = p_CUST_ACCOUNT_ID)
282             OR (    ( Recinfo.CUST_ACCOUNT_ID IS NULL )
283                 AND (  p_CUST_ACCOUNT_ID IS NULL )))
284        --AND (    ( Recinfo.CUST_ACCOUNT_ORG = p_CUST_ACCOUNT_ORG)
285             --OR (    ( Recinfo.CUST_ACCOUNT_ORG IS NULL )
286                 --AND (  p_CUST_ACCOUNT_ORG IS NULL )))
287        AND (    ( Recinfo.PLAN_STATUS_CODE = p_PLAN_STATUS_CODE)
288             OR (    ( Recinfo.PLAN_STATUS_CODE IS NULL )
289                 AND (  p_PLAN_STATUS_CODE IS NULL )))
290        AND (    ( Recinfo.REQUEST_ID = p_REQUEST_ID)
291             OR (    ( Recinfo.REQUEST_ID IS NULL )
292                 AND (  p_REQUEST_ID IS NULL )))
293        AND (    ( Recinfo.PROGRAM_APPLICATION_ID = p_PROGRAM_APPLICATION_ID)
294             OR (    ( Recinfo.PROGRAM_APPLICATION_ID IS NULL )
295                 AND (  p_PROGRAM_APPLICATION_ID IS NULL )))
296        AND (    ( Recinfo.PROGRAM_ID = p_PROGRAM_ID)
297             OR (    ( Recinfo.PROGRAM_ID IS NULL )
298                 AND (  p_PROGRAM_ID IS NULL )))
299        AND (    ( Recinfo.PROGRAM_UPDATE_DATE = p_PROGRAM_UPDATE_DATE)
300             OR (    ( Recinfo.PROGRAM_UPDATE_DATE IS NULL )
301                 AND (  p_PROGRAM_UPDATE_DATE IS NULL )))
302        AND (    ( Recinfo.LAST_UPDATE_DATE = p_LAST_UPDATE_DATE)
303             OR (    ( Recinfo.LAST_UPDATE_DATE IS NULL )
304                 AND (  p_LAST_UPDATE_DATE IS NULL )))
305        AND (    ( Recinfo.CREATION_DATE = p_CREATION_DATE)
306             OR (    ( Recinfo.CREATION_DATE IS NULL )
307                 AND (  p_CREATION_DATE IS NULL )))
308        AND (    ( Recinfo.LAST_UPDATED_BY = p_LAST_UPDATED_BY)
309             OR (    ( Recinfo.LAST_UPDATED_BY IS NULL )
310                 AND (  p_LAST_UPDATED_BY IS NULL )))
311        AND (    ( Recinfo.CREATED_BY = p_CREATED_BY)
312             OR (    ( Recinfo.CREATED_BY IS NULL )
313                 AND (  p_CREATED_BY IS NULL )))
314        AND (    ( Recinfo.LAST_UPDATE_LOGIN = p_LAST_UPDATE_LOGIN)
315             OR (    ( Recinfo.LAST_UPDATE_LOGIN IS NULL )
316                 AND (  p_LAST_UPDATE_LOGIN IS NULL )))
317        AND (    ( Recinfo.ATTRIBUTE1 = p_ATTRIBUTE1)
318             OR (    ( Recinfo.ATTRIBUTE1 IS NULL )
319                 AND (  p_ATTRIBUTE1 IS NULL )))
320        AND (    ( Recinfo.ATTRIBUTE2 = p_ATTRIBUTE2)
321             OR (    ( Recinfo.ATTRIBUTE2 IS NULL )
322                 AND (  p_ATTRIBUTE2 IS NULL )))
323        AND (    ( Recinfo.ATTRIBUTE3 = p_ATTRIBUTE3)
324             OR (    ( Recinfo.ATTRIBUTE3 IS NULL )
325                 AND (  p_ATTRIBUTE3 IS NULL )))
326        AND (    ( Recinfo.ATTRIBUTE4 = p_ATTRIBUTE4)
327             OR (    ( Recinfo.ATTRIBUTE4 IS NULL )
328                 AND (  p_ATTRIBUTE4 IS NULL )))
329        AND (    ( Recinfo.ATTRIBUTE5 = p_ATTRIBUTE5)
330             OR (    ( Recinfo.ATTRIBUTE5 IS NULL )
331                 AND (  p_ATTRIBUTE5 IS NULL )))
332        AND (    ( Recinfo.ATTRIBUTE6 = p_ATTRIBUTE6)
333             OR (    ( Recinfo.ATTRIBUTE6 IS NULL )
334                 AND (  p_ATTRIBUTE6 IS NULL )))
335        AND (    ( Recinfo.ATTRIBUTE7 = p_ATTRIBUTE7)
336             OR (    ( Recinfo.ATTRIBUTE7 IS NULL )
337                 AND (  p_ATTRIBUTE7 IS NULL )))
338        AND (    ( Recinfo.ATTRIBUTE8 = p_ATTRIBUTE8)
339             OR (    ( Recinfo.ATTRIBUTE8 IS NULL )
340                 AND (  p_ATTRIBUTE8 IS NULL )))
341        AND (    ( Recinfo.ATTRIBUTE9 = p_ATTRIBUTE9)
342             OR (    ( Recinfo.ATTRIBUTE9 IS NULL )
343                 AND (  p_ATTRIBUTE9 IS NULL )))
344        AND (    ( Recinfo.ATTRIBUTE10 = p_ATTRIBUTE10)
345             OR (    ( Recinfo.ATTRIBUTE10 IS NULL )
346                 AND (  p_ATTRIBUTE10 IS NULL )))
347        AND (    ( Recinfo.ATTRIBUTE11 = p_ATTRIBUTE11)
348             OR (    ( Recinfo.ATTRIBUTE11 IS NULL )
349                 AND (  p_ATTRIBUTE11 IS NULL )))
350        AND (    ( Recinfo.ATTRIBUTE12 = p_ATTRIBUTE12)
351             OR (    ( Recinfo.ATTRIBUTE12 IS NULL )
352                 AND (  p_ATTRIBUTE12 IS NULL )))
353        AND (    ( Recinfo.ATTRIBUTE13 = p_ATTRIBUTE13)
354             OR (    ( Recinfo.ATTRIBUTE13 IS NULL )
355                 AND (  p_ATTRIBUTE13 IS NULL )))
356        AND (    ( Recinfo.ATTRIBUTE14 = p_ATTRIBUTE14)
357             OR (    ( Recinfo.ATTRIBUTE14 IS NULL )
358                 AND (  p_ATTRIBUTE14 IS NULL )))
359        AND (    ( Recinfo.ATTRIBUTE15 = p_ATTRIBUTE15)
360             OR (    ( Recinfo.ATTRIBUTE15 IS NULL )
361                 AND (  p_ATTRIBUTE15 IS NULL )))
362        AND (    ( Recinfo.ATTRIBUTE_CATEGORY = p_ATTRIBUTE_CATEGORY)
363             OR (    ( Recinfo.ATTRIBUTE_CATEGORY IS NULL )
364                 AND (  p_ATTRIBUTE_CATEGORY IS NULL )))
365        AND (    ( Recinfo.OBJECT_VERSION_NUMBER = p_OBJECT_VERSION_NUMBER)
366             OR (    ( Recinfo.OBJECT_VERSION_NUMBER IS NULL )
367                 AND (  p_OBJECT_VERSION_NUMBER IS NULL )))
368        ) then
369        return;
370    else
371        FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_CHANGED');
372        --APP_EXCEPTION.RAISE_EXCEPTION;
373    End If;
374 END Lock_Row;
375 
376 End CSC_CUST_PLANS_AUDIT_PKG;