DBA Data[Home] [Help]

PACKAGE BODY: APPS.WIP_FLOWSCHEDULE_UTIL

Source


1 PACKAGE BODY WIP_Flowschedule_Util AS
2 /* $Header: WIPUFLOB.pls 115.11 2002/12/03 11:50:55 simishra ship $ */
3 
4 --  Global constant holding the package name
5 
6 G_PKG_NAME                    CONSTANT VARCHAR2(30) := 'WIP_Flowschedule_Util';
7 
8 
9 --  Function Complete_Record
10 
11 FUNCTION Complete_Record
12 (   p_FlowSchedule_rec              IN  WIP_Work_Order_PUB.Flowschedule_Rec_Type
13 ,   p_old_FlowSchedule_rec          IN  WIP_Work_Order_PUB.Flowschedule_Rec_Type
14 ,   p_ForceCopy                     IN  BOOLEAN := FALSE
15 ) RETURN WIP_Work_Order_PUB.Flowschedule_Rec_Type
16 IS
17 l_FlowSchedule_rec            WIP_Work_Order_PUB.Flowschedule_Rec_Type := p_FlowSchedule_rec;
18 BEGIN
19 
20    IF p_ForceCopy = TRUE
21      THEN
22 
23     IF p_old_FlowSchedule_rec.alternate_bom_designator <> FND_API.G_MISS_CHAR THEN
24         l_FlowSchedule_rec.alternate_bom_designator := p_old_FlowSchedule_rec.alternate_bom_designator;
25     END IF;
26 
27     IF p_old_FlowSchedule_rec.alternate_rout_designator <> FND_API.G_MISS_CHAR THEN
28         l_FlowSchedule_rec.alternate_rout_designator := p_old_FlowSchedule_rec.alternate_rout_designator;
29     END IF;
30 
31     IF p_old_FlowSchedule_rec.attribute1 <> FND_API.G_MISS_CHAR THEN
32         l_FlowSchedule_rec.attribute1 := p_old_FlowSchedule_rec.attribute1;
33     END IF;
34 
35     IF p_old_FlowSchedule_rec.attribute10 <> FND_API.G_MISS_CHAR THEN
36         l_FlowSchedule_rec.attribute10 := p_old_FlowSchedule_rec.attribute10;
37     END IF;
38 
39     IF p_old_FlowSchedule_rec.attribute11 <> FND_API.G_MISS_CHAR THEN
40         l_FlowSchedule_rec.attribute11 := p_old_FlowSchedule_rec.attribute11;
41     END IF;
42 
43     IF p_old_FlowSchedule_rec.attribute12 <> FND_API.G_MISS_CHAR THEN
44         l_FlowSchedule_rec.attribute12 := p_old_FlowSchedule_rec.attribute12;
45     END IF;
46 
47     IF p_old_FlowSchedule_rec.attribute13 <> FND_API.G_MISS_CHAR THEN
48         l_FlowSchedule_rec.attribute13 := p_old_FlowSchedule_rec.attribute13;
49     END IF;
50 
51     IF p_old_FlowSchedule_rec.attribute14 <> FND_API.G_MISS_CHAR THEN
52         l_FlowSchedule_rec.attribute14 := p_old_FlowSchedule_rec.attribute14;
53     END IF;
54 
55     IF p_old_FlowSchedule_rec.attribute15 <> FND_API.G_MISS_CHAR THEN
56         l_FlowSchedule_rec.attribute15 := p_old_FlowSchedule_rec.attribute15;
57     END IF;
58 
59     IF p_old_FlowSchedule_rec.attribute2 <> FND_API.G_MISS_CHAR THEN
60         l_FlowSchedule_rec.attribute2 := p_old_FlowSchedule_rec.attribute2;
61     END IF;
62 
63     IF p_old_FlowSchedule_rec.attribute3 <> FND_API.G_MISS_CHAR THEN
64         l_FlowSchedule_rec.attribute3 := p_old_FlowSchedule_rec.attribute3;
65     END IF;
66 
67     IF p_old_FlowSchedule_rec.attribute4 <> FND_API.G_MISS_CHAR THEN
68         l_FlowSchedule_rec.attribute4 := p_old_FlowSchedule_rec.attribute4;
69     END IF;
70 
71     IF p_old_FlowSchedule_rec.attribute5 <> FND_API.G_MISS_CHAR THEN
72         l_FlowSchedule_rec.attribute5 := p_old_FlowSchedule_rec.attribute5;
73     END IF;
74 
75     IF p_old_FlowSchedule_rec.attribute6 <> FND_API.G_MISS_CHAR THEN
76         l_FlowSchedule_rec.attribute6 := p_old_FlowSchedule_rec.attribute6;
77     END IF;
78 
79     IF p_old_FlowSchedule_rec.attribute7 <> FND_API.G_MISS_CHAR THEN
80         l_FlowSchedule_rec.attribute7 := p_old_FlowSchedule_rec.attribute7;
81     END IF;
82 
83     IF p_old_FlowSchedule_rec.attribute8 <> FND_API.G_MISS_CHAR THEN
84         l_FlowSchedule_rec.attribute8 := p_old_FlowSchedule_rec.attribute8;
85     END IF;
86 
87     IF p_old_FlowSchedule_rec.attribute9 <> FND_API.G_MISS_CHAR THEN
88         l_FlowSchedule_rec.attribute9 := p_old_FlowSchedule_rec.attribute9;
89     END IF;
90 
91     IF p_old_FlowSchedule_rec.attribute_category <> FND_API.G_MISS_CHAR THEN
92         l_FlowSchedule_rec.attribute_category := p_old_FlowSchedule_rec.attribute_category;
93     END IF;
94 
95     IF p_old_FlowSchedule_rec.bom_revision <> FND_API.G_MISS_CHAR THEN
96         l_FlowSchedule_rec.bom_revision := p_old_FlowSchedule_rec.bom_revision;
97     END IF;
98 
99     IF p_old_FlowSchedule_rec.bom_revision_date <> FND_API.G_MISS_DATE THEN
100         l_FlowSchedule_rec.bom_revision_date := p_old_FlowSchedule_rec.bom_revision_date;
101     END IF;
102 
103     IF p_old_FlowSchedule_rec.build_sequence <> FND_API.G_MISS_NUM THEN
104         l_FlowSchedule_rec.build_sequence := p_old_FlowSchedule_rec.build_sequence;
105     END IF;
106 
107     IF p_old_FlowSchedule_rec.class_code <> FND_API.G_MISS_CHAR THEN
108         l_FlowSchedule_rec.class_code := p_old_FlowSchedule_rec.class_code;
109     END IF;
110 
111     IF p_old_FlowSchedule_rec.completion_locator_id <> FND_API.G_MISS_NUM THEN
112         l_FlowSchedule_rec.completion_locator_id := p_old_FlowSchedule_rec.completion_locator_id;
113     END IF;
114 
115     IF p_old_FlowSchedule_rec.completion_subinventory <> FND_API.G_MISS_CHAR THEN
116         l_FlowSchedule_rec.completion_subinventory := p_old_FlowSchedule_rec.completion_subinventory;
117     END IF;
118 
119     IF p_old_FlowSchedule_rec.created_by <> FND_API.G_MISS_NUM THEN
120         l_FlowSchedule_rec.created_by := p_old_FlowSchedule_rec.created_by;
121     END IF;
122 
123     IF p_old_FlowSchedule_rec.creation_date <> FND_API.G_MISS_DATE THEN
124         l_FlowSchedule_rec.creation_date := p_old_FlowSchedule_rec.creation_date;
125     END IF;
126 
127     IF p_old_FlowSchedule_rec.date_closed <> FND_API.G_MISS_DATE THEN
128         l_FlowSchedule_rec.date_closed := p_old_FlowSchedule_rec.date_closed;
129     END IF;
130 
131     IF p_old_FlowSchedule_rec.demand_class <> FND_API.G_MISS_CHAR THEN
132         l_FlowSchedule_rec.demand_class := p_old_FlowSchedule_rec.demand_class;
133     END IF;
134 
135     IF p_old_FlowSchedule_rec.demand_source_delivery <> FND_API.G_MISS_CHAR THEN
136         l_FlowSchedule_rec.demand_source_delivery := p_old_FlowSchedule_rec.demand_source_delivery;
137     END IF;
138 
139     IF p_old_FlowSchedule_rec.demand_source_header_id <> FND_API.G_MISS_NUM THEN
140         l_FlowSchedule_rec.demand_source_header_id := p_old_FlowSchedule_rec.demand_source_header_id;
141     END IF;
142 
143     IF p_old_FlowSchedule_rec.demand_source_line <> FND_API.G_MISS_CHAR THEN
144         l_FlowSchedule_rec.demand_source_line := p_old_FlowSchedule_rec.demand_source_line;
145     END IF;
146 
147     IF p_old_FlowSchedule_rec.demand_source_type <> FND_API.G_MISS_NUM THEN
148         l_FlowSchedule_rec.demand_source_type := p_old_FlowSchedule_rec.demand_source_type;
149     END IF;
150 
151     IF p_old_FlowSchedule_rec.kanban_card_id <> FND_API.G_MISS_NUM THEN
152         l_FlowSchedule_rec.kanban_card_id := p_old_FlowSchedule_rec.kanban_card_id;
153     END IF;
154 
155     IF p_old_FlowSchedule_rec.last_updated_by <> FND_API.G_MISS_NUM THEN
156         l_FlowSchedule_rec.last_updated_by := p_old_FlowSchedule_rec.last_updated_by;
157     END IF;
158 
159     IF p_old_FlowSchedule_rec.last_update_date <> FND_API.G_MISS_DATE THEN
160         l_FlowSchedule_rec.last_update_date := p_old_FlowSchedule_rec.last_update_date;
161     END IF;
162 
163     IF p_old_FlowSchedule_rec.last_update_login <> FND_API.G_MISS_NUM THEN
164         l_FlowSchedule_rec.last_update_login := p_old_FlowSchedule_rec.last_update_login;
165     END IF;
166 
167     IF p_old_FlowSchedule_rec.line_id <> FND_API.G_MISS_NUM THEN
168         l_FlowSchedule_rec.line_id := p_old_FlowSchedule_rec.line_id;
169     END IF;
170 
171     IF p_old_FlowSchedule_rec.material_account <> FND_API.G_MISS_NUM THEN
172         l_FlowSchedule_rec.material_account := p_old_FlowSchedule_rec.material_account;
173     END IF;
174 
175     IF p_old_FlowSchedule_rec.material_overhead_account <> FND_API.G_MISS_NUM THEN
176         l_FlowSchedule_rec.material_overhead_account := p_old_FlowSchedule_rec.material_overhead_account;
177     END IF;
178 
179     IF p_old_FlowSchedule_rec.material_variance_account <> FND_API.G_MISS_NUM THEN
180         l_FlowSchedule_rec.material_variance_account := p_old_FlowSchedule_rec.material_variance_account;
181     END IF;
182 
183     IF p_old_FlowSchedule_rec.mps_net_quantity <> FND_API.G_MISS_NUM THEN
184         l_FlowSchedule_rec.mps_net_quantity := p_old_FlowSchedule_rec.mps_net_quantity;
185     END IF;
186 
187     IF p_old_FlowSchedule_rec.mps_scheduled_cpl_date <> FND_API.G_MISS_DATE THEN
188         l_FlowSchedule_rec.mps_scheduled_cpl_date := p_old_FlowSchedule_rec.mps_scheduled_cpl_date;
189     END IF;
190 
191     IF p_old_FlowSchedule_rec.organization_id <> FND_API.G_MISS_NUM THEN
192         l_FlowSchedule_rec.organization_id := p_old_FlowSchedule_rec.organization_id;
193     END IF;
194 
195     IF p_old_FlowSchedule_rec.osp_account <> FND_API.G_MISS_NUM THEN
196         l_FlowSchedule_rec.osp_account := p_old_FlowSchedule_rec.osp_account;
197     END IF;
198 
199     IF p_old_FlowSchedule_rec.osp_variance_account <> FND_API.G_MISS_NUM THEN
200         l_FlowSchedule_rec.osp_variance_account := p_old_FlowSchedule_rec.osp_variance_account;
201     END IF;
202 
203     IF p_old_FlowSchedule_rec.overhead_account <> FND_API.G_MISS_NUM THEN
204         l_FlowSchedule_rec.overhead_account := p_old_FlowSchedule_rec.overhead_account;
205     END IF;
206 
207     IF p_old_FlowSchedule_rec.overhead_variance_account <> FND_API.G_MISS_NUM THEN
208         l_FlowSchedule_rec.overhead_variance_account := p_old_FlowSchedule_rec.overhead_variance_account;
209     END IF;
210 
211     IF p_old_FlowSchedule_rec.planned_quantity <> FND_API.G_MISS_NUM THEN
212         l_FlowSchedule_rec.planned_quantity := p_old_FlowSchedule_rec.planned_quantity;
213     END IF;
214 
215     IF p_old_FlowSchedule_rec.primary_item_id <> FND_API.G_MISS_NUM THEN
216         l_FlowSchedule_rec.primary_item_id := p_old_FlowSchedule_rec.primary_item_id;
217     END IF;
218 
219     IF p_old_FlowSchedule_rec.program_application_id <> FND_API.G_MISS_NUM THEN
220         l_FlowSchedule_rec.program_application_id := p_old_FlowSchedule_rec.program_application_id;
221     END IF;
222 
223     IF p_old_FlowSchedule_rec.program_id <> FND_API.G_MISS_NUM THEN
224         l_FlowSchedule_rec.program_id := p_old_FlowSchedule_rec.program_id;
225     END IF;
226 
227     IF p_old_FlowSchedule_rec.program_update_date <> FND_API.G_MISS_DATE THEN
228         l_FlowSchedule_rec.program_update_date := p_old_FlowSchedule_rec.program_update_date;
229     END IF;
230 
231     IF p_old_FlowSchedule_rec.project_id <> FND_API.G_MISS_NUM THEN
232         l_FlowSchedule_rec.project_id := p_old_FlowSchedule_rec.project_id;
233     END IF;
234 
235     IF p_old_FlowSchedule_rec.quantity_completed <> FND_API.G_MISS_NUM THEN
236         l_FlowSchedule_rec.quantity_completed := p_old_FlowSchedule_rec.quantity_completed;
237     END IF;
238 
239     IF p_old_FlowSchedule_rec.request_id <> FND_API.G_MISS_NUM THEN
240         l_FlowSchedule_rec.request_id := p_old_FlowSchedule_rec.request_id;
241     END IF;
242 
243     IF p_old_FlowSchedule_rec.resource_account <> FND_API.G_MISS_NUM THEN
244         l_FlowSchedule_rec.resource_account := p_old_FlowSchedule_rec.resource_account;
245     END IF;
246 
247     IF p_old_FlowSchedule_rec.resource_variance_account <> FND_API.G_MISS_NUM THEN
248         l_FlowSchedule_rec.resource_variance_account := p_old_FlowSchedule_rec.resource_variance_account;
249     END IF;
250 
251     IF p_old_FlowSchedule_rec.routing_revision <> FND_API.G_MISS_CHAR THEN
252         l_FlowSchedule_rec.routing_revision := p_old_FlowSchedule_rec.routing_revision;
253     END IF;
254 
255     IF p_old_FlowSchedule_rec.routing_revision_date <> FND_API.G_MISS_DATE THEN
256         l_FlowSchedule_rec.routing_revision_date := p_old_FlowSchedule_rec.routing_revision_date;
257     END IF;
258 
259     IF p_old_FlowSchedule_rec.scheduled_completion_date <> FND_API.G_MISS_DATE THEN
260         l_FlowSchedule_rec.scheduled_completion_date := p_old_FlowSchedule_rec.scheduled_completion_date;
261     END IF;
262 
263     IF p_old_FlowSchedule_rec.scheduled_flag <> FND_API.G_MISS_NUM THEN
264         l_FlowSchedule_rec.scheduled_flag := p_old_FlowSchedule_rec.scheduled_flag;
265     END IF;
266 
267     IF p_old_FlowSchedule_rec.scheduled_start_date <> FND_API.G_MISS_DATE THEN
268         l_FlowSchedule_rec.scheduled_start_date := p_old_FlowSchedule_rec.scheduled_start_date;
269     END IF;
270 
271     IF p_old_FlowSchedule_rec.schedule_group_id <> FND_API.G_MISS_NUM THEN
272         l_FlowSchedule_rec.schedule_group_id := p_old_FlowSchedule_rec.schedule_group_id;
273     END IF;
274 
275     IF p_old_FlowSchedule_rec.schedule_number <> FND_API.G_MISS_CHAR THEN
276         l_FlowSchedule_rec.schedule_number := p_old_FlowSchedule_rec.schedule_number;
277     END IF;
278 
279     IF p_old_FlowSchedule_rec.status <> FND_API.G_MISS_NUM THEN
280         l_FlowSchedule_rec.status := p_old_FlowSchedule_rec.status;
281     END IF;
282 
283     IF p_old_FlowSchedule_rec.std_cost_adj_account <> FND_API.G_MISS_NUM THEN
284         l_FlowSchedule_rec.std_cost_adj_account := p_old_FlowSchedule_rec.std_cost_adj_account;
285     END IF;
286 
287     IF p_old_FlowSchedule_rec.task_id <> FND_API.G_MISS_NUM THEN
288         l_FlowSchedule_rec.task_id := p_old_FlowSchedule_rec.task_id;
289     END IF;
290 
291     IF p_old_FlowSchedule_rec.wip_entity_id <> FND_API.G_MISS_NUM THEN
292         l_FlowSchedule_rec.wip_entity_id := p_old_FlowSchedule_rec.wip_entity_id;
293     END IF;
294 
295     ELSE
296 
297     IF l_FlowSchedule_rec.alternate_bom_designator = FND_API.G_MISS_CHAR THEN
298         l_FlowSchedule_rec.alternate_bom_designator := p_old_FlowSchedule_rec.alternate_bom_designator;
299     END IF;
300 
301     IF l_FlowSchedule_rec.alternate_rout_designator = FND_API.G_MISS_CHAR THEN
302         l_FlowSchedule_rec.alternate_rout_designator := p_old_FlowSchedule_rec.alternate_rout_designator;
303     END IF;
304 
305     IF l_FlowSchedule_rec.attribute1 = FND_API.G_MISS_CHAR THEN
306         l_FlowSchedule_rec.attribute1 := p_old_FlowSchedule_rec.attribute1;
307     END IF;
308 
309     IF l_FlowSchedule_rec.attribute10 = FND_API.G_MISS_CHAR THEN
310         l_FlowSchedule_rec.attribute10 := p_old_FlowSchedule_rec.attribute10;
311     END IF;
312 
313     IF l_FlowSchedule_rec.attribute11 = FND_API.G_MISS_CHAR THEN
314         l_FlowSchedule_rec.attribute11 := p_old_FlowSchedule_rec.attribute11;
315     END IF;
316 
317     IF l_FlowSchedule_rec.attribute12 = FND_API.G_MISS_CHAR THEN
318         l_FlowSchedule_rec.attribute12 := p_old_FlowSchedule_rec.attribute12;
319     END IF;
320 
321     IF l_FlowSchedule_rec.attribute13 = FND_API.G_MISS_CHAR THEN
322         l_FlowSchedule_rec.attribute13 := p_old_FlowSchedule_rec.attribute13;
323     END IF;
324 
325     IF l_FlowSchedule_rec.attribute14 = FND_API.G_MISS_CHAR THEN
326         l_FlowSchedule_rec.attribute14 := p_old_FlowSchedule_rec.attribute14;
327     END IF;
328 
329     IF l_FlowSchedule_rec.attribute15 = FND_API.G_MISS_CHAR THEN
330         l_FlowSchedule_rec.attribute15 := p_old_FlowSchedule_rec.attribute15;
331     END IF;
332 
333     IF l_FlowSchedule_rec.attribute2 = FND_API.G_MISS_CHAR THEN
334         l_FlowSchedule_rec.attribute2 := p_old_FlowSchedule_rec.attribute2;
335     END IF;
336 
337     IF l_FlowSchedule_rec.attribute3 = FND_API.G_MISS_CHAR THEN
338         l_FlowSchedule_rec.attribute3 := p_old_FlowSchedule_rec.attribute3;
339     END IF;
340 
341     IF l_FlowSchedule_rec.attribute4 = FND_API.G_MISS_CHAR THEN
342         l_FlowSchedule_rec.attribute4 := p_old_FlowSchedule_rec.attribute4;
343     END IF;
344 
345     IF l_FlowSchedule_rec.attribute5 = FND_API.G_MISS_CHAR THEN
346         l_FlowSchedule_rec.attribute5 := p_old_FlowSchedule_rec.attribute5;
347     END IF;
348 
349     IF l_FlowSchedule_rec.attribute6 = FND_API.G_MISS_CHAR THEN
350         l_FlowSchedule_rec.attribute6 := p_old_FlowSchedule_rec.attribute6;
351     END IF;
352 
353     IF l_FlowSchedule_rec.attribute7 = FND_API.G_MISS_CHAR THEN
354         l_FlowSchedule_rec.attribute7 := p_old_FlowSchedule_rec.attribute7;
355     END IF;
356 
357     IF l_FlowSchedule_rec.attribute8 = FND_API.G_MISS_CHAR THEN
358         l_FlowSchedule_rec.attribute8 := p_old_FlowSchedule_rec.attribute8;
359     END IF;
360 
361     IF l_FlowSchedule_rec.attribute9 = FND_API.G_MISS_CHAR THEN
362         l_FlowSchedule_rec.attribute9 := p_old_FlowSchedule_rec.attribute9;
363     END IF;
364 
365     IF l_FlowSchedule_rec.attribute_category = FND_API.G_MISS_CHAR THEN
366         l_FlowSchedule_rec.attribute_category := p_old_FlowSchedule_rec.attribute_category;
367     END IF;
368 
369     IF l_FlowSchedule_rec.bom_revision = FND_API.G_MISS_CHAR THEN
370         l_FlowSchedule_rec.bom_revision := p_old_FlowSchedule_rec.bom_revision;
371     END IF;
372 
373     IF l_FlowSchedule_rec.bom_revision_date = FND_API.G_MISS_DATE THEN
374         l_FlowSchedule_rec.bom_revision_date := p_old_FlowSchedule_rec.bom_revision_date;
375     END IF;
376 
377     IF l_FlowSchedule_rec.build_sequence = FND_API.G_MISS_NUM THEN
378         l_FlowSchedule_rec.build_sequence := p_old_FlowSchedule_rec.build_sequence;
379     END IF;
380 
381     IF l_FlowSchedule_rec.class_code = FND_API.G_MISS_CHAR THEN
382         l_FlowSchedule_rec.class_code := p_old_FlowSchedule_rec.class_code;
383     END IF;
384 
385     IF l_FlowSchedule_rec.completion_locator_id = FND_API.G_MISS_NUM THEN
386         l_FlowSchedule_rec.completion_locator_id := p_old_FlowSchedule_rec.completion_locator_id;
387     END IF;
388 
389     IF l_FlowSchedule_rec.completion_subinventory = FND_API.G_MISS_CHAR THEN
390         l_FlowSchedule_rec.completion_subinventory := p_old_FlowSchedule_rec.completion_subinventory;
391     END IF;
392 
393     IF l_FlowSchedule_rec.created_by = FND_API.G_MISS_NUM THEN
394         l_FlowSchedule_rec.created_by := p_old_FlowSchedule_rec.created_by;
395     END IF;
396 
397     IF l_FlowSchedule_rec.creation_date = FND_API.G_MISS_DATE THEN
398         l_FlowSchedule_rec.creation_date := p_old_FlowSchedule_rec.creation_date;
399     END IF;
400 
401     IF l_FlowSchedule_rec.date_closed = FND_API.G_MISS_DATE THEN
402         l_FlowSchedule_rec.date_closed := p_old_FlowSchedule_rec.date_closed;
403     END IF;
404 
405     IF l_FlowSchedule_rec.demand_class = FND_API.G_MISS_CHAR THEN
406         l_FlowSchedule_rec.demand_class := p_old_FlowSchedule_rec.demand_class;
407     END IF;
408 
409     IF l_FlowSchedule_rec.demand_source_delivery = FND_API.G_MISS_CHAR THEN
410         l_FlowSchedule_rec.demand_source_delivery := p_old_FlowSchedule_rec.demand_source_delivery;
411     END IF;
412 
413     IF l_FlowSchedule_rec.demand_source_header_id = FND_API.G_MISS_NUM THEN
414         l_FlowSchedule_rec.demand_source_header_id := p_old_FlowSchedule_rec.demand_source_header_id;
415     END IF;
416 
417     IF l_FlowSchedule_rec.demand_source_line = FND_API.G_MISS_CHAR THEN
418         l_FlowSchedule_rec.demand_source_line := p_old_FlowSchedule_rec.demand_source_line;
419     END IF;
420 
421     IF l_FlowSchedule_rec.demand_source_type = FND_API.G_MISS_NUM THEN
422         l_FlowSchedule_rec.demand_source_type := p_old_FlowSchedule_rec.demand_source_type;
423     END IF;
424 
425     IF l_FlowSchedule_rec.kanban_card_id = FND_API.G_MISS_NUM THEN
426         l_FlowSchedule_rec.kanban_card_id := p_old_FlowSchedule_rec.kanban_card_id;
427     END IF;
428 
429     IF l_FlowSchedule_rec.last_updated_by = FND_API.G_MISS_NUM THEN
430         l_FlowSchedule_rec.last_updated_by := p_old_FlowSchedule_rec.last_updated_by;
431     END IF;
432 
433     IF l_FlowSchedule_rec.last_update_date = FND_API.G_MISS_DATE THEN
434         l_FlowSchedule_rec.last_update_date := p_old_FlowSchedule_rec.last_update_date;
435     END IF;
436 
437     IF l_FlowSchedule_rec.last_update_login = FND_API.G_MISS_NUM THEN
438         l_FlowSchedule_rec.last_update_login := p_old_FlowSchedule_rec.last_update_login;
439     END IF;
440 
441     IF l_FlowSchedule_rec.line_id = FND_API.G_MISS_NUM THEN
442         l_FlowSchedule_rec.line_id := p_old_FlowSchedule_rec.line_id;
443     END IF;
444 
445     IF l_FlowSchedule_rec.material_account = FND_API.G_MISS_NUM THEN
446         l_FlowSchedule_rec.material_account := p_old_FlowSchedule_rec.material_account;
447     END IF;
448 
449     IF l_FlowSchedule_rec.material_overhead_account = FND_API.G_MISS_NUM THEN
450         l_FlowSchedule_rec.material_overhead_account := p_old_FlowSchedule_rec.material_overhead_account;
451     END IF;
452 
453     IF l_FlowSchedule_rec.material_variance_account = FND_API.G_MISS_NUM THEN
454         l_FlowSchedule_rec.material_variance_account := p_old_FlowSchedule_rec.material_variance_account;
455     END IF;
456 
457     IF l_FlowSchedule_rec.mps_net_quantity = FND_API.G_MISS_NUM THEN
458         l_FlowSchedule_rec.mps_net_quantity := p_old_FlowSchedule_rec.mps_net_quantity;
459     END IF;
460 
461     IF l_FlowSchedule_rec.mps_scheduled_cpl_date = FND_API.G_MISS_DATE THEN
462         l_FlowSchedule_rec.mps_scheduled_cpl_date := p_old_FlowSchedule_rec.mps_scheduled_cpl_date;
463     END IF;
464 
465     IF l_FlowSchedule_rec.organization_id = FND_API.G_MISS_NUM THEN
466         l_FlowSchedule_rec.organization_id := p_old_FlowSchedule_rec.organization_id;
467     END IF;
468 
469     IF l_FlowSchedule_rec.osp_account = FND_API.G_MISS_NUM THEN
470         l_FlowSchedule_rec.osp_account := p_old_FlowSchedule_rec.osp_account;
471     END IF;
472 
473     IF l_FlowSchedule_rec.osp_variance_account = FND_API.G_MISS_NUM THEN
474         l_FlowSchedule_rec.osp_variance_account := p_old_FlowSchedule_rec.osp_variance_account;
475     END IF;
476 
477     IF l_FlowSchedule_rec.overhead_account = FND_API.G_MISS_NUM THEN
478         l_FlowSchedule_rec.overhead_account := p_old_FlowSchedule_rec.overhead_account;
479     END IF;
480 
481     IF l_FlowSchedule_rec.overhead_variance_account = FND_API.G_MISS_NUM THEN
482         l_FlowSchedule_rec.overhead_variance_account := p_old_FlowSchedule_rec.overhead_variance_account;
483     END IF;
484 
485     IF l_FlowSchedule_rec.planned_quantity = FND_API.G_MISS_NUM THEN
486         l_FlowSchedule_rec.planned_quantity := p_old_FlowSchedule_rec.planned_quantity;
487     END IF;
488 
489     IF l_FlowSchedule_rec.primary_item_id = FND_API.G_MISS_NUM THEN
490         l_FlowSchedule_rec.primary_item_id := p_old_FlowSchedule_rec.primary_item_id;
491     END IF;
492 
493     IF l_FlowSchedule_rec.program_application_id = FND_API.G_MISS_NUM THEN
494         l_FlowSchedule_rec.program_application_id := p_old_FlowSchedule_rec.program_application_id;
495     END IF;
496 
497     IF l_FlowSchedule_rec.program_id = FND_API.G_MISS_NUM THEN
498         l_FlowSchedule_rec.program_id := p_old_FlowSchedule_rec.program_id;
499     END IF;
500 
501     IF l_FlowSchedule_rec.program_update_date = FND_API.G_MISS_DATE THEN
502         l_FlowSchedule_rec.program_update_date := p_old_FlowSchedule_rec.program_update_date;
503     END IF;
504 
505     IF l_FlowSchedule_rec.project_id = FND_API.G_MISS_NUM THEN
506         l_FlowSchedule_rec.project_id := p_old_FlowSchedule_rec.project_id;
507     END IF;
508 
509     IF l_FlowSchedule_rec.quantity_completed = FND_API.G_MISS_NUM THEN
510         l_FlowSchedule_rec.quantity_completed := p_old_FlowSchedule_rec.quantity_completed;
511     END IF;
512 
513     IF l_FlowSchedule_rec.request_id = FND_API.G_MISS_NUM THEN
514         l_FlowSchedule_rec.request_id := p_old_FlowSchedule_rec.request_id;
515     END IF;
516 
517     IF l_FlowSchedule_rec.resource_account = FND_API.G_MISS_NUM THEN
518         l_FlowSchedule_rec.resource_account := p_old_FlowSchedule_rec.resource_account;
519     END IF;
520 
521     IF l_FlowSchedule_rec.resource_variance_account = FND_API.G_MISS_NUM THEN
522         l_FlowSchedule_rec.resource_variance_account := p_old_FlowSchedule_rec.resource_variance_account;
523     END IF;
524 
525     IF l_FlowSchedule_rec.routing_revision = FND_API.G_MISS_CHAR THEN
526         l_FlowSchedule_rec.routing_revision := p_old_FlowSchedule_rec.routing_revision;
527     END IF;
528 
529     IF l_FlowSchedule_rec.routing_revision_date = FND_API.G_MISS_DATE THEN
530         l_FlowSchedule_rec.routing_revision_date := p_old_FlowSchedule_rec.routing_revision_date;
531     END IF;
532 
533     IF l_FlowSchedule_rec.scheduled_completion_date = FND_API.G_MISS_DATE THEN
534         l_FlowSchedule_rec.scheduled_completion_date := p_old_FlowSchedule_rec.scheduled_completion_date;
535     END IF;
536 
537     IF l_FlowSchedule_rec.scheduled_flag = FND_API.G_MISS_NUM THEN
538         l_FlowSchedule_rec.scheduled_flag := p_old_FlowSchedule_rec.scheduled_flag;
539     END IF;
540 
541     IF l_FlowSchedule_rec.scheduled_start_date = FND_API.G_MISS_DATE THEN
542         l_FlowSchedule_rec.scheduled_start_date := p_old_FlowSchedule_rec.scheduled_start_date;
543     END IF;
544 
545     IF l_FlowSchedule_rec.schedule_group_id = FND_API.G_MISS_NUM THEN
546         l_FlowSchedule_rec.schedule_group_id := p_old_FlowSchedule_rec.schedule_group_id;
547     END IF;
548 
549     IF l_FlowSchedule_rec.schedule_number = FND_API.G_MISS_CHAR THEN
550         l_FlowSchedule_rec.schedule_number := p_old_FlowSchedule_rec.schedule_number;
551     END IF;
552 
553     IF l_FlowSchedule_rec.status = FND_API.G_MISS_NUM THEN
554         l_FlowSchedule_rec.status := p_old_FlowSchedule_rec.status;
555     END IF;
556 
557     IF l_FlowSchedule_rec.std_cost_adj_account = FND_API.G_MISS_NUM THEN
558         l_FlowSchedule_rec.std_cost_adj_account := p_old_FlowSchedule_rec.std_cost_adj_account;
559     END IF;
560 
561     IF l_FlowSchedule_rec.task_id = FND_API.G_MISS_NUM THEN
562         l_FlowSchedule_rec.task_id := p_old_FlowSchedule_rec.task_id;
563     END IF;
564 
565     IF l_FlowSchedule_rec.wip_entity_id = FND_API.G_MISS_NUM THEN
566         l_FlowSchedule_rec.wip_entity_id := p_old_FlowSchedule_rec.wip_entity_id;
567     END IF;
568    END IF;
569 
570     RETURN l_FlowSchedule_rec;
571 
572 END Complete_Record;
573 
574 --  Function Convert_Miss_To_Null
575 
576 FUNCTION Convert_Miss_To_Null
577 (   p_FlowSchedule_rec              IN  WIP_Work_Order_PUB.Flowschedule_Rec_Type
578 ) RETURN WIP_Work_Order_PUB.Flowschedule_Rec_Type
579 IS
580 l_FlowSchedule_rec            WIP_Work_Order_PUB.Flowschedule_Rec_Type := p_FlowSchedule_rec;
581 BEGIN
582 
583     IF l_FlowSchedule_rec.alternate_bom_designator = FND_API.G_MISS_CHAR THEN
584         l_FlowSchedule_rec.alternate_bom_designator := NULL;
585     END IF;
586 
587     IF l_FlowSchedule_rec.alternate_rout_designator = FND_API.G_MISS_CHAR THEN
588         l_FlowSchedule_rec.alternate_rout_designator := NULL;
589     END IF;
590 
591     IF l_FlowSchedule_rec.attribute1 = FND_API.G_MISS_CHAR THEN
592         l_FlowSchedule_rec.attribute1 := NULL;
593     END IF;
594 
595     IF l_FlowSchedule_rec.attribute10 = FND_API.G_MISS_CHAR THEN
596         l_FlowSchedule_rec.attribute10 := NULL;
597     END IF;
598 
599     IF l_FlowSchedule_rec.attribute11 = FND_API.G_MISS_CHAR THEN
600         l_FlowSchedule_rec.attribute11 := NULL;
601     END IF;
602 
603     IF l_FlowSchedule_rec.attribute12 = FND_API.G_MISS_CHAR THEN
604         l_FlowSchedule_rec.attribute12 := NULL;
605     END IF;
606 
607     IF l_FlowSchedule_rec.attribute13 = FND_API.G_MISS_CHAR THEN
608         l_FlowSchedule_rec.attribute13 := NULL;
609     END IF;
610 
611     IF l_FlowSchedule_rec.attribute14 = FND_API.G_MISS_CHAR THEN
612         l_FlowSchedule_rec.attribute14 := NULL;
613     END IF;
614 
615     IF l_FlowSchedule_rec.attribute15 = FND_API.G_MISS_CHAR THEN
616         l_FlowSchedule_rec.attribute15 := NULL;
617     END IF;
618 
619     IF l_FlowSchedule_rec.attribute2 = FND_API.G_MISS_CHAR THEN
620         l_FlowSchedule_rec.attribute2 := NULL;
621     END IF;
622 
623     IF l_FlowSchedule_rec.attribute3 = FND_API.G_MISS_CHAR THEN
624         l_FlowSchedule_rec.attribute3 := NULL;
625     END IF;
626 
627     IF l_FlowSchedule_rec.attribute4 = FND_API.G_MISS_CHAR THEN
628         l_FlowSchedule_rec.attribute4 := NULL;
629     END IF;
630 
631     IF l_FlowSchedule_rec.attribute5 = FND_API.G_MISS_CHAR THEN
632         l_FlowSchedule_rec.attribute5 := NULL;
633     END IF;
634 
635     IF l_FlowSchedule_rec.attribute6 = FND_API.G_MISS_CHAR THEN
636         l_FlowSchedule_rec.attribute6 := NULL;
637     END IF;
638 
639     IF l_FlowSchedule_rec.attribute7 = FND_API.G_MISS_CHAR THEN
640         l_FlowSchedule_rec.attribute7 := NULL;
641     END IF;
642 
643     IF l_FlowSchedule_rec.attribute8 = FND_API.G_MISS_CHAR THEN
644         l_FlowSchedule_rec.attribute8 := NULL;
645     END IF;
646 
647     IF l_FlowSchedule_rec.attribute9 = FND_API.G_MISS_CHAR THEN
648         l_FlowSchedule_rec.attribute9 := NULL;
649     END IF;
650 
651     IF l_FlowSchedule_rec.attribute_category = FND_API.G_MISS_CHAR THEN
652         l_FlowSchedule_rec.attribute_category := NULL;
653     END IF;
654 
655     IF l_FlowSchedule_rec.bom_revision = FND_API.G_MISS_CHAR THEN
656         l_FlowSchedule_rec.bom_revision := NULL;
657     END IF;
658 
659     IF l_FlowSchedule_rec.bom_revision_date = FND_API.G_MISS_DATE THEN
660         l_FlowSchedule_rec.bom_revision_date := NULL;
661     END IF;
662 
663     IF l_FlowSchedule_rec.build_sequence = FND_API.G_MISS_NUM THEN
664         l_FlowSchedule_rec.build_sequence := NULL;
665     END IF;
666 
667     IF l_FlowSchedule_rec.class_code = FND_API.G_MISS_CHAR THEN
668         l_FlowSchedule_rec.class_code := NULL;
669     END IF;
670 
671     IF l_FlowSchedule_rec.completion_locator_id = FND_API.G_MISS_NUM THEN
672         l_FlowSchedule_rec.completion_locator_id := NULL;
673     END IF;
674 
675     IF l_FlowSchedule_rec.completion_subinventory = FND_API.G_MISS_CHAR THEN
676         l_FlowSchedule_rec.completion_subinventory := NULL;
677     END IF;
678 
679     IF l_FlowSchedule_rec.created_by = FND_API.G_MISS_NUM THEN
680         l_FlowSchedule_rec.created_by := NULL;
681     END IF;
682 
683     IF l_FlowSchedule_rec.creation_date = FND_API.G_MISS_DATE THEN
684         l_FlowSchedule_rec.creation_date := NULL;
685     END IF;
686 
687     IF l_FlowSchedule_rec.date_closed = FND_API.G_MISS_DATE THEN
688         l_FlowSchedule_rec.date_closed := NULL;
689     END IF;
690 
691     IF l_FlowSchedule_rec.demand_class = FND_API.G_MISS_CHAR THEN
692         l_FlowSchedule_rec.demand_class := NULL;
693     END IF;
694 
695     IF l_FlowSchedule_rec.demand_source_delivery = FND_API.G_MISS_CHAR THEN
696         l_FlowSchedule_rec.demand_source_delivery := NULL;
697     END IF;
698 
699     IF l_FlowSchedule_rec.demand_source_header_id = FND_API.G_MISS_NUM THEN
700         l_FlowSchedule_rec.demand_source_header_id := NULL;
701     END IF;
702 
703     IF l_FlowSchedule_rec.demand_source_line = FND_API.G_MISS_CHAR THEN
704         l_FlowSchedule_rec.demand_source_line := NULL;
705     END IF;
706 
707     IF l_FlowSchedule_rec.demand_source_type = FND_API.G_MISS_NUM THEN
708         l_FlowSchedule_rec.demand_source_type := NULL;
709     END IF;
710 
711     IF l_FlowSchedule_rec.kanban_card_id = FND_API.G_MISS_NUM THEN
712         l_FlowSchedule_rec.kanban_card_id := NULL;
713     END IF;
714 
715     IF l_FlowSchedule_rec.last_updated_by = FND_API.G_MISS_NUM THEN
716         l_FlowSchedule_rec.last_updated_by := NULL;
717     END IF;
718 
719     IF l_FlowSchedule_rec.last_update_date = FND_API.G_MISS_DATE THEN
720         l_FlowSchedule_rec.last_update_date := NULL;
721     END IF;
722 
723     IF l_FlowSchedule_rec.last_update_login = FND_API.G_MISS_NUM THEN
724         l_FlowSchedule_rec.last_update_login := NULL;
725     END IF;
726 
727     IF l_FlowSchedule_rec.line_id = FND_API.G_MISS_NUM THEN
728         l_FlowSchedule_rec.line_id := NULL;
729     END IF;
730 
731     IF l_FlowSchedule_rec.material_account = FND_API.G_MISS_NUM THEN
732         l_FlowSchedule_rec.material_account := NULL;
733     END IF;
734 
735     IF l_FlowSchedule_rec.material_overhead_account = FND_API.G_MISS_NUM THEN
736         l_FlowSchedule_rec.material_overhead_account := NULL;
737     END IF;
738 
739     IF l_FlowSchedule_rec.material_variance_account = FND_API.G_MISS_NUM THEN
740         l_FlowSchedule_rec.material_variance_account := NULL;
741     END IF;
742 
743     IF l_FlowSchedule_rec.mps_net_quantity = FND_API.G_MISS_NUM THEN
744         l_FlowSchedule_rec.mps_net_quantity := NULL;
745     END IF;
746 
747     IF l_FlowSchedule_rec.mps_scheduled_cpl_date = FND_API.G_MISS_DATE THEN
748         l_FlowSchedule_rec.mps_scheduled_cpl_date := NULL;
749     END IF;
750 
751     IF l_FlowSchedule_rec.organization_id = FND_API.G_MISS_NUM THEN
752         l_FlowSchedule_rec.organization_id := NULL;
753     END IF;
754 
755     IF l_FlowSchedule_rec.osp_account = FND_API.G_MISS_NUM THEN
756         l_FlowSchedule_rec.osp_account := NULL;
757     END IF;
758 
759     IF l_FlowSchedule_rec.osp_variance_account = FND_API.G_MISS_NUM THEN
760         l_FlowSchedule_rec.osp_variance_account := NULL;
761     END IF;
762 
763     IF l_FlowSchedule_rec.overhead_account = FND_API.G_MISS_NUM THEN
764         l_FlowSchedule_rec.overhead_account := NULL;
765     END IF;
766 
767     IF l_FlowSchedule_rec.overhead_variance_account = FND_API.G_MISS_NUM THEN
768         l_FlowSchedule_rec.overhead_variance_account := NULL;
769     END IF;
770 
771     IF l_FlowSchedule_rec.planned_quantity = FND_API.G_MISS_NUM THEN
772         l_FlowSchedule_rec.planned_quantity := NULL;
773     END IF;
774 
775     IF l_FlowSchedule_rec.primary_item_id = FND_API.G_MISS_NUM THEN
776         l_FlowSchedule_rec.primary_item_id := NULL;
777     END IF;
778 
779     IF l_FlowSchedule_rec.program_application_id = FND_API.G_MISS_NUM THEN
780         l_FlowSchedule_rec.program_application_id := NULL;
781     END IF;
782 
783     IF l_FlowSchedule_rec.program_id = FND_API.G_MISS_NUM THEN
784         l_FlowSchedule_rec.program_id := NULL;
785     END IF;
786 
787     IF l_FlowSchedule_rec.program_update_date = FND_API.G_MISS_DATE THEN
788         l_FlowSchedule_rec.program_update_date := NULL;
789     END IF;
790 
791     IF l_FlowSchedule_rec.project_id = FND_API.G_MISS_NUM THEN
792         l_FlowSchedule_rec.project_id := NULL;
793     END IF;
794 
795     IF l_FlowSchedule_rec.quantity_completed = FND_API.G_MISS_NUM THEN
796         l_FlowSchedule_rec.quantity_completed := NULL;
797     END IF;
798 
799     IF l_FlowSchedule_rec.request_id = FND_API.G_MISS_NUM THEN
800         l_FlowSchedule_rec.request_id := NULL;
801     END IF;
802 
803     IF l_FlowSchedule_rec.resource_account = FND_API.G_MISS_NUM THEN
804         l_FlowSchedule_rec.resource_account := NULL;
805     END IF;
806 
807     IF l_FlowSchedule_rec.resource_variance_account = FND_API.G_MISS_NUM THEN
808         l_FlowSchedule_rec.resource_variance_account := NULL;
809     END IF;
810 
811     IF l_FlowSchedule_rec.routing_revision = FND_API.G_MISS_CHAR THEN
812         l_FlowSchedule_rec.routing_revision := NULL;
813     END IF;
814 
815     IF l_FlowSchedule_rec.routing_revision_date = FND_API.G_MISS_DATE THEN
816         l_FlowSchedule_rec.routing_revision_date := NULL;
817     END IF;
818 
819     IF l_FlowSchedule_rec.scheduled_completion_date = FND_API.G_MISS_DATE THEN
820         l_FlowSchedule_rec.scheduled_completion_date := NULL;
821     END IF;
822 
823     IF l_FlowSchedule_rec.scheduled_flag = FND_API.G_MISS_NUM THEN
824         l_FlowSchedule_rec.scheduled_flag := NULL;
825     END IF;
826 
827     IF l_FlowSchedule_rec.scheduled_start_date = FND_API.G_MISS_DATE THEN
828         l_FlowSchedule_rec.scheduled_start_date := NULL;
829     END IF;
830 
831     IF l_FlowSchedule_rec.schedule_group_id = FND_API.G_MISS_NUM THEN
832         l_FlowSchedule_rec.schedule_group_id := NULL;
833     END IF;
834 
835     IF l_FlowSchedule_rec.schedule_number = FND_API.G_MISS_CHAR THEN
836         l_FlowSchedule_rec.schedule_number := NULL;
837     END IF;
838 
839     IF l_FlowSchedule_rec.status = FND_API.G_MISS_NUM THEN
840         l_FlowSchedule_rec.status := NULL;
841     END IF;
842 
843     IF l_FlowSchedule_rec.std_cost_adj_account = FND_API.G_MISS_NUM THEN
844         l_FlowSchedule_rec.std_cost_adj_account := NULL;
845     END IF;
846 
847     IF l_FlowSchedule_rec.task_id = FND_API.G_MISS_NUM THEN
848         l_FlowSchedule_rec.task_id := NULL;
849     END IF;
850 
851     IF l_FlowSchedule_rec.wip_entity_id = FND_API.G_MISS_NUM THEN
852         l_FlowSchedule_rec.wip_entity_id := NULL;
853     END IF;
854 
855     RETURN l_FlowSchedule_rec;
856 
857 END Convert_Miss_To_Null;
858 
859 --  Procedure Update_Row
860 
861 PROCEDURE Update_Row
862 (   p_FlowSchedule_rec              IN  WIP_Work_Order_PUB.Flowschedule_Rec_Type
863 )
864 IS
865 BEGIN
866 
867     UPDATE  WIP_FLOW_SCHEDULES
868     SET     ALTERNATE_BOM_DESIGNATOR       = p_FlowSchedule_rec.alternate_bom_designator
869     ,       ALTERNATE_ROUTING_DESIGNATOR   = p_FlowSchedule_rec.alternate_rout_designator
870     ,       ATTRIBUTE1                     = p_FlowSchedule_rec.attribute1
871     ,       ATTRIBUTE10                    = p_FlowSchedule_rec.attribute10
872     ,       ATTRIBUTE11                    = p_FlowSchedule_rec.attribute11
873     ,       ATTRIBUTE12                    = p_FlowSchedule_rec.attribute12
874     ,       ATTRIBUTE13                    = p_FlowSchedule_rec.attribute13
875     ,       ATTRIBUTE14                    = p_FlowSchedule_rec.attribute14
876     ,       ATTRIBUTE15                    = p_FlowSchedule_rec.attribute15
877     ,       ATTRIBUTE2                     = p_FlowSchedule_rec.attribute2
878     ,       ATTRIBUTE3                     = p_FlowSchedule_rec.attribute3
879     ,       ATTRIBUTE4                     = p_FlowSchedule_rec.attribute4
880     ,       ATTRIBUTE5                     = p_FlowSchedule_rec.attribute5
881     ,       ATTRIBUTE6                     = p_FlowSchedule_rec.attribute6
882     ,       ATTRIBUTE7                     = p_FlowSchedule_rec.attribute7
883     ,       ATTRIBUTE8                     = p_FlowSchedule_rec.attribute8
884     ,       ATTRIBUTE9                     = p_FlowSchedule_rec.attribute9
885     ,       ATTRIBUTE_CATEGORY             = p_FlowSchedule_rec.attribute_category
886     ,       BOM_REVISION                   = p_FlowSchedule_rec.bom_revision
887     ,       BOM_REVISION_DATE              = p_FlowSchedule_rec.bom_revision_date
888     ,       BUILD_SEQUENCE                 = p_FlowSchedule_rec.build_sequence
889     ,       CLASS_CODE                     = p_FlowSchedule_rec.class_code
890     ,       COMPLETION_LOCATOR_ID          = p_FlowSchedule_rec.completion_locator_id
891     ,       COMPLETION_SUBINVENTORY        = p_FlowSchedule_rec.completion_subinventory
892     ,       CREATED_BY                     = p_FlowSchedule_rec.created_by
893     ,       CREATION_DATE                  = p_FlowSchedule_rec.creation_date
894     ,       DATE_CLOSED                    = p_FlowSchedule_rec.date_closed
895     ,       DEMAND_CLASS                   = p_FlowSchedule_rec.demand_class
896     ,       DEMAND_SOURCE_DELIVERY         = p_FlowSchedule_rec.demand_source_delivery
897     ,       DEMAND_SOURCE_HEADER_ID        = p_FlowSchedule_rec.demand_source_header_id
898     ,       DEMAND_SOURCE_LINE             = p_FlowSchedule_rec.demand_source_line
899     ,       DEMAND_SOURCE_TYPE             = p_FlowSchedule_rec.demand_source_type
900     ,       KANBAN_CARD_ID                 = p_FlowSchedule_rec.kanban_card_id
901     ,       LAST_UPDATED_BY                = p_FlowSchedule_rec.last_updated_by
902     ,       LAST_UPDATE_DATE               = p_FlowSchedule_rec.last_update_date
903     ,       LAST_UPDATE_LOGIN              = p_FlowSchedule_rec.last_update_login
904     ,       LINE_ID                        = p_FlowSchedule_rec.line_id
905     ,       MATERIAL_ACCOUNT               = p_FlowSchedule_rec.material_account
906     ,       MATERIAL_OVERHEAD_ACCOUNT      = p_FlowSchedule_rec.material_overhead_account
907     ,       MATERIAL_VARIANCE_ACCOUNT      = p_FlowSchedule_rec.material_variance_account
908     ,       MPS_NET_QUANTITY               = p_FlowSchedule_rec.mps_net_quantity
909     ,       MPS_SCHEDULED_COMPLETION_DATE  = p_FlowSchedule_rec.mps_scheduled_cpl_date
910     ,       ORGANIZATION_ID                = p_FlowSchedule_rec.organization_id
911     ,       OUTSIDE_PROCESSING_ACCOUNT     = p_FlowSchedule_rec.osp_account
912     ,       OUTSIDE_PROC_VARIANCE_ACCOUNT  = p_FlowSchedule_rec.osp_variance_account
913     ,       OVERHEAD_ACCOUNT               = p_FlowSchedule_rec.overhead_account
914     ,       OVERHEAD_VARIANCE_ACCOUNT      = p_FlowSchedule_rec.overhead_variance_account
915     ,       PLANNED_QUANTITY               = p_FlowSchedule_rec.planned_quantity
916     ,       PRIMARY_ITEM_ID                = p_FlowSchedule_rec.primary_item_id
917     ,       PROGRAM_APPLICATION_ID         = p_FlowSchedule_rec.program_application_id
918     ,       PROGRAM_ID                     = p_FlowSchedule_rec.program_id
919     ,       PROGRAM_UPDATE_DATE            = p_FlowSchedule_rec.program_update_date
920     ,       PROJECT_ID                     = p_FlowSchedule_rec.project_id
921     ,       QUANTITY_COMPLETED             = p_FlowSchedule_rec.quantity_completed
922     ,       REQUEST_ID                     = p_FlowSchedule_rec.request_id
923     ,       RESOURCE_ACCOUNT               = p_FlowSchedule_rec.resource_account
924     ,       RESOURCE_VARIANCE_ACCOUNT      = p_FlowSchedule_rec.resource_variance_account
925     ,       ROUTING_REVISION               = p_FlowSchedule_rec.routing_revision
926     ,       ROUTING_REVISION_DATE          = p_FlowSchedule_rec.routing_revision_date
927     ,       SCHEDULED_COMPLETION_DATE      = p_FlowSchedule_rec.scheduled_completion_date
928     ,       SCHEDULED_FLAG                 = p_FlowSchedule_rec.scheduled_flag
929     ,       SCHEDULED_START_DATE           = p_FlowSchedule_rec.scheduled_start_date
930     ,       SCHEDULE_GROUP_ID              = p_FlowSchedule_rec.schedule_group_id
931     ,       SCHEDULE_NUMBER                = p_FlowSchedule_rec.schedule_number
932     ,       STATUS                         = p_FlowSchedule_rec.status
933     ,       STD_COST_ADJUSTMENT_ACCOUNT    = p_FlowSchedule_rec.std_cost_adj_account
934     ,       TASK_ID                        = p_FlowSchedule_rec.task_id
935     ,       WIP_ENTITY_ID                  = p_FlowSchedule_rec.wip_entity_id
936     WHERE   SCHEDULE_NUMBER = p_FlowSchedule_rec.schedule_number
937     ;
938 
939 EXCEPTION
940 
941     WHEN OTHERS THEN
942 
943         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
944         THEN
945             FND_MSG_PUB.Add_Exc_Msg
946             (   G_PKG_NAME
947             ,   'Update_Row'
948             );
949         END IF;
950 
951         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
952 
953 END Update_Row;
954 
955 --  Procedure Insert_Row
956 
957 PROCEDURE Insert_Row
958 (   p_FlowSchedule_rec              IN  WIP_Work_Order_PUB.Flowschedule_Rec_Type
959 )
960 IS
961 BEGIN
962 
963     INSERT  INTO WIP_FLOW_SCHEDULES
964     (       ALTERNATE_BOM_DESIGNATOR
965     ,       ALTERNATE_ROUTING_DESIGNATOR
966     ,       ATTRIBUTE1
967     ,       ATTRIBUTE10
968     ,       ATTRIBUTE11
969     ,       ATTRIBUTE12
970     ,       ATTRIBUTE13
971     ,       ATTRIBUTE14
972     ,       ATTRIBUTE15
973     ,       ATTRIBUTE2
974     ,       ATTRIBUTE3
975     ,       ATTRIBUTE4
976     ,       ATTRIBUTE5
977     ,       ATTRIBUTE6
978     ,       ATTRIBUTE7
979     ,       ATTRIBUTE8
980     ,       ATTRIBUTE9
981     ,       ATTRIBUTE_CATEGORY
982     ,       BOM_REVISION
983     ,       BOM_REVISION_DATE
984     ,       BUILD_SEQUENCE
985     ,       CLASS_CODE
986     ,       COMPLETION_LOCATOR_ID
987     ,       COMPLETION_SUBINVENTORY
988     ,       CREATED_BY
989     ,       CREATION_DATE
990     ,       DATE_CLOSED
991     ,       DEMAND_CLASS
992     ,       DEMAND_SOURCE_DELIVERY
993     ,       DEMAND_SOURCE_HEADER_ID
994     ,       DEMAND_SOURCE_LINE
995     ,       DEMAND_SOURCE_TYPE
996     ,       KANBAN_CARD_ID
997     ,       LAST_UPDATED_BY
998     ,       LAST_UPDATE_DATE
999     ,       LAST_UPDATE_LOGIN
1000     ,       LINE_ID
1001     ,       MATERIAL_ACCOUNT
1002     ,       MATERIAL_OVERHEAD_ACCOUNT
1003     ,       MATERIAL_VARIANCE_ACCOUNT
1004     ,       MPS_NET_QUANTITY
1005     ,       MPS_SCHEDULED_COMPLETION_DATE
1006     ,       ORGANIZATION_ID
1007     ,       OUTSIDE_PROCESSING_ACCOUNT
1008     ,       OUTSIDE_PROC_VARIANCE_ACCOUNT
1009     ,       OVERHEAD_ACCOUNT
1010     ,       OVERHEAD_VARIANCE_ACCOUNT
1011     ,       PLANNED_QUANTITY
1012     ,       PRIMARY_ITEM_ID
1013     ,       PROGRAM_APPLICATION_ID
1014     ,       PROGRAM_ID
1015     ,       PROGRAM_UPDATE_DATE
1016     ,       PROJECT_ID
1017     ,       QUANTITY_COMPLETED
1018     ,       REQUEST_ID
1019     ,       RESOURCE_ACCOUNT
1020     ,       RESOURCE_VARIANCE_ACCOUNT
1021     ,       ROUTING_REVISION
1022     ,       ROUTING_REVISION_DATE
1023     ,       SCHEDULED_COMPLETION_DATE
1024     ,       SCHEDULED_FLAG
1025     ,       SCHEDULED_START_DATE
1026     ,       SCHEDULE_GROUP_ID
1027     ,       SCHEDULE_NUMBER
1028     ,       STATUS
1029     ,       STD_COST_ADJUSTMENT_ACCOUNT
1030     ,       TASK_ID
1031     ,       WIP_ENTITY_ID
1032     )
1033     VALUES
1034     (       p_FlowSchedule_rec.alternate_bom_designator
1035     ,       p_FlowSchedule_rec.alternate_rout_designator
1036     ,       p_FlowSchedule_rec.attribute1
1037     ,       p_FlowSchedule_rec.attribute10
1038     ,       p_FlowSchedule_rec.attribute11
1039     ,       p_FlowSchedule_rec.attribute12
1040     ,       p_FlowSchedule_rec.attribute13
1041     ,       p_FlowSchedule_rec.attribute14
1042     ,       p_FlowSchedule_rec.attribute15
1043     ,       p_FlowSchedule_rec.attribute2
1044     ,       p_FlowSchedule_rec.attribute3
1045     ,       p_FlowSchedule_rec.attribute4
1046     ,       p_FlowSchedule_rec.attribute5
1047     ,       p_FlowSchedule_rec.attribute6
1048     ,       p_FlowSchedule_rec.attribute7
1049     ,       p_FlowSchedule_rec.attribute8
1050     ,       p_FlowSchedule_rec.attribute9
1051     ,       p_FlowSchedule_rec.attribute_category
1052     ,       p_FlowSchedule_rec.bom_revision
1053     ,       p_FlowSchedule_rec.bom_revision_date
1054     ,       p_FlowSchedule_rec.build_sequence
1055     ,       p_FlowSchedule_rec.class_code
1056     ,       p_FlowSchedule_rec.completion_locator_id
1057     ,       p_FlowSchedule_rec.completion_subinventory
1058     ,       p_FlowSchedule_rec.created_by
1059     ,       p_FlowSchedule_rec.creation_date
1060     ,       p_FlowSchedule_rec.date_closed
1061     ,       p_FlowSchedule_rec.demand_class
1062     ,       p_FlowSchedule_rec.demand_source_delivery
1063     ,       p_FlowSchedule_rec.demand_source_header_id
1064     ,       p_FlowSchedule_rec.demand_source_line
1065     ,       p_FlowSchedule_rec.demand_source_type
1066     ,       p_FlowSchedule_rec.kanban_card_id
1067     ,       p_FlowSchedule_rec.last_updated_by
1068     ,       p_FlowSchedule_rec.last_update_date
1069     ,       p_FlowSchedule_rec.last_update_login
1070     ,       p_FlowSchedule_rec.line_id
1071     ,       p_FlowSchedule_rec.material_account
1072     ,       p_FlowSchedule_rec.material_overhead_account
1073     ,       p_FlowSchedule_rec.material_variance_account
1074     ,       p_FlowSchedule_rec.mps_net_quantity
1075     ,       p_FlowSchedule_rec.mps_scheduled_cpl_date
1076     ,       p_FlowSchedule_rec.organization_id
1077     ,       p_FlowSchedule_rec.osp_account
1078     ,       p_FlowSchedule_rec.osp_variance_account
1079     ,       p_FlowSchedule_rec.overhead_account
1080     ,       p_FlowSchedule_rec.overhead_variance_account
1081     ,       p_FlowSchedule_rec.planned_quantity
1082     ,       p_FlowSchedule_rec.primary_item_id
1083     ,       p_FlowSchedule_rec.program_application_id
1084     ,       p_FlowSchedule_rec.program_id
1085     ,       p_FlowSchedule_rec.program_update_date
1086     ,       p_FlowSchedule_rec.project_id
1087     ,       p_FlowSchedule_rec.quantity_completed
1088     ,       p_FlowSchedule_rec.request_id
1089     ,       p_FlowSchedule_rec.resource_account
1090     ,       p_FlowSchedule_rec.resource_variance_account
1091     ,       p_FlowSchedule_rec.routing_revision
1092     ,       p_FlowSchedule_rec.routing_revision_date
1093     ,       p_FlowSchedule_rec.scheduled_completion_date
1094     ,       p_FlowSchedule_rec.scheduled_flag
1095     ,       p_FlowSchedule_rec.scheduled_start_date
1096     ,       p_FlowSchedule_rec.schedule_group_id
1097     ,       p_FlowSchedule_rec.schedule_number
1098     ,       p_FlowSchedule_rec.status
1099     ,       p_FlowSchedule_rec.std_cost_adj_account
1100     ,       p_FlowSchedule_rec.task_id
1101     ,       p_FlowSchedule_rec.wip_entity_id
1102     );
1103 
1104 EXCEPTION
1105 
1106     WHEN OTHERS THEN
1107 
1108         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1109         THEN
1110             FND_MSG_PUB.Add_Exc_Msg
1111             (   G_PKG_NAME
1112             ,   'Insert_Row'
1113             );
1114         END IF;
1115 
1116         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1117 
1118 END Insert_Row;
1119 
1120 --  Procedure Delete_Row
1121 
1122 PROCEDURE Delete_Row
1123 (   p_schedule_number               IN  VARCHAR2
1124 )
1125 IS
1126 BEGIN
1127 
1128     DELETE  FROM WIP_FLOW_SCHEDULES
1129     WHERE   SCHEDULE_NUMBER = p_schedule_number
1130     ;
1131 
1132 EXCEPTION
1133 
1134     WHEN OTHERS THEN
1135 
1136         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1137         THEN
1138             FND_MSG_PUB.Add_Exc_Msg
1139             (   G_PKG_NAME
1140             ,   'Delete_Row'
1141             );
1142         END IF;
1143 
1144         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1145 
1146 END Delete_Row;
1147 
1148 --  Function Query_Row
1149 
1150 FUNCTION Query_Row
1151 (   p_schedule_number               IN  VARCHAR2
1152 ) RETURN WIP_Work_Order_PUB.Flowschedule_Rec_Type
1153 IS
1154 BEGIN
1155 
1156     RETURN Query_Rows
1157         (   p_schedule_number             => p_schedule_number
1158         )(1);
1159 
1160 END Query_Row;
1161 
1162 
1163 FUNCTION Query_Row
1164 (   p_wip_entity_id               IN  NUMBER
1165 ) RETURN WIP_Work_Order_PUB.Flowschedule_Rec_Type
1166 IS
1167 BEGIN
1168 
1169     RETURN Query_Rows
1170         (   p_wip_entity_id             => p_wip_entity_id
1171         )(1);
1172 
1173 END Query_Row;
1174 
1175 --  Function Query_Rows
1176 
1177 --
1178 
1179 FUNCTION Query_Rows
1180 (   p_schedule_number               IN  VARCHAR2 :=
1181                                         FND_API.G_MISS_CHAR
1182 ,   p_wip_entity_id                 IN  NUMBER :=
1183                                         FND_API.G_MISS_NUM
1184 ) RETURN WIP_Work_Order_PUB.Flowschedule_Tbl_Type
1185 IS
1186 l_FlowSchedule_rec            WIP_Work_Order_PUB.Flowschedule_Rec_Type;
1187 l_FlowSchedule_tbl            WIP_Work_Order_PUB.Flowschedule_Tbl_Type;
1188 
1189 CURSOR l_FlowSchedule_csr IS
1190     SELECT  ALTERNATE_BOM_DESIGNATOR
1191     ,       ALTERNATE_ROUTING_DESIGNATOR
1192     ,       ATTRIBUTE1
1193     ,       ATTRIBUTE10
1194     ,       ATTRIBUTE11
1195     ,       ATTRIBUTE12
1196     ,       ATTRIBUTE13
1197     ,       ATTRIBUTE14
1198     ,       ATTRIBUTE15
1199     ,       ATTRIBUTE2
1200     ,       ATTRIBUTE3
1201     ,       ATTRIBUTE4
1202     ,       ATTRIBUTE5
1203     ,       ATTRIBUTE6
1204     ,       ATTRIBUTE7
1205     ,       ATTRIBUTE8
1206     ,       ATTRIBUTE9
1207     ,       ATTRIBUTE_CATEGORY
1208     ,       BOM_REVISION
1209     ,       BOM_REVISION_DATE
1210     ,       BUILD_SEQUENCE
1211     ,       CLASS_CODE
1212     ,       COMPLETION_LOCATOR_ID
1213     ,       COMPLETION_SUBINVENTORY
1214     ,       CREATED_BY
1215     ,       CREATION_DATE
1216     ,       DATE_CLOSED
1217     ,       DEMAND_CLASS
1218     ,       DEMAND_SOURCE_DELIVERY
1219     ,       DEMAND_SOURCE_HEADER_ID
1220     ,       DEMAND_SOURCE_LINE
1221     ,       DEMAND_SOURCE_TYPE
1222     ,       KANBAN_CARD_ID
1223     ,       LAST_UPDATED_BY
1224     ,       LAST_UPDATE_DATE
1225     ,       LAST_UPDATE_LOGIN
1226     ,       LINE_ID
1227     ,       MATERIAL_ACCOUNT
1228     ,       MATERIAL_OVERHEAD_ACCOUNT
1229     ,       MATERIAL_VARIANCE_ACCOUNT
1230     ,       MPS_NET_QUANTITY
1231     ,       MPS_SCHEDULED_COMPLETION_DATE
1232     ,       ORGANIZATION_ID
1233     ,       OUTSIDE_PROCESSING_ACCOUNT
1234     ,       OUTSIDE_PROC_VARIANCE_ACCOUNT
1235     ,       OVERHEAD_ACCOUNT
1236     ,       OVERHEAD_VARIANCE_ACCOUNT
1237     ,       PLANNED_QUANTITY
1238     ,       PRIMARY_ITEM_ID
1239     ,       PROGRAM_APPLICATION_ID
1240     ,       PROGRAM_ID
1241     ,       PROGRAM_UPDATE_DATE
1242     ,       PROJECT_ID
1243     ,       QUANTITY_COMPLETED
1244     ,       REQUEST_ID
1245     ,       RESOURCE_ACCOUNT
1246     ,       RESOURCE_VARIANCE_ACCOUNT
1247     ,       ROUTING_REVISION
1248     ,       ROUTING_REVISION_DATE
1249     ,       SCHEDULED_COMPLETION_DATE
1250     ,       SCHEDULED_FLAG
1251     ,       SCHEDULED_START_DATE
1252     ,       SCHEDULE_GROUP_ID
1253     ,       SCHEDULE_NUMBER
1254     ,       STATUS
1255     ,       STD_COST_ADJUSTMENT_ACCOUNT
1256     ,       TASK_ID
1257     ,       WIP_ENTITY_ID
1258     FROM    WIP_FLOW_SCHEDULES
1259     WHERE ( SCHEDULE_NUMBER = p_schedule_number
1260     )
1261     OR (    WIP_ENTITY_ID = p_wip_entity_id
1262     );
1263 
1264 BEGIN
1265 
1266     IF
1267     (p_schedule_number IS NOT NULL
1268      AND
1269      p_schedule_number <> FND_API.G_MISS_CHAR)
1270     AND
1271     (p_wip_entity_id IS NOT NULL
1272      AND
1273      p_wip_entity_id <> FND_API.G_MISS_NUM)
1274     THEN
1275             IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1276             THEN
1277                 FND_MSG_PUB.Add_Exc_Msg
1278                 (   G_PKG_NAME
1279                 ,   'Query Rows'
1280                 ,   'Keys are mutually exclusive: schedule_number = '|| p_schedule_number || ', wip_entity_id = '|| p_wip_entity_id
1281                 );
1282             END IF;
1283 
1284         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1285 
1286     END IF;
1287 
1288 
1289     --  Loop over fetched records
1290 
1291     FOR l_implicit_rec IN l_FlowSchedule_csr LOOP
1292 
1293         l_FlowSchedule_rec.alternate_bom_designator := l_implicit_rec.ALTERNATE_BOM_DESIGNATOR;
1294         l_FlowSchedule_rec.alternate_rout_designator := l_implicit_rec.ALTERNATE_ROUTING_DESIGNATOR;
1295         l_FlowSchedule_rec.attribute1  := l_implicit_rec.ATTRIBUTE1;
1296         l_FlowSchedule_rec.attribute10 := l_implicit_rec.ATTRIBUTE10;
1297         l_FlowSchedule_rec.attribute11 := l_implicit_rec.ATTRIBUTE11;
1298         l_FlowSchedule_rec.attribute12 := l_implicit_rec.ATTRIBUTE12;
1299         l_FlowSchedule_rec.attribute13 := l_implicit_rec.ATTRIBUTE13;
1300         l_FlowSchedule_rec.attribute14 := l_implicit_rec.ATTRIBUTE14;
1301         l_FlowSchedule_rec.attribute15 := l_implicit_rec.ATTRIBUTE15;
1302         l_FlowSchedule_rec.attribute2  := l_implicit_rec.ATTRIBUTE2;
1303         l_FlowSchedule_rec.attribute3  := l_implicit_rec.ATTRIBUTE3;
1304         l_FlowSchedule_rec.attribute4  := l_implicit_rec.ATTRIBUTE4;
1305         l_FlowSchedule_rec.attribute5  := l_implicit_rec.ATTRIBUTE5;
1306         l_FlowSchedule_rec.attribute6  := l_implicit_rec.ATTRIBUTE6;
1307         l_FlowSchedule_rec.attribute7  := l_implicit_rec.ATTRIBUTE7;
1308         l_FlowSchedule_rec.attribute8  := l_implicit_rec.ATTRIBUTE8;
1309         l_FlowSchedule_rec.attribute9  := l_implicit_rec.ATTRIBUTE9;
1310         l_FlowSchedule_rec.attribute_category := l_implicit_rec.ATTRIBUTE_CATEGORY;
1311         l_FlowSchedule_rec.bom_revision := l_implicit_rec.BOM_REVISION;
1312         l_FlowSchedule_rec.bom_revision_date := l_implicit_rec.BOM_REVISION_DATE;
1313         l_FlowSchedule_rec.build_sequence := l_implicit_rec.BUILD_SEQUENCE;
1314         l_FlowSchedule_rec.class_code  := l_implicit_rec.CLASS_CODE;
1315         l_FlowSchedule_rec.completion_locator_id := l_implicit_rec.COMPLETION_LOCATOR_ID;
1316         l_FlowSchedule_rec.completion_subinventory := l_implicit_rec.COMPLETION_SUBINVENTORY;
1317         l_FlowSchedule_rec.created_by  := l_implicit_rec.CREATED_BY;
1318         l_FlowSchedule_rec.creation_date := l_implicit_rec.CREATION_DATE;
1319         l_FlowSchedule_rec.date_closed := l_implicit_rec.DATE_CLOSED;
1320         l_FlowSchedule_rec.demand_class := l_implicit_rec.DEMAND_CLASS;
1321         l_FlowSchedule_rec.demand_source_delivery := l_implicit_rec.DEMAND_SOURCE_DELIVERY;
1322         l_FlowSchedule_rec.demand_source_header_id := l_implicit_rec.DEMAND_SOURCE_HEADER_ID;
1323         l_FlowSchedule_rec.demand_source_line := l_implicit_rec.DEMAND_SOURCE_LINE;
1324         l_FlowSchedule_rec.demand_source_type := l_implicit_rec.DEMAND_SOURCE_TYPE;
1325         l_FlowSchedule_rec.kanban_card_id := l_implicit_rec.KANBAN_CARD_ID;
1326         l_FlowSchedule_rec.last_updated_by := l_implicit_rec.LAST_UPDATED_BY;
1327         l_FlowSchedule_rec.last_update_date := l_implicit_rec.LAST_UPDATE_DATE;
1328         l_FlowSchedule_rec.last_update_login := l_implicit_rec.LAST_UPDATE_LOGIN;
1329         l_FlowSchedule_rec.line_id     := l_implicit_rec.LINE_ID;
1330         l_FlowSchedule_rec.material_account := l_implicit_rec.MATERIAL_ACCOUNT;
1331         l_FlowSchedule_rec.material_overhead_account := l_implicit_rec.MATERIAL_OVERHEAD_ACCOUNT;
1332         l_FlowSchedule_rec.material_variance_account := l_implicit_rec.MATERIAL_VARIANCE_ACCOUNT;
1333         l_FlowSchedule_rec.mps_net_quantity := l_implicit_rec.MPS_NET_QUANTITY;
1334         l_FlowSchedule_rec.mps_scheduled_cpl_date := l_implicit_rec.MPS_SCHEDULED_COMPLETION_DATE;
1335         l_FlowSchedule_rec.organization_id := l_implicit_rec.ORGANIZATION_ID;
1336         l_FlowSchedule_rec.osp_account := l_implicit_rec.OUTSIDE_PROCESSING_ACCOUNT;
1337         l_FlowSchedule_rec.osp_variance_account := l_implicit_rec.OUTSIDE_PROC_VARIANCE_ACCOUNT;
1338         l_FlowSchedule_rec.overhead_account := l_implicit_rec.OVERHEAD_ACCOUNT;
1339         l_FlowSchedule_rec.overhead_variance_account := l_implicit_rec.OVERHEAD_VARIANCE_ACCOUNT;
1340         l_FlowSchedule_rec.planned_quantity := l_implicit_rec.PLANNED_QUANTITY;
1341         l_FlowSchedule_rec.primary_item_id := l_implicit_rec.PRIMARY_ITEM_ID;
1342         l_FlowSchedule_rec.program_application_id := l_implicit_rec.PROGRAM_APPLICATION_ID;
1343         l_FlowSchedule_rec.program_id  := l_implicit_rec.PROGRAM_ID;
1344         l_FlowSchedule_rec.program_update_date := l_implicit_rec.PROGRAM_UPDATE_DATE;
1345         l_FlowSchedule_rec.project_id  := l_implicit_rec.PROJECT_ID;
1346         l_FlowSchedule_rec.quantity_completed := l_implicit_rec.QUANTITY_COMPLETED;
1347         l_FlowSchedule_rec.request_id  := l_implicit_rec.REQUEST_ID;
1348         l_FlowSchedule_rec.resource_account := l_implicit_rec.RESOURCE_ACCOUNT;
1349         l_FlowSchedule_rec.resource_variance_account := l_implicit_rec.RESOURCE_VARIANCE_ACCOUNT;
1350         l_FlowSchedule_rec.routing_revision := l_implicit_rec.ROUTING_REVISION;
1351         l_FlowSchedule_rec.routing_revision_date := l_implicit_rec.ROUTING_REVISION_DATE;
1352         l_FlowSchedule_rec.scheduled_completion_date := l_implicit_rec.SCHEDULED_COMPLETION_DATE;
1353         l_FlowSchedule_rec.scheduled_flag := l_implicit_rec.SCHEDULED_FLAG;
1354         l_FlowSchedule_rec.scheduled_start_date := l_implicit_rec.SCHEDULED_START_DATE;
1355         l_FlowSchedule_rec.schedule_group_id := l_implicit_rec.SCHEDULE_GROUP_ID;
1356         l_FlowSchedule_rec.schedule_number := l_implicit_rec.SCHEDULE_NUMBER;
1357         l_FlowSchedule_rec.status      := l_implicit_rec.STATUS;
1358         l_FlowSchedule_rec.std_cost_adj_account := l_implicit_rec.STD_COST_ADJUSTMENT_ACCOUNT;
1359         l_FlowSchedule_rec.task_id     := l_implicit_rec.TASK_ID;
1360         l_FlowSchedule_rec.wip_entity_id := l_implicit_rec.WIP_ENTITY_ID;
1361 
1362         l_FlowSchedule_tbl(l_FlowSchedule_tbl.COUNT + 1) := l_FlowSchedule_rec;
1363 
1364     END LOOP;
1365 
1366 
1367     --  PK sent and no rows found
1368 
1369     IF
1370     (p_schedule_number IS NOT NULL
1371      AND
1372      p_schedule_number <> FND_API.G_MISS_CHAR)
1373     AND
1374     (l_FlowSchedule_tbl.COUNT = 0)
1375     THEN
1376         RAISE NO_DATA_FOUND;
1377     END IF;
1378 
1379 
1380     --  Return fetched table
1381 
1382     RETURN l_FlowSchedule_tbl;
1383 
1384 EXCEPTION
1385 
1386     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1387 
1388         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1389 
1390     WHEN OTHERS THEN
1391 
1392         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1393         THEN
1394             FND_MSG_PUB.Add_Exc_Msg
1395             (   G_PKG_NAME
1396             ,   'Query_Rows'
1397             );
1398         END IF;
1399 
1400         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1401 
1402 END Query_Rows;
1403 
1404 --  Procedure       lock_Row
1405 --
1406 
1407 PROCEDURE Lock_Row
1408 (   x_return_status                 OUT NOCOPY VARCHAR2
1409 ,   p_FlowSchedule_rec              IN  WIP_Work_Order_PUB.Flowschedule_Rec_Type
1410 ,   x_FlowSchedule_rec              OUT NOCOPY WIP_Work_Order_PUB.Flowschedule_Rec_Type
1411 )
1412 IS
1413 l_FlowSchedule_rec            WIP_Work_Order_PUB.Flowschedule_Rec_Type;
1414 BEGIN
1415 
1416     SELECT  ALTERNATE_BOM_DESIGNATOR
1417     ,       ALTERNATE_ROUTING_DESIGNATOR
1418     ,       ATTRIBUTE1
1419     ,       ATTRIBUTE10
1420     ,       ATTRIBUTE11
1421     ,       ATTRIBUTE12
1422     ,       ATTRIBUTE13
1423     ,       ATTRIBUTE14
1424     ,       ATTRIBUTE15
1425     ,       ATTRIBUTE2
1426     ,       ATTRIBUTE3
1427     ,       ATTRIBUTE4
1428     ,       ATTRIBUTE5
1429     ,       ATTRIBUTE6
1430     ,       ATTRIBUTE7
1431     ,       ATTRIBUTE8
1432     ,       ATTRIBUTE9
1433     ,       ATTRIBUTE_CATEGORY
1434     ,       BOM_REVISION
1435     ,       BOM_REVISION_DATE
1436     ,       BUILD_SEQUENCE
1437     ,       CLASS_CODE
1438     ,       COMPLETION_LOCATOR_ID
1439     ,       COMPLETION_SUBINVENTORY
1440     ,       CREATED_BY
1441     ,       CREATION_DATE
1442     ,       DATE_CLOSED
1443     ,       DEMAND_CLASS
1444     ,       DEMAND_SOURCE_DELIVERY
1445     ,       DEMAND_SOURCE_HEADER_ID
1446     ,       DEMAND_SOURCE_LINE
1447     ,       DEMAND_SOURCE_TYPE
1448     ,       KANBAN_CARD_ID
1449     ,       LAST_UPDATED_BY
1450     ,       LAST_UPDATE_DATE
1451     ,       LAST_UPDATE_LOGIN
1452     ,       LINE_ID
1453     ,       MATERIAL_ACCOUNT
1454     ,       MATERIAL_OVERHEAD_ACCOUNT
1455     ,       MATERIAL_VARIANCE_ACCOUNT
1456     ,       MPS_NET_QUANTITY
1457     ,       MPS_SCHEDULED_COMPLETION_DATE
1458     ,       ORGANIZATION_ID
1459     ,       OUTSIDE_PROCESSING_ACCOUNT
1460     ,       OUTSIDE_PROC_VARIANCE_ACCOUNT
1461     ,       OVERHEAD_ACCOUNT
1462     ,       OVERHEAD_VARIANCE_ACCOUNT
1463     ,       PLANNED_QUANTITY
1464     ,       PRIMARY_ITEM_ID
1465     ,       PROGRAM_APPLICATION_ID
1466     ,       PROGRAM_ID
1467     ,       PROGRAM_UPDATE_DATE
1468     ,       PROJECT_ID
1469     ,       QUANTITY_COMPLETED
1470     ,       REQUEST_ID
1471     ,       RESOURCE_ACCOUNT
1472     ,       RESOURCE_VARIANCE_ACCOUNT
1473     ,       ROUTING_REVISION
1474     ,       ROUTING_REVISION_DATE
1475     ,       SCHEDULED_COMPLETION_DATE
1476     ,       SCHEDULED_FLAG
1477     ,       SCHEDULED_START_DATE
1478     ,       SCHEDULE_GROUP_ID
1479     ,       SCHEDULE_NUMBER
1480     ,       STATUS
1481     ,       STD_COST_ADJUSTMENT_ACCOUNT
1482     ,       TASK_ID
1483     ,       WIP_ENTITY_ID
1484     INTO    l_FlowSchedule_rec.alternate_bom_designator
1485     ,       l_FlowSchedule_rec.alternate_rout_designator
1486     ,       l_FlowSchedule_rec.attribute1
1487     ,       l_FlowSchedule_rec.attribute10
1488     ,       l_FlowSchedule_rec.attribute11
1489     ,       l_FlowSchedule_rec.attribute12
1490     ,       l_FlowSchedule_rec.attribute13
1491     ,       l_FlowSchedule_rec.attribute14
1492     ,       l_FlowSchedule_rec.attribute15
1493     ,       l_FlowSchedule_rec.attribute2
1494     ,       l_FlowSchedule_rec.attribute3
1495     ,       l_FlowSchedule_rec.attribute4
1496     ,       l_FlowSchedule_rec.attribute5
1497     ,       l_FlowSchedule_rec.attribute6
1498     ,       l_FlowSchedule_rec.attribute7
1499     ,       l_FlowSchedule_rec.attribute8
1500     ,       l_FlowSchedule_rec.attribute9
1501     ,       l_FlowSchedule_rec.attribute_category
1502     ,       l_FlowSchedule_rec.bom_revision
1503     ,       l_FlowSchedule_rec.bom_revision_date
1504     ,       l_FlowSchedule_rec.build_sequence
1505     ,       l_FlowSchedule_rec.class_code
1506     ,       l_FlowSchedule_rec.completion_locator_id
1507     ,       l_FlowSchedule_rec.completion_subinventory
1508     ,       l_FlowSchedule_rec.created_by
1509     ,       l_FlowSchedule_rec.creation_date
1510     ,       l_FlowSchedule_rec.date_closed
1511     ,       l_FlowSchedule_rec.demand_class
1512     ,       l_FlowSchedule_rec.demand_source_delivery
1513     ,       l_FlowSchedule_rec.demand_source_header_id
1514     ,       l_FlowSchedule_rec.demand_source_line
1515     ,       l_FlowSchedule_rec.demand_source_type
1516     ,       l_FlowSchedule_rec.kanban_card_id
1517     ,       l_FlowSchedule_rec.last_updated_by
1518     ,       l_FlowSchedule_rec.last_update_date
1519     ,       l_FlowSchedule_rec.last_update_login
1520     ,       l_FlowSchedule_rec.line_id
1521     ,       l_FlowSchedule_rec.material_account
1522     ,       l_FlowSchedule_rec.material_overhead_account
1523     ,       l_FlowSchedule_rec.material_variance_account
1524     ,       l_FlowSchedule_rec.mps_net_quantity
1525     ,       l_FlowSchedule_rec.mps_scheduled_cpl_date
1526     ,       l_FlowSchedule_rec.organization_id
1527     ,       l_FlowSchedule_rec.osp_account
1528     ,       l_FlowSchedule_rec.osp_variance_account
1529     ,       l_FlowSchedule_rec.overhead_account
1530     ,       l_FlowSchedule_rec.overhead_variance_account
1531     ,       l_FlowSchedule_rec.planned_quantity
1532     ,       l_FlowSchedule_rec.primary_item_id
1533     ,       l_FlowSchedule_rec.program_application_id
1534     ,       l_FlowSchedule_rec.program_id
1535     ,       l_FlowSchedule_rec.program_update_date
1536     ,       l_FlowSchedule_rec.project_id
1537     ,       l_FlowSchedule_rec.quantity_completed
1538     ,       l_FlowSchedule_rec.request_id
1539     ,       l_FlowSchedule_rec.resource_account
1540     ,       l_FlowSchedule_rec.resource_variance_account
1541     ,       l_FlowSchedule_rec.routing_revision
1542     ,       l_FlowSchedule_rec.routing_revision_date
1543     ,       l_FlowSchedule_rec.scheduled_completion_date
1544     ,       l_FlowSchedule_rec.scheduled_flag
1545     ,       l_FlowSchedule_rec.scheduled_start_date
1546     ,       l_FlowSchedule_rec.schedule_group_id
1547     ,       l_FlowSchedule_rec.schedule_number
1548     ,       l_FlowSchedule_rec.status
1549     ,       l_FlowSchedule_rec.std_cost_adj_account
1550     ,       l_FlowSchedule_rec.task_id
1551     ,       l_FlowSchedule_rec.wip_entity_id
1552     FROM    WIP_FLOW_SCHEDULES
1553     WHERE   SCHEDULE_NUMBER = p_FlowSchedule_rec.schedule_number
1554         FOR UPDATE NOWAIT;
1555 
1556     --  Row locked. Compare IN attributes to DB attributes.
1557 
1558     IF  WIP_GLOBALS.Equal(p_FlowSchedule_rec.alternate_bom_designator,
1559                          l_FlowSchedule_rec.alternate_bom_designator)
1560     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.alternate_rout_designator,
1561                          l_FlowSchedule_rec.alternate_rout_designator)
1562     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.attribute1,
1563                          l_FlowSchedule_rec.attribute1)
1564     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.attribute10,
1565                          l_FlowSchedule_rec.attribute10)
1566     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.attribute11,
1567                          l_FlowSchedule_rec.attribute11)
1568     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.attribute12,
1569                          l_FlowSchedule_rec.attribute12)
1570     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.attribute13,
1571                          l_FlowSchedule_rec.attribute13)
1572     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.attribute14,
1573                          l_FlowSchedule_rec.attribute14)
1574     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.attribute15,
1575                          l_FlowSchedule_rec.attribute15)
1576     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.attribute2,
1577                          l_FlowSchedule_rec.attribute2)
1578     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.attribute3,
1579                          l_FlowSchedule_rec.attribute3)
1580     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.attribute4,
1581                          l_FlowSchedule_rec.attribute4)
1582     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.attribute5,
1583                          l_FlowSchedule_rec.attribute5)
1584     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.attribute6,
1585                          l_FlowSchedule_rec.attribute6)
1586     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.attribute7,
1587                          l_FlowSchedule_rec.attribute7)
1588     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.attribute8,
1589                          l_FlowSchedule_rec.attribute8)
1590     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.attribute9,
1591                          l_FlowSchedule_rec.attribute9)
1592     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.attribute_category,
1593                          l_FlowSchedule_rec.attribute_category)
1594     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.bom_revision,
1595                          l_FlowSchedule_rec.bom_revision)
1596     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.bom_revision_date,
1597                          l_FlowSchedule_rec.bom_revision_date)
1598     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.build_sequence,
1599                          l_FlowSchedule_rec.build_sequence)
1600     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.class_code,
1601                          l_FlowSchedule_rec.class_code)
1602     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.completion_locator_id,
1603                          l_FlowSchedule_rec.completion_locator_id)
1604     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.completion_subinventory,
1605                          l_FlowSchedule_rec.completion_subinventory)
1606     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.created_by,
1607                          l_FlowSchedule_rec.created_by)
1608     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.creation_date,
1609                          l_FlowSchedule_rec.creation_date)
1610     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.date_closed,
1611                          l_FlowSchedule_rec.date_closed)
1612     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.demand_class,
1613                          l_FlowSchedule_rec.demand_class)
1614     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.demand_source_delivery,
1615                          l_FlowSchedule_rec.demand_source_delivery)
1616     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.demand_source_header_id,
1617                          l_FlowSchedule_rec.demand_source_header_id)
1618     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.demand_source_line,
1619                          l_FlowSchedule_rec.demand_source_line)
1620     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.demand_source_type,
1621                          l_FlowSchedule_rec.demand_source_type)
1622     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.kanban_card_id,
1623                          l_FlowSchedule_rec.kanban_card_id)
1624     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.last_updated_by,
1625                          l_FlowSchedule_rec.last_updated_by)
1626     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.last_update_date,
1627                          l_FlowSchedule_rec.last_update_date)
1628     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.last_update_login,
1629                          l_FlowSchedule_rec.last_update_login)
1630     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.line_id,
1631                          l_FlowSchedule_rec.line_id)
1632     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.material_account,
1633                          l_FlowSchedule_rec.material_account)
1634     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.material_overhead_account,
1635                          l_FlowSchedule_rec.material_overhead_account)
1636     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.material_variance_account,
1637                          l_FlowSchedule_rec.material_variance_account)
1638     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.mps_net_quantity,
1639                          l_FlowSchedule_rec.mps_net_quantity)
1640     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.mps_scheduled_cpl_date,
1641                          l_FlowSchedule_rec.mps_scheduled_cpl_date)
1642     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.organization_id,
1643                          l_FlowSchedule_rec.organization_id)
1644     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.osp_account,
1645                          l_FlowSchedule_rec.osp_account)
1646     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.osp_variance_account,
1647                          l_FlowSchedule_rec.osp_variance_account)
1648     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.overhead_account,
1649                          l_FlowSchedule_rec.overhead_account)
1650     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.overhead_variance_account,
1651                          l_FlowSchedule_rec.overhead_variance_account)
1652     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.planned_quantity,
1653                          l_FlowSchedule_rec.planned_quantity)
1654     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.primary_item_id,
1655                          l_FlowSchedule_rec.primary_item_id)
1656     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.program_application_id,
1657                          l_FlowSchedule_rec.program_application_id)
1658     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.program_id,
1659                          l_FlowSchedule_rec.program_id)
1660     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.program_update_date,
1661                          l_FlowSchedule_rec.program_update_date)
1662     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.project_id,
1663                          l_FlowSchedule_rec.project_id)
1664     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.quantity_completed,
1665                          l_FlowSchedule_rec.quantity_completed)
1666     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.request_id,
1667                          l_FlowSchedule_rec.request_id)
1668     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.resource_account,
1669                          l_FlowSchedule_rec.resource_account)
1670     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.resource_variance_account,
1671                          l_FlowSchedule_rec.resource_variance_account)
1672     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.routing_revision,
1673                          l_FlowSchedule_rec.routing_revision)
1674     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.routing_revision_date,
1675                          l_FlowSchedule_rec.routing_revision_date)
1676     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.scheduled_completion_date,
1677                          l_FlowSchedule_rec.scheduled_completion_date)
1678     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.scheduled_flag,
1679                          l_FlowSchedule_rec.scheduled_flag)
1680     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.scheduled_start_date,
1681                          l_FlowSchedule_rec.scheduled_start_date)
1682     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.schedule_group_id,
1683                          l_FlowSchedule_rec.schedule_group_id)
1684     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.schedule_number,
1685                          l_FlowSchedule_rec.schedule_number)
1686     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.status,
1687                          l_FlowSchedule_rec.status)
1688     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.std_cost_adj_account,
1689                          l_FlowSchedule_rec.std_cost_adj_account)
1690     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.task_id,
1691                          l_FlowSchedule_rec.task_id)
1692     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec.wip_entity_id,
1693                          l_FlowSchedule_rec.wip_entity_id)
1694     THEN
1695 
1696         --  Row has not changed. Set out parameter.
1697 
1698         x_FlowSchedule_rec             := l_FlowSchedule_rec;
1699 
1700         --  Set return status
1701 
1702         x_return_status                := FND_API.G_RET_STS_SUCCESS;
1703         x_FlowSchedule_rec.return_status := FND_API.G_RET_STS_SUCCESS;
1704 
1705     ELSE
1706 
1707         --  Row has changed by another user.
1708 
1709         x_return_status                := FND_API.G_RET_STS_ERROR;
1710         x_FlowSchedule_rec.return_status := FND_API.G_RET_STS_ERROR;
1711 
1712         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
1713         THEN
1714 
1715             FND_MESSAGE.SET_NAME('WIP','OE_LOCK_ROW_CHANGED');
1716             FND_MSG_PUB.Add;
1717 
1718         END IF;
1719 
1720     END IF;
1721 
1722 EXCEPTION
1723 
1724     WHEN NO_DATA_FOUND THEN
1725 
1726         x_return_status                := FND_API.G_RET_STS_ERROR;
1727         x_FlowSchedule_rec.return_status := FND_API.G_RET_STS_ERROR;
1728 
1729         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
1730         THEN
1731 
1732             FND_MESSAGE.SET_NAME('WIP','OE_LOCK_ROW_DELETED');
1733             FND_MSG_PUB.Add;
1734 
1735         END IF;
1736     WHEN APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION THEN
1737 
1738         x_return_status                := FND_API.G_RET_STS_ERROR;
1739         x_FlowSchedule_rec.return_status := FND_API.G_RET_STS_ERROR;
1740 
1741         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
1742         THEN
1743 
1744             FND_MESSAGE.SET_NAME('WIP','OE_LOCK_ROW_ALREADY_LOCKED');
1745             FND_MSG_PUB.Add;
1746 
1747         END IF;
1748     WHEN OTHERS THEN
1749 
1750         x_return_status                := FND_API.G_RET_STS_UNEXP_ERROR;
1751         x_FlowSchedule_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1752 
1753         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1754         THEN
1755             FND_MSG_PUB.Add_Exc_Msg
1756             (   G_PKG_NAME
1757             ,   'Lock_Row'
1758             );
1759         END IF;
1760 
1761 END Lock_Row;
1762 
1763 
1764 FUNCTION Compare( p_FlowSchedule_rec1   IN  WIP_Work_Order_PUB.Flowschedule_Rec_Type,
1765                   p_FlowSchedule_rec2   IN  WIP_Work_Order_PUB.Flowschedule_Rec_Type)
1766   RETURN BOOLEAN
1767   IS
1768 BEGIN
1769 
1770     IF  WIP_GLOBALS.Equal(p_FlowSchedule_rec1.alternate_bom_designator,
1771                          p_FlowSchedule_rec2.alternate_bom_designator)
1772     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.alternate_rout_designator,
1773                          p_FlowSchedule_rec2.alternate_rout_designator)
1774     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.attribute1,
1775                          p_FlowSchedule_rec2.attribute1)
1776     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.attribute10,
1777                          p_FlowSchedule_rec2.attribute10)
1778     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.attribute11,
1779                          p_FlowSchedule_rec2.attribute11)
1780     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.attribute12,
1781                          p_FlowSchedule_rec2.attribute12)
1782     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.attribute13,
1783                          p_FlowSchedule_rec2.attribute13)
1784     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.attribute14,
1785                          p_FlowSchedule_rec2.attribute14)
1786     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.attribute15,
1787                          p_FlowSchedule_rec2.attribute15)
1788     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.attribute2,
1789                          p_FlowSchedule_rec2.attribute2)
1790     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.attribute3,
1791                          p_FlowSchedule_rec2.attribute3)
1792     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.attribute4,
1793                          p_FlowSchedule_rec2.attribute4)
1794     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.attribute5,
1795                          p_FlowSchedule_rec2.attribute5)
1796     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.attribute6,
1797                          p_FlowSchedule_rec2.attribute6)
1798     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.attribute7,
1799                          p_FlowSchedule_rec2.attribute7)
1800     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.attribute8,
1801                          p_FlowSchedule_rec2.attribute8)
1802     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.attribute9,
1803                          p_FlowSchedule_rec2.attribute9)
1804     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.attribute_category,
1805                          p_FlowSchedule_rec2.attribute_category)
1806     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.bom_revision,
1807                          p_FlowSchedule_rec2.bom_revision)
1808     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.bom_revision_date,
1809                          p_FlowSchedule_rec2.bom_revision_date)
1810     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.build_sequence,
1811                          p_FlowSchedule_rec2.build_sequence)
1812     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.class_code,
1813                          p_FlowSchedule_rec2.class_code)
1814     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.completion_locator_id,
1815                          p_FlowSchedule_rec2.completion_locator_id)
1816     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.completion_subinventory,
1817                          p_FlowSchedule_rec2.completion_subinventory)
1818     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.created_by,
1819                          p_FlowSchedule_rec2.created_by)
1820     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.creation_date,
1821                          p_FlowSchedule_rec2.creation_date)
1822     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.date_closed,
1823                          p_FlowSchedule_rec2.date_closed)
1824     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.demand_class,
1825                          p_FlowSchedule_rec2.demand_class)
1826     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.demand_source_delivery,
1827                          p_FlowSchedule_rec2.demand_source_delivery)
1828     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.demand_source_header_id,
1829                          p_FlowSchedule_rec2.demand_source_header_id)
1830     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.demand_source_line,
1831                          p_FlowSchedule_rec2.demand_source_line)
1832     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.demand_source_type,
1833                          p_FlowSchedule_rec2.demand_source_type)
1834     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.kanban_card_id,
1835                          p_FlowSchedule_rec2.kanban_card_id)
1836     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.last_updated_by,
1837                          p_FlowSchedule_rec2.last_updated_by)
1838     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.last_update_date,
1839                          p_FlowSchedule_rec2.last_update_date)
1840     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.last_update_login,
1841                          p_FlowSchedule_rec2.last_update_login)
1842     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.line_id,
1843                          p_FlowSchedule_rec2.line_id)
1844     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.material_account,
1845                          p_FlowSchedule_rec2.material_account)
1846     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.material_overhead_account,
1847                          p_FlowSchedule_rec2.material_overhead_account)
1848     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.material_variance_account,
1849                          p_FlowSchedule_rec2.material_variance_account)
1850     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.mps_net_quantity,
1851                          p_FlowSchedule_rec2.mps_net_quantity)
1852     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.mps_scheduled_cpl_date,
1853                          p_FlowSchedule_rec2.mps_scheduled_cpl_date)
1854     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.organization_id,
1855                          p_FlowSchedule_rec2.organization_id)
1856     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.osp_account,
1857                          p_FlowSchedule_rec2.osp_account)
1858     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.osp_variance_account,
1859                          p_FlowSchedule_rec2.osp_variance_account)
1860     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.overhead_account,
1861                          p_FlowSchedule_rec2.overhead_account)
1862     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.overhead_variance_account,
1863                          p_FlowSchedule_rec2.overhead_variance_account)
1864     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.planned_quantity,
1865                          p_FlowSchedule_rec2.planned_quantity)
1866     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.primary_item_id,
1867                          p_FlowSchedule_rec2.primary_item_id)
1868     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.program_application_id,
1869                          p_FlowSchedule_rec2.program_application_id)
1870     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.program_id,
1871                          p_FlowSchedule_rec2.program_id)
1872     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.program_update_date,
1873                          p_FlowSchedule_rec2.program_update_date)
1874     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.project_id,
1875                          p_FlowSchedule_rec2.project_id)
1876     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.quantity_completed,
1877                          p_FlowSchedule_rec2.quantity_completed)
1878     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.request_id,
1879                          p_FlowSchedule_rec2.request_id)
1880     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.resource_account,
1881                          p_FlowSchedule_rec2.resource_account)
1882     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.resource_variance_account,
1883                          p_FlowSchedule_rec2.resource_variance_account)
1884     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.routing_revision,
1885                          p_FlowSchedule_rec2.routing_revision)
1886     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.routing_revision_date,
1887                          p_FlowSchedule_rec2.routing_revision_date)
1888     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.scheduled_completion_date,
1889                          p_FlowSchedule_rec2.scheduled_completion_date)
1890     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.scheduled_flag,
1891                          p_FlowSchedule_rec2.scheduled_flag)
1892     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.scheduled_start_date,
1893                          p_FlowSchedule_rec2.scheduled_start_date)
1894     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.schedule_group_id,
1895                          p_FlowSchedule_rec2.schedule_group_id)
1896     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.schedule_number,
1897                          p_FlowSchedule_rec2.schedule_number)
1898     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.status,
1899                          p_FlowSchedule_rec2.status)
1900     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.std_cost_adj_account,
1901                          p_FlowSchedule_rec2.std_cost_adj_account)
1902     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.task_id,
1903                          p_FlowSchedule_rec2.task_id)
1904     AND WIP_GLOBALS.Equal(p_FlowSchedule_rec1.wip_entity_id,
1905                          p_FlowSchedule_rec2.wip_entity_id)
1906     THEN
1907        RETURN TRUE;
1908      ELSE
1909        RETURN FALSE;
1910     END IF;
1911 
1912 END Compare;
1913 
1914 PROCEDURE dprintf(p_FlowSchedule_rec    IN WIP_Work_Order_PUB.FlowSchedule_Rec_Type)
1915   IS
1916 BEGIN
1917 
1918    null;
1919 -- dbms_output.new_line;
1920 -- dbms_output.put_line('Flow Schedule Record:');
1921 -- dbms_output.put_line('--------------------');
1922 -- dbms_output.put_line('completion_locator_id    : ' || To_char(p_FlowSchedule_rec.completion_locator_id));
1923 -- dbms_output.put_line('completion_subinventory  : ' || p_FlowSchedule_rec.completion_subinventory);
1924 -- dbms_output.put_line('line_id                  : ' || To_char(p_FlowSchedule_rec.line_id));
1925 -- dbms_output.put_line('organization_id          : ' || To_char(p_FlowSchedule_rec.organization_id));
1926 -- dbms_output.put_line('planned_quantity         : ' || To_char(p_FlowSchedule_rec.planned_quantity));
1927 -- dbms_output.put_line('primary_item_id          : ' || To_char(p_FlowSchedule_rec.primary_item_id));
1928 -- dbms_output.put_line('quantity_completed       : ' || To_char(p_FlowSchedule_rec.quantity_completed));
1929 -- dbms_output.put_line('scheduled_completion_date: ' || To_char(p_FlowSchedule_rec.scheduled_completion_date,'DD-MON-RR'));
1930 -- dbms_output.put_line('scheduled_flag           : ' || To_char(p_FlowSchedule_rec.scheduled_flag));
1931 -- dbms_output.put_line('scheduled_start_date     : ' || To_char(p_FlowSchedule_rec.scheduled_start_date,'DD-MON-RR'));
1932 -- dbms_output.put_line('schedule_group_id        : ' || To_char(p_FlowSchedule_rec.schedule_group_id));
1933 -- dbms_output.put_line('schedule_number          : ' || p_FlowSchedule_rec.schedule_number);
1934 -- dbms_output.put_line('wip_entity_id            : ' || To_char(p_FlowSchedule_rec.wip_entity_id));
1935 -- dbms_output.put_line('kanban_card_id           : ' || To_char(p_FlowSchedule_rec.kanban_card_id));
1936 -- dbms_output.put_line('return_status            : ' || p_FlowSchedule_rec.return_status);
1937 -- dbms_output.put_line('db_flag                  : ' || p_FlowSchedule_rec.db_flag);
1938 -- dbms_output.put_line('action                   : ' || p_FlowSchedule_rec.action);
1939 -- dbms_output.put_line('End Flow Schedule Record');
1940 EXCEPTION
1941    WHEN OTHERS THEN
1942       NULL;
1943 
1944 END dprintf;
1945 
1946 END WIP_Flowschedule_Util;