DBA Data[Home] [Help]

PACKAGE BODY: APPS.CSP_TASK_PARTS_PKG

Source


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