DBA Data[Home] [Help]

PACKAGE BODY: APPS.CSP_EXCESS_LISTS_PKG

Source


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