DBA Data[Home] [Help]

PACKAGE BODY: APPS.OE_SO_PLD_TABLE

Source


1 PACKAGE BODY OE_SO_PLD_TABLE AS
2 /* $Header: oespdtbb.pls 115.1 99/07/16 08:28:26 porting shi $ */
3 
4 PROCEDURE Insert_Row(X_Rowid IN OUT VARCHAR2,
5     X_ATTRIBUTE1    VARCHAR2,
6     X_ATTRIBUTE10    VARCHAR2,
7     X_ATTRIBUTE11    VARCHAR2,
8     X_ATTRIBUTE12    VARCHAR2,
9     X_ATTRIBUTE13    VARCHAR2,
10     X_ATTRIBUTE14    VARCHAR2,
11     X_ATTRIBUTE15    VARCHAR2,
12     X_ATTRIBUTE2    VARCHAR2,
13     X_ATTRIBUTE3    VARCHAR2,
14     X_ATTRIBUTE4    VARCHAR2,
15     X_ATTRIBUTE5    VARCHAR2,
16     X_ATTRIBUTE6    VARCHAR2,
17     X_ATTRIBUTE7    VARCHAR2,
18     X_ATTRIBUTE8    VARCHAR2,
19     X_ATTRIBUTE9    VARCHAR2,
20     X_AUTOSCHEDULED_FLAG    VARCHAR2,
21     X_CONTEXT    VARCHAR2,
22     X_CREATED_BY    NUMBER,
23     X_CREATION_DATE    DATE,
24     X_CUSTOMER_REQUESTED_LOT_FLAG    VARCHAR2,
25     X_DELIVERY    NUMBER,
26     X_DEMAND_CLASS_CODE    VARCHAR2,
27     X_DEMAND_ID    NUMBER,
28     X_DETAIL_TYPE_CODE    VARCHAR2,
29     X_INVENTORY_LOCATION_ID    NUMBER,
30     X_INVENTORY_LOCATION_SEGMENTS    VARCHAR2,
31     X_LAST_UPDATED_BY    NUMBER,
32     X_LAST_UPDATE_DATE    DATE,
33     X_LAST_UPDATE_LOGIN    NUMBER,
34     X_LATEST_ACCEPTABLE_DATE    DATE,
35     X_LOT_NUMBER    VARCHAR2,
36     X_PICKING_LINE_DETAIL_ID    NUMBER,
37     X_PICKING_LINE_ID    NUMBER,
38     X_PROGRAM_APPLICATION_ID    NUMBER,
39     X_PROGRAM_ID    NUMBER,
40     X_PROGRAM_UPDATE_DATE    DATE,
41     X_RELEASED_FLAG    VARCHAR2,
42     X_REQUESTED_QUANTITY    NUMBER,
43     X_REQUEST_ID    NUMBER,
44     X_RESERVABLE_FLAG    VARCHAR2,
45     X_REVISION    VARCHAR2,
46     X_SCHEDULE_DATE    DATE,
47     X_SCHEDULE_LEVEL    NUMBER,
48     X_SCHEDULE_STATUS_CODE    VARCHAR2,
49     X_SEGMENT1    VARCHAR2,
50     X_SEGMENT10    VARCHAR2,
51     X_SEGMENT11    VARCHAR2,
52     X_SEGMENT12    VARCHAR2,
53     X_SEGMENT13    VARCHAR2,
54     X_SEGMENT14    VARCHAR2,
55     X_SEGMENT15    VARCHAR2,
56     X_SEGMENT16    VARCHAR2,
57     X_SEGMENT17    VARCHAR2,
58     X_SEGMENT18    VARCHAR2,
59     X_SEGMENT19    VARCHAR2,
60     X_SEGMENT2    VARCHAR2,
61     X_SEGMENT20    VARCHAR2,
62     X_SEGMENT3    VARCHAR2,
63     X_SEGMENT4    VARCHAR2,
64     X_SEGMENT5    VARCHAR2,
65     X_SEGMENT6    VARCHAR2,
66     X_SEGMENT7    VARCHAR2,
67     X_SEGMENT8    VARCHAR2,
68     X_SEGMENT9    VARCHAR2,
69     X_SERIAL_NUMBER    VARCHAR2,
70     X_SHIPPED_QUANTITY    NUMBER,
71     X_SUBINVENTORY    VARCHAR2,
72     X_SUPPLY_SOURCE_HEADER_ID    NUMBER,
73     X_SUPPLY_SOURCE_TYPE    NUMBER,
74     X_TRANSACTABLE_FLAG    VARCHAR2,
75     X_UPDATE_FLAG    VARCHAR2,
76     X_WAREHOUSE_ID    NUMBER,
77     X_WIP_COMPLETED_QUANTITY    NUMBER,
78     X_WIP_RESERVED_QUANTITY    NUMBER
79 )IS
80 
81 CURSOR C IS SELECT rowid FROM so_picking_line_details
82 WHERE PICKING_LINE_DETAIL_ID = X_PICKING_LINE_DETAIL_ID;
83 
84 BEGIN
85      INSERT INTO so_picking_line_details(
86         ATTRIBUTE1,
87         ATTRIBUTE10,
88         ATTRIBUTE11,
89         ATTRIBUTE12,
90         ATTRIBUTE13,
91         ATTRIBUTE14,
92         ATTRIBUTE15,
93         ATTRIBUTE2,
94         ATTRIBUTE3,
95         ATTRIBUTE4,
96         ATTRIBUTE5,
97         ATTRIBUTE6,
98         ATTRIBUTE7,
99         ATTRIBUTE8,
100         ATTRIBUTE9,
101         AUTOSCHEDULED_FLAG,
102         CONTEXT,
103         CREATED_BY,
104         CREATION_DATE,
105         CUSTOMER_REQUESTED_LOT_FLAG,
106         DELIVERY,
107         DEMAND_CLASS_CODE,
108         DEMAND_ID,
109         DETAIL_TYPE_CODE,
110         INVENTORY_LOCATION_ID,
111         INVENTORY_LOCATION_SEGMENTS,
112         LAST_UPDATED_BY,
113         LAST_UPDATE_DATE,
114         LAST_UPDATE_LOGIN,
115         LATEST_ACCEPTABLE_DATE,
116         LOT_NUMBER,
117         PICKING_LINE_DETAIL_ID,
118         PICKING_LINE_ID,
119         PROGRAM_APPLICATION_ID,
120         PROGRAM_ID,
121         PROGRAM_UPDATE_DATE,
122         RELEASED_FLAG,
123         REQUESTED_QUANTITY,
124         REQUEST_ID,
125         RESERVABLE_FLAG,
126         REVISION,
127         SCHEDULE_DATE,
128         SCHEDULE_LEVEL,
129         SCHEDULE_STATUS_CODE,
130         SEGMENT1,
131         SEGMENT10,
132         SEGMENT11,
133         SEGMENT12,
134         SEGMENT13,
135         SEGMENT14,
136         SEGMENT15,
137         SEGMENT16,
138         SEGMENT17,
139         SEGMENT18,
140         SEGMENT19,
141         SEGMENT2,
142         SEGMENT20,
143         SEGMENT3,
144         SEGMENT4,
145         SEGMENT5,
146         SEGMENT6,
147         SEGMENT7,
148         SEGMENT8,
149         SEGMENT9,
150         SERIAL_NUMBER,
151         SHIPPED_QUANTITY,
152         SUBINVENTORY,
153         SUPPLY_SOURCE_HEADER_ID,
154         SUPPLY_SOURCE_TYPE,
155         TRANSACTABLE_FLAG,
156         UPDATE_FLAG,
157         WAREHOUSE_ID,
158         WIP_COMPLETED_QUANTITY,
159         WIP_RESERVED_QUANTITY
160         ) VALUES (
161         X_ATTRIBUTE1,
162         X_ATTRIBUTE10,
163         X_ATTRIBUTE11,
164         X_ATTRIBUTE12,
165         X_ATTRIBUTE13,
166         X_ATTRIBUTE14,
167         X_ATTRIBUTE15,
168         X_ATTRIBUTE2,
169         X_ATTRIBUTE3,
170         X_ATTRIBUTE4,
171         X_ATTRIBUTE5,
172         X_ATTRIBUTE6,
173         X_ATTRIBUTE7,
174         X_ATTRIBUTE8,
175         X_ATTRIBUTE9,
176         X_AUTOSCHEDULED_FLAG,
177         X_CONTEXT,
178         X_CREATED_BY,
179         X_CREATION_DATE,
180         X_CUSTOMER_REQUESTED_LOT_FLAG,
181         X_DELIVERY,
182         X_DEMAND_CLASS_CODE,
183         X_DEMAND_ID,
184         X_DETAIL_TYPE_CODE,
185         X_INVENTORY_LOCATION_ID,
186         X_INVENTORY_LOCATION_SEGMENTS,
187         X_LAST_UPDATED_BY,
188         X_LAST_UPDATE_DATE,
189         X_LAST_UPDATE_LOGIN,
190         X_LATEST_ACCEPTABLE_DATE,
191         X_LOT_NUMBER,
192         X_PICKING_LINE_DETAIL_ID,
193         X_PICKING_LINE_ID,
194         X_PROGRAM_APPLICATION_ID,
195         X_PROGRAM_ID,
196         X_PROGRAM_UPDATE_DATE,
197         X_RELEASED_FLAG,
198         X_REQUESTED_QUANTITY,
199         X_REQUEST_ID,
200         X_RESERVABLE_FLAG,
201         X_REVISION,
202         X_SCHEDULE_DATE,
203         X_SCHEDULE_LEVEL,
204         X_SCHEDULE_STATUS_CODE,
205         X_SEGMENT1,
206         X_SEGMENT10,
207         X_SEGMENT11,
208         X_SEGMENT12,
209         X_SEGMENT13,
210         X_SEGMENT14,
211         X_SEGMENT15,
212         X_SEGMENT16,
213         X_SEGMENT17,
214         X_SEGMENT18,
215         X_SEGMENT19,
216         X_SEGMENT2,
217         X_SEGMENT20,
218         X_SEGMENT3,
219         X_SEGMENT4,
220         X_SEGMENT5,
221         X_SEGMENT6,
222         X_SEGMENT7,
223         X_SEGMENT8,
224         X_SEGMENT9,
225         X_SERIAL_NUMBER,
226         X_SHIPPED_QUANTITY,
227         X_SUBINVENTORY,
228         X_SUPPLY_SOURCE_HEADER_ID,
229         X_SUPPLY_SOURCE_TYPE,
230         X_TRANSACTABLE_FLAG,
231         X_UPDATE_FLAG,
232         X_WAREHOUSE_ID,
233         X_WIP_COMPLETED_QUANTITY,
234         X_WIP_RESERVED_QUANTITY
235     );
236 
237     OPEN C;
238     FETCH C INTO X_Rowid;
239     if (C%NOTFOUND) then
240         CLOSE C;
241         Raise NO_DATA_FOUND;
242     end if;
243     CLOSE C;
244 END Insert_Row;
245 
246 PROCEDURE Lock_Row(X_Rowid VARCHAR2,
247     X_ATTRIBUTE1    VARCHAR2,
248     X_ATTRIBUTE10    VARCHAR2,
249     X_ATTRIBUTE11    VARCHAR2,
250     X_ATTRIBUTE12    VARCHAR2,
251     X_ATTRIBUTE13    VARCHAR2,
252     X_ATTRIBUTE14    VARCHAR2,
253     X_ATTRIBUTE15    VARCHAR2,
254     X_ATTRIBUTE2    VARCHAR2,
255     X_ATTRIBUTE3    VARCHAR2,
256     X_ATTRIBUTE4    VARCHAR2,
257     X_ATTRIBUTE5    VARCHAR2,
258     X_ATTRIBUTE6    VARCHAR2,
259     X_ATTRIBUTE7    VARCHAR2,
260     X_ATTRIBUTE8    VARCHAR2,
261     X_ATTRIBUTE9    VARCHAR2,
262     X_AUTOSCHEDULED_FLAG    VARCHAR2,
263     X_CONTEXT    VARCHAR2,
264     X_CREATED_BY    NUMBER,
265     X_CREATION_DATE    DATE,
266     X_CUSTOMER_REQUESTED_LOT_FLAG    VARCHAR2,
267     X_DELIVERY    NUMBER,
268     X_DEMAND_CLASS_CODE    VARCHAR2,
269     X_DEMAND_ID    NUMBER,
270     X_DETAIL_TYPE_CODE    VARCHAR2,
271     X_INVENTORY_LOCATION_ID    NUMBER,
272     X_INVENTORY_LOCATION_SEGMENTS    VARCHAR2,
273     X_LAST_UPDATED_BY    NUMBER,
274     X_LAST_UPDATE_DATE    DATE,
275     X_LAST_UPDATE_LOGIN    NUMBER,
276     X_LATEST_ACCEPTABLE_DATE    DATE,
277     X_LOT_NUMBER    VARCHAR2,
278     X_PICKING_LINE_DETAIL_ID    NUMBER,
279     X_PICKING_LINE_ID    NUMBER,
280     X_PROGRAM_APPLICATION_ID    NUMBER,
281     X_PROGRAM_ID    NUMBER,
282     X_PROGRAM_UPDATE_DATE    DATE,
283     X_RELEASED_FLAG    VARCHAR2,
284     X_REQUESTED_QUANTITY    NUMBER,
285     X_REQUEST_ID    NUMBER,
286     X_RESERVABLE_FLAG    VARCHAR2,
287     X_REVISION    VARCHAR2,
288     X_SCHEDULE_DATE    DATE,
289     X_SCHEDULE_LEVEL    NUMBER,
290     X_SCHEDULE_STATUS_CODE    VARCHAR2,
291     X_SEGMENT1    VARCHAR2,
292     X_SEGMENT10    VARCHAR2,
293     X_SEGMENT11    VARCHAR2,
294     X_SEGMENT12    VARCHAR2,
295     X_SEGMENT13    VARCHAR2,
296     X_SEGMENT14    VARCHAR2,
297     X_SEGMENT15    VARCHAR2,
298     X_SEGMENT16    VARCHAR2,
299     X_SEGMENT17    VARCHAR2,
300     X_SEGMENT18    VARCHAR2,
301     X_SEGMENT19    VARCHAR2,
302     X_SEGMENT2    VARCHAR2,
303     X_SEGMENT20    VARCHAR2,
304     X_SEGMENT3    VARCHAR2,
305     X_SEGMENT4    VARCHAR2,
306     X_SEGMENT5    VARCHAR2,
307     X_SEGMENT6    VARCHAR2,
308     X_SEGMENT7    VARCHAR2,
309     X_SEGMENT8    VARCHAR2,
310     X_SEGMENT9    VARCHAR2,
311     X_SERIAL_NUMBER    VARCHAR2,
312     X_SHIPPED_QUANTITY    NUMBER,
313     X_SUBINVENTORY    VARCHAR2,
314     X_SUPPLY_SOURCE_HEADER_ID    NUMBER,
315     X_SUPPLY_SOURCE_TYPE    NUMBER,
316     X_TRANSACTABLE_FLAG    VARCHAR2,
317     X_UPDATE_FLAG    VARCHAR2,
318     X_WAREHOUSE_ID    NUMBER,
319     X_WIP_COMPLETED_QUANTITY    NUMBER,
320     X_WIP_RESERVED_QUANTITY    NUMBER,
321     Result OUT VARCHAR2)IS
322 
323 CURSOR C IS SELECT * FROM so_picking_line_details
324 WHERE rowid = X_rowid
325 FOR UPDATE NOWAIT;
326 
327 Recinfo C%ROWTYPE;
328 record_changed exception;
329 record_deleted exception;
330 resource_busy  exception;
331 
332 PRAGMA EXCEPTION_INIT (resource_busy, -54);
333 
334 BEGIN
335 
336     OPEN C;
337     FETCH C INTO Recinfo;
338     if (C%NOTFOUND) then
339         CLOSE C;
340 
341 	    raise record_deleted;
342         -- APP_EXCEPTION.Raise_Exception;
343     end if;
344     CLOSE C;
345 
346     if (
347         ((Recinfo.ATTRIBUTE1 <> X_ATTRIBUTE1)
348           AND NOT (Recinfo.ATTRIBUTE1 is NULL AND X_ATTRIBUTE1 is NULL)) OR
349         ((Recinfo.ATTRIBUTE10 <> X_ATTRIBUTE10)
350           AND NOT (Recinfo.ATTRIBUTE10 is NULL AND X_ATTRIBUTE10 is NULL)) OR
351         ((Recinfo.ATTRIBUTE11 <> X_ATTRIBUTE11)
352           AND NOT (Recinfo.ATTRIBUTE11 is NULL AND X_ATTRIBUTE11 is NULL)) OR
353         ((Recinfo.ATTRIBUTE12 <> X_ATTRIBUTE12)
354           AND NOT (Recinfo.ATTRIBUTE12 is NULL AND X_ATTRIBUTE12 is NULL)) OR
355         ((Recinfo.ATTRIBUTE13 <> X_ATTRIBUTE13)
356           AND NOT (Recinfo.ATTRIBUTE13 is NULL AND X_ATTRIBUTE13 is NULL)) OR
360           AND NOT (Recinfo.ATTRIBUTE15 is NULL AND X_ATTRIBUTE15 is NULL)) OR
357         ((Recinfo.ATTRIBUTE14 <> X_ATTRIBUTE14)
358           AND NOT (Recinfo.ATTRIBUTE14 is NULL AND X_ATTRIBUTE14 is NULL)) OR
359         ((Recinfo.ATTRIBUTE15 <> X_ATTRIBUTE15)
361         ((Recinfo.ATTRIBUTE2 <> X_ATTRIBUTE2)
362           AND NOT (Recinfo.ATTRIBUTE2 is NULL AND X_ATTRIBUTE2 is NULL)) OR
363         ((Recinfo.ATTRIBUTE3 <> X_ATTRIBUTE3)
364           AND NOT (Recinfo.ATTRIBUTE3 is NULL AND X_ATTRIBUTE3 is NULL)) OR
365         ((Recinfo.ATTRIBUTE4 <> X_ATTRIBUTE4)
366           AND NOT (Recinfo.ATTRIBUTE4 is NULL AND X_ATTRIBUTE4 is NULL)) OR
367         ((Recinfo.ATTRIBUTE5 <> X_ATTRIBUTE5)
368           AND NOT (Recinfo.ATTRIBUTE5 is NULL AND X_ATTRIBUTE5 is NULL)) OR
369         ((Recinfo.ATTRIBUTE6 <> X_ATTRIBUTE6)
370           AND NOT (Recinfo.ATTRIBUTE6 is NULL AND X_ATTRIBUTE6 is NULL)) OR
371         ((Recinfo.ATTRIBUTE7 <> X_ATTRIBUTE7)
372           AND NOT (Recinfo.ATTRIBUTE7 is NULL AND X_ATTRIBUTE7 is NULL)) OR
373         ((Recinfo.ATTRIBUTE8 <> X_ATTRIBUTE8)
374           AND NOT (Recinfo.ATTRIBUTE8 is NULL AND X_ATTRIBUTE8 is NULL)) OR
375         ((Recinfo.ATTRIBUTE9 <> X_ATTRIBUTE9)
376           AND NOT (Recinfo.ATTRIBUTE9 is NULL AND X_ATTRIBUTE9 is NULL)) OR
377         ((Recinfo.AUTOSCHEDULED_FLAG <> X_AUTOSCHEDULED_FLAG)
378           AND NOT (Recinfo.AUTOSCHEDULED_FLAG is NULL AND X_AUTOSCHEDULED_FLAG is NULL)) OR
379         ((Recinfo.CONTEXT <> X_CONTEXT)
380           AND NOT (Recinfo.CONTEXT is NULL AND X_CONTEXT is NULL)) OR
381         ((Recinfo.CREATED_BY <> X_CREATED_BY)
382           AND NOT (Recinfo.CREATED_BY is NULL AND X_CREATED_BY is NULL)) OR
383         ((Recinfo.CREATION_DATE <> X_CREATION_DATE)
384           AND NOT (Recinfo.CREATION_DATE is NULL AND X_CREATION_DATE is NULL)) OR
385         ((Recinfo.CUSTOMER_REQUESTED_LOT_FLAG <> X_CUSTOMER_REQUESTED_LOT_FLAG)
386           AND NOT (Recinfo.CUSTOMER_REQUESTED_LOT_FLAG is NULL AND X_CUSTOMER_REQUESTED_LOT_FLAG is NULL))
387     ) then
388         raise record_changed;
389     end if;
390 
391     if (
392         ((Recinfo.DELIVERY <> X_DELIVERY)
393           AND NOT (Recinfo.DELIVERY is NULL AND X_DELIVERY is NULL)) OR
394         ((Recinfo.DEMAND_CLASS_CODE <> X_DEMAND_CLASS_CODE)
395           AND NOT (Recinfo.DEMAND_CLASS_CODE is NULL AND X_DEMAND_CLASS_CODE is NULL)) OR
396         ((Recinfo.DEMAND_ID <> X_DEMAND_ID)
397           AND NOT (Recinfo.DEMAND_ID is NULL AND X_DEMAND_ID is NULL)) OR
398         ((Recinfo.DETAIL_TYPE_CODE <> X_DETAIL_TYPE_CODE)
399           AND NOT (Recinfo.DETAIL_TYPE_CODE is NULL AND X_DETAIL_TYPE_CODE is NULL)) OR
400         ((Recinfo.INVENTORY_LOCATION_ID <> X_INVENTORY_LOCATION_ID)
401           AND NOT (Recinfo.INVENTORY_LOCATION_ID is NULL AND X_INVENTORY_LOCATION_ID is NULL)) OR
402         ((Recinfo.INVENTORY_LOCATION_SEGMENTS <> X_INVENTORY_LOCATION_SEGMENTS)
403           AND NOT (Recinfo.INVENTORY_LOCATION_SEGMENTS is NULL AND X_INVENTORY_LOCATION_SEGMENTS is NULL)) OR
404         ((Recinfo.LAST_UPDATED_BY <> X_LAST_UPDATED_BY)
405           AND NOT (Recinfo.LAST_UPDATED_BY is NULL AND X_LAST_UPDATED_BY is NULL)) OR
406         ((Recinfo.LAST_UPDATE_DATE <> X_LAST_UPDATE_DATE)
407           AND NOT (Recinfo.LAST_UPDATE_DATE is NULL AND X_LAST_UPDATE_DATE is NULL)) OR
408         ((Recinfo.LAST_UPDATE_LOGIN <> X_LAST_UPDATE_LOGIN)
409           AND NOT (Recinfo.LAST_UPDATE_LOGIN is NULL AND X_LAST_UPDATE_LOGIN is NULL)) OR
410         ((Recinfo.LATEST_ACCEPTABLE_DATE <> X_LATEST_ACCEPTABLE_DATE)
411           AND NOT (Recinfo.LATEST_ACCEPTABLE_DATE is NULL AND X_LATEST_ACCEPTABLE_DATE is NULL)) OR
412         ((Recinfo.LOT_NUMBER <> X_LOT_NUMBER)
413           AND NOT (Recinfo.LOT_NUMBER is NULL AND X_LOT_NUMBER is NULL)) OR
414         ((Recinfo.PICKING_LINE_DETAIL_ID <> X_PICKING_LINE_DETAIL_ID)
415           AND NOT (Recinfo.PICKING_LINE_DETAIL_ID is NULL AND X_PICKING_LINE_DETAIL_ID is NULL)) OR
416         ((Recinfo.PICKING_LINE_ID <> X_PICKING_LINE_ID)
417           AND NOT (Recinfo.PICKING_LINE_ID is NULL AND X_PICKING_LINE_ID is NULL)) OR
418         ((Recinfo.PROGRAM_APPLICATION_ID <> X_PROGRAM_APPLICATION_ID)
419           AND NOT (Recinfo.PROGRAM_APPLICATION_ID is NULL AND X_PROGRAM_APPLICATION_ID is NULL)) OR
420         ((Recinfo.PROGRAM_ID <> X_PROGRAM_ID)
421           AND NOT (Recinfo.PROGRAM_ID is NULL AND X_PROGRAM_ID is NULL)) OR
422         ((Recinfo.PROGRAM_UPDATE_DATE <> X_PROGRAM_UPDATE_DATE)
423           AND NOT (Recinfo.PROGRAM_UPDATE_DATE is NULL AND X_PROGRAM_UPDATE_DATE is NULL)) OR
424         ((Recinfo.RELEASED_FLAG <> X_RELEASED_FLAG)
425           AND NOT (Recinfo.RELEASED_FLAG is NULL AND X_RELEASED_FLAG is NULL)) OR
426         ((Recinfo.REQUESTED_QUANTITY <> X_REQUESTED_QUANTITY)
427           AND NOT (Recinfo.REQUESTED_QUANTITY is NULL AND X_REQUESTED_QUANTITY is NULL)) OR
428         ((Recinfo.REQUEST_ID <> X_REQUEST_ID)
429           AND NOT (Recinfo.REQUEST_ID is NULL AND X_REQUEST_ID is NULL)) OR
430         ((Recinfo.RESERVABLE_FLAG <> X_RESERVABLE_FLAG)
431           AND NOT (Recinfo.RESERVABLE_FLAG is NULL AND X_RESERVABLE_FLAG is NULL))
432     ) then
433         raise record_changed;
434     end if;
435 
436     if (
437         ((Recinfo.REVISION <> X_REVISION)
438           AND NOT (Recinfo.REVISION is NULL AND X_REVISION is NULL)) OR
439         ((Recinfo.SCHEDULE_DATE <> X_SCHEDULE_DATE)
440           AND NOT (Recinfo.SCHEDULE_DATE is NULL AND X_SCHEDULE_DATE is NULL)) OR
441         ((Recinfo.SCHEDULE_LEVEL <> X_SCHEDULE_LEVEL)
442           AND NOT (Recinfo.SCHEDULE_LEVEL is NULL AND X_SCHEDULE_LEVEL is NULL)) OR
443         ((Recinfo.SCHEDULE_STATUS_CODE <> X_SCHEDULE_STATUS_CODE)
444           AND NOT (Recinfo.SCHEDULE_STATUS_CODE is NULL AND X_SCHEDULE_STATUS_CODE is NULL)) OR
445         ((Recinfo.SEGMENT1 <> X_SEGMENT1)
446           AND NOT (Recinfo.SEGMENT1 is NULL AND X_SEGMENT1 is NULL)) OR
447         ((Recinfo.SEGMENT10 <> X_SEGMENT10)
448           AND NOT (Recinfo.SEGMENT10 is NULL AND X_SEGMENT10 is NULL)) OR
449         ((Recinfo.SEGMENT11 <> X_SEGMENT11)
453         ((Recinfo.SEGMENT13 <> X_SEGMENT13)
450           AND NOT (Recinfo.SEGMENT11 is NULL AND X_SEGMENT11 is NULL)) OR
451         ((Recinfo.SEGMENT12 <> X_SEGMENT12)
452           AND NOT (Recinfo.SEGMENT12 is NULL AND X_SEGMENT12 is NULL)) OR
454           AND NOT (Recinfo.SEGMENT13 is NULL AND X_SEGMENT13 is NULL)) OR
455         ((Recinfo.SEGMENT14 <> X_SEGMENT14)
456           AND NOT (Recinfo.SEGMENT14 is NULL AND X_SEGMENT14 is NULL)) OR
457         ((Recinfo.SEGMENT15 <> X_SEGMENT15)
458           AND NOT (Recinfo.SEGMENT15 is NULL AND X_SEGMENT15 is NULL)) OR
459         ((Recinfo.SEGMENT16 <> X_SEGMENT16)
460           AND NOT (Recinfo.SEGMENT16 is NULL AND X_SEGMENT16 is NULL)) OR
461         ((Recinfo.SEGMENT17 <> X_SEGMENT17)
462           AND NOT (Recinfo.SEGMENT17 is NULL AND X_SEGMENT17 is NULL)) OR
463         ((Recinfo.SEGMENT18 <> X_SEGMENT18)
464           AND NOT (Recinfo.SEGMENT18 is NULL AND X_SEGMENT18 is NULL)) OR
465         ((Recinfo.SEGMENT19 <> X_SEGMENT19)
466           AND NOT (Recinfo.SEGMENT19 is NULL AND X_SEGMENT19 is NULL)) OR
467         ((Recinfo.SEGMENT2 <> X_SEGMENT2)
468           AND NOT (Recinfo.SEGMENT2 is NULL AND X_SEGMENT2 is NULL)) OR
469         ((Recinfo.SEGMENT20 <> X_SEGMENT20)
470           AND NOT (Recinfo.SEGMENT20 is NULL AND X_SEGMENT20 is NULL)) OR
471         ((Recinfo.SEGMENT3 <> X_SEGMENT3)
472           AND NOT (Recinfo.SEGMENT3 is NULL AND X_SEGMENT3 is NULL)) OR
473         ((Recinfo.SEGMENT4 <> X_SEGMENT4)
474           AND NOT (Recinfo.SEGMENT4 is NULL AND X_SEGMENT4 is NULL)) OR
475         ((Recinfo.SEGMENT5 <> X_SEGMENT5)
476           AND NOT (Recinfo.SEGMENT5 is NULL AND X_SEGMENT5 is NULL))
477     ) then
478         raise record_changed;
479     end if;
480 
481     if (
482         ((Recinfo.SEGMENT6 <> X_SEGMENT6)
483           AND NOT (Recinfo.SEGMENT6 is NULL AND X_SEGMENT6 is NULL)) OR
484         ((Recinfo.SEGMENT7 <> X_SEGMENT7)
485           AND NOT (Recinfo.SEGMENT7 is NULL AND X_SEGMENT7 is NULL)) OR
486         ((Recinfo.SEGMENT8 <> X_SEGMENT8)
487           AND NOT (Recinfo.SEGMENT8 is NULL AND X_SEGMENT8 is NULL)) OR
488         ((Recinfo.SEGMENT9 <> X_SEGMENT9)
489           AND NOT (Recinfo.SEGMENT9 is NULL AND X_SEGMENT9 is NULL)) OR
490         ((Recinfo.SERIAL_NUMBER <> X_SERIAL_NUMBER)
491           AND NOT (Recinfo.SERIAL_NUMBER is NULL AND X_SERIAL_NUMBER is NULL)) OR
492         ((Recinfo.SHIPPED_QUANTITY <> X_SHIPPED_QUANTITY)
493           AND NOT (Recinfo.SHIPPED_QUANTITY is NULL AND X_SHIPPED_QUANTITY is NULL)) OR
494         ((Recinfo.SUBINVENTORY <> X_SUBINVENTORY)
495           AND NOT (Recinfo.SUBINVENTORY is NULL AND X_SUBINVENTORY is NULL)) OR
496         ((Recinfo.SUPPLY_SOURCE_HEADER_ID <> X_SUPPLY_SOURCE_HEADER_ID)
497           AND NOT (Recinfo.SUPPLY_SOURCE_HEADER_ID is NULL AND X_SUPPLY_SOURCE_HEADER_ID is NULL)) OR
498         ((Recinfo.SUPPLY_SOURCE_TYPE <> X_SUPPLY_SOURCE_TYPE)
499           AND NOT (Recinfo.SUPPLY_SOURCE_TYPE is NULL AND X_SUPPLY_SOURCE_TYPE is NULL)) OR
500         ((Recinfo.TRANSACTABLE_FLAG <> X_TRANSACTABLE_FLAG)
501           AND NOT (Recinfo.TRANSACTABLE_FLAG is NULL AND X_TRANSACTABLE_FLAG is NULL)) OR
502         ((Recinfo.UPDATE_FLAG <> X_UPDATE_FLAG)
503           AND NOT (Recinfo.UPDATE_FLAG is NULL AND X_UPDATE_FLAG is NULL)) OR
504         ((Recinfo.WAREHOUSE_ID <> X_WAREHOUSE_ID)
505           AND NOT (Recinfo.WAREHOUSE_ID is NULL AND X_WAREHOUSE_ID is NULL)) OR
506         ((Recinfo.WIP_COMPLETED_QUANTITY <> X_WIP_COMPLETED_QUANTITY)
507           AND NOT (Recinfo.WIP_COMPLETED_QUANTITY is NULL AND X_WIP_COMPLETED_QUANTITY is NULL)) OR
508         ((Recinfo.WIP_RESERVED_QUANTITY <> X_WIP_RESERVED_QUANTITY)
509           AND NOT (Recinfo.WIP_RESERVED_QUANTITY is NULL AND X_WIP_RESERVED_QUANTITY is NULL))
510     ) then
511         raise record_changed;
512     end if;
513 
514     Result := 'SUCCESS';
515 exception
516     when record_changed then
517         Result := 'RECORD_CHANGED';
518     when record_deleted then
519         Result := 'RECORD_DELETED';
520 	when resource_busy then
521 		Result := 'RESOURCE_BUSY';
522 END Lock_Row;
523 
524 PROCEDURE Update_Row(X_Rowid VARCHAR2,
525     X_ATTRIBUTE1    VARCHAR2,
526     X_ATTRIBUTE10    VARCHAR2,
527     X_ATTRIBUTE11    VARCHAR2,
528     X_ATTRIBUTE12    VARCHAR2,
529     X_ATTRIBUTE13    VARCHAR2,
530     X_ATTRIBUTE14    VARCHAR2,
531     X_ATTRIBUTE15    VARCHAR2,
532     X_ATTRIBUTE2    VARCHAR2,
533     X_ATTRIBUTE3    VARCHAR2,
534     X_ATTRIBUTE4    VARCHAR2,
535     X_ATTRIBUTE5    VARCHAR2,
536     X_ATTRIBUTE6    VARCHAR2,
537     X_ATTRIBUTE7    VARCHAR2,
538     X_ATTRIBUTE8    VARCHAR2,
539     X_ATTRIBUTE9    VARCHAR2,
540     X_AUTOSCHEDULED_FLAG    VARCHAR2,
541     X_CONTEXT    VARCHAR2,
542     X_CREATED_BY    NUMBER,
543     X_CREATION_DATE    DATE,
544     X_CUSTOMER_REQUESTED_LOT_FLAG    VARCHAR2,
545     X_DELIVERY    NUMBER,
546     X_DEMAND_CLASS_CODE    VARCHAR2,
547     X_DEMAND_ID    NUMBER,
548     X_DETAIL_TYPE_CODE    VARCHAR2,
549     X_INVENTORY_LOCATION_ID    NUMBER,
550     X_INVENTORY_LOCATION_SEGMENTS    VARCHAR2,
551     X_LAST_UPDATED_BY    NUMBER,
552     X_LAST_UPDATE_DATE    DATE,
553     X_LAST_UPDATE_LOGIN    NUMBER,
554     X_LATEST_ACCEPTABLE_DATE    DATE,
555     X_LOT_NUMBER    VARCHAR2,
556     X_PICKING_LINE_DETAIL_ID    NUMBER,
557     X_PICKING_LINE_ID    NUMBER,
558     X_PROGRAM_APPLICATION_ID    NUMBER,
559     X_PROGRAM_ID    NUMBER,
560     X_PROGRAM_UPDATE_DATE    DATE,
561     X_RELEASED_FLAG    VARCHAR2,
562     X_REQUESTED_QUANTITY    NUMBER,
563     X_REQUEST_ID    NUMBER,
564     X_RESERVABLE_FLAG    VARCHAR2,
565     X_REVISION    VARCHAR2,
566     X_SCHEDULE_DATE    DATE,
567     X_SCHEDULE_LEVEL    NUMBER,
568     X_SCHEDULE_STATUS_CODE    VARCHAR2,
569     X_SEGMENT1    VARCHAR2,
570     X_SEGMENT10    VARCHAR2,
571     X_SEGMENT11    VARCHAR2,
575     X_SEGMENT15    VARCHAR2,
572     X_SEGMENT12    VARCHAR2,
573     X_SEGMENT13    VARCHAR2,
574     X_SEGMENT14    VARCHAR2,
576     X_SEGMENT16    VARCHAR2,
577     X_SEGMENT17    VARCHAR2,
578     X_SEGMENT18    VARCHAR2,
579     X_SEGMENT19    VARCHAR2,
580     X_SEGMENT2    VARCHAR2,
581     X_SEGMENT20    VARCHAR2,
582     X_SEGMENT3    VARCHAR2,
583     X_SEGMENT4    VARCHAR2,
584     X_SEGMENT5    VARCHAR2,
585     X_SEGMENT6    VARCHAR2,
586     X_SEGMENT7    VARCHAR2,
587     X_SEGMENT8    VARCHAR2,
588     X_SEGMENT9    VARCHAR2,
589     X_SERIAL_NUMBER    VARCHAR2,
590     X_SHIPPED_QUANTITY    NUMBER,
591     X_SUBINVENTORY    VARCHAR2,
592     X_SUPPLY_SOURCE_HEADER_ID    NUMBER,
593     X_SUPPLY_SOURCE_TYPE    NUMBER,
594     X_TRANSACTABLE_FLAG    VARCHAR2,
595     X_UPDATE_FLAG    VARCHAR2,
596     X_WAREHOUSE_ID    NUMBER,
597     X_WIP_COMPLETED_QUANTITY    NUMBER,
598     X_WIP_RESERVED_QUANTITY    NUMBER
599 )IS
600 
601 BEGIN
602     UPDATE so_picking_line_details
603     SET
604     ATTRIBUTE1 = X_ATTRIBUTE1,
605     ATTRIBUTE10 = X_ATTRIBUTE10,
606     ATTRIBUTE11 = X_ATTRIBUTE11,
607     ATTRIBUTE12 = X_ATTRIBUTE12,
608     ATTRIBUTE13 = X_ATTRIBUTE13,
609     ATTRIBUTE14 = X_ATTRIBUTE14,
610     ATTRIBUTE15 = X_ATTRIBUTE15,
611     ATTRIBUTE2 = X_ATTRIBUTE2,
612     ATTRIBUTE3 = X_ATTRIBUTE3,
613     ATTRIBUTE4 = X_ATTRIBUTE4,
614     ATTRIBUTE5 = X_ATTRIBUTE5,
615     ATTRIBUTE6 = X_ATTRIBUTE6,
616     ATTRIBUTE7 = X_ATTRIBUTE7,
617     ATTRIBUTE8 = X_ATTRIBUTE8,
618     ATTRIBUTE9 = X_ATTRIBUTE9,
619     AUTOSCHEDULED_FLAG = X_AUTOSCHEDULED_FLAG,
620     CONTEXT = X_CONTEXT,
621     CREATED_BY = X_CREATED_BY,
622     CREATION_DATE = X_CREATION_DATE,
623     CUSTOMER_REQUESTED_LOT_FLAG = X_CUSTOMER_REQUESTED_LOT_FLAG,
624     DELIVERY = X_DELIVERY,
625     DEMAND_CLASS_CODE = X_DEMAND_CLASS_CODE,
626     DEMAND_ID = X_DEMAND_ID,
627     DETAIL_TYPE_CODE = X_DETAIL_TYPE_CODE,
628     INVENTORY_LOCATION_ID = X_INVENTORY_LOCATION_ID,
629     INVENTORY_LOCATION_SEGMENTS = X_INVENTORY_LOCATION_SEGMENTS,
630     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
631     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
632     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
633     LATEST_ACCEPTABLE_DATE = X_LATEST_ACCEPTABLE_DATE,
634     LOT_NUMBER = X_LOT_NUMBER,
635     PICKING_LINE_DETAIL_ID = X_PICKING_LINE_DETAIL_ID,
636     PICKING_LINE_ID = X_PICKING_LINE_ID,
637     PROGRAM_APPLICATION_ID = X_PROGRAM_APPLICATION_ID,
638     PROGRAM_ID = X_PROGRAM_ID,
639     PROGRAM_UPDATE_DATE = X_PROGRAM_UPDATE_DATE,
640     RELEASED_FLAG = X_RELEASED_FLAG,
641     REQUESTED_QUANTITY = X_REQUESTED_QUANTITY,
642     REQUEST_ID = X_REQUEST_ID,
643     RESERVABLE_FLAG = X_RESERVABLE_FLAG,
644     REVISION = X_REVISION,
645     SCHEDULE_DATE = X_SCHEDULE_DATE,
646     SCHEDULE_LEVEL = X_SCHEDULE_LEVEL,
647     SCHEDULE_STATUS_CODE = X_SCHEDULE_STATUS_CODE,
648     SEGMENT1 = X_SEGMENT1,
649     SEGMENT10 = X_SEGMENT10,
650     SEGMENT11 = X_SEGMENT11,
651     SEGMENT12 = X_SEGMENT12,
652     SEGMENT13 = X_SEGMENT13,
653     SEGMENT14 = X_SEGMENT14,
654     SEGMENT15 = X_SEGMENT15,
655     SEGMENT16 = X_SEGMENT16,
656     SEGMENT17 = X_SEGMENT17,
657     SEGMENT18 = X_SEGMENT18,
658     SEGMENT19 = X_SEGMENT19,
659     SEGMENT2 = X_SEGMENT2,
660     SEGMENT20 = X_SEGMENT20,
661     SEGMENT3 = X_SEGMENT3,
662     SEGMENT4 = X_SEGMENT4,
663     SEGMENT5 = X_SEGMENT5,
664     SEGMENT6 = X_SEGMENT6,
665     SEGMENT7 = X_SEGMENT7,
666     SEGMENT8 = X_SEGMENT8,
667     SEGMENT9 = X_SEGMENT9,
668     SERIAL_NUMBER = X_SERIAL_NUMBER,
669     SHIPPED_QUANTITY = X_SHIPPED_QUANTITY,
670     SUBINVENTORY = X_SUBINVENTORY,
671     SUPPLY_SOURCE_HEADER_ID = X_SUPPLY_SOURCE_HEADER_ID,
672     SUPPLY_SOURCE_TYPE = X_SUPPLY_SOURCE_TYPE,
673     TRANSACTABLE_FLAG = X_TRANSACTABLE_FLAG,
674     UPDATE_FLAG = X_UPDATE_FLAG,
675     WAREHOUSE_ID = X_WAREHOUSE_ID,
676     WIP_COMPLETED_QUANTITY = X_WIP_COMPLETED_QUANTITY,
677     WIP_RESERVED_QUANTITY = X_WIP_RESERVED_QUANTITY
678     WHERE ROWID = X_Rowid;
679 
680     IF (SQL%NOTFOUND) then
681         Raise NO_DATA_FOUND;
682     end if;
683 END Update_Row;
684 
685 PROCEDURE Delete_Row(X_Rowid VARCHAR2)
686     IS
687 
688 BEGIN
689     DELETE FROM so_picking_line_details
690     WHERE ROWID = X_Rowid;
691 
692     IF (SQL%NOTFOUND) then
693         Raise NO_DATA_FOUND;
694     end if;
695 END Delete_Row;
696 
697 END OE_SO_PLD_TABLE;