[Home] [Help]
PACKAGE BODY: APPS.WIP_DISCRETEJOB_UTIL
Source
1 PACKAGE BODY WIP_Discretejob_Util AS
2 /* $Header: WIPUWDJB.pls 120.3 2005/10/24 17:16:07 sjchen ship $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'WIP_Discretejob_Util';
7
8
9 -- Function Complete_Record
10
11 FUNCTION Complete_Record
12 ( p_DiscreteJob_rec IN WIP_Work_Order_PUB.Discretejob_Rec_Type
13 , p_old_DiscreteJob_rec IN WIP_Work_Order_PUB.Discretejob_Rec_Type
14 , p_ForceCopy IN BOOLEAN := NULL
15 ) RETURN WIP_Work_Order_PUB.Discretejob_Rec_Type
16 IS
17 l_DiscreteJob_rec WIP_Work_Order_PUB.Discretejob_Rec_Type := p_DiscreteJob_rec;
18 BEGIN
19
20 IF (p_ForceCopy is NOT NULL) THEN
21 IF (p_ForceCopy = TRUE)
22 THEN
23
24 IF p_old_DiscreteJob_rec.alternate_bom_designator = FND_API.G_MISS_CHAR THEN
25 NULL;
26 ELSE
27 l_DiscreteJob_rec.alternate_bom_designator := p_old_DiscreteJob_rec.alternate_bom_designator;
28 END IF;
29
30 IF p_old_DiscreteJob_rec.alternate_rout_designator = FND_API.G_MISS_CHAR THEN
31 NULL;
32 ELSE
33 l_DiscreteJob_rec.alternate_rout_designator := p_old_DiscreteJob_rec.alternate_rout_designator;
34 END IF;
35
36 IF p_old_DiscreteJob_rec.attribute1 = FND_API.G_MISS_CHAR THEN
37 NULL;
38 ELSE
39 l_DiscreteJob_rec.attribute1 := p_old_DiscreteJob_rec.attribute1;
40 END IF;
41
42 IF p_old_DiscreteJob_rec.attribute10 = FND_API.G_MISS_CHAR THEN
43 NULL;
44 ELSE
45 l_DiscreteJob_rec.attribute10 := p_old_DiscreteJob_rec.attribute10;
46 END IF;
47
48 IF p_old_DiscreteJob_rec.attribute11 = FND_API.G_MISS_CHAR THEN
49 NULL;
50 ELSE
51 l_DiscreteJob_rec.attribute11 := p_old_DiscreteJob_rec.attribute11;
52 END IF;
53
54 IF p_old_DiscreteJob_rec.attribute12 = FND_API.G_MISS_CHAR THEN
55 NULL;
56 ELSE
57 l_DiscreteJob_rec.attribute12 := p_old_DiscreteJob_rec.attribute12;
58 END IF;
59
60 IF p_old_DiscreteJob_rec.attribute13 = FND_API.G_MISS_CHAR THEN
61 NULL;
62 ELSE
63 l_DiscreteJob_rec.attribute13 := p_old_DiscreteJob_rec.attribute13;
64 END IF;
65
66 IF p_old_DiscreteJob_rec.attribute14 = FND_API.G_MISS_CHAR THEN
67 NULL;
68 ELSE
69 l_DiscreteJob_rec.attribute14 := p_old_DiscreteJob_rec.attribute14;
70 END IF;
71
72 IF p_old_DiscreteJob_rec.attribute15 = FND_API.G_MISS_CHAR THEN
73 NULL;
74 ELSE
75 l_DiscreteJob_rec.attribute15 := p_old_DiscreteJob_rec.attribute15;
76 END IF;
77
78 IF p_old_DiscreteJob_rec.attribute2 = FND_API.G_MISS_CHAR THEN
79 NULL;
80 ELSE
81 l_DiscreteJob_rec.attribute2 := p_old_DiscreteJob_rec.attribute2;
82 END IF;
83
84 IF p_old_DiscreteJob_rec.attribute3 = FND_API.G_MISS_CHAR THEN
85 NULL;
86 ELSE
87 l_DiscreteJob_rec.attribute3 := p_old_DiscreteJob_rec.attribute3;
88 END IF;
89
90 IF p_old_DiscreteJob_rec.attribute4 = FND_API.G_MISS_CHAR THEN
91 NULL;
92 ELSE
93 l_DiscreteJob_rec.attribute4 := p_old_DiscreteJob_rec.attribute4;
94 END IF;
95
96 IF p_old_DiscreteJob_rec.attribute5 = FND_API.G_MISS_CHAR THEN
97 NULL;
98 ELSE
99 l_DiscreteJob_rec.attribute5 := p_old_DiscreteJob_rec.attribute5;
100 END IF;
101
102 IF p_old_DiscreteJob_rec.attribute6 = FND_API.G_MISS_CHAR THEN
103 NULL;
104 ELSE
105 l_DiscreteJob_rec.attribute6 := p_old_DiscreteJob_rec.attribute6;
106 END IF;
107
108 IF p_old_DiscreteJob_rec.attribute7 = FND_API.G_MISS_CHAR THEN
109 NULL;
110 ELSE
111 l_DiscreteJob_rec.attribute7 := p_old_DiscreteJob_rec.attribute7;
112 END IF;
113
114 IF p_old_DiscreteJob_rec.attribute8 = FND_API.G_MISS_CHAR THEN
115 NULL;
116 ELSE
117 l_DiscreteJob_rec.attribute8 := p_old_DiscreteJob_rec.attribute8;
118 END IF;
119
120 IF p_old_DiscreteJob_rec.attribute9 = FND_API.G_MISS_CHAR THEN
121 NULL;
122 ELSE
123 l_DiscreteJob_rec.attribute9 := p_old_DiscreteJob_rec.attribute9;
124 END IF;
125
126 IF p_old_DiscreteJob_rec.attribute_category = FND_API.G_MISS_CHAR THEN
127 NULL;
128 ELSE
129 l_DiscreteJob_rec.attribute_category := p_old_DiscreteJob_rec.attribute_category;
130 END IF;
131
132 IF p_old_DiscreteJob_rec.bom_reference_id = FND_API.G_MISS_NUM THEN
133 NULL;
134 ELSE
135 l_DiscreteJob_rec.bom_reference_id := p_old_DiscreteJob_rec.bom_reference_id;
136 END IF;
137
138 IF p_old_DiscreteJob_rec.bom_revision = FND_API.G_MISS_CHAR THEN
139 NULL;
140 ELSE
141 l_DiscreteJob_rec.bom_revision := p_old_DiscreteJob_rec.bom_revision;
142 END IF;
143
144 IF p_old_DiscreteJob_rec.bom_revision_date = FND_API.G_MISS_DATE THEN
145 NULL;
146 ELSE
147 l_DiscreteJob_rec.bom_revision_date := p_old_DiscreteJob_rec.bom_revision_date;
148 END IF;
149
150 IF p_old_DiscreteJob_rec.build_sequence = FND_API.G_MISS_NUM THEN
151 NULL;
152 ELSE
153 l_DiscreteJob_rec.build_sequence := p_old_DiscreteJob_rec.build_sequence;
154 END IF;
155
156 IF p_old_DiscreteJob_rec.class_code = FND_API.G_MISS_CHAR THEN
157 NULL;
158 ELSE
159 l_DiscreteJob_rec.class_code := p_old_DiscreteJob_rec.class_code;
160 END IF;
161
162 IF p_old_DiscreteJob_rec.common_bom_sequence_id = FND_API.G_MISS_NUM THEN
163 NULL;
164 ELSE
165 l_DiscreteJob_rec.common_bom_sequence_id := p_old_DiscreteJob_rec.common_bom_sequence_id;
166 END IF;
167
168 IF p_old_DiscreteJob_rec.common_rout_sequence_id = FND_API.G_MISS_NUM THEN
169 NULL;
170 ELSE
171 l_DiscreteJob_rec.common_rout_sequence_id := p_old_DiscreteJob_rec.common_rout_sequence_id;
172 END IF;
173
174 IF p_old_DiscreteJob_rec.completion_locator_id = FND_API.G_MISS_NUM THEN
175 NULL;
176 ELSE
177 l_DiscreteJob_rec.completion_locator_id := p_old_DiscreteJob_rec.completion_locator_id;
178 END IF;
179
180 IF p_old_DiscreteJob_rec.completion_subinventory = FND_API.G_MISS_CHAR THEN
181 NULL;
182 ELSE
183 l_DiscreteJob_rec.completion_subinventory := p_old_DiscreteJob_rec.completion_subinventory;
184 END IF;
185
186 IF p_old_DiscreteJob_rec.created_by = FND_API.G_MISS_NUM THEN
187 NULL;
188 ELSE
189 l_DiscreteJob_rec.created_by := p_old_DiscreteJob_rec.created_by;
190 END IF;
191
192 IF p_old_DiscreteJob_rec.creation_date = FND_API.G_MISS_DATE THEN
193 NULL;
194 ELSE
195 l_DiscreteJob_rec.creation_date := p_old_DiscreteJob_rec.creation_date;
196 END IF;
197
198 IF p_old_DiscreteJob_rec.date_closed = FND_API.G_MISS_DATE THEN
199 NULL;
200 ELSE
201 l_DiscreteJob_rec.date_closed := p_old_DiscreteJob_rec.date_closed;
202 END IF;
203
204 IF p_old_DiscreteJob_rec.date_completed = FND_API.G_MISS_DATE THEN
205 NULL;
206 ELSE
207 l_DiscreteJob_rec.date_completed := p_old_DiscreteJob_rec.date_completed;
208 END IF;
209
210 IF p_old_DiscreteJob_rec.date_released = FND_API.G_MISS_DATE THEN
211 NULL;
212 ELSE
213 l_DiscreteJob_rec.date_released := p_old_DiscreteJob_rec.date_released;
214 END IF;
215
216 IF p_old_DiscreteJob_rec.demand_class = FND_API.G_MISS_CHAR THEN
217 NULL;
218 ELSE
219 l_DiscreteJob_rec.demand_class := p_old_DiscreteJob_rec.demand_class;
220 END IF;
221
222 IF p_old_DiscreteJob_rec.description = FND_API.G_MISS_CHAR THEN
223 NULL;
224 ELSE
225 l_DiscreteJob_rec.description := p_old_DiscreteJob_rec.description;
226 END IF;
227
228 IF p_old_DiscreteJob_rec.firm_planned_flag = FND_API.G_MISS_NUM THEN
229 NULL;
230 ELSE
231 l_DiscreteJob_rec.firm_planned_flag := p_old_DiscreteJob_rec.firm_planned_flag;
232 END IF;
233
234 IF p_old_DiscreteJob_rec.job_type = FND_API.G_MISS_NUM THEN
235 NULL;
236 ELSE
237 l_DiscreteJob_rec.job_type := p_old_DiscreteJob_rec.job_type;
238 END IF;
239
240 IF p_old_DiscreteJob_rec.kanban_card_id = FND_API.G_MISS_NUM THEN
241 NULL;
242 ELSE
243 l_DiscreteJob_rec.kanban_card_id := p_old_DiscreteJob_rec.kanban_card_id;
244 END IF;
245
246 IF p_old_DiscreteJob_rec.last_updated_by = FND_API.G_MISS_NUM THEN
247 NULL;
248 ELSE
249 l_DiscreteJob_rec.last_updated_by := p_old_DiscreteJob_rec.last_updated_by;
250 END IF;
251
252 IF p_old_DiscreteJob_rec.last_update_date = FND_API.G_MISS_DATE THEN
253 NULL;
254 ELSE
255 l_DiscreteJob_rec.last_update_date := p_old_DiscreteJob_rec.last_update_date;
256 END IF;
257
258 IF p_old_DiscreteJob_rec.last_update_login = FND_API.G_MISS_NUM THEN
259 NULL;
260 ELSE
261 l_DiscreteJob_rec.last_update_login := p_old_DiscreteJob_rec.last_update_login;
262 END IF;
263
264 IF p_old_DiscreteJob_rec.line_id = FND_API.G_MISS_NUM THEN
265 NULL;
266 ELSE
267 l_DiscreteJob_rec.line_id := p_old_DiscreteJob_rec.line_id;
268 END IF;
269
270 IF p_old_DiscreteJob_rec.lot_number = FND_API.G_MISS_CHAR THEN
271 NULL;
272 ELSE
273 l_DiscreteJob_rec.lot_number := p_old_DiscreteJob_rec.lot_number;
274 END IF;
275
276 IF p_old_DiscreteJob_rec.material_account = FND_API.G_MISS_NUM THEN
277 NULL;
278 ELSE
279 l_DiscreteJob_rec.material_account := p_old_DiscreteJob_rec.material_account;
280 END IF;
281
282 IF p_old_DiscreteJob_rec.material_overhead_account = FND_API.G_MISS_NUM THEN
283 NULL;
284 ELSE
285 l_DiscreteJob_rec.material_overhead_account := p_old_DiscreteJob_rec.material_overhead_account;
286 END IF;
287
288 IF p_old_DiscreteJob_rec.material_variance_account = FND_API.G_MISS_NUM THEN
289 NULL;
290 ELSE
291 l_DiscreteJob_rec.material_variance_account := p_old_DiscreteJob_rec.material_variance_account;
292 END IF;
293
294 IF p_old_DiscreteJob_rec.mps_net_quantity = FND_API.G_MISS_NUM THEN
295 NULL;
296 ELSE
297 l_DiscreteJob_rec.mps_net_quantity := p_old_DiscreteJob_rec.mps_net_quantity;
298 END IF;
299
300 IF p_old_DiscreteJob_rec.mps_scheduled_cpl_date = FND_API.G_MISS_DATE THEN
301 NULL;
302 ELSE
303 l_DiscreteJob_rec.mps_scheduled_cpl_date := p_old_DiscreteJob_rec.mps_scheduled_cpl_date;
304 END IF;
305
306 IF p_old_DiscreteJob_rec.net_quantity = FND_API.G_MISS_NUM THEN
307 NULL;
308 ELSE
309 l_DiscreteJob_rec.net_quantity := p_old_DiscreteJob_rec.net_quantity;
310 END IF;
311
312 IF p_old_DiscreteJob_rec.organization_id = FND_API.G_MISS_NUM THEN
313 NULL;
314 ELSE
315 l_DiscreteJob_rec.organization_id := p_old_DiscreteJob_rec.organization_id;
316 END IF;
317
318 IF p_old_DiscreteJob_rec.osp_account = FND_API.G_MISS_NUM THEN
319 NULL;
320 ELSE
321 l_DiscreteJob_rec.osp_account := p_old_DiscreteJob_rec.osp_account;
322 END IF;
323
324 IF p_old_DiscreteJob_rec.osp_variance_account = FND_API.G_MISS_NUM THEN
325 NULL;
326 ELSE
327 l_DiscreteJob_rec.osp_variance_account := p_old_DiscreteJob_rec.osp_variance_account;
328 END IF;
329
330 IF p_old_DiscreteJob_rec.overcpl_tolerance_type = FND_API.G_MISS_NUM THEN
331 NULL;
332 ELSE
333 l_DiscreteJob_rec.overcpl_tolerance_type := p_old_DiscreteJob_rec.overcpl_tolerance_type;
334 END IF;
335
336 IF p_old_DiscreteJob_rec.overcpl_tolerance_value = FND_API.G_MISS_NUM THEN
337 NULL;
338 ELSE
339 l_DiscreteJob_rec.overcpl_tolerance_value := p_old_DiscreteJob_rec.overcpl_tolerance_value;
340 END IF;
341
342 IF p_old_DiscreteJob_rec.overhead_account = FND_API.G_MISS_NUM THEN
343 NULL;
344 ELSE
345 l_DiscreteJob_rec.overhead_account := p_old_DiscreteJob_rec.overhead_account;
346 END IF;
347
348 IF p_old_DiscreteJob_rec.overhead_variance_account = FND_API.G_MISS_NUM THEN
349 NULL;
350 ELSE
351 l_DiscreteJob_rec.overhead_variance_account := p_old_DiscreteJob_rec.overhead_variance_account;
352 END IF;
353
354 IF p_old_DiscreteJob_rec.primary_item_id = FND_API.G_MISS_NUM THEN
355 NULL;
356 ELSE
357 l_DiscreteJob_rec.primary_item_id := p_old_DiscreteJob_rec.primary_item_id;
358 END IF;
359
360 IF p_old_DiscreteJob_rec.program_application_id = FND_API.G_MISS_NUM THEN
361 NULL;
362 ELSE
363 l_DiscreteJob_rec.program_application_id := p_old_DiscreteJob_rec.program_application_id;
364 END IF;
365
366 IF p_old_DiscreteJob_rec.program_id = FND_API.G_MISS_NUM THEN
367 NULL;
368 ELSE
369 l_DiscreteJob_rec.program_id := p_old_DiscreteJob_rec.program_id;
370 END IF;
371
372 IF p_old_DiscreteJob_rec.program_update_date = FND_API.G_MISS_DATE THEN
373 NULL;
374 ELSE
375 l_DiscreteJob_rec.program_update_date := p_old_DiscreteJob_rec.program_update_date;
376 END IF;
377
378 IF p_old_DiscreteJob_rec.project_costed = FND_API.G_MISS_NUM THEN
379 NULL;
380 ELSE
381 l_DiscreteJob_rec.project_costed := p_old_DiscreteJob_rec.project_costed;
382 END IF;
383
384 IF p_old_DiscreteJob_rec.project_id = FND_API.G_MISS_NUM THEN
385 NULL;
386 ELSE
387 l_DiscreteJob_rec.project_id := p_old_DiscreteJob_rec.project_id;
388 END IF;
389
390 IF p_old_DiscreteJob_rec.quantity_completed = FND_API.G_MISS_NUM THEN
391 NULL;
392 ELSE
393 l_DiscreteJob_rec.quantity_completed := p_old_DiscreteJob_rec.quantity_completed;
394 END IF;
395
396 IF p_old_DiscreteJob_rec.quantity_scrapped = FND_API.G_MISS_NUM THEN
397 NULL;
398 ELSE
399 l_DiscreteJob_rec.quantity_scrapped := p_old_DiscreteJob_rec.quantity_scrapped;
400 END IF;
401
402 IF p_old_DiscreteJob_rec.request_id = FND_API.G_MISS_NUM THEN
403 NULL;
404 ELSE
405 l_DiscreteJob_rec.request_id := p_old_DiscreteJob_rec.request_id;
406 END IF;
407
408 IF p_old_DiscreteJob_rec.resource_account = FND_API.G_MISS_NUM THEN
409 NULL;
410 ELSE
411 l_DiscreteJob_rec.resource_account := p_old_DiscreteJob_rec.resource_account;
412 END IF;
413
414 IF p_old_DiscreteJob_rec.resource_variance_account = FND_API.G_MISS_NUM THEN
415 NULL;
416 ELSE
417 l_DiscreteJob_rec.resource_variance_account := p_old_DiscreteJob_rec.resource_variance_account;
418 END IF;
419
420 IF p_old_DiscreteJob_rec.routing_reference_id = FND_API.G_MISS_NUM THEN
421 NULL;
422 ELSE
423 l_DiscreteJob_rec.routing_reference_id := p_old_DiscreteJob_rec.routing_reference_id;
424 END IF;
425
426 IF p_old_DiscreteJob_rec.routing_revision = FND_API.G_MISS_CHAR THEN
427 NULL;
428 ELSE
429 l_DiscreteJob_rec.routing_revision := p_old_DiscreteJob_rec.routing_revision;
430 END IF;
431
432 IF p_old_DiscreteJob_rec.routing_revision_date = FND_API.G_MISS_DATE THEN
433 NULL;
434 ELSE
435 l_DiscreteJob_rec.routing_revision_date := p_old_DiscreteJob_rec.routing_revision_date;
436 END IF;
437
438 IF p_old_DiscreteJob_rec.scheduled_completion_date = FND_API.G_MISS_DATE THEN
439 NULL;
440 ELSE
441 l_DiscreteJob_rec.scheduled_completion_date := p_old_DiscreteJob_rec.scheduled_completion_date;
442 END IF;
443
444 IF p_old_DiscreteJob_rec.scheduled_start_date = FND_API.G_MISS_DATE THEN
445 NULL;
446 ELSE
447 l_DiscreteJob_rec.scheduled_start_date := p_old_DiscreteJob_rec.scheduled_start_date;
451 NULL;
448 END IF;
449
450 IF p_old_DiscreteJob_rec.schedule_group_id = FND_API.G_MISS_NUM THEN
452 ELSE
453 l_DiscreteJob_rec.schedule_group_id := p_old_DiscreteJob_rec.schedule_group_id;
454 END IF;
455
456 IF p_old_DiscreteJob_rec.source_code = FND_API.G_MISS_CHAR THEN
457 NULL;
458 ELSE
459 l_DiscreteJob_rec.source_code := p_old_DiscreteJob_rec.source_code;
460 END IF;
461
462 IF p_old_DiscreteJob_rec.source_line_id = FND_API.G_MISS_NUM THEN
463 NULL;
464 ELSE
465 l_DiscreteJob_rec.source_line_id := p_old_DiscreteJob_rec.source_line_id;
466 END IF;
467
468 IF p_old_DiscreteJob_rec.start_quantity = FND_API.G_MISS_NUM THEN
469 NULL;
470 ELSE
471 l_DiscreteJob_rec.start_quantity := p_old_DiscreteJob_rec.start_quantity;
472 END IF;
473
474 IF p_old_DiscreteJob_rec.status_type = FND_API.G_MISS_NUM THEN
475 NULL;
476 ELSE
477 l_DiscreteJob_rec.status_type := p_old_DiscreteJob_rec.status_type;
478 END IF;
479
480 IF p_old_DiscreteJob_rec.std_cost_adj_account = FND_API.G_MISS_NUM THEN
481 NULL;
482 ELSE
483 l_DiscreteJob_rec.std_cost_adj_account := p_old_DiscreteJob_rec.std_cost_adj_account;
484 END IF;
485
486 IF p_old_DiscreteJob_rec.task_id = FND_API.G_MISS_NUM THEN
487 NULL;
488 ELSE
489 l_DiscreteJob_rec.task_id := p_old_DiscreteJob_rec.task_id;
490 END IF;
491
492 IF p_old_DiscreteJob_rec.wip_entity_id = FND_API.G_MISS_NUM THEN
493 NULL;
494 ELSE
495 l_DiscreteJob_rec.wip_entity_id := p_old_DiscreteJob_rec.wip_entity_id;
496 END IF;
497
498 IF p_old_DiscreteJob_rec.wip_supply_type = FND_API.G_MISS_NUM THEN
499 NULL;
500 ELSE
501 l_DiscreteJob_rec.wip_supply_type := p_old_DiscreteJob_rec.wip_supply_type;
502 END IF;
503
504 ELSE
505
506 IF l_DiscreteJob_rec.alternate_bom_designator = FND_API.G_MISS_CHAR THEN
507 l_DiscreteJob_rec.alternate_bom_designator := p_old_DiscreteJob_rec.alternate_bom_designator;
508 END IF;
509
510 IF l_DiscreteJob_rec.alternate_rout_designator = FND_API.G_MISS_CHAR THEN
511 l_DiscreteJob_rec.alternate_rout_designator := p_old_DiscreteJob_rec.alternate_rout_designator;
512 END IF;
513
514 IF l_DiscreteJob_rec.attribute1 = FND_API.G_MISS_CHAR THEN
515 l_DiscreteJob_rec.attribute1 := p_old_DiscreteJob_rec.attribute1;
516 END IF;
517
518 IF l_DiscreteJob_rec.attribute10 = FND_API.G_MISS_CHAR THEN
519 l_DiscreteJob_rec.attribute10 := p_old_DiscreteJob_rec.attribute10;
520 END IF;
521
522 IF l_DiscreteJob_rec.attribute11 = FND_API.G_MISS_CHAR THEN
523 l_DiscreteJob_rec.attribute11 := p_old_DiscreteJob_rec.attribute11;
524 END IF;
525
526 IF l_DiscreteJob_rec.attribute12 = FND_API.G_MISS_CHAR THEN
527 l_DiscreteJob_rec.attribute12 := p_old_DiscreteJob_rec.attribute12;
528 END IF;
529
530 IF l_DiscreteJob_rec.attribute13 = FND_API.G_MISS_CHAR THEN
531 l_DiscreteJob_rec.attribute13 := p_old_DiscreteJob_rec.attribute13;
532 END IF;
533
534 IF l_DiscreteJob_rec.attribute14 = FND_API.G_MISS_CHAR THEN
535 l_DiscreteJob_rec.attribute14 := p_old_DiscreteJob_rec.attribute14;
536 END IF;
537
538 IF l_DiscreteJob_rec.attribute15 = FND_API.G_MISS_CHAR THEN
539 l_DiscreteJob_rec.attribute15 := p_old_DiscreteJob_rec.attribute15;
540 END IF;
541
542 IF l_DiscreteJob_rec.attribute2 = FND_API.G_MISS_CHAR THEN
543 l_DiscreteJob_rec.attribute2 := p_old_DiscreteJob_rec.attribute2;
544 END IF;
545
546 IF l_DiscreteJob_rec.attribute3 = FND_API.G_MISS_CHAR THEN
547 l_DiscreteJob_rec.attribute3 := p_old_DiscreteJob_rec.attribute3;
548 END IF;
549
550 IF l_DiscreteJob_rec.attribute4 = FND_API.G_MISS_CHAR THEN
551 l_DiscreteJob_rec.attribute4 := p_old_DiscreteJob_rec.attribute4;
552 END IF;
553
554 IF l_DiscreteJob_rec.attribute5 = FND_API.G_MISS_CHAR THEN
555 l_DiscreteJob_rec.attribute5 := p_old_DiscreteJob_rec.attribute5;
556 END IF;
557
558 IF l_DiscreteJob_rec.attribute6 = FND_API.G_MISS_CHAR THEN
559 l_DiscreteJob_rec.attribute6 := p_old_DiscreteJob_rec.attribute6;
560 END IF;
561
562 IF l_DiscreteJob_rec.attribute7 = FND_API.G_MISS_CHAR THEN
563 l_DiscreteJob_rec.attribute7 := p_old_DiscreteJob_rec.attribute7;
564 END IF;
565
566 IF l_DiscreteJob_rec.attribute8 = FND_API.G_MISS_CHAR THEN
567 l_DiscreteJob_rec.attribute8 := p_old_DiscreteJob_rec.attribute8;
568 END IF;
569
570 IF l_DiscreteJob_rec.attribute9 = FND_API.G_MISS_CHAR THEN
571 l_DiscreteJob_rec.attribute9 := p_old_DiscreteJob_rec.attribute9;
572 END IF;
573
574 IF l_DiscreteJob_rec.attribute_category = FND_API.G_MISS_CHAR THEN
575 l_DiscreteJob_rec.attribute_category := p_old_DiscreteJob_rec.attribute_category;
576 END IF;
577
578 IF l_DiscreteJob_rec.bom_reference_id = FND_API.G_MISS_NUM THEN
579 l_DiscreteJob_rec.bom_reference_id := p_old_DiscreteJob_rec.bom_reference_id;
580 END IF;
581
582 IF l_DiscreteJob_rec.bom_revision = FND_API.G_MISS_CHAR THEN
583 l_DiscreteJob_rec.bom_revision := p_old_DiscreteJob_rec.bom_revision;
584 END IF;
585
589
586 IF l_DiscreteJob_rec.bom_revision_date = FND_API.G_MISS_DATE THEN
587 l_DiscreteJob_rec.bom_revision_date := p_old_DiscreteJob_rec.bom_revision_date;
588 END IF;
590 IF l_DiscreteJob_rec.build_sequence = FND_API.G_MISS_NUM THEN
591 l_DiscreteJob_rec.build_sequence := p_old_DiscreteJob_rec.build_sequence;
592 END IF;
593
594 IF l_DiscreteJob_rec.class_code = FND_API.G_MISS_CHAR THEN
595 l_DiscreteJob_rec.class_code := p_old_DiscreteJob_rec.class_code;
596 END IF;
597
598 IF l_DiscreteJob_rec.common_bom_sequence_id = FND_API.G_MISS_NUM THEN
599 l_DiscreteJob_rec.common_bom_sequence_id := p_old_DiscreteJob_rec.common_bom_sequence_id;
600 END IF;
601
602 IF l_DiscreteJob_rec.common_rout_sequence_id = FND_API.G_MISS_NUM THEN
603 l_DiscreteJob_rec.common_rout_sequence_id := p_old_DiscreteJob_rec.common_rout_sequence_id;
604 END IF;
605
606 IF l_DiscreteJob_rec.completion_locator_id = FND_API.G_MISS_NUM THEN
607 l_DiscreteJob_rec.completion_locator_id := p_old_DiscreteJob_rec.completion_locator_id;
608 END IF;
609
610 IF l_DiscreteJob_rec.completion_subinventory = FND_API.G_MISS_CHAR THEN
611 l_DiscreteJob_rec.completion_subinventory := p_old_DiscreteJob_rec.completion_subinventory;
612 END IF;
613
614 IF l_DiscreteJob_rec.created_by = FND_API.G_MISS_NUM THEN
615 l_DiscreteJob_rec.created_by := p_old_DiscreteJob_rec.created_by;
616 END IF;
617
618 IF l_DiscreteJob_rec.creation_date = FND_API.G_MISS_DATE THEN
619 l_DiscreteJob_rec.creation_date := p_old_DiscreteJob_rec.creation_date;
620 END IF;
621
622 IF l_DiscreteJob_rec.date_closed = FND_API.G_MISS_DATE THEN
623 l_DiscreteJob_rec.date_closed := p_old_DiscreteJob_rec.date_closed;
624 END IF;
625
626 IF l_DiscreteJob_rec.date_completed = FND_API.G_MISS_DATE THEN
627 l_DiscreteJob_rec.date_completed := p_old_DiscreteJob_rec.date_completed;
628 END IF;
629
630 IF l_DiscreteJob_rec.date_released = FND_API.G_MISS_DATE THEN
631 l_DiscreteJob_rec.date_released := p_old_DiscreteJob_rec.date_released;
632 END IF;
633
634 IF l_DiscreteJob_rec.demand_class = FND_API.G_MISS_CHAR THEN
635 l_DiscreteJob_rec.demand_class := p_old_DiscreteJob_rec.demand_class;
636 END IF;
637
638 IF l_DiscreteJob_rec.description = FND_API.G_MISS_CHAR THEN
639 l_DiscreteJob_rec.description := p_old_DiscreteJob_rec.description;
640 END IF;
641
642 IF l_DiscreteJob_rec.firm_planned_flag = FND_API.G_MISS_NUM THEN
643 l_DiscreteJob_rec.firm_planned_flag := p_old_DiscreteJob_rec.firm_planned_flag;
644 END IF;
645
646 IF l_DiscreteJob_rec.job_type = FND_API.G_MISS_NUM THEN
647 l_DiscreteJob_rec.job_type := p_old_DiscreteJob_rec.job_type;
648 END IF;
649
650 IF l_DiscreteJob_rec.kanban_card_id = FND_API.G_MISS_NUM THEN
651 l_DiscreteJob_rec.kanban_card_id := p_old_DiscreteJob_rec.kanban_card_id;
652 END IF;
653
654 IF l_DiscreteJob_rec.last_updated_by = FND_API.G_MISS_NUM THEN
655 l_DiscreteJob_rec.last_updated_by := p_old_DiscreteJob_rec.last_updated_by;
656 END IF;
657
658 IF l_DiscreteJob_rec.last_update_date = FND_API.G_MISS_DATE THEN
659 l_DiscreteJob_rec.last_update_date := p_old_DiscreteJob_rec.last_update_date;
660 END IF;
661
662 IF l_DiscreteJob_rec.last_update_login = FND_API.G_MISS_NUM THEN
663 l_DiscreteJob_rec.last_update_login := p_old_DiscreteJob_rec.last_update_login;
664 END IF;
665
666 IF l_DiscreteJob_rec.line_id = FND_API.G_MISS_NUM THEN
667 l_DiscreteJob_rec.line_id := p_old_DiscreteJob_rec.line_id;
668 END IF;
669
670 IF l_DiscreteJob_rec.lot_number = FND_API.G_MISS_CHAR THEN
671 l_DiscreteJob_rec.lot_number := p_old_DiscreteJob_rec.lot_number;
672 END IF;
673
674 IF l_DiscreteJob_rec.material_account = FND_API.G_MISS_NUM THEN
675 l_DiscreteJob_rec.material_account := p_old_DiscreteJob_rec.material_account;
676 END IF;
677
678 IF l_DiscreteJob_rec.material_overhead_account = FND_API.G_MISS_NUM THEN
679 l_DiscreteJob_rec.material_overhead_account := p_old_DiscreteJob_rec.material_overhead_account;
680 END IF;
681
682 IF l_DiscreteJob_rec.material_variance_account = FND_API.G_MISS_NUM THEN
683 l_DiscreteJob_rec.material_variance_account := p_old_DiscreteJob_rec.material_variance_account;
684 END IF;
685
686 IF l_DiscreteJob_rec.mps_net_quantity = FND_API.G_MISS_NUM THEN
687 l_DiscreteJob_rec.mps_net_quantity := p_old_DiscreteJob_rec.mps_net_quantity;
688 END IF;
689
690 IF l_DiscreteJob_rec.mps_scheduled_cpl_date = FND_API.G_MISS_DATE THEN
691 l_DiscreteJob_rec.mps_scheduled_cpl_date := p_old_DiscreteJob_rec.mps_scheduled_cpl_date;
692 END IF;
693
694 IF l_DiscreteJob_rec.net_quantity = FND_API.G_MISS_NUM THEN
695 l_DiscreteJob_rec.net_quantity := p_old_DiscreteJob_rec.net_quantity;
696 END IF;
697
698 IF l_DiscreteJob_rec.organization_id = FND_API.G_MISS_NUM THEN
699 l_DiscreteJob_rec.organization_id := p_old_DiscreteJob_rec.organization_id;
700 END IF;
701
702 IF l_DiscreteJob_rec.osp_account = FND_API.G_MISS_NUM THEN
703 l_DiscreteJob_rec.osp_account := p_old_DiscreteJob_rec.osp_account;
704 END IF;
705
706 IF l_DiscreteJob_rec.osp_variance_account = FND_API.G_MISS_NUM THEN
710 IF l_DiscreteJob_rec.overcpl_tolerance_type = FND_API.G_MISS_NUM THEN
707 l_DiscreteJob_rec.osp_variance_account := p_old_DiscreteJob_rec.osp_variance_account;
708 END IF;
709
711 l_DiscreteJob_rec.overcpl_tolerance_type := p_old_DiscreteJob_rec.overcpl_tolerance_type;
712 END IF;
713
714 IF l_DiscreteJob_rec.overcpl_tolerance_value = FND_API.G_MISS_NUM THEN
715 l_DiscreteJob_rec.overcpl_tolerance_value := p_old_DiscreteJob_rec.overcpl_tolerance_value;
716 END IF;
717
718 IF l_DiscreteJob_rec.overhead_account = FND_API.G_MISS_NUM THEN
719 l_DiscreteJob_rec.overhead_account := p_old_DiscreteJob_rec.overhead_account;
720 END IF;
721
722 IF l_DiscreteJob_rec.overhead_variance_account = FND_API.G_MISS_NUM THEN
723 l_DiscreteJob_rec.overhead_variance_account := p_old_DiscreteJob_rec.overhead_variance_account;
724 END IF;
725
726 IF l_DiscreteJob_rec.primary_item_id = FND_API.G_MISS_NUM THEN
727 l_DiscreteJob_rec.primary_item_id := p_old_DiscreteJob_rec.primary_item_id;
728 END IF;
729
730 IF l_DiscreteJob_rec.program_application_id = FND_API.G_MISS_NUM THEN
731 l_DiscreteJob_rec.program_application_id := p_old_DiscreteJob_rec.program_application_id;
732 END IF;
733
734 IF l_DiscreteJob_rec.program_id = FND_API.G_MISS_NUM THEN
735 l_DiscreteJob_rec.program_id := p_old_DiscreteJob_rec.program_id;
736 END IF;
737
738 IF l_DiscreteJob_rec.program_update_date = FND_API.G_MISS_DATE THEN
739 l_DiscreteJob_rec.program_update_date := p_old_DiscreteJob_rec.program_update_date;
740 END IF;
741
742 IF l_DiscreteJob_rec.project_costed = FND_API.G_MISS_NUM THEN
743 l_DiscreteJob_rec.project_costed := p_old_DiscreteJob_rec.project_costed;
744 END IF;
745
746 IF l_DiscreteJob_rec.project_id = FND_API.G_MISS_NUM THEN
747 l_DiscreteJob_rec.project_id := p_old_DiscreteJob_rec.project_id;
748 END IF;
749
750 IF l_DiscreteJob_rec.quantity_completed = FND_API.G_MISS_NUM THEN
751 l_DiscreteJob_rec.quantity_completed := p_old_DiscreteJob_rec.quantity_completed;
752 END IF;
753
754 IF l_DiscreteJob_rec.quantity_scrapped = FND_API.G_MISS_NUM THEN
755 l_DiscreteJob_rec.quantity_scrapped := p_old_DiscreteJob_rec.quantity_scrapped;
756 END IF;
757
758 IF l_DiscreteJob_rec.request_id = FND_API.G_MISS_NUM THEN
759 l_DiscreteJob_rec.request_id := p_old_DiscreteJob_rec.request_id;
760 END IF;
761
762 IF l_DiscreteJob_rec.resource_account = FND_API.G_MISS_NUM THEN
763 l_DiscreteJob_rec.resource_account := p_old_DiscreteJob_rec.resource_account;
764 END IF;
765
766 IF l_DiscreteJob_rec.resource_variance_account = FND_API.G_MISS_NUM THEN
767 l_DiscreteJob_rec.resource_variance_account := p_old_DiscreteJob_rec.resource_variance_account;
768 END IF;
769
770 IF l_DiscreteJob_rec.routing_reference_id = FND_API.G_MISS_NUM THEN
771 l_DiscreteJob_rec.routing_reference_id := p_old_DiscreteJob_rec.routing_reference_id;
772 END IF;
773
774 IF l_DiscreteJob_rec.routing_revision = FND_API.G_MISS_CHAR THEN
775 l_DiscreteJob_rec.routing_revision := p_old_DiscreteJob_rec.routing_revision;
776 END IF;
777
778 IF l_DiscreteJob_rec.routing_revision_date = FND_API.G_MISS_DATE THEN
779 l_DiscreteJob_rec.routing_revision_date := p_old_DiscreteJob_rec.routing_revision_date;
780 END IF;
781
782 IF l_DiscreteJob_rec.scheduled_completion_date = FND_API.G_MISS_DATE THEN
783 l_DiscreteJob_rec.scheduled_completion_date := p_old_DiscreteJob_rec.scheduled_completion_date;
784 END IF;
785
786 IF l_DiscreteJob_rec.scheduled_start_date = FND_API.G_MISS_DATE THEN
787 l_DiscreteJob_rec.scheduled_start_date := p_old_DiscreteJob_rec.scheduled_start_date;
788 END IF;
789
790 IF l_DiscreteJob_rec.schedule_group_id = FND_API.G_MISS_NUM THEN
791 l_DiscreteJob_rec.schedule_group_id := p_old_DiscreteJob_rec.schedule_group_id;
792 END IF;
793
794 IF l_DiscreteJob_rec.source_code = FND_API.G_MISS_CHAR THEN
795 l_DiscreteJob_rec.source_code := p_old_DiscreteJob_rec.source_code;
796 END IF;
797
798 IF l_DiscreteJob_rec.source_line_id = FND_API.G_MISS_NUM THEN
799 l_DiscreteJob_rec.source_line_id := p_old_DiscreteJob_rec.source_line_id;
800 END IF;
801
802 IF l_DiscreteJob_rec.start_quantity = FND_API.G_MISS_NUM THEN
803 l_DiscreteJob_rec.start_quantity := p_old_DiscreteJob_rec.start_quantity;
804 END IF;
805
806 IF l_DiscreteJob_rec.status_type = FND_API.G_MISS_NUM THEN
807 l_DiscreteJob_rec.status_type := p_old_DiscreteJob_rec.status_type;
808 END IF;
809
810 IF l_DiscreteJob_rec.std_cost_adj_account = FND_API.G_MISS_NUM THEN
811 l_DiscreteJob_rec.std_cost_adj_account := p_old_DiscreteJob_rec.std_cost_adj_account;
812 END IF;
813
814 IF l_DiscreteJob_rec.task_id = FND_API.G_MISS_NUM THEN
815 l_DiscreteJob_rec.task_id := p_old_DiscreteJob_rec.task_id;
816 END IF;
817
818 IF l_DiscreteJob_rec.wip_entity_id = FND_API.G_MISS_NUM THEN
819 l_DiscreteJob_rec.wip_entity_id := p_old_DiscreteJob_rec.wip_entity_id;
820 END IF;
821
822 IF l_DiscreteJob_rec.wip_supply_type = FND_API.G_MISS_NUM THEN
823 l_DiscreteJob_rec.wip_supply_type := p_old_DiscreteJob_rec.wip_supply_type;
824 END IF;
828 RETURN l_DiscreteJob_rec;
825
826 END IF;
827 END IF;
829
830 END Complete_Record;
831
832 -- Function Convert_Miss_To_Null
833
834 FUNCTION Convert_Miss_To_Null
835 ( p_DiscreteJob_rec IN WIP_Work_Order_PUB.Discretejob_Rec_Type
836 ) RETURN WIP_Work_Order_PUB.Discretejob_Rec_Type
837 IS
838 l_DiscreteJob_rec WIP_Work_Order_PUB.Discretejob_Rec_Type := p_DiscreteJob_rec;
839 BEGIN
840
841 IF l_DiscreteJob_rec.alternate_bom_designator = FND_API.G_MISS_CHAR THEN
842 l_DiscreteJob_rec.alternate_bom_designator := NULL;
843 END IF;
844
845 IF l_DiscreteJob_rec.alternate_rout_designator = FND_API.G_MISS_CHAR THEN
846 l_DiscreteJob_rec.alternate_rout_designator := NULL;
847 END IF;
848
849 IF l_DiscreteJob_rec.attribute1 = FND_API.G_MISS_CHAR THEN
850 l_DiscreteJob_rec.attribute1 := NULL;
851 END IF;
852
853 IF l_DiscreteJob_rec.attribute10 = FND_API.G_MISS_CHAR THEN
854 l_DiscreteJob_rec.attribute10 := NULL;
855 END IF;
856
857 IF l_DiscreteJob_rec.attribute11 = FND_API.G_MISS_CHAR THEN
858 l_DiscreteJob_rec.attribute11 := NULL;
859 END IF;
860
861 IF l_DiscreteJob_rec.attribute12 = FND_API.G_MISS_CHAR THEN
862 l_DiscreteJob_rec.attribute12 := NULL;
863 END IF;
864
865 IF l_DiscreteJob_rec.attribute13 = FND_API.G_MISS_CHAR THEN
866 l_DiscreteJob_rec.attribute13 := NULL;
867 END IF;
868
869 IF l_DiscreteJob_rec.attribute14 = FND_API.G_MISS_CHAR THEN
870 l_DiscreteJob_rec.attribute14 := NULL;
871 END IF;
872
873 IF l_DiscreteJob_rec.attribute15 = FND_API.G_MISS_CHAR THEN
874 l_DiscreteJob_rec.attribute15 := NULL;
875 END IF;
876
877 IF l_DiscreteJob_rec.attribute2 = FND_API.G_MISS_CHAR THEN
878 l_DiscreteJob_rec.attribute2 := NULL;
879 END IF;
880
881 IF l_DiscreteJob_rec.attribute3 = FND_API.G_MISS_CHAR THEN
882 l_DiscreteJob_rec.attribute3 := NULL;
883 END IF;
884
885 IF l_DiscreteJob_rec.attribute4 = FND_API.G_MISS_CHAR THEN
886 l_DiscreteJob_rec.attribute4 := NULL;
887 END IF;
888
889 IF l_DiscreteJob_rec.attribute5 = FND_API.G_MISS_CHAR THEN
890 l_DiscreteJob_rec.attribute5 := NULL;
891 END IF;
892
893 IF l_DiscreteJob_rec.attribute6 = FND_API.G_MISS_CHAR THEN
894 l_DiscreteJob_rec.attribute6 := NULL;
895 END IF;
896
897 IF l_DiscreteJob_rec.attribute7 = FND_API.G_MISS_CHAR THEN
898 l_DiscreteJob_rec.attribute7 := NULL;
899 END IF;
900
901 IF l_DiscreteJob_rec.attribute8 = FND_API.G_MISS_CHAR THEN
902 l_DiscreteJob_rec.attribute8 := NULL;
903 END IF;
904
905 IF l_DiscreteJob_rec.attribute9 = FND_API.G_MISS_CHAR THEN
906 l_DiscreteJob_rec.attribute9 := NULL;
907 END IF;
908
909 IF l_DiscreteJob_rec.attribute_category = FND_API.G_MISS_CHAR THEN
910 l_DiscreteJob_rec.attribute_category := NULL;
911 END IF;
912
913 IF l_DiscreteJob_rec.bom_reference_id = FND_API.G_MISS_NUM THEN
914 l_DiscreteJob_rec.bom_reference_id := NULL;
915 END IF;
916
917 IF l_DiscreteJob_rec.bom_revision = FND_API.G_MISS_CHAR THEN
918 l_DiscreteJob_rec.bom_revision := NULL;
919 END IF;
920
921 IF l_DiscreteJob_rec.bom_revision_date = FND_API.G_MISS_DATE THEN
922 l_DiscreteJob_rec.bom_revision_date := NULL;
923 END IF;
924
925 IF l_DiscreteJob_rec.build_sequence = FND_API.G_MISS_NUM THEN
926 l_DiscreteJob_rec.build_sequence := NULL;
927 END IF;
928
929 IF l_DiscreteJob_rec.class_code = FND_API.G_MISS_CHAR THEN
930 l_DiscreteJob_rec.class_code := NULL;
931 END IF;
932
933 IF l_DiscreteJob_rec.common_bom_sequence_id = FND_API.G_MISS_NUM THEN
934 l_DiscreteJob_rec.common_bom_sequence_id := NULL;
935 END IF;
936
937 IF l_DiscreteJob_rec.common_rout_sequence_id = FND_API.G_MISS_NUM THEN
938 l_DiscreteJob_rec.common_rout_sequence_id := NULL;
939 END IF;
940
941 IF l_DiscreteJob_rec.completion_locator_id = FND_API.G_MISS_NUM THEN
942 l_DiscreteJob_rec.completion_locator_id := NULL;
943 END IF;
944
945 IF l_DiscreteJob_rec.completion_subinventory = FND_API.G_MISS_CHAR THEN
946 l_DiscreteJob_rec.completion_subinventory := NULL;
947 END IF;
948
949 IF l_DiscreteJob_rec.created_by = FND_API.G_MISS_NUM THEN
950 l_DiscreteJob_rec.created_by := NULL;
951 END IF;
952
953 IF l_DiscreteJob_rec.creation_date = FND_API.G_MISS_DATE THEN
954 l_DiscreteJob_rec.creation_date := NULL;
955 END IF;
956
957 IF l_DiscreteJob_rec.date_closed = FND_API.G_MISS_DATE THEN
958 l_DiscreteJob_rec.date_closed := NULL;
959 END IF;
960
961 IF l_DiscreteJob_rec.date_completed = FND_API.G_MISS_DATE THEN
962 l_DiscreteJob_rec.date_completed := NULL;
963 END IF;
964
965 IF l_DiscreteJob_rec.date_released = FND_API.G_MISS_DATE THEN
966 l_DiscreteJob_rec.date_released := NULL;
967 END IF;
968
969 IF l_DiscreteJob_rec.demand_class = FND_API.G_MISS_CHAR THEN
970 l_DiscreteJob_rec.demand_class := NULL;
971 END IF;
972
976
973 IF l_DiscreteJob_rec.description = FND_API.G_MISS_CHAR THEN
974 l_DiscreteJob_rec.description := NULL;
975 END IF;
977 IF l_DiscreteJob_rec.firm_planned_flag = FND_API.G_MISS_NUM THEN
978 l_DiscreteJob_rec.firm_planned_flag := NULL;
979 END IF;
980
981 IF l_DiscreteJob_rec.job_type = FND_API.G_MISS_NUM THEN
982 l_DiscreteJob_rec.job_type := NULL;
983 END IF;
984
985 IF l_DiscreteJob_rec.kanban_card_id = FND_API.G_MISS_NUM THEN
986 l_DiscreteJob_rec.kanban_card_id := NULL;
987 END IF;
988
989 IF l_DiscreteJob_rec.last_updated_by = FND_API.G_MISS_NUM THEN
990 l_DiscreteJob_rec.last_updated_by := NULL;
991 END IF;
992
993 IF l_DiscreteJob_rec.last_update_date = FND_API.G_MISS_DATE THEN
994 l_DiscreteJob_rec.last_update_date := NULL;
995 END IF;
996
997 IF l_DiscreteJob_rec.last_update_login = FND_API.G_MISS_NUM THEN
998 l_DiscreteJob_rec.last_update_login := NULL;
999 END IF;
1000
1001 IF l_DiscreteJob_rec.line_id = FND_API.G_MISS_NUM THEN
1002 l_DiscreteJob_rec.line_id := NULL;
1003 END IF;
1004
1005 IF l_DiscreteJob_rec.lot_number = FND_API.G_MISS_CHAR THEN
1006 l_DiscreteJob_rec.lot_number := NULL;
1007 END IF;
1008
1009 IF l_DiscreteJob_rec.material_account = FND_API.G_MISS_NUM THEN
1010 l_DiscreteJob_rec.material_account := NULL;
1011 END IF;
1012
1013 IF l_DiscreteJob_rec.material_overhead_account = FND_API.G_MISS_NUM THEN
1014 l_DiscreteJob_rec.material_overhead_account := NULL;
1015 END IF;
1016
1017 IF l_DiscreteJob_rec.material_variance_account = FND_API.G_MISS_NUM THEN
1018 l_DiscreteJob_rec.material_variance_account := NULL;
1019 END IF;
1020
1021 IF l_DiscreteJob_rec.mps_net_quantity = FND_API.G_MISS_NUM THEN
1022 l_DiscreteJob_rec.mps_net_quantity := NULL;
1023 END IF;
1024
1025 IF l_DiscreteJob_rec.mps_scheduled_cpl_date = FND_API.G_MISS_DATE THEN
1026 l_DiscreteJob_rec.mps_scheduled_cpl_date := NULL;
1027 END IF;
1028
1029 IF l_DiscreteJob_rec.net_quantity = FND_API.G_MISS_NUM THEN
1030 l_DiscreteJob_rec.net_quantity := NULL;
1031 END IF;
1032
1033 IF l_DiscreteJob_rec.organization_id = FND_API.G_MISS_NUM THEN
1034 l_DiscreteJob_rec.organization_id := NULL;
1035 END IF;
1036
1037 IF l_DiscreteJob_rec.osp_account = FND_API.G_MISS_NUM THEN
1038 l_DiscreteJob_rec.osp_account := NULL;
1039 END IF;
1040
1041 IF l_DiscreteJob_rec.osp_variance_account = FND_API.G_MISS_NUM THEN
1042 l_DiscreteJob_rec.osp_variance_account := NULL;
1043 END IF;
1044
1045 IF l_DiscreteJob_rec.overcpl_tolerance_type = FND_API.G_MISS_NUM THEN
1046 l_DiscreteJob_rec.overcpl_tolerance_type := NULL;
1047 END IF;
1048
1049 IF l_DiscreteJob_rec.overcpl_tolerance_value = FND_API.G_MISS_NUM THEN
1050 l_DiscreteJob_rec.overcpl_tolerance_value := NULL;
1051 END IF;
1052
1053 IF l_DiscreteJob_rec.overhead_account = FND_API.G_MISS_NUM THEN
1054 l_DiscreteJob_rec.overhead_account := NULL;
1055 END IF;
1056
1057 IF l_DiscreteJob_rec.overhead_variance_account = FND_API.G_MISS_NUM THEN
1058 l_DiscreteJob_rec.overhead_variance_account := NULL;
1059 END IF;
1060
1061 IF l_DiscreteJob_rec.primary_item_id = FND_API.G_MISS_NUM THEN
1062 l_DiscreteJob_rec.primary_item_id := NULL;
1063 END IF;
1064
1065 IF l_DiscreteJob_rec.program_application_id = FND_API.G_MISS_NUM THEN
1066 l_DiscreteJob_rec.program_application_id := NULL;
1067 END IF;
1068
1069 IF l_DiscreteJob_rec.program_id = FND_API.G_MISS_NUM THEN
1070 l_DiscreteJob_rec.program_id := NULL;
1071 END IF;
1072
1073 IF l_DiscreteJob_rec.program_update_date = FND_API.G_MISS_DATE THEN
1074 l_DiscreteJob_rec.program_update_date := NULL;
1075 END IF;
1076
1077 IF l_DiscreteJob_rec.project_costed = FND_API.G_MISS_NUM THEN
1078 l_DiscreteJob_rec.project_costed := NULL;
1079 END IF;
1080
1081 IF l_DiscreteJob_rec.project_id = FND_API.G_MISS_NUM THEN
1082 l_DiscreteJob_rec.project_id := NULL;
1083 END IF;
1084
1085 IF l_DiscreteJob_rec.quantity_completed = FND_API.G_MISS_NUM THEN
1086 l_DiscreteJob_rec.quantity_completed := NULL;
1087 END IF;
1088
1089 IF l_DiscreteJob_rec.quantity_scrapped = FND_API.G_MISS_NUM THEN
1090 l_DiscreteJob_rec.quantity_scrapped := NULL;
1091 END IF;
1092
1093 IF l_DiscreteJob_rec.request_id = FND_API.G_MISS_NUM THEN
1094 l_DiscreteJob_rec.request_id := NULL;
1095 END IF;
1096
1097 IF l_DiscreteJob_rec.resource_account = FND_API.G_MISS_NUM THEN
1098 l_DiscreteJob_rec.resource_account := NULL;
1099 END IF;
1100
1101 IF l_DiscreteJob_rec.resource_variance_account = FND_API.G_MISS_NUM THEN
1102 l_DiscreteJob_rec.resource_variance_account := NULL;
1103 END IF;
1104
1105 IF l_DiscreteJob_rec.routing_reference_id = FND_API.G_MISS_NUM THEN
1106 l_DiscreteJob_rec.routing_reference_id := NULL;
1107 END IF;
1108
1112
1109 IF l_DiscreteJob_rec.routing_revision = FND_API.G_MISS_CHAR THEN
1110 l_DiscreteJob_rec.routing_revision := NULL;
1111 END IF;
1113 IF l_DiscreteJob_rec.routing_revision_date = FND_API.G_MISS_DATE THEN
1114 l_DiscreteJob_rec.routing_revision_date := NULL;
1115 END IF;
1116
1117 IF l_DiscreteJob_rec.scheduled_completion_date = FND_API.G_MISS_DATE THEN
1118 l_DiscreteJob_rec.scheduled_completion_date := NULL;
1119 END IF;
1120
1121 IF l_DiscreteJob_rec.scheduled_start_date = FND_API.G_MISS_DATE THEN
1122 l_DiscreteJob_rec.scheduled_start_date := NULL;
1123 END IF;
1124
1125 IF l_DiscreteJob_rec.schedule_group_id = FND_API.G_MISS_NUM THEN
1126 l_DiscreteJob_rec.schedule_group_id := NULL;
1127 END IF;
1128
1129 IF l_DiscreteJob_rec.source_code = FND_API.G_MISS_CHAR THEN
1130 l_DiscreteJob_rec.source_code := NULL;
1131 END IF;
1132
1133 IF l_DiscreteJob_rec.source_line_id = FND_API.G_MISS_NUM THEN
1134 l_DiscreteJob_rec.source_line_id := NULL;
1135 END IF;
1136
1137 IF l_DiscreteJob_rec.start_quantity = FND_API.G_MISS_NUM THEN
1138 l_DiscreteJob_rec.start_quantity := NULL;
1139 END IF;
1140
1141 IF l_DiscreteJob_rec.status_type = FND_API.G_MISS_NUM THEN
1142 l_DiscreteJob_rec.status_type := NULL;
1143 END IF;
1144
1145 IF l_DiscreteJob_rec.std_cost_adj_account = FND_API.G_MISS_NUM THEN
1146 l_DiscreteJob_rec.std_cost_adj_account := NULL;
1147 END IF;
1148
1149 IF l_DiscreteJob_rec.task_id = FND_API.G_MISS_NUM THEN
1150 l_DiscreteJob_rec.task_id := NULL;
1151 END IF;
1152
1153 IF l_DiscreteJob_rec.wip_entity_id = FND_API.G_MISS_NUM THEN
1154 l_DiscreteJob_rec.wip_entity_id := NULL;
1155 END IF;
1156
1157 IF l_DiscreteJob_rec.wip_supply_type = FND_API.G_MISS_NUM THEN
1158 l_DiscreteJob_rec.wip_supply_type := NULL;
1159 END IF;
1160
1161 RETURN l_DiscreteJob_rec;
1162
1163 END Convert_Miss_To_Null;
1164
1165 -- Procedure Update_Row
1166
1167 PROCEDURE Update_Row
1168 ( p_DiscreteJob_rec IN WIP_Work_Order_PUB.Discretejob_Rec_Type
1169 )
1170 IS
1171 BEGIN
1172
1173 UPDATE WIP_DISCRETE_JOBS
1174 SET ALTERNATE_BOM_DESIGNATOR = p_DiscreteJob_rec.alternate_bom_designator
1175 , ALTERNATE_ROUTING_DESIGNATOR = p_DiscreteJob_rec.alternate_rout_designator
1176 , ATTRIBUTE1 = p_DiscreteJob_rec.attribute1
1177 , ATTRIBUTE10 = p_DiscreteJob_rec.attribute10
1178 , ATTRIBUTE11 = p_DiscreteJob_rec.attribute11
1179 , ATTRIBUTE12 = p_DiscreteJob_rec.attribute12
1180 , ATTRIBUTE13 = p_DiscreteJob_rec.attribute13
1181 , ATTRIBUTE14 = p_DiscreteJob_rec.attribute14
1182 , ATTRIBUTE15 = p_DiscreteJob_rec.attribute15
1183 , ATTRIBUTE2 = p_DiscreteJob_rec.attribute2
1184 , ATTRIBUTE3 = p_DiscreteJob_rec.attribute3
1185 , ATTRIBUTE4 = p_DiscreteJob_rec.attribute4
1186 , ATTRIBUTE5 = p_DiscreteJob_rec.attribute5
1187 , ATTRIBUTE6 = p_DiscreteJob_rec.attribute6
1188 , ATTRIBUTE7 = p_DiscreteJob_rec.attribute7
1189 , ATTRIBUTE8 = p_DiscreteJob_rec.attribute8
1190 , ATTRIBUTE9 = p_DiscreteJob_rec.attribute9
1191 , ATTRIBUTE_CATEGORY = p_DiscreteJob_rec.attribute_category
1192 , BOM_REFERENCE_ID = p_DiscreteJob_rec.bom_reference_id
1193 , BOM_REVISION = p_DiscreteJob_rec.bom_revision
1194 , BOM_REVISION_DATE = p_DiscreteJob_rec.bom_revision_date
1195 , BUILD_SEQUENCE = p_DiscreteJob_rec.build_sequence
1196 , CLASS_CODE = p_DiscreteJob_rec.class_code
1197 , COMMON_BOM_SEQUENCE_ID = p_DiscreteJob_rec.common_bom_sequence_id
1198 , COMMON_ROUTING_SEQUENCE_ID = p_DiscreteJob_rec.common_rout_sequence_id
1199 , COMPLETION_LOCATOR_ID = p_DiscreteJob_rec.completion_locator_id
1200 , COMPLETION_SUBINVENTORY = p_DiscreteJob_rec.completion_subinventory
1201 , CREATED_BY = p_DiscreteJob_rec.created_by
1202 , CREATION_DATE = p_DiscreteJob_rec.creation_date
1203 , DATE_CLOSED = p_DiscreteJob_rec.date_closed
1204 , DATE_COMPLETED = p_DiscreteJob_rec.date_completed
1205 , DATE_RELEASED = p_DiscreteJob_rec.date_released
1206 , DEMAND_CLASS = p_DiscreteJob_rec.demand_class
1207 , DESCRIPTION = p_DiscreteJob_rec.description
1208 , FIRM_PLANNED_FLAG = p_DiscreteJob_rec.firm_planned_flag
1209 , JOB_TYPE = p_DiscreteJob_rec.job_type
1210 , KANBAN_CARD_ID = p_DiscreteJob_rec.kanban_card_id
1211 , LAST_UPDATED_BY = p_DiscreteJob_rec.last_updated_by
1212 , LAST_UPDATE_DATE = p_DiscreteJob_rec.last_update_date
1213 , LAST_UPDATE_LOGIN = p_DiscreteJob_rec.last_update_login
1217 , MATERIAL_OVERHEAD_ACCOUNT = p_DiscreteJob_rec.material_overhead_account
1214 , LINE_ID = p_DiscreteJob_rec.line_id
1215 , LOT_NUMBER = p_DiscreteJob_rec.lot_number
1216 , MATERIAL_ACCOUNT = p_DiscreteJob_rec.material_account
1218 , MATERIAL_VARIANCE_ACCOUNT = p_DiscreteJob_rec.material_variance_account
1219 , MPS_NET_QUANTITY = p_DiscreteJob_rec.mps_net_quantity
1220 , MPS_SCHEDULED_COMPLETION_DATE = p_DiscreteJob_rec.mps_scheduled_cpl_date
1221 , NET_QUANTITY = p_DiscreteJob_rec.net_quantity
1222 , ORGANIZATION_ID = p_DiscreteJob_rec.organization_id
1223 , OUTSIDE_PROCESSING_ACCOUNT = p_DiscreteJob_rec.osp_account
1224 , OUTSIDE_PROC_VARIANCE_ACCOUNT = p_DiscreteJob_rec.osp_variance_account
1225 , OVERCOMPLETION_TOLERANCE_TYPE = p_DiscreteJob_rec.overcpl_tolerance_type
1226 , OVERCOMPLETION_TOLERANCE_VALUE = p_DiscreteJob_rec.overcpl_tolerance_value
1227 , OVERHEAD_ACCOUNT = p_DiscreteJob_rec.overhead_account
1228 , OVERHEAD_VARIANCE_ACCOUNT = p_DiscreteJob_rec.overhead_variance_account
1229 , PRIMARY_ITEM_ID = p_DiscreteJob_rec.primary_item_id
1230 , PROGRAM_APPLICATION_ID = p_DiscreteJob_rec.program_application_id
1231 , PROGRAM_ID = p_DiscreteJob_rec.program_id
1232 , PROGRAM_UPDATE_DATE = p_DiscreteJob_rec.program_update_date
1233 -- , PROJECT_COSTED = p_DiscreteJob_rec.project_costed
1234 , PROJECT_ID = p_DiscreteJob_rec.project_id
1235 , QUANTITY_COMPLETED = p_DiscreteJob_rec.quantity_completed
1236 , QUANTITY_SCRAPPED = p_DiscreteJob_rec.quantity_scrapped
1237 , REQUEST_ID = p_DiscreteJob_rec.request_id
1238 , RESOURCE_ACCOUNT = p_DiscreteJob_rec.resource_account
1239 , RESOURCE_VARIANCE_ACCOUNT = p_DiscreteJob_rec.resource_variance_account
1240 , ROUTING_REFERENCE_ID = p_DiscreteJob_rec.routing_reference_id
1241 , ROUTING_REVISION = p_DiscreteJob_rec.routing_revision
1242 , ROUTING_REVISION_DATE = p_DiscreteJob_rec.routing_revision_date
1243 , SCHEDULED_COMPLETION_DATE = p_DiscreteJob_rec.scheduled_completion_date
1244 , SCHEDULED_START_DATE = p_DiscreteJob_rec.scheduled_start_date
1245 , SCHEDULE_GROUP_ID = p_DiscreteJob_rec.schedule_group_id
1246 , SOURCE_CODE = p_DiscreteJob_rec.source_code
1247 , SOURCE_LINE_ID = p_DiscreteJob_rec.source_line_id
1248 , START_QUANTITY = p_DiscreteJob_rec.start_quantity
1249 , STATUS_TYPE = p_DiscreteJob_rec.status_type
1250 , STD_COST_ADJUSTMENT_ACCOUNT = p_DiscreteJob_rec.std_cost_adj_account
1251 , TASK_ID = p_DiscreteJob_rec.task_id
1252 , WIP_ENTITY_ID = p_DiscreteJob_rec.wip_entity_id
1253 , WIP_SUPPLY_TYPE = p_DiscreteJob_rec.wip_supply_type
1254 WHERE WIP_ENTITY_ID = p_DiscreteJob_rec.wip_entity_id
1255 ;
1256
1257 EXCEPTION
1258
1259 WHEN OTHERS THEN
1260
1261 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1262 THEN
1263 FND_MSG_PUB.Add_Exc_Msg
1264 ( G_PKG_NAME
1265 , 'Update_Row'
1266 );
1267 END IF;
1268
1269 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1270
1271 END Update_Row;
1272
1273 -- Procedure Insert_Row
1274
1275 PROCEDURE Insert_Row
1276 ( p_DiscreteJob_rec IN WIP_Work_Order_PUB.Discretejob_Rec_Type
1277 )
1278 IS
1279 BEGIN
1280
1281 INSERT INTO WIP_DISCRETE_JOBS
1282 ( ALTERNATE_BOM_DESIGNATOR
1283 , ALTERNATE_ROUTING_DESIGNATOR
1284 , ATTRIBUTE1
1285 , ATTRIBUTE10
1286 , ATTRIBUTE11
1287 , ATTRIBUTE12
1288 , ATTRIBUTE13
1289 , ATTRIBUTE14
1290 , ATTRIBUTE15
1291 , ATTRIBUTE2
1292 , ATTRIBUTE3
1293 , ATTRIBUTE4
1294 , ATTRIBUTE5
1295 , ATTRIBUTE6
1296 , ATTRIBUTE7
1297 , ATTRIBUTE8
1298 , ATTRIBUTE9
1299 , ATTRIBUTE_CATEGORY
1300 , BOM_REFERENCE_ID
1301 , BOM_REVISION
1302 , BOM_REVISION_DATE
1303 , BUILD_SEQUENCE
1304 , CLASS_CODE
1305 , COMMON_BOM_SEQUENCE_ID
1306 , COMMON_ROUTING_SEQUENCE_ID
1307 , COMPLETION_LOCATOR_ID
1308 , COMPLETION_SUBINVENTORY
1309 , CREATED_BY
1310 , CREATION_DATE
1311 , DATE_CLOSED
1312 , DATE_COMPLETED
1313 , DATE_RELEASED
1314 , DEMAND_CLASS
1315 , DESCRIPTION
1316 , FIRM_PLANNED_FLAG
1317 , JOB_TYPE
1318 , KANBAN_CARD_ID
1319 , LAST_UPDATED_BY
1320 , LAST_UPDATE_DATE
1321 , LAST_UPDATE_LOGIN
1322 , LINE_ID
1323 , LOT_NUMBER
1324 , MATERIAL_ACCOUNT
1325 , MATERIAL_OVERHEAD_ACCOUNT
1326 , MATERIAL_VARIANCE_ACCOUNT
1327 , MPS_NET_QUANTITY
1328 , MPS_SCHEDULED_COMPLETION_DATE
1329 , NET_QUANTITY
1330 , ORGANIZATION_ID
1331 , OUTSIDE_PROCESSING_ACCOUNT
1335 , OVERHEAD_ACCOUNT
1332 , OUTSIDE_PROC_VARIANCE_ACCOUNT
1333 , OVERCOMPLETION_TOLERANCE_TYPE
1334 , OVERCOMPLETION_TOLERANCE_VALUE
1336 , OVERHEAD_VARIANCE_ACCOUNT
1337 , PRIMARY_ITEM_ID
1338 , PROGRAM_APPLICATION_ID
1339 , PROGRAM_ID
1340 , PROGRAM_UPDATE_DATE
1341 -- , PROJECT_COSTED
1342 , PROJECT_ID
1343 , QUANTITY_COMPLETED
1344 , QUANTITY_SCRAPPED
1345 , REQUEST_ID
1346 , RESOURCE_ACCOUNT
1347 , RESOURCE_VARIANCE_ACCOUNT
1348 , ROUTING_REFERENCE_ID
1349 , ROUTING_REVISION
1350 , ROUTING_REVISION_DATE
1351 , SCHEDULED_COMPLETION_DATE
1352 , SCHEDULED_START_DATE
1353 , SCHEDULE_GROUP_ID
1354 , SOURCE_CODE
1355 , SOURCE_LINE_ID
1356 , START_QUANTITY
1357 , STATUS_TYPE
1358 , STD_COST_ADJUSTMENT_ACCOUNT
1359 , TASK_ID
1360 , WIP_ENTITY_ID
1361 , WIP_SUPPLY_TYPE
1362 )
1363 VALUES
1364 ( p_DiscreteJob_rec.alternate_bom_designator
1365 , p_DiscreteJob_rec.alternate_rout_designator
1366 , p_DiscreteJob_rec.attribute1
1367 , p_DiscreteJob_rec.attribute10
1368 , p_DiscreteJob_rec.attribute11
1369 , p_DiscreteJob_rec.attribute12
1370 , p_DiscreteJob_rec.attribute13
1371 , p_DiscreteJob_rec.attribute14
1372 , p_DiscreteJob_rec.attribute15
1373 , p_DiscreteJob_rec.attribute2
1374 , p_DiscreteJob_rec.attribute3
1375 , p_DiscreteJob_rec.attribute4
1376 , p_DiscreteJob_rec.attribute5
1377 , p_DiscreteJob_rec.attribute6
1378 , p_DiscreteJob_rec.attribute7
1379 , p_DiscreteJob_rec.attribute8
1380 , p_DiscreteJob_rec.attribute9
1381 , p_DiscreteJob_rec.attribute_category
1382 , p_DiscreteJob_rec.bom_reference_id
1383 , p_DiscreteJob_rec.bom_revision
1384 , p_DiscreteJob_rec.bom_revision_date
1385 , p_DiscreteJob_rec.build_sequence
1386 , p_DiscreteJob_rec.class_code
1387 , p_DiscreteJob_rec.common_bom_sequence_id
1388 , p_DiscreteJob_rec.common_rout_sequence_id
1389 , p_DiscreteJob_rec.completion_locator_id
1390 , p_DiscreteJob_rec.completion_subinventory
1391 , p_DiscreteJob_rec.created_by
1392 , p_DiscreteJob_rec.creation_date
1393 , p_DiscreteJob_rec.date_closed
1394 , p_DiscreteJob_rec.date_completed
1395 , p_DiscreteJob_rec.date_released
1396 , p_DiscreteJob_rec.demand_class
1397 , p_DiscreteJob_rec.description
1398 , p_DiscreteJob_rec.firm_planned_flag
1399 , p_DiscreteJob_rec.job_type
1400 , p_DiscreteJob_rec.kanban_card_id
1401 , p_DiscreteJob_rec.last_updated_by
1402 , p_DiscreteJob_rec.last_update_date
1403 , p_DiscreteJob_rec.last_update_login
1404 , p_DiscreteJob_rec.line_id
1405 , p_DiscreteJob_rec.lot_number
1406 , p_DiscreteJob_rec.material_account
1407 , p_DiscreteJob_rec.material_overhead_account
1408 , p_DiscreteJob_rec.material_variance_account
1409 , p_DiscreteJob_rec.mps_net_quantity
1410 , p_DiscreteJob_rec.mps_scheduled_cpl_date
1411 , p_DiscreteJob_rec.net_quantity
1412 , p_DiscreteJob_rec.organization_id
1413 , p_DiscreteJob_rec.osp_account
1414 , p_DiscreteJob_rec.osp_variance_account
1415 , p_DiscreteJob_rec.overcpl_tolerance_type
1416 , p_DiscreteJob_rec.overcpl_tolerance_value
1417 , p_DiscreteJob_rec.overhead_account
1418 , p_DiscreteJob_rec.overhead_variance_account
1419 , p_DiscreteJob_rec.primary_item_id
1420 , p_DiscreteJob_rec.program_application_id
1421 , p_DiscreteJob_rec.program_id
1422 , p_DiscreteJob_rec.program_update_date
1423 -- , p_DiscreteJob_rec.project_costed
1424 , p_DiscreteJob_rec.project_id
1425 , p_DiscreteJob_rec.quantity_completed
1426 , p_DiscreteJob_rec.quantity_scrapped
1427 , p_DiscreteJob_rec.request_id
1428 , p_DiscreteJob_rec.resource_account
1429 , p_DiscreteJob_rec.resource_variance_account
1430 , p_DiscreteJob_rec.routing_reference_id
1431 , p_DiscreteJob_rec.routing_revision
1432 , p_DiscreteJob_rec.routing_revision_date
1433 , p_DiscreteJob_rec.scheduled_completion_date
1434 , p_DiscreteJob_rec.scheduled_start_date
1435 , p_DiscreteJob_rec.schedule_group_id
1436 , p_DiscreteJob_rec.source_code
1437 , p_DiscreteJob_rec.source_line_id
1438 , p_DiscreteJob_rec.start_quantity
1439 , p_DiscreteJob_rec.status_type
1440 , p_DiscreteJob_rec.std_cost_adj_account
1441 , p_DiscreteJob_rec.task_id
1442 , p_DiscreteJob_rec.wip_entity_id
1443 , p_DiscreteJob_rec.wip_supply_type
1444 );
1445
1446 EXCEPTION
1447
1448 WHEN OTHERS THEN
1449
1450 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1451 THEN
1452 FND_MSG_PUB.Add_Exc_Msg
1453 ( G_PKG_NAME
1454 , 'Insert_Row'
1455 );
1459
1456 END IF;
1457
1458 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1460 END Insert_Row;
1461
1462 -- Procedure Delete_Row
1463
1464 PROCEDURE Delete_Row
1465 ( p_wip_entity_id IN NUMBER
1466 )
1467 IS
1468 BEGIN
1469
1470 DELETE FROM WIP_DISCRETE_JOBS
1471 WHERE WIP_ENTITY_ID = p_wip_entity_id
1472 ;
1473
1474 EXCEPTION
1475
1476 WHEN OTHERS THEN
1477
1478 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1479 THEN
1480 FND_MSG_PUB.Add_Exc_Msg
1481 ( G_PKG_NAME
1482 , 'Delete_Row'
1483 );
1484 END IF;
1485
1486 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1487
1488 END Delete_Row;
1489
1490 -- Function Query_Row
1491
1492 FUNCTION Query_Row
1493 ( p_wip_entity_id IN NUMBER
1494 ) RETURN WIP_Work_Order_PUB.Discretejob_Rec_Type
1495 IS
1496 BEGIN
1497
1498 RETURN Query_Rows
1499 ( p_wip_entity_id => p_wip_entity_id
1500 )(1);
1501
1502 END Query_Row;
1503
1504 -- Function Query_Rows
1505
1506 --
1507
1508 FUNCTION Query_Rows
1509 ( p_wip_entity_id IN NUMBER :=
1510 NULL
1511 ) RETURN WIP_Work_Order_PUB.Discretejob_Tbl_Type
1512 IS
1513 l_DiscreteJob_rec WIP_Work_Order_PUB.Discretejob_Rec_Type;
1514 l_DiscreteJob_tbl WIP_Work_Order_PUB.Discretejob_Tbl_Type;
1515
1516 CURSOR l_DiscreteJob_csr IS
1517 SELECT ALTERNATE_BOM_DESIGNATOR
1518 , ALTERNATE_ROUTING_DESIGNATOR
1519 , ATTRIBUTE1
1520 , ATTRIBUTE10
1521 , ATTRIBUTE11
1522 , ATTRIBUTE12
1523 , ATTRIBUTE13
1524 , ATTRIBUTE14
1525 , ATTRIBUTE15
1526 , ATTRIBUTE2
1527 , ATTRIBUTE3
1528 , ATTRIBUTE4
1529 , ATTRIBUTE5
1530 , ATTRIBUTE6
1531 , ATTRIBUTE7
1532 , ATTRIBUTE8
1533 , ATTRIBUTE9
1534 , ATTRIBUTE_CATEGORY
1535 , BOM_REFERENCE_ID
1536 , BOM_REVISION
1537 , BOM_REVISION_DATE
1538 , BUILD_SEQUENCE
1539 , CLASS_CODE
1540 , COMMON_BOM_SEQUENCE_ID
1541 , COMMON_ROUTING_SEQUENCE_ID
1542 , COMPLETION_LOCATOR_ID
1543 , COMPLETION_SUBINVENTORY
1544 , CREATED_BY
1545 , CREATION_DATE
1546 , DATE_CLOSED
1547 , DATE_COMPLETED
1548 , DATE_RELEASED
1549 , DEMAND_CLASS
1550 , DESCRIPTION
1551 , FIRM_PLANNED_FLAG
1552 , JOB_TYPE
1553 , KANBAN_CARD_ID
1554 , LAST_UPDATED_BY
1555 , LAST_UPDATE_DATE
1556 , LAST_UPDATE_LOGIN
1557 , LINE_ID
1558 , LOT_NUMBER
1559 , MATERIAL_ACCOUNT
1560 , MATERIAL_OVERHEAD_ACCOUNT
1561 , MATERIAL_VARIANCE_ACCOUNT
1562 , MPS_NET_QUANTITY
1563 , MPS_SCHEDULED_COMPLETION_DATE
1564 , NET_QUANTITY
1565 , ORGANIZATION_ID
1566 , OUTSIDE_PROCESSING_ACCOUNT
1567 , OUTSIDE_PROC_VARIANCE_ACCOUNT
1568 , OVERCOMPLETION_TOLERANCE_TYPE
1569 , OVERCOMPLETION_TOLERANCE_VALUE
1570 , OVERHEAD_ACCOUNT
1571 , OVERHEAD_VARIANCE_ACCOUNT
1572 , PRIMARY_ITEM_ID
1573 , PROGRAM_APPLICATION_ID
1574 , PROGRAM_ID
1575 , PROGRAM_UPDATE_DATE
1576 -- , PROJECT_COSTED
1577 , PROJECT_ID
1578 , QUANTITY_COMPLETED
1579 , QUANTITY_SCRAPPED
1580 , REQUEST_ID
1581 , RESOURCE_ACCOUNT
1582 , RESOURCE_VARIANCE_ACCOUNT
1583 , ROUTING_REFERENCE_ID
1584 , ROUTING_REVISION
1585 , ROUTING_REVISION_DATE
1586 , SCHEDULED_COMPLETION_DATE
1587 , SCHEDULED_START_DATE
1588 , SCHEDULE_GROUP_ID
1589 , SOURCE_CODE
1590 , SOURCE_LINE_ID
1591 , START_QUANTITY
1592 , STATUS_TYPE
1593 , STD_COST_ADJUSTMENT_ACCOUNT
1594 , TASK_ID
1595 , WIP_ENTITY_ID
1596 , WIP_SUPPLY_TYPE
1597 FROM WIP_DISCRETE_JOBS
1598 WHERE ( WIP_ENTITY_ID = p_wip_entity_id
1599 );
1600
1601 BEGIN
1602
1603 -- Loop over fetched records
1604
1605 FOR l_implicit_rec IN l_DiscreteJob_csr LOOP
1606
1607 l_DiscreteJob_rec.alternate_bom_designator := l_implicit_rec.ALTERNATE_BOM_DESIGNATOR;
1608 l_DiscreteJob_rec.alternate_rout_designator := l_implicit_rec.ALTERNATE_ROUTING_DESIGNATOR;
1609 l_DiscreteJob_rec.attribute1 := l_implicit_rec.ATTRIBUTE1;
1610 l_DiscreteJob_rec.attribute10 := l_implicit_rec.ATTRIBUTE10;
1611 l_DiscreteJob_rec.attribute11 := l_implicit_rec.ATTRIBUTE11;
1612 l_DiscreteJob_rec.attribute12 := l_implicit_rec.ATTRIBUTE12;
1613 l_DiscreteJob_rec.attribute13 := l_implicit_rec.ATTRIBUTE13;
1614 l_DiscreteJob_rec.attribute14 := l_implicit_rec.ATTRIBUTE14;
1618 l_DiscreteJob_rec.attribute4 := l_implicit_rec.ATTRIBUTE4;
1615 l_DiscreteJob_rec.attribute15 := l_implicit_rec.ATTRIBUTE15;
1616 l_DiscreteJob_rec.attribute2 := l_implicit_rec.ATTRIBUTE2;
1617 l_DiscreteJob_rec.attribute3 := l_implicit_rec.ATTRIBUTE3;
1619 l_DiscreteJob_rec.attribute5 := l_implicit_rec.ATTRIBUTE5;
1620 l_DiscreteJob_rec.attribute6 := l_implicit_rec.ATTRIBUTE6;
1621 l_DiscreteJob_rec.attribute7 := l_implicit_rec.ATTRIBUTE7;
1622 l_DiscreteJob_rec.attribute8 := l_implicit_rec.ATTRIBUTE8;
1623 l_DiscreteJob_rec.attribute9 := l_implicit_rec.ATTRIBUTE9;
1624 l_DiscreteJob_rec.attribute_category := l_implicit_rec.ATTRIBUTE_CATEGORY;
1625 l_DiscreteJob_rec.bom_reference_id := l_implicit_rec.BOM_REFERENCE_ID;
1626 l_DiscreteJob_rec.bom_revision := l_implicit_rec.BOM_REVISION;
1627 l_DiscreteJob_rec.bom_revision_date := l_implicit_rec.BOM_REVISION_DATE;
1628 l_DiscreteJob_rec.build_sequence := l_implicit_rec.BUILD_SEQUENCE;
1629 l_DiscreteJob_rec.class_code := l_implicit_rec.CLASS_CODE;
1630 l_DiscreteJob_rec.common_bom_sequence_id := l_implicit_rec.COMMON_BOM_SEQUENCE_ID;
1631 l_DiscreteJob_rec.common_rout_sequence_id := l_implicit_rec.COMMON_ROUTING_SEQUENCE_ID;
1632 l_DiscreteJob_rec.completion_locator_id := l_implicit_rec.COMPLETION_LOCATOR_ID;
1633 l_DiscreteJob_rec.completion_subinventory := l_implicit_rec.COMPLETION_SUBINVENTORY;
1634 l_DiscreteJob_rec.created_by := l_implicit_rec.CREATED_BY;
1635 l_DiscreteJob_rec.creation_date := l_implicit_rec.CREATION_DATE;
1636 l_DiscreteJob_rec.date_closed := l_implicit_rec.DATE_CLOSED;
1637 l_DiscreteJob_rec.date_completed := l_implicit_rec.DATE_COMPLETED;
1638 l_DiscreteJob_rec.date_released := l_implicit_rec.DATE_RELEASED;
1639 l_DiscreteJob_rec.demand_class := l_implicit_rec.DEMAND_CLASS;
1640 l_DiscreteJob_rec.description := l_implicit_rec.DESCRIPTION;
1641 l_DiscreteJob_rec.firm_planned_flag := l_implicit_rec.FIRM_PLANNED_FLAG;
1642 l_DiscreteJob_rec.job_type := l_implicit_rec.JOB_TYPE;
1643 l_DiscreteJob_rec.kanban_card_id := l_implicit_rec.KANBAN_CARD_ID;
1644 l_DiscreteJob_rec.last_updated_by := l_implicit_rec.LAST_UPDATED_BY;
1645 l_DiscreteJob_rec.last_update_date := l_implicit_rec.LAST_UPDATE_DATE;
1646 l_DiscreteJob_rec.last_update_login := l_implicit_rec.LAST_UPDATE_LOGIN;
1647 l_DiscreteJob_rec.line_id := l_implicit_rec.LINE_ID;
1648 l_DiscreteJob_rec.lot_number := l_implicit_rec.LOT_NUMBER;
1649 l_DiscreteJob_rec.material_account := l_implicit_rec.MATERIAL_ACCOUNT;
1650 l_DiscreteJob_rec.material_overhead_account := l_implicit_rec.MATERIAL_OVERHEAD_ACCOUNT;
1651 l_DiscreteJob_rec.material_variance_account := l_implicit_rec.MATERIAL_VARIANCE_ACCOUNT;
1652 l_DiscreteJob_rec.mps_net_quantity := l_implicit_rec.MPS_NET_QUANTITY;
1653 l_DiscreteJob_rec.mps_scheduled_cpl_date := l_implicit_rec.MPS_SCHEDULED_COMPLETION_DATE;
1654 l_DiscreteJob_rec.net_quantity := l_implicit_rec.NET_QUANTITY;
1655 l_DiscreteJob_rec.organization_id := l_implicit_rec.ORGANIZATION_ID;
1656 l_DiscreteJob_rec.osp_account := l_implicit_rec.OUTSIDE_PROCESSING_ACCOUNT;
1657 l_DiscreteJob_rec.osp_variance_account := l_implicit_rec.OUTSIDE_PROC_VARIANCE_ACCOUNT;
1658 l_DiscreteJob_rec.overcpl_tolerance_type := l_implicit_rec.OVERCOMPLETION_TOLERANCE_TYPE;
1659 l_DiscreteJob_rec.overcpl_tolerance_value := l_implicit_rec.OVERCOMPLETION_TOLERANCE_VALUE;
1660 l_DiscreteJob_rec.overhead_account := l_implicit_rec.OVERHEAD_ACCOUNT;
1661 l_DiscreteJob_rec.overhead_variance_account := l_implicit_rec.OVERHEAD_VARIANCE_ACCOUNT;
1662 l_DiscreteJob_rec.primary_item_id := l_implicit_rec.PRIMARY_ITEM_ID;
1663 l_DiscreteJob_rec.program_application_id := l_implicit_rec.PROGRAM_APPLICATION_ID;
1664 l_DiscreteJob_rec.program_id := l_implicit_rec.PROGRAM_ID;
1665 l_DiscreteJob_rec.program_update_date := l_implicit_rec.PROGRAM_UPDATE_DATE;
1666 -- l_DiscreteJob_rec.project_costed := l_implicit_rec.PROJECT_COSTED;
1667 l_DiscreteJob_rec.project_id := l_implicit_rec.PROJECT_ID;
1668 l_DiscreteJob_rec.quantity_completed := l_implicit_rec.QUANTITY_COMPLETED;
1669 l_DiscreteJob_rec.quantity_scrapped := l_implicit_rec.QUANTITY_SCRAPPED;
1670 l_DiscreteJob_rec.request_id := l_implicit_rec.REQUEST_ID;
1671 l_DiscreteJob_rec.resource_account := l_implicit_rec.RESOURCE_ACCOUNT;
1672 l_DiscreteJob_rec.resource_variance_account := l_implicit_rec.RESOURCE_VARIANCE_ACCOUNT;
1673 l_DiscreteJob_rec.routing_reference_id := l_implicit_rec.ROUTING_REFERENCE_ID;
1674 l_DiscreteJob_rec.routing_revision := l_implicit_rec.ROUTING_REVISION;
1675 l_DiscreteJob_rec.routing_revision_date := l_implicit_rec.ROUTING_REVISION_DATE;
1676 l_DiscreteJob_rec.scheduled_completion_date := l_implicit_rec.SCHEDULED_COMPLETION_DATE;
1677 l_DiscreteJob_rec.scheduled_start_date := l_implicit_rec.SCHEDULED_START_DATE;
1678 l_DiscreteJob_rec.schedule_group_id := l_implicit_rec.SCHEDULE_GROUP_ID;
1679 l_DiscreteJob_rec.source_code := l_implicit_rec.SOURCE_CODE;
1680 l_DiscreteJob_rec.source_line_id := l_implicit_rec.SOURCE_LINE_ID;
1681 l_DiscreteJob_rec.start_quantity := l_implicit_rec.START_QUANTITY;
1682 l_DiscreteJob_rec.status_type := l_implicit_rec.STATUS_TYPE;
1683 l_DiscreteJob_rec.std_cost_adj_account := l_implicit_rec.STD_COST_ADJUSTMENT_ACCOUNT;
1684 l_DiscreteJob_rec.task_id := l_implicit_rec.TASK_ID;
1685 l_DiscreteJob_rec.wip_entity_id := l_implicit_rec.WIP_ENTITY_ID;
1689
1686 l_DiscreteJob_rec.wip_supply_type := l_implicit_rec.WIP_SUPPLY_TYPE;
1687
1688 l_DiscreteJob_tbl(l_DiscreteJob_tbl.COUNT + 1) := l_DiscreteJob_rec;
1690 END LOOP;
1691
1692
1693 -- PK sent and no rows found
1694
1695 IF
1696 (p_wip_entity_id IS NOT NULL
1697 AND
1698 p_wip_entity_id <> FND_API.G_MISS_NUM)
1699 AND
1700 (l_DiscreteJob_tbl.COUNT = 0)
1701 THEN
1702 RAISE NO_DATA_FOUND;
1703 END IF;
1704
1705
1706 -- Return fetched table
1707
1708 RETURN l_DiscreteJob_tbl;
1709
1710 EXCEPTION
1711
1712 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1713
1714 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1715
1716 WHEN OTHERS THEN
1717
1718 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1719 THEN
1720 FND_MSG_PUB.Add_Exc_Msg
1721 ( G_PKG_NAME
1722 , 'Query_Rows'
1723 );
1724 END IF;
1725
1726 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1727
1728 END Query_Rows;
1729
1730 -- Procedure lock_Row
1731 --
1732
1733 PROCEDURE Lock_Row
1734 ( x_return_status OUT NOCOPY VARCHAR2
1735 , p_DiscreteJob_rec IN WIP_Work_Order_PUB.Discretejob_Rec_Type
1736 , x_DiscreteJob_rec OUT NOCOPY WIP_Work_Order_PUB.Discretejob_Rec_Type
1737 )
1738 IS
1739 l_DiscreteJob_rec WIP_Work_Order_PUB.Discretejob_Rec_Type;
1740 BEGIN
1741
1742 SELECT ALTERNATE_BOM_DESIGNATOR
1743 , ALTERNATE_ROUTING_DESIGNATOR
1744 , ATTRIBUTE1
1745 , ATTRIBUTE10
1746 , ATTRIBUTE11
1747 , ATTRIBUTE12
1748 , ATTRIBUTE13
1749 , ATTRIBUTE14
1750 , ATTRIBUTE15
1751 , ATTRIBUTE2
1752 , ATTRIBUTE3
1753 , ATTRIBUTE4
1754 , ATTRIBUTE5
1755 , ATTRIBUTE6
1756 , ATTRIBUTE7
1757 , ATTRIBUTE8
1758 , ATTRIBUTE9
1759 , ATTRIBUTE_CATEGORY
1760 , BOM_REFERENCE_ID
1761 , BOM_REVISION
1762 , BOM_REVISION_DATE
1763 , BUILD_SEQUENCE
1764 , CLASS_CODE
1765 , COMMON_BOM_SEQUENCE_ID
1766 , COMMON_ROUTING_SEQUENCE_ID
1767 , COMPLETION_LOCATOR_ID
1768 , COMPLETION_SUBINVENTORY
1769 , CREATED_BY
1770 , CREATION_DATE
1771 , DATE_CLOSED
1772 , DATE_COMPLETED
1773 , DATE_RELEASED
1774 , DEMAND_CLASS
1775 , DESCRIPTION
1776 , FIRM_PLANNED_FLAG
1777 , JOB_TYPE
1778 , KANBAN_CARD_ID
1779 , LAST_UPDATED_BY
1780 , LAST_UPDATE_DATE
1781 , LAST_UPDATE_LOGIN
1782 , LINE_ID
1783 , LOT_NUMBER
1784 , MATERIAL_ACCOUNT
1785 , MATERIAL_OVERHEAD_ACCOUNT
1786 , MATERIAL_VARIANCE_ACCOUNT
1787 , MPS_NET_QUANTITY
1788 , MPS_SCHEDULED_COMPLETION_DATE
1789 , NET_QUANTITY
1790 , ORGANIZATION_ID
1791 , OUTSIDE_PROCESSING_ACCOUNT
1792 , OUTSIDE_PROC_VARIANCE_ACCOUNT
1793 , OVERCOMPLETION_TOLERANCE_TYPE
1794 , OVERCOMPLETION_TOLERANCE_VALUE
1795 , OVERHEAD_ACCOUNT
1796 , OVERHEAD_VARIANCE_ACCOUNT
1797 , PRIMARY_ITEM_ID
1798 , PROGRAM_APPLICATION_ID
1799 , PROGRAM_ID
1800 , PROGRAM_UPDATE_DATE
1801 -- , PROJECT_COSTED
1802 , PROJECT_ID
1803 , QUANTITY_COMPLETED
1804 , QUANTITY_SCRAPPED
1805 , REQUEST_ID
1806 , RESOURCE_ACCOUNT
1807 , RESOURCE_VARIANCE_ACCOUNT
1808 , ROUTING_REFERENCE_ID
1809 , ROUTING_REVISION
1810 , ROUTING_REVISION_DATE
1811 , SCHEDULED_COMPLETION_DATE
1812 , SCHEDULED_START_DATE
1813 , SCHEDULE_GROUP_ID
1814 , SOURCE_CODE
1815 , SOURCE_LINE_ID
1816 , START_QUANTITY
1817 , STATUS_TYPE
1818 , STD_COST_ADJUSTMENT_ACCOUNT
1819 , TASK_ID
1820 , WIP_ENTITY_ID
1821 , WIP_SUPPLY_TYPE
1822 INTO l_DiscreteJob_rec.alternate_bom_designator
1823 , l_DiscreteJob_rec.alternate_rout_designator
1824 , l_DiscreteJob_rec.attribute1
1825 , l_DiscreteJob_rec.attribute10
1826 , l_DiscreteJob_rec.attribute11
1827 , l_DiscreteJob_rec.attribute12
1828 , l_DiscreteJob_rec.attribute13
1829 , l_DiscreteJob_rec.attribute14
1830 , l_DiscreteJob_rec.attribute15
1831 , l_DiscreteJob_rec.attribute2
1832 , l_DiscreteJob_rec.attribute3
1833 , l_DiscreteJob_rec.attribute4
1834 , l_DiscreteJob_rec.attribute5
1835 , l_DiscreteJob_rec.attribute6
1836 , l_DiscreteJob_rec.attribute7
1837 , l_DiscreteJob_rec.attribute8
1838 , l_DiscreteJob_rec.attribute9
1839 , l_DiscreteJob_rec.attribute_category
1840 , l_DiscreteJob_rec.bom_reference_id
1841 , l_DiscreteJob_rec.bom_revision
1842 , l_DiscreteJob_rec.bom_revision_date
1846 , l_DiscreteJob_rec.common_rout_sequence_id
1843 , l_DiscreteJob_rec.build_sequence
1844 , l_DiscreteJob_rec.class_code
1845 , l_DiscreteJob_rec.common_bom_sequence_id
1847 , l_DiscreteJob_rec.completion_locator_id
1848 , l_DiscreteJob_rec.completion_subinventory
1849 , l_DiscreteJob_rec.created_by
1850 , l_DiscreteJob_rec.creation_date
1851 , l_DiscreteJob_rec.date_closed
1852 , l_DiscreteJob_rec.date_completed
1853 , l_DiscreteJob_rec.date_released
1854 , l_DiscreteJob_rec.demand_class
1855 , l_DiscreteJob_rec.description
1856 , l_DiscreteJob_rec.firm_planned_flag
1857 , l_DiscreteJob_rec.job_type
1858 , l_DiscreteJob_rec.kanban_card_id
1859 , l_DiscreteJob_rec.last_updated_by
1860 , l_DiscreteJob_rec.last_update_date
1861 , l_DiscreteJob_rec.last_update_login
1862 , l_DiscreteJob_rec.line_id
1863 , l_DiscreteJob_rec.lot_number
1864 , l_DiscreteJob_rec.material_account
1865 , l_DiscreteJob_rec.material_overhead_account
1866 , l_DiscreteJob_rec.material_variance_account
1867 , l_DiscreteJob_rec.mps_net_quantity
1868 , l_DiscreteJob_rec.mps_scheduled_cpl_date
1869 , l_DiscreteJob_rec.net_quantity
1870 , l_DiscreteJob_rec.organization_id
1871 , l_DiscreteJob_rec.osp_account
1872 , l_DiscreteJob_rec.osp_variance_account
1873 , l_DiscreteJob_rec.overcpl_tolerance_type
1874 , l_DiscreteJob_rec.overcpl_tolerance_value
1875 , l_DiscreteJob_rec.overhead_account
1876 , l_DiscreteJob_rec.overhead_variance_account
1877 , l_DiscreteJob_rec.primary_item_id
1878 , l_DiscreteJob_rec.program_application_id
1879 , l_DiscreteJob_rec.program_id
1880 , l_DiscreteJob_rec.program_update_date
1881 -- , l_DiscreteJob_rec.project_costed
1882 , l_DiscreteJob_rec.project_id
1883 , l_DiscreteJob_rec.quantity_completed
1884 , l_DiscreteJob_rec.quantity_scrapped
1885 , l_DiscreteJob_rec.request_id
1886 , l_DiscreteJob_rec.resource_account
1887 , l_DiscreteJob_rec.resource_variance_account
1888 , l_DiscreteJob_rec.routing_reference_id
1889 , l_DiscreteJob_rec.routing_revision
1890 , l_DiscreteJob_rec.routing_revision_date
1891 , l_DiscreteJob_rec.scheduled_completion_date
1892 , l_DiscreteJob_rec.scheduled_start_date
1893 , l_DiscreteJob_rec.schedule_group_id
1894 , l_DiscreteJob_rec.source_code
1895 , l_DiscreteJob_rec.source_line_id
1896 , l_DiscreteJob_rec.start_quantity
1897 , l_DiscreteJob_rec.status_type
1898 , l_DiscreteJob_rec.std_cost_adj_account
1899 , l_DiscreteJob_rec.task_id
1900 , l_DiscreteJob_rec.wip_entity_id
1901 , l_DiscreteJob_rec.wip_supply_type
1902 FROM WIP_DISCRETE_JOBS
1903 WHERE WIP_ENTITY_ID = p_DiscreteJob_rec.wip_entity_id
1904 FOR UPDATE NOWAIT;
1905
1906 -- Row locked. Compare IN attributes to DB attributes.
1907
1908 IF WIP_GLOBALS.Equal(p_DiscreteJob_rec.alternate_bom_designator,
1909 l_DiscreteJob_rec.alternate_bom_designator)
1910 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.alternate_rout_designator,
1911 l_DiscreteJob_rec.alternate_rout_designator)
1912 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.attribute1,
1913 l_DiscreteJob_rec.attribute1)
1914 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.attribute10,
1915 l_DiscreteJob_rec.attribute10)
1916 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.attribute11,
1917 l_DiscreteJob_rec.attribute11)
1918 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.attribute12,
1919 l_DiscreteJob_rec.attribute12)
1920 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.attribute13,
1921 l_DiscreteJob_rec.attribute13)
1922 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.attribute14,
1923 l_DiscreteJob_rec.attribute14)
1924 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.attribute15,
1925 l_DiscreteJob_rec.attribute15)
1926 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.attribute2,
1927 l_DiscreteJob_rec.attribute2)
1928 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.attribute3,
1929 l_DiscreteJob_rec.attribute3)
1930 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.attribute4,
1931 l_DiscreteJob_rec.attribute4)
1932 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.attribute5,
1933 l_DiscreteJob_rec.attribute5)
1934 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.attribute6,
1935 l_DiscreteJob_rec.attribute6)
1936 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.attribute7,
1937 l_DiscreteJob_rec.attribute7)
1938 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.attribute8,
1939 l_DiscreteJob_rec.attribute8)
1940 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.attribute9,
1941 l_DiscreteJob_rec.attribute9)
1942 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.attribute_category,
1943 l_DiscreteJob_rec.attribute_category)
1944 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.bom_reference_id,
1945 l_DiscreteJob_rec.bom_reference_id)
1946 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.bom_revision,
1950 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.build_sequence,
1947 l_DiscreteJob_rec.bom_revision)
1948 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.bom_revision_date,
1949 l_DiscreteJob_rec.bom_revision_date)
1951 l_DiscreteJob_rec.build_sequence)
1952 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.class_code,
1953 l_DiscreteJob_rec.class_code)
1954 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.common_bom_sequence_id,
1955 l_DiscreteJob_rec.common_bom_sequence_id)
1956 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.common_rout_sequence_id,
1957 l_DiscreteJob_rec.common_rout_sequence_id)
1958 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.completion_locator_id,
1959 l_DiscreteJob_rec.completion_locator_id)
1960 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.completion_subinventory,
1961 l_DiscreteJob_rec.completion_subinventory)
1962 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.created_by,
1963 l_DiscreteJob_rec.created_by)
1964 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.creation_date,
1965 l_DiscreteJob_rec.creation_date)
1966 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.date_closed,
1967 l_DiscreteJob_rec.date_closed)
1968 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.date_completed,
1969 l_DiscreteJob_rec.date_completed)
1970 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.date_released,
1971 l_DiscreteJob_rec.date_released)
1972 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.demand_class,
1973 l_DiscreteJob_rec.demand_class)
1974 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.description,
1975 l_DiscreteJob_rec.description)
1976 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.firm_planned_flag,
1977 l_DiscreteJob_rec.firm_planned_flag)
1978 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.job_type,
1979 l_DiscreteJob_rec.job_type)
1980 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.kanban_card_id,
1981 l_DiscreteJob_rec.kanban_card_id)
1982 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.last_updated_by,
1983 l_DiscreteJob_rec.last_updated_by)
1984 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.last_update_date,
1985 l_DiscreteJob_rec.last_update_date)
1986 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.last_update_login,
1987 l_DiscreteJob_rec.last_update_login)
1988 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.line_id,
1989 l_DiscreteJob_rec.line_id)
1990 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.lot_number,
1991 l_DiscreteJob_rec.lot_number)
1992 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.material_account,
1993 l_DiscreteJob_rec.material_account)
1994 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.material_overhead_account,
1995 l_DiscreteJob_rec.material_overhead_account)
1996 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.material_variance_account,
1997 l_DiscreteJob_rec.material_variance_account)
1998 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.mps_net_quantity,
1999 l_DiscreteJob_rec.mps_net_quantity)
2000 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.mps_scheduled_cpl_date,
2001 l_DiscreteJob_rec.mps_scheduled_cpl_date)
2002 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.net_quantity,
2003 l_DiscreteJob_rec.net_quantity)
2004 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.organization_id,
2005 l_DiscreteJob_rec.organization_id)
2006 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.osp_account,
2007 l_DiscreteJob_rec.osp_account)
2008 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.osp_variance_account,
2009 l_DiscreteJob_rec.osp_variance_account)
2010 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.overcpl_tolerance_type,
2011 l_DiscreteJob_rec.overcpl_tolerance_type)
2012 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.overcpl_tolerance_value,
2013 l_DiscreteJob_rec.overcpl_tolerance_value)
2014 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.overhead_account,
2015 l_DiscreteJob_rec.overhead_account)
2016 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.overhead_variance_account,
2017 l_DiscreteJob_rec.overhead_variance_account)
2018 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.primary_item_id,
2019 l_DiscreteJob_rec.primary_item_id)
2020 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.program_application_id,
2021 l_DiscreteJob_rec.program_application_id)
2022 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.program_id,
2023 l_DiscreteJob_rec.program_id)
2024 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.program_update_date,
2025 l_DiscreteJob_rec.program_update_date)
2026 -- AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.project_costed,
2027 -- l_DiscreteJob_rec.project_costed)
2028 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.project_id,
2029 l_DiscreteJob_rec.project_id)
2030 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.quantity_completed,
2031 l_DiscreteJob_rec.quantity_completed)
2032 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.quantity_scrapped,
2033 l_DiscreteJob_rec.quantity_scrapped)
2037 l_DiscreteJob_rec.resource_account)
2034 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.request_id,
2035 l_DiscreteJob_rec.request_id)
2036 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.resource_account,
2038 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.resource_variance_account,
2039 l_DiscreteJob_rec.resource_variance_account)
2040 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.routing_reference_id,
2041 l_DiscreteJob_rec.routing_reference_id)
2042 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.routing_revision,
2043 l_DiscreteJob_rec.routing_revision)
2044 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.routing_revision_date,
2045 l_DiscreteJob_rec.routing_revision_date)
2046 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.scheduled_completion_date,
2047 l_DiscreteJob_rec.scheduled_completion_date)
2048 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.scheduled_start_date,
2049 l_DiscreteJob_rec.scheduled_start_date)
2050 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.schedule_group_id,
2051 l_DiscreteJob_rec.schedule_group_id)
2052 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.source_code,
2053 l_DiscreteJob_rec.source_code)
2054 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.source_line_id,
2055 l_DiscreteJob_rec.source_line_id)
2056 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.start_quantity,
2057 l_DiscreteJob_rec.start_quantity)
2058 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.status_type,
2059 l_DiscreteJob_rec.status_type)
2060 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.std_cost_adj_account,
2061 l_DiscreteJob_rec.std_cost_adj_account)
2062 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.task_id,
2063 l_DiscreteJob_rec.task_id)
2064 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.wip_entity_id,
2065 l_DiscreteJob_rec.wip_entity_id)
2066 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec.wip_supply_type,
2067 l_DiscreteJob_rec.wip_supply_type)
2068 THEN
2069
2070 -- Row has not changed. Set out parameter.
2071
2072 x_DiscreteJob_rec := l_DiscreteJob_rec;
2073
2074 -- Set return status
2075
2076 x_return_status := FND_API.G_RET_STS_SUCCESS;
2077 x_DiscreteJob_rec.return_status := FND_API.G_RET_STS_SUCCESS;
2078
2079 ELSE
2080
2081 -- Row has changed by another user.
2082
2083 x_return_status := FND_API.G_RET_STS_ERROR;
2084 x_DiscreteJob_rec.return_status := FND_API.G_RET_STS_ERROR;
2085
2086 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2087 THEN
2088
2089 FND_MESSAGE.SET_NAME('WIP','OE_LOCK_ROW_CHANGED');
2090 FND_MSG_PUB.Add;
2091
2092 END IF;
2093
2094 END IF;
2095
2096 EXCEPTION
2097
2098 WHEN NO_DATA_FOUND THEN
2099
2100 x_return_status := FND_API.G_RET_STS_ERROR;
2101 x_DiscreteJob_rec.return_status := FND_API.G_RET_STS_ERROR;
2102
2103 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2104 THEN
2105
2106 FND_MESSAGE.SET_NAME('WIP','OE_LOCK_ROW_DELETED');
2107 FND_MSG_PUB.Add;
2108
2109 END IF;
2110 WHEN APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION THEN
2111
2112 x_return_status := FND_API.G_RET_STS_ERROR;
2113 x_DiscreteJob_rec.return_status := FND_API.G_RET_STS_ERROR;
2114
2115 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2116 THEN
2117
2118 FND_MESSAGE.SET_NAME('WIP','OE_LOCK_ROW_ALREADY_LOCKED');
2119 FND_MSG_PUB.Add;
2120
2121 END IF;
2122 WHEN OTHERS THEN
2123
2124 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2125 x_DiscreteJob_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2126
2127 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2128 THEN
2129 FND_MSG_PUB.Add_Exc_Msg
2130 ( G_PKG_NAME
2131 , 'Lock_Row'
2132 );
2133 END IF;
2134
2135 END Lock_Row;
2136
2137
2138
2139 FUNCTION Compare( p_DiscreteJob_rec1 IN WIP_Work_Order_PUB.Discretejob_Rec_Type,
2140 p_DiscreteJob_rec2 IN WIP_Work_Order_PUB.Discretejob_Rec_Type)
2141 RETURN BOOLEAN
2142 IS
2143 BEGIN
2144
2145 IF WIP_GLOBALS.Equal(p_DiscreteJob_rec1.alternate_bom_designator,
2146 p_DiscreteJob_rec2.alternate_bom_designator)
2147 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.alternate_rout_designator,
2148 p_DiscreteJob_rec2.alternate_rout_designator)
2149 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.attribute1,
2150 p_DiscreteJob_rec2.attribute1)
2151 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.attribute10,
2152 p_DiscreteJob_rec2.attribute10)
2153 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.attribute11,
2154 p_DiscreteJob_rec2.attribute11)
2155 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.attribute12,
2156 p_DiscreteJob_rec2.attribute12)
2157 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.attribute13,
2161 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.attribute15,
2158 p_DiscreteJob_rec2.attribute13)
2159 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.attribute14,
2160 p_DiscreteJob_rec2.attribute14)
2162 p_DiscreteJob_rec2.attribute15)
2163 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.attribute2,
2164 p_DiscreteJob_rec2.attribute2)
2165 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.attribute3,
2166 p_DiscreteJob_rec2.attribute3)
2167 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.attribute4,
2168 p_DiscreteJob_rec2.attribute4)
2169 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.attribute5,
2170 p_DiscreteJob_rec2.attribute5)
2171 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.attribute6,
2172 p_DiscreteJob_rec2.attribute6)
2173 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.attribute7,
2174 p_DiscreteJob_rec2.attribute7)
2175 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.attribute8,
2176 p_DiscreteJob_rec2.attribute8)
2177 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.attribute9,
2178 p_DiscreteJob_rec2.attribute9)
2179 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.attribute_category,
2180 p_DiscreteJob_rec2.attribute_category)
2181 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.bom_reference_id,
2182 p_DiscreteJob_rec2.bom_reference_id)
2183 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.bom_revision,
2184 p_DiscreteJob_rec2.bom_revision)
2185 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.bom_revision_date,
2186 p_DiscreteJob_rec2.bom_revision_date)
2187 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.build_sequence,
2188 p_DiscreteJob_rec2.build_sequence)
2189 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.class_code,
2190 p_DiscreteJob_rec2.class_code)
2191 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.common_bom_sequence_id,
2192 p_DiscreteJob_rec2.common_bom_sequence_id)
2193 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.common_rout_sequence_id,
2194 p_DiscreteJob_rec2.common_rout_sequence_id)
2195 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.completion_locator_id,
2196 p_DiscreteJob_rec2.completion_locator_id)
2197 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.completion_subinventory,
2198 p_DiscreteJob_rec2.completion_subinventory)
2199 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.created_by,
2200 p_DiscreteJob_rec2.created_by)
2201 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.creation_date,
2202 p_DiscreteJob_rec2.creation_date)
2203 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.date_closed,
2204 p_DiscreteJob_rec2.date_closed)
2205 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.date_completed,
2206 p_DiscreteJob_rec2.date_completed)
2207 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.date_released,
2208 p_DiscreteJob_rec2.date_released)
2209 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.demand_class,
2210 p_DiscreteJob_rec2.demand_class)
2211 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.description,
2212 p_DiscreteJob_rec2.description)
2213 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.firm_planned_flag,
2214 p_DiscreteJob_rec2.firm_planned_flag)
2215 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.job_type,
2216 p_DiscreteJob_rec2.job_type)
2217 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.kanban_card_id,
2218 p_DiscreteJob_rec2.kanban_card_id)
2219 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.last_updated_by,
2220 p_DiscreteJob_rec2.last_updated_by)
2221 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.last_update_date,
2222 p_DiscreteJob_rec2.last_update_date)
2223 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.last_update_login,
2224 p_DiscreteJob_rec2.last_update_login)
2225 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.line_id,
2226 p_DiscreteJob_rec2.line_id)
2227 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.lot_number,
2228 p_DiscreteJob_rec2.lot_number)
2229 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.material_account,
2230 p_DiscreteJob_rec2.material_account)
2231 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.material_overhead_account,
2232 p_DiscreteJob_rec2.material_overhead_account)
2233 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.material_variance_account,
2234 p_DiscreteJob_rec2.material_variance_account)
2235 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.mps_net_quantity,
2236 p_DiscreteJob_rec2.mps_net_quantity)
2237 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.mps_scheduled_cpl_date,
2238 p_DiscreteJob_rec2.mps_scheduled_cpl_date)
2239 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.net_quantity,
2240 p_DiscreteJob_rec2.net_quantity)
2241 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.organization_id,
2242 p_DiscreteJob_rec2.organization_id)
2243 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.osp_account,
2244 p_DiscreteJob_rec2.osp_account)
2245 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.osp_variance_account,
2246 p_DiscreteJob_rec2.osp_variance_account)
2250 p_DiscreteJob_rec2.overcpl_tolerance_value)
2247 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.overcpl_tolerance_type,
2248 p_DiscreteJob_rec2.overcpl_tolerance_type)
2249 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.overcpl_tolerance_value,
2251 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.overhead_account,
2252 p_DiscreteJob_rec2.overhead_account)
2253 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.overhead_variance_account,
2254 p_DiscreteJob_rec2.overhead_variance_account)
2255 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.primary_item_id,
2256 p_DiscreteJob_rec2.primary_item_id)
2257 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.program_application_id,
2258 p_DiscreteJob_rec2.program_application_id)
2259 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.program_id,
2260 p_DiscreteJob_rec2.program_id)
2261 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.program_update_date,
2262 p_DiscreteJob_rec2.program_update_date)
2263 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.project_costed,
2264 p_DiscreteJob_rec2.project_costed)
2265 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.project_id,
2266 p_DiscreteJob_rec2.project_id)
2267 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.quantity_completed,
2268 p_DiscreteJob_rec2.quantity_completed)
2269 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.quantity_scrapped,
2270 p_DiscreteJob_rec2.quantity_scrapped)
2271 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.request_id,
2272 p_DiscreteJob_rec2.request_id)
2273 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.resource_account,
2274 p_DiscreteJob_rec2.resource_account)
2275 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.resource_variance_account,
2276 p_DiscreteJob_rec2.resource_variance_account)
2277 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.routing_reference_id,
2278 p_DiscreteJob_rec2.routing_reference_id)
2279 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.routing_revision,
2280 p_DiscreteJob_rec2.routing_revision)
2281 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.routing_revision_date,
2282 p_DiscreteJob_rec2.routing_revision_date)
2283 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.scheduled_completion_date,
2284 p_DiscreteJob_rec2.scheduled_completion_date)
2285 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.scheduled_start_date,
2286 p_DiscreteJob_rec2.scheduled_start_date)
2287 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.schedule_group_id,
2288 p_DiscreteJob_rec2.schedule_group_id)
2289 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.source_code,
2290 p_DiscreteJob_rec2.source_code)
2291 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.source_line_id,
2292 p_DiscreteJob_rec2.source_line_id)
2293 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.start_quantity,
2294 p_DiscreteJob_rec2.start_quantity)
2295 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.status_type,
2296 p_DiscreteJob_rec2.status_type)
2297 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.std_cost_adj_account,
2298 p_DiscreteJob_rec2.std_cost_adj_account)
2299 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.task_id,
2300 p_DiscreteJob_rec2.task_id)
2301 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.wip_entity_id,
2302 p_DiscreteJob_rec2.wip_entity_id)
2303 AND WIP_GLOBALS.Equal(p_DiscreteJob_rec1.wip_supply_type,
2304 p_DiscreteJob_rec2.wip_supply_type)
2305 THEN
2306 RETURN TRUE;
2307 ELSE
2308 RETURN FALSE;
2309 END IF;
2310 END Compare;
2311
2312 PROCEDURE dprintf(p_DiscreteJob_rec IN WIP_Work_Order_PUB.Discretejob_Rec_Type)
2313 IS
2314 BEGIN
2315
2316 null;
2317 -- dbms_output.new_line;
2318 -- dbms_output.put_line('Discrete Job Record:');
2319 -- dbms_output.put_line('-------------------');
2320 -- dbms_output.put_line('completion_locator_id : ' || To_char(p_DiscreteJob_rec.completion_locator_id));
2321 -- dbms_output.put_line('completion_subinventory : ' || p_DiscreteJob_rec.completion_subinventory);
2322 -- dbms_output.put_line('date_completed : ' || To_char(p_DiscreteJob_rec.date_completed,WIP_CONSTANTS.DATE_FMT));
2323 -- dbms_output.put_line('date_released : ' || To_char(p_DiscreteJob_rec.date_released,WIP_CONSTANTS.DATE_FMT));
2324 -- dbms_output.put_line('description : ' || p_DiscreteJob_rec.description);
2325 -- dbms_output.put_line('job_type : ' || To_char(p_DiscreteJob_rec.job_type));
2326 -- dbms_output.put_line('net_quantity : ' || To_char(p_DiscreteJob_rec.net_quantity));
2327 -- dbms_output.put_line('organization_id : ' || To_char(p_DiscreteJob_rec.organization_id));
2328 -- dbms_output.put_line('primary_item_id : ' || To_char(p_DiscreteJob_rec.primary_item_id));
2329 -- dbms_output.put_line('quantity_completed : ' || To_char(p_DiscreteJob_rec.quantity_completed));
2330 -- dbms_output.put_line('quantity_scrapped : ' || To_char(p_DiscreteJob_rec.quantity_scrapped));
2331 -- dbms_output.put_line('scheduled_completion_date: ' || To_char(p_DiscreteJob_rec.scheduled_completion_date,WIP_CONSTANTS.DATE_FMT));
2332 -- dbms_output.put_line('scheduled_start_date : ' || To_char(p_DiscreteJob_rec.scheduled_start_date,WIP_CONSTANTS.DATE_FMT));
2333 -- dbms_output.put_line('start_quantity : ' || To_char(p_DiscreteJob_rec.start_quantity));
2334 -- dbms_output.put_line('status_type : ' || To_char(p_DiscreteJob_rec.status_type));
2335 -- dbms_output.put_line('wip_entity_id : ' || To_char(p_DiscreteJob_rec.wip_entity_id));
2336 -- dbms_output.put_line('kanban_card_id : ' || To_char(p_DiscreteJob_rec.kanban_card_id));
2337 -- dbms_output.put_line('return_status : ' || p_DiscreteJob_rec.return_status);
2338 -- dbms_output.put_line('db_flag : ' || p_DiscreteJob_rec.db_flag);
2339 -- dbms_output.put_line('action : ' || p_DiscreteJob_rec.action);
2340 -- dbms_output.put_line('End Discrete Job Record');
2341 EXCEPTION
2342 WHEN OTHERS THEN
2343 NULL;
2344
2345 END dprintf;
2346
2347 PROCEDURE update_job_details(p_org_id IN NUMBER,
2348 p_wip_entity_id IN NUMBER,
2349 p_due_date IN DATE,
2350 p_line_id IN NUMBER,
2351 p_schedule_group_id IN NUMBER,
2352 p_build_sequence IN NUMBER,
2353 p_expedited IN VARCHAR2,
2354 p_initialize IN VARCHAR2,
2355 x_err_msg OUT NOCOPY VARCHAR2,
2356 x_return_status OUT NOCOPY VARCHAR2) IS
2357 CURSOR c_build_seq IS
2358 SELECT 1
2359 FROM WIP_DISCRETE_JOBS
2360 WHERE SCHEDULE_GROUP_ID = p_schedule_group_id
2361 AND BUILD_SEQUENCE = p_build_sequence
2362 AND WIP_ENTITY_ID <> NVL(p_wip_entity_id, -1);
2363
2364 CURSOR c_jobname IS
2365 select wip_entity_name
2366 from wip_entities
2367 where wip_entity_id = p_wip_entity_id;
2368
2369 x_dummy varchar(1);
2370 x_wip_entity_name VARCHAR2(240);
2371
2372 BEGIN
2373
2374 x_return_status := FND_API.G_RET_STS_ERROR;
2375
2376 if (p_initialize = 'Y') then
2377 fnd_msg_pub.initialize;
2378 end if;
2379
2380 open c_jobname;
2381 fetch c_jobname into x_wip_entity_name;
2382 close c_jobname;
2383
2387 fnd_msg_pub.add_exc_msg(p_pkg_name => 'wip_discretejob_util',
2384 -- if build sequence with no schedule group then error out
2385 if (p_build_sequence is not null and p_schedule_group_id is null) then
2386 x_err_msg := x_wip_entity_name || ' ' || fnd_message.get_string('WIP','WIP_SCHEDULE_GROUP_NULL');
2388 p_procedure_name => 'update_job_details',
2389 p_error_text => x_err_msg);
2390
2391 -- RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2392 return;
2393 end if;
2394
2395 -- Verify that the schedule group and build sequence are unique
2396 if (p_build_sequence is not null) then
2397
2398 open c_build_seq;
2399 fetch c_build_seq into x_dummy;
2400
2401 if c_build_seq%found then
2402 x_err_msg := x_wip_entity_name || ' ' || fnd_message.get_string('WIP','WIP_BUILD_SEQUENCE');
2403 fnd_msg_pub.add_exc_msg(p_pkg_name => 'wip_discretejob_util',
2404 p_procedure_name => 'update_job_details',
2405 p_error_text => x_err_msg);
2406
2407 --RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2408 close c_build_seq;
2409 return;
2410 end if;
2411
2412 close c_build_seq;
2413 end if;
2414
2415 update wip_discrete_jobs
2416 set due_date = p_due_date,
2417 line_id = p_line_id,
2418 schedule_group_id = p_schedule_group_id,
2419 build_sequence = p_build_sequence,
2420 expedited = p_expedited
2421 where organization_id = p_org_id and
2422 wip_entity_id = p_wip_entity_id;
2423
2424
2425 x_return_status := FND_API.G_RET_STS_SUCCESS;
2426
2427 exception
2428 when fnd_api.g_exc_unexpected_error then
2429 x_return_status := fnd_api.g_ret_sts_unexp_error;
2430
2431 when others then
2432 x_return_status := fnd_api.g_ret_sts_unexp_error;
2433 fnd_msg_pub.add_exc_msg(p_pkg_name => 'wip_discretejob_util',
2434 p_procedure_name => 'update_job_details',
2435 p_error_text => SQLERRM);
2436
2437 END update_job_details;
2438
2439
2440 END WIP_Discretejob_Util;