DBA Data[Home] [Help]

PACKAGE BODY: APPS.CSP_EXCESS_LISTS_PKG

Source


1 PACKAGE BODY CSP_EXCESS_LISTS_PKG as
2 /* $Header: csptexcb.pls 120.0.12010000.2 2009/05/14 13:13:48 htank ship $ */
3 -- Start of Comments
4 -- Package name     : CSP_EXCESS_LISTS_PKG
5 -- Purpose          :
6 -- History          :
7 -- NOTE             :
8 -- End of Comments
9 G_PKG_NAME CONSTANT VARCHAR2(30):= 'CSP_EXCESS_LISTS_PKG';
10 G_FILE_NAME CONSTANT VARCHAR2(12) := 'csptexcb.pls';
11 PROCEDURE Insert_Row(
12           px_EXCESS_LINE_ID   IN OUT NOCOPY NUMBER,
13           p_CREATED_BY    NUMBER,
14           p_CREATION_DATE    DATE,
15           p_LAST_UPDATED_BY    NUMBER,
16           p_LAST_UPDATE_DATE    DATE,
17           p_LAST_UPDATE_LOGIN    NUMBER,
18           p_ORGANIZATION_ID    NUMBER,
19           p_SUBINVENTORY_CODE    VARCHAR2,
20           p_CONDITION_CODE    VARCHAR2,
21           p_INVENTORY_ITEM_ID    NUMBER,
22           p_EXCESS_QUANTITY    NUMBER,
23           p_REQUISITION_LINE_ID    NUMBER,
24           p_RETURNED_QUANTITY    NUMBER,
25           p_CURRENT_RETURN_QTY    NUMBER,
26           p_EXCESS_STATUS   VARCHAR2,
27           p_RETURN_ORG_ID NUMBER  :=  FND_API.G_MISS_NUM,
28           p_RETURN_SUB_INV  VARCHAR2  :=  FND_API.G_MISS_CHAR,
29           p_ATTRIBUTE_CATEGORY    VARCHAR2,
30           p_ATTRIBUTE1    VARCHAR2,
31           p_ATTRIBUTE2    VARCHAR2,
32           p_ATTRIBUTE3    VARCHAR2,
33           p_ATTRIBUTE4    VARCHAR2,
34           p_ATTRIBUTE5    VARCHAR2,
35           p_ATTRIBUTE6    VARCHAR2,
36           p_ATTRIBUTE7    VARCHAR2,
37           p_ATTRIBUTE8    VARCHAR2,
38           p_ATTRIBUTE9    VARCHAR2,
39           p_ATTRIBUTE10    VARCHAR2,
40           p_ATTRIBUTE11    VARCHAR2,
41           p_ATTRIBUTE12    VARCHAR2,
42           p_ATTRIBUTE13    VARCHAR2,
43           p_ATTRIBUTE14    VARCHAR2,
44           p_ATTRIBUTE15    VARCHAR2)
45  IS
46    CURSOR C2 IS SELECT CSP_EXCESS_LISTS_S1.nextval FROM sys.dual;
47 BEGIN
48 
49       if(FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
50          FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT,
51                     'csp.plsql.CSP_EXCESS_LISTS_PKG.Insert_Row',
52                     'Begin...');
53       end if;
54 
55    If (px_EXCESS_LINE_ID IS NULL) OR (px_EXCESS_LINE_ID = FND_API.G_MISS_NUM) then
56        OPEN C2;
57        FETCH C2 INTO px_EXCESS_LINE_ID;
58        CLOSE C2;
59    End If;
60 
61   if(FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
62      FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT,
63                 'csp.plsql.CSP_EXCESS_LISTS_PKG.Insert_Row',
64                 'px_EXCESS_LINE_ID = ' || px_EXCESS_LINE_ID);
65   end if;
66 
67    INSERT INTO CSP_EXCESS_LISTS(
68            EXCESS_LINE_ID,
69            CREATED_BY,
70            CREATION_DATE,
71            LAST_UPDATED_BY,
72            LAST_UPDATE_DATE,
73            LAST_UPDATE_LOGIN,
74            ORGANIZATION_ID,
75            SUBINVENTORY_CODE,
76            CONDITION_CODE,
77            INVENTORY_ITEM_ID,
78            EXCESS_QUANTITY,
79            REQUISITION_LINE_ID,
80            RETURNED_QUANTITY,
81            CURRENT_RETURN_QTY,
82            EXCESS_STATUS,
83            return_organization_id,
84            return_subinventory_name,
85            ATTRIBUTE_CATEGORY,
86            ATTRIBUTE1,
87            ATTRIBUTE2,
88            ATTRIBUTE3,
89            ATTRIBUTE4,
90            ATTRIBUTE5,
91            ATTRIBUTE6,
92            ATTRIBUTE7,
93            ATTRIBUTE8,
94            ATTRIBUTE9,
95            ATTRIBUTE10,
96            ATTRIBUTE11,
97            ATTRIBUTE12,
98            ATTRIBUTE13,
99            ATTRIBUTE14,
100            ATTRIBUTE15
101           ) VALUES (
102            px_EXCESS_LINE_ID,
103            decode( p_CREATED_BY, FND_API.G_MISS_NUM, NULL, p_CREATED_BY),
104            decode( p_CREATION_DATE, FND_API.G_MISS_DATE, TO_DATE(NULL), p_CREATION_DATE),
105            decode( p_LAST_UPDATED_BY, FND_API.G_MISS_NUM, NULL, p_LAST_UPDATED_BY),
106            decode( p_LAST_UPDATE_DATE, FND_API.G_MISS_DATE, TO_DATE(NULL), p_LAST_UPDATE_DATE),
107            decode( p_LAST_UPDATE_LOGIN, FND_API.G_MISS_NUM, NULL, p_LAST_UPDATE_LOGIN),
108            decode( p_ORGANIZATION_ID, FND_API.G_MISS_NUM, NULL, p_ORGANIZATION_ID),
109            decode( p_SUBINVENTORY_CODE, FND_API.G_MISS_CHAR, NULL, p_SUBINVENTORY_CODE),
110            decode( p_CONDITION_CODE, FND_API.G_MISS_CHAR, NULL, p_CONDITION_CODE),
111            decode( p_INVENTORY_ITEM_ID, FND_API.G_MISS_NUM, NULL, p_INVENTORY_ITEM_ID),
112            decode( p_EXCESS_QUANTITY, FND_API.G_MISS_NUM, NULL, p_EXCESS_QUANTITY),
113            decode( p_REQUISITION_LINE_ID, FND_API.G_MISS_NUM, NULL, p_REQUISITION_LINE_ID),
114            decode( p_RETURNED_QUANTITY, FND_API.G_MISS_NUM, NULL, p_RETURNED_QUANTITY),
115            decode( p_CURRENT_RETURN_QTY, FND_API.G_MISS_NUM, NULL, p_CURRENT_RETURN_QTY),
116            decode( p_EXCESS_STATUS, FND_API.G_MISS_CHAR, NULL, p_EXCESS_STATUS),
117 
118            decode( p_RETURN_ORG_ID, FND_API.G_MISS_NUM, NULL, p_RETURN_ORG_ID),
119            decode( p_RETURN_SUB_INV, FND_API.G_MISS_CHAR, NULL, p_RETURN_SUB_INV),
120 
121            decode( p_ATTRIBUTE_CATEGORY, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE_CATEGORY),
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 
138   if(FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
139      FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT,
140                 'csp.plsql.CSP_EXCESS_LISTS_PKG.Insert_Row',
141                 'Record inserted...');
142   end if;
143 
144 End Insert_Row;
145 PROCEDURE Update_Row(
146           p_EXCESS_LINE_ID    NUMBER,
147           p_CREATED_BY    NUMBER,
148           p_CREATION_DATE    DATE,
149           p_LAST_UPDATED_BY    NUMBER,
150           p_LAST_UPDATE_DATE    DATE,
151           p_LAST_UPDATE_LOGIN    NUMBER,
152           p_ORGANIZATION_ID    NUMBER,
153           p_SUBINVENTORY_CODE    VARCHAR2,
154           p_CONDITION_CODE    VARCHAR2,
155           p_INVENTORY_ITEM_ID    NUMBER,
156           p_EXCESS_QUANTITY    NUMBER,
157           p_REQUISITION_LINE_ID    NUMBER,
158           p_RETURNED_QUANTITY    NUMBER,
159           p_CURRENT_RETURN_QTY   NUMBER,
160           p_ATTRIBUTE_CATEGORY    VARCHAR2,
161           p_ATTRIBUTE1    VARCHAR2,
162           p_ATTRIBUTE2    VARCHAR2,
163           p_ATTRIBUTE3    VARCHAR2,
164           p_ATTRIBUTE4    VARCHAR2,
165           p_ATTRIBUTE5    VARCHAR2,
166           p_ATTRIBUTE6    VARCHAR2,
167           p_ATTRIBUTE7    VARCHAR2,
168           p_ATTRIBUTE8    VARCHAR2,
169           p_ATTRIBUTE9    VARCHAR2,
170           p_ATTRIBUTE10    VARCHAR2,
171           p_ATTRIBUTE11    VARCHAR2,
172           p_ATTRIBUTE12    VARCHAR2,
173           p_ATTRIBUTE13    VARCHAR2,
174           p_ATTRIBUTE14    VARCHAR2,
175           p_ATTRIBUTE15    VARCHAR2)
176  IS
177  BEGIN
178     Update CSP_EXCESS_LISTS
179     SET
180               CREATED_BY = decode( p_CREATED_BY, FND_API.G_MISS_NUM, CREATED_BY, p_CREATED_BY),
181               CREATION_DATE = decode( p_CREATION_DATE, FND_API.G_MISS_DATE, CREATION_DATE, p_CREATION_DATE),
182               LAST_UPDATED_BY = decode( p_LAST_UPDATED_BY, FND_API.G_MISS_NUM, LAST_UPDATED_BY, p_LAST_UPDATED_BY),
183               LAST_UPDATE_DATE = decode( p_LAST_UPDATE_DATE, FND_API.G_MISS_DATE, LAST_UPDATE_DATE, p_LAST_UPDATE_DATE),
184               LAST_UPDATE_LOGIN = decode( p_LAST_UPDATE_LOGIN, FND_API.G_MISS_NUM, LAST_UPDATE_LOGIN, p_LAST_UPDATE_LOGIN),
185               ORGANIZATION_ID = decode( p_ORGANIZATION_ID, FND_API.G_MISS_NUM, ORGANIZATION_ID, p_ORGANIZATION_ID),
186               SUBINVENTORY_CODE = decode( p_SUBINVENTORY_CODE, FND_API.G_MISS_CHAR, SUBINVENTORY_CODE, p_SUBINVENTORY_CODE),
187               CONDITION_CODE = decode( p_CONDITION_CODE, FND_API.G_MISS_CHAR, CONDITION_CODE, p_CONDITION_CODE),
188               INVENTORY_ITEM_ID = decode( p_INVENTORY_ITEM_ID, FND_API.G_MISS_NUM, INVENTORY_ITEM_ID, p_INVENTORY_ITEM_ID),
189               EXCESS_QUANTITY = decode( p_EXCESS_QUANTITY, FND_API.G_MISS_NUM, EXCESS_QUANTITY, p_EXCESS_QUANTITY),
190               REQUISITION_LINE_ID = decode( p_REQUISITION_LINE_ID, FND_API.G_MISS_NUM, REQUISITION_LINE_ID, p_REQUISITION_LINE_ID),
191               RETURNED_QUANTITY = decode( p_RETURNED_QUANTITY, FND_API.G_MISS_NUM, RETURNED_QUANTITY, p_RETURNED_QUANTITY),
192               CURRENT_RETURN_QTY = decode( p_CURRENT_RETURN_QTY, FND_API.G_MISS_NUM, CURRENT_RETURN_QTY, p_CURRENT_RETURN_QTY),
193               ATTRIBUTE_CATEGORY = decode( p_ATTRIBUTE_CATEGORY, FND_API.G_MISS_CHAR, ATTRIBUTE_CATEGORY, p_ATTRIBUTE_CATEGORY),
194               ATTRIBUTE1 = decode( p_ATTRIBUTE1, FND_API.G_MISS_CHAR, ATTRIBUTE1, p_ATTRIBUTE1),
195               ATTRIBUTE2 = decode( p_ATTRIBUTE2, FND_API.G_MISS_CHAR, ATTRIBUTE2, p_ATTRIBUTE2),
196               ATTRIBUTE3 = decode( p_ATTRIBUTE3, FND_API.G_MISS_CHAR, ATTRIBUTE3, p_ATTRIBUTE3),
197               ATTRIBUTE4 = decode( p_ATTRIBUTE4, FND_API.G_MISS_CHAR, ATTRIBUTE4, p_ATTRIBUTE4),
198               ATTRIBUTE5 = decode( p_ATTRIBUTE5, FND_API.G_MISS_CHAR, ATTRIBUTE5, p_ATTRIBUTE5),
199               ATTRIBUTE6 = decode( p_ATTRIBUTE6, FND_API.G_MISS_CHAR, ATTRIBUTE6, p_ATTRIBUTE6),
200               ATTRIBUTE7 = decode( p_ATTRIBUTE7, FND_API.G_MISS_CHAR, ATTRIBUTE7, p_ATTRIBUTE7),
201               ATTRIBUTE8 = decode( p_ATTRIBUTE8, FND_API.G_MISS_CHAR, ATTRIBUTE8, p_ATTRIBUTE8),
202               ATTRIBUTE9 = decode( p_ATTRIBUTE9, FND_API.G_MISS_CHAR, ATTRIBUTE9, p_ATTRIBUTE9),
203               ATTRIBUTE10 = decode( p_ATTRIBUTE10, FND_API.G_MISS_CHAR, ATTRIBUTE10, p_ATTRIBUTE10),
204               ATTRIBUTE11 = decode( p_ATTRIBUTE11, FND_API.G_MISS_CHAR, ATTRIBUTE11, p_ATTRIBUTE11),
205               ATTRIBUTE12 = decode( p_ATTRIBUTE12, FND_API.G_MISS_CHAR, ATTRIBUTE12, p_ATTRIBUTE12),
206               ATTRIBUTE13 = decode( p_ATTRIBUTE13, FND_API.G_MISS_CHAR, ATTRIBUTE13, p_ATTRIBUTE13),
207               ATTRIBUTE14 = decode( p_ATTRIBUTE14, FND_API.G_MISS_CHAR, ATTRIBUTE14, p_ATTRIBUTE14),
208               ATTRIBUTE15 = decode( p_ATTRIBUTE15, FND_API.G_MISS_CHAR, ATTRIBUTE15, p_ATTRIBUTE15)
209     where EXCESS_LINE_ID = p_EXCESS_LINE_ID;
210     If (SQL%NOTFOUND) then
211         RAISE NO_DATA_FOUND;
212     End If;
213 END Update_Row;
214 PROCEDURE Delete_Row(
215     p_EXCESS_LINE_ID  NUMBER)
216  IS
217  BEGIN
218    DELETE FROM CSP_EXCESS_LISTS
219     WHERE EXCESS_LINE_ID = p_EXCESS_LINE_ID;
220    If (SQL%NOTFOUND) then
221        RAISE NO_DATA_FOUND;
222    End If;
223  END Delete_Row;
224 PROCEDURE Lock_Row(
225           p_EXCESS_LINE_ID    NUMBER,
226           p_CREATED_BY    NUMBER,
227           p_CREATION_DATE    DATE,
228           p_LAST_UPDATED_BY    NUMBER,
229           p_LAST_UPDATE_DATE    DATE,
230           p_LAST_UPDATE_LOGIN    NUMBER,
231           p_ORGANIZATION_ID    NUMBER,
232           p_SUBINVENTORY_CODE    VARCHAR2,
233           p_CONDITION_CODE    VARCHAR2,
234           p_INVENTORY_ITEM_ID    NUMBER,
235           p_EXCESS_QUANTITY    NUMBER,
236           p_REQUISITION_LINE_ID    NUMBER,
237           p_RETURNED_QUANTITY    NUMBER,
238           p_CURRENT_RETURN_QTY   NUMBER,
239           p_ATTRIBUTE_CATEGORY    VARCHAR2,
240           p_ATTRIBUTE1    VARCHAR2,
241           p_ATTRIBUTE2    VARCHAR2,
242           p_ATTRIBUTE3    VARCHAR2,
243           p_ATTRIBUTE4    VARCHAR2,
244           p_ATTRIBUTE5    VARCHAR2,
245           p_ATTRIBUTE6    VARCHAR2,
246           p_ATTRIBUTE7    VARCHAR2,
247           p_ATTRIBUTE8    VARCHAR2,
248           p_ATTRIBUTE9    VARCHAR2,
249           p_ATTRIBUTE10    VARCHAR2,
250           p_ATTRIBUTE11    VARCHAR2,
251           p_ATTRIBUTE12    VARCHAR2,
252           p_ATTRIBUTE13    VARCHAR2,
253           p_ATTRIBUTE14    VARCHAR2,
254           p_ATTRIBUTE15    VARCHAR2)
255  IS
256    CURSOR C IS
257         SELECT *
258          FROM CSP_EXCESS_LISTS
259         WHERE EXCESS_LINE_ID =  p_EXCESS_LINE_ID
260         FOR UPDATE of EXCESS_LINE_ID NOWAIT;
261    Recinfo C%ROWTYPE;
262  BEGIN
263     OPEN C;
264     FETCH C INTO Recinfo;
265     If (C%NOTFOUND) then
266         CLOSE C;
267         FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
268         APP_EXCEPTION.RAISE_EXCEPTION;
269     End If;
270     CLOSE C;
271     if (
272            (      Recinfo.EXCESS_LINE_ID = p_EXCESS_LINE_ID)
273        AND (    ( Recinfo.CREATED_BY = p_CREATED_BY)
274             OR (    ( Recinfo.CREATED_BY IS NULL )
275                 AND (  p_CREATED_BY IS NULL )))
276        AND (    ( Recinfo.CREATION_DATE = p_CREATION_DATE)
280             OR (    ( Recinfo.LAST_UPDATED_BY IS NULL )
277             OR (    ( Recinfo.CREATION_DATE IS NULL )
278                 AND (  p_CREATION_DATE IS NULL )))
279        AND (    ( Recinfo.LAST_UPDATED_BY = p_LAST_UPDATED_BY)
281                 AND (  p_LAST_UPDATED_BY IS NULL )))
282        AND (    ( Recinfo.LAST_UPDATE_DATE = p_LAST_UPDATE_DATE)
283             OR (    ( Recinfo.LAST_UPDATE_DATE IS NULL )
284                 AND (  p_LAST_UPDATE_DATE IS NULL )))
285        AND (    ( Recinfo.LAST_UPDATE_LOGIN = p_LAST_UPDATE_LOGIN)
286             OR (    ( Recinfo.LAST_UPDATE_LOGIN IS NULL )
287                 AND (  p_LAST_UPDATE_LOGIN IS NULL )))
288        AND (    ( Recinfo.ORGANIZATION_ID = p_ORGANIZATION_ID)
289             OR (    ( Recinfo.ORGANIZATION_ID IS NULL )
290                 AND (  p_ORGANIZATION_ID IS NULL )))
291        AND (    ( Recinfo.SUBINVENTORY_CODE = p_SUBINVENTORY_CODE)
292             OR (    ( Recinfo.SUBINVENTORY_CODE IS NULL )
293                 AND (  p_SUBINVENTORY_CODE IS NULL )))
294        AND (    ( Recinfo.CONDITION_CODE = p_CONDITION_CODE)
295             OR (    ( Recinfo.CONDITION_CODE IS NULL )
296                 AND (  p_CONDITION_CODE IS NULL )))
297        AND (    ( Recinfo.INVENTORY_ITEM_ID = p_INVENTORY_ITEM_ID)
298             OR (    ( Recinfo.INVENTORY_ITEM_ID IS NULL )
299                 AND (  p_INVENTORY_ITEM_ID IS NULL )))
300        AND (    ( Recinfo.EXCESS_QUANTITY = p_EXCESS_QUANTITY)
301             OR (    ( Recinfo.EXCESS_QUANTITY IS NULL )
302                 AND (  p_EXCESS_QUANTITY IS NULL )))
303        AND (    ( Recinfo.REQUISITION_LINE_ID = p_REQUISITION_LINE_ID)
304             OR (    ( Recinfo.REQUISITION_LINE_ID IS NULL )
305                 AND (  p_REQUISITION_LINE_ID IS NULL )))
306        AND (    ( Recinfo.RETURNED_QUANTITY = p_RETURNED_QUANTITY)
307             OR (    ( Recinfo.RETURNED_QUANTITY IS NULL )
308                 AND (  p_RETURNED_QUANTITY IS NULL )))
309        AND (    ( Recinfo.CURRENT_RETURN_QTY = p_CURRENT_RETURN_QTY)
310             OR (    ( Recinfo.CURRENT_RETURN_QTY IS NULL )
311                 AND (  p_CURRENT_RETURN_QTY IS NULL )))
312        AND (    ( Recinfo.ATTRIBUTE_CATEGORY = p_ATTRIBUTE_CATEGORY)
313             OR (    ( Recinfo.ATTRIBUTE_CATEGORY IS NULL )
314                 AND (  p_ATTRIBUTE_CATEGORY IS NULL )))
315        AND (    ( Recinfo.ATTRIBUTE1 = p_ATTRIBUTE1)
316             OR (    ( Recinfo.ATTRIBUTE1 IS NULL )
317                 AND (  p_ATTRIBUTE1 IS NULL )))
318        AND (    ( Recinfo.ATTRIBUTE2 = p_ATTRIBUTE2)
319             OR (    ( Recinfo.ATTRIBUTE2 IS NULL )
320                 AND (  p_ATTRIBUTE2 IS NULL )))
321        AND (    ( Recinfo.ATTRIBUTE3 = p_ATTRIBUTE3)
322             OR (    ( Recinfo.ATTRIBUTE3 IS NULL )
323                 AND (  p_ATTRIBUTE3 IS NULL )))
324        AND (    ( Recinfo.ATTRIBUTE4 = p_ATTRIBUTE4)
325             OR (    ( Recinfo.ATTRIBUTE4 IS NULL )
326                 AND (  p_ATTRIBUTE4 IS NULL )))
327        AND (    ( Recinfo.ATTRIBUTE5 = p_ATTRIBUTE5)
328             OR (    ( Recinfo.ATTRIBUTE5 IS NULL )
329                 AND (  p_ATTRIBUTE5 IS NULL )))
330        AND (    ( Recinfo.ATTRIBUTE6 = p_ATTRIBUTE6)
331             OR (    ( Recinfo.ATTRIBUTE6 IS NULL )
332                 AND (  p_ATTRIBUTE6 IS NULL )))
333        AND (    ( Recinfo.ATTRIBUTE7 = p_ATTRIBUTE7)
334             OR (    ( Recinfo.ATTRIBUTE7 IS NULL )
335                 AND (  p_ATTRIBUTE7 IS NULL )))
336        AND (    ( Recinfo.ATTRIBUTE8 = p_ATTRIBUTE8)
337             OR (    ( Recinfo.ATTRIBUTE8 IS NULL )
338                 AND (  p_ATTRIBUTE8 IS NULL )))
339        AND (    ( Recinfo.ATTRIBUTE9 = p_ATTRIBUTE9)
340             OR (    ( Recinfo.ATTRIBUTE9 IS NULL )
341                 AND (  p_ATTRIBUTE9 IS NULL )))
342        AND (    ( Recinfo.ATTRIBUTE10 = p_ATTRIBUTE10)
343             OR (    ( Recinfo.ATTRIBUTE10 IS NULL )
344                 AND (  p_ATTRIBUTE10 IS NULL )))
345        AND (    ( Recinfo.ATTRIBUTE11 = p_ATTRIBUTE11)
346             OR (    ( Recinfo.ATTRIBUTE11 IS NULL )
347                 AND (  p_ATTRIBUTE11 IS NULL )))
348        AND (    ( Recinfo.ATTRIBUTE12 = p_ATTRIBUTE12)
349             OR (    ( Recinfo.ATTRIBUTE12 IS NULL )
350                 AND (  p_ATTRIBUTE12 IS NULL )))
351        AND (    ( Recinfo.ATTRIBUTE13 = p_ATTRIBUTE13)
352             OR (    ( Recinfo.ATTRIBUTE13 IS NULL )
353                 AND (  p_ATTRIBUTE13 IS NULL )))
354        AND (    ( Recinfo.ATTRIBUTE14 = p_ATTRIBUTE14)
355             OR (    ( Recinfo.ATTRIBUTE14 IS NULL )
356                 AND (  p_ATTRIBUTE14 IS NULL )))
357        AND (    ( Recinfo.ATTRIBUTE15 = p_ATTRIBUTE15)
358             OR (    ( Recinfo.ATTRIBUTE15 IS NULL )
359                 AND (  p_ATTRIBUTE15 IS NULL )))
360        ) then
361        return;
362    else
363        FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_CHANGED');
364        APP_EXCEPTION.RAISE_EXCEPTION;
365    End If;
366 END Lock_Row;
367 End CSP_EXCESS_LISTS_PKG;