[Home] [Help]
PACKAGE BODY: APPS.EAM_WORKORDER_UTIL_PKG_W
Source
1 package body eam_workorder_util_pkg_w as
2 /* $Header: EAMVWUPB.pls 120.0.12020000.2 2012/11/07 13:03:35 rsandepo ship $ */
3 procedure rosetta_table_copy_in_p4(t out nocopy eam_workorder_util_pkg.t_bom_table, a0 JTF_NUMBER_TABLE
4 , a1 JTF_NUMBER_TABLE
5 , a2 JTF_VARCHAR2_TABLE_100
6 , a3 JTF_VARCHAR2_TABLE_300
7 , a4 JTF_NUMBER_TABLE
8 , a5 JTF_NUMBER_TABLE
9 , a6 JTF_VARCHAR2_TABLE_100
10 , a7 JTF_NUMBER_TABLE
11 , a8 JTF_VARCHAR2_TABLE_100
12 , a9 JTF_VARCHAR2_TABLE_100
13 ) as
14 ddindx binary_integer; indx binary_integer;
15 begin
16 if a0 is not null and a0.count > 0 then
17 if a0.count > 0 then
18 indx := a0.first;
19 ddindx := 1;
20 while true loop
21 t(ddindx).component_sequence_id := a0(indx);
22 t(ddindx).component_item_id := a1(indx);
23 t(ddindx).component_item := a2(indx);
24 t(ddindx).description := a3(indx);
25 t(ddindx).component_quantity := a4(indx);
26 t(ddindx).component_yield := a5(indx);
27 t(ddindx).uom := a6(indx);
28 t(ddindx).wip_supply_type := a7(indx);
29 t(ddindx).wip_supply_type_disp := a8(indx);
30 t(ddindx).auto_request_material := a9(indx);
31 ddindx := ddindx+1;
32 if a0.last =indx
33 then exit;
34 end if;
35 indx := a0.next(indx);
36 end loop;
37 end if;
38 end if;
39 end rosetta_table_copy_in_p4;
40 procedure rosetta_table_copy_out_p4(t eam_workorder_util_pkg.t_bom_table, a0 out nocopy JTF_NUMBER_TABLE
41 , a1 out nocopy JTF_NUMBER_TABLE
42 , a2 out nocopy JTF_VARCHAR2_TABLE_100
43 , a3 out nocopy JTF_VARCHAR2_TABLE_300
44 , a4 out nocopy JTF_NUMBER_TABLE
45 , a5 out nocopy JTF_NUMBER_TABLE
46 , a6 out nocopy JTF_VARCHAR2_TABLE_100
47 , a7 out nocopy JTF_NUMBER_TABLE
48 , a8 out nocopy JTF_VARCHAR2_TABLE_100
49 , a9 out nocopy JTF_VARCHAR2_TABLE_100
50 ) as
51 ddindx binary_integer; indx binary_integer;
52 begin
53 if t is null or t.count = 0 then
54 a0 := JTF_NUMBER_TABLE();
55 a1 := JTF_NUMBER_TABLE();
56 a2 := JTF_VARCHAR2_TABLE_100();
57 a3 := JTF_VARCHAR2_TABLE_300();
58 a4 := JTF_NUMBER_TABLE();
59 a5 := JTF_NUMBER_TABLE();
60 a6 := JTF_VARCHAR2_TABLE_100();
61 a7 := JTF_NUMBER_TABLE();
62 a8 := JTF_VARCHAR2_TABLE_100();
63 a9 := JTF_VARCHAR2_TABLE_100();
64 else
65 a0 := JTF_NUMBER_TABLE();
66 a1 := JTF_NUMBER_TABLE();
67 a2 := JTF_VARCHAR2_TABLE_100();
68 a3 := JTF_VARCHAR2_TABLE_300();
69 a4 := JTF_NUMBER_TABLE();
70 a5 := JTF_NUMBER_TABLE();
71 a6 := JTF_VARCHAR2_TABLE_100();
72 a7 := JTF_NUMBER_TABLE();
73 a8 := JTF_VARCHAR2_TABLE_100();
74 a9 := JTF_VARCHAR2_TABLE_100();
75 if t.count > 0 then
76 a0.extend(t.count);
77 a1.extend(t.count);
78 a2.extend(t.count);
79 a3.extend(t.count);
80 a4.extend(t.count);
81 a5.extend(t.count);
82 a6.extend(t.count);
83 a7.extend(t.count);
84 a8.extend(t.count);
85 a9.extend(t.count);
86 ddindx := t.first;
87 indx := 1;
88 while true loop
89 a0(indx) := t(ddindx).component_sequence_id;
90 a1(indx) := t(ddindx).component_item_id;
91 a2(indx) := t(ddindx).component_item;
92 a3(indx) := t(ddindx).description;
93 a4(indx) := t(ddindx).component_quantity;
94 a5(indx) := t(ddindx).component_yield;
95 a6(indx) := t(ddindx).uom;
96 a7(indx) := t(ddindx).wip_supply_type;
97 a8(indx) := t(ddindx).wip_supply_type_disp;
98 a9(indx) := t(ddindx).auto_request_material;
99 indx := indx+1;
100 if t.last =ddindx
101 then exit;
102 end if;
103 ddindx := t.next(ddindx);
104 end loop;
105 end if;
106 end if;
107 end rosetta_table_copy_out_p4;
108
109 procedure rosetta_table_copy_in_p5(t out nocopy eam_workorder_util_pkg.t_component_table, a0 JTF_VARCHAR2_TABLE_100
110 , a1 JTF_NUMBER_TABLE
111 , a2 JTF_DATE_TABLE
112 , a3 JTF_NUMBER_TABLE
113 , a4 JTF_NUMBER_TABLE
114 , a5 JTF_NUMBER_TABLE
115 , a6 JTF_VARCHAR2_TABLE_100
116 , a7 JTF_NUMBER_TABLE
117 , a8 JTF_VARCHAR2_TABLE_100
118 ) as
119 ddindx binary_integer; indx binary_integer;
120 begin
121 if a0 is not null and a0.count > 0 then
122 if a0.count > 0 then
123 indx := a0.first;
124 ddindx := 1;
125 while true loop
126 t(ddindx).component_item := a0(indx);
127 t(ddindx).component_item_id := a1(indx);
128 t(ddindx).start_effective_date := a2(indx);
129 t(ddindx).operation_sequence_number := a3(indx);
130 t(ddindx).quantity_per_assembly := a4(indx);
131 t(ddindx).wip_supply_type := a5(indx);
132 t(ddindx).supply_subinventory := a6(indx);
133 t(ddindx).supply_locator_id := a7(indx);
134 t(ddindx).supply_locator_name := a8(indx);
135 ddindx := ddindx+1;
136 if a0.last =indx
137 then exit;
138 end if;
139 indx := a0.next(indx);
140 end loop;
141 end if;
142 end if;
143 end rosetta_table_copy_in_p5;
144 procedure rosetta_table_copy_out_p5(t eam_workorder_util_pkg.t_component_table, a0 out nocopy JTF_VARCHAR2_TABLE_100
145 , a1 out nocopy JTF_NUMBER_TABLE
146 , a2 out nocopy JTF_DATE_TABLE
147 , a3 out nocopy JTF_NUMBER_TABLE
148 , a4 out nocopy JTF_NUMBER_TABLE
149 , a5 out nocopy JTF_NUMBER_TABLE
150 , a6 out nocopy JTF_VARCHAR2_TABLE_100
151 , a7 out nocopy JTF_NUMBER_TABLE
152 , a8 out nocopy JTF_VARCHAR2_TABLE_100
153 ) as
154 ddindx binary_integer; indx binary_integer;
155 begin
156 if t is null or t.count = 0 then
157 a0 := JTF_VARCHAR2_TABLE_100();
158 a1 := JTF_NUMBER_TABLE();
159 a2 := JTF_DATE_TABLE();
160 a3 := JTF_NUMBER_TABLE();
161 a4 := JTF_NUMBER_TABLE();
162 a5 := JTF_NUMBER_TABLE();
163 a6 := JTF_VARCHAR2_TABLE_100();
164 a7 := JTF_NUMBER_TABLE();
165 a8 := JTF_VARCHAR2_TABLE_100();
166 else
167 a0 := JTF_VARCHAR2_TABLE_100();
168 a1 := JTF_NUMBER_TABLE();
169 a2 := JTF_DATE_TABLE();
170 a3 := JTF_NUMBER_TABLE();
171 a4 := JTF_NUMBER_TABLE();
172 a5 := JTF_NUMBER_TABLE();
173 a6 := JTF_VARCHAR2_TABLE_100();
174 a7 := JTF_NUMBER_TABLE();
175 a8 := JTF_VARCHAR2_TABLE_100();
176 if t.count > 0 then
177 a0.extend(t.count);
178 a1.extend(t.count);
179 a2.extend(t.count);
180 a3.extend(t.count);
181 a4.extend(t.count);
182 a5.extend(t.count);
183 a6.extend(t.count);
184 a7.extend(t.count);
185 a8.extend(t.count);
186 ddindx := t.first;
187 indx := 1;
188 while true loop
189 a0(indx) := t(ddindx).component_item;
190 a1(indx) := t(ddindx).component_item_id;
191 a2(indx) := t(ddindx).start_effective_date;
192 a3(indx) := t(ddindx).operation_sequence_number;
193 a4(indx) := t(ddindx).quantity_per_assembly;
194 a5(indx) := t(ddindx).wip_supply_type;
195 a6(indx) := t(ddindx).supply_subinventory;
196 a7(indx) := t(ddindx).supply_locator_id;
197 a8(indx) := t(ddindx).supply_locator_name;
198 indx := indx+1;
199 if t.last =ddindx
200 then exit;
201 end if;
202 ddindx := t.next(ddindx);
203 end loop;
204 end if;
205 end if;
206 end rosetta_table_copy_out_p5;
207
208 procedure rosetta_table_copy_in_p6(t out nocopy eam_workorder_util_pkg.t_optime_table, a0 JTF_NUMBER_TABLE
209 , a1 JTF_NUMBER_TABLE
210 ) as
211 ddindx binary_integer; indx binary_integer;
212 begin
213 if a0 is not null and a0.count > 0 then
214 if a0.count > 0 then
215 indx := a0.first;
216 ddindx := 1;
217 while true loop
218 t(ddindx).operation_seq_num := a0(indx);
219 t(ddindx).time_shift := a1(indx);
220 ddindx := ddindx+1;
221 if a0.last =indx
222 then exit;
223 end if;
224 indx := a0.next(indx);
225 end loop;
226 end if;
227 end if;
228 end rosetta_table_copy_in_p6;
229 procedure rosetta_table_copy_out_p6(t eam_workorder_util_pkg.t_optime_table, a0 out nocopy JTF_NUMBER_TABLE
230 , a1 out nocopy JTF_NUMBER_TABLE
231 ) as
232 ddindx binary_integer; indx binary_integer;
233 begin
234 if t is null or t.count = 0 then
235 a0 := JTF_NUMBER_TABLE();
236 a1 := JTF_NUMBER_TABLE();
237 else
238 a0 := JTF_NUMBER_TABLE();
239 a1 := JTF_NUMBER_TABLE();
240 if t.count > 0 then
241 a0.extend(t.count);
242 a1.extend(t.count);
243 ddindx := t.first;
244 indx := 1;
245 while true loop
246 a0(indx) := t(ddindx).operation_seq_num;
247 a1(indx) := t(ddindx).time_shift;
248 indx := indx+1;
249 if t.last =ddindx
250 then exit;
251 end if;
252 ddindx := t.next(ddindx);
253 end loop;
254 end if;
255 end if;
256 end rosetta_table_copy_out_p6;
257
258 procedure rosetta_table_copy_in_p7(t out nocopy eam_workorder_util_pkg.t_workflow_table, a0 JTF_NUMBER_TABLE
259 , a1 JTF_VARCHAR2_TABLE_400
260 , a2 JTF_VARCHAR2_TABLE_100
261 , a3 JTF_DATE_TABLE
262 , a4 JTF_VARCHAR2_TABLE_300
263 , a5 JTF_VARCHAR2_TABLE_100
264 , a6 JTF_VARCHAR2_TABLE_4000
265 ) as
266 ddindx binary_integer; indx binary_integer;
267 begin
268 if a0 is not null and a0.count > 0 then
269 if a0.count > 0 then
270 indx := a0.first;
271 ddindx := 1;
272 while true loop
273 t(ddindx).seq_no := a0(indx);
274 t(ddindx).approver := a1(indx);
275 t(ddindx).status := a2(indx);
276 t(ddindx).status_date := a3(indx);
277 t(ddindx).email := a4(indx);
278 t(ddindx).telephone := a5(indx);
279 t(ddindx).comments := a6(indx);
280 ddindx := ddindx+1;
281 if a0.last =indx
282 then exit;
283 end if;
284 indx := a0.next(indx);
285 end loop;
286 end if;
287 end if;
288 end rosetta_table_copy_in_p7;
289 procedure rosetta_table_copy_out_p7(t eam_workorder_util_pkg.t_workflow_table, a0 out nocopy JTF_NUMBER_TABLE
290 , a1 out nocopy JTF_VARCHAR2_TABLE_400
291 , a2 out nocopy JTF_VARCHAR2_TABLE_100
292 , a3 out nocopy JTF_DATE_TABLE
293 , a4 out nocopy JTF_VARCHAR2_TABLE_300
294 , a5 out nocopy JTF_VARCHAR2_TABLE_100
295 , a6 out nocopy JTF_VARCHAR2_TABLE_4000
296 ) as
297 ddindx binary_integer; indx binary_integer;
298 begin
299 if t is null or t.count = 0 then
300 a0 := JTF_NUMBER_TABLE();
301 a1 := JTF_VARCHAR2_TABLE_400();
302 a2 := JTF_VARCHAR2_TABLE_100();
303 a3 := JTF_DATE_TABLE();
304 a4 := JTF_VARCHAR2_TABLE_300();
305 a5 := JTF_VARCHAR2_TABLE_100();
306 a6 := JTF_VARCHAR2_TABLE_4000();
307 else
308 a0 := JTF_NUMBER_TABLE();
309 a1 := JTF_VARCHAR2_TABLE_400();
310 a2 := JTF_VARCHAR2_TABLE_100();
311 a3 := JTF_DATE_TABLE();
312 a4 := JTF_VARCHAR2_TABLE_300();
313 a5 := JTF_VARCHAR2_TABLE_100();
314 a6 := JTF_VARCHAR2_TABLE_4000();
315 if t.count > 0 then
316 a0.extend(t.count);
317 a1.extend(t.count);
318 a2.extend(t.count);
319 a3.extend(t.count);
320 a4.extend(t.count);
321 a5.extend(t.count);
322 a6.extend(t.count);
323 ddindx := t.first;
324 indx := 1;
325 while true loop
326 a0(indx) := t(ddindx).seq_no;
327 a1(indx) := t(ddindx).approver;
328 a2(indx) := t(ddindx).status;
329 a3(indx) := t(ddindx).status_date;
330 a4(indx) := t(ddindx).email;
331 a5(indx) := t(ddindx).telephone;
332 a6(indx) := t(ddindx).comments;
333 indx := indx+1;
334 if t.last =ddindx
335 then exit;
336 end if;
337 ddindx := t.next(ddindx);
338 end loop;
339 end if;
340 end if;
341 end rosetta_table_copy_out_p7;
342
343 procedure rosetta_table_copy_in_p30(t out nocopy eam_workorder_util_pkg.replace_rebuild_tbl_type, a0 JTF_NUMBER_TABLE
344 ) as
345 ddindx binary_integer; indx binary_integer;
346 begin
347 if a0 is not null and a0.count > 0 then
348 if a0.count > 0 then
349 indx := a0.first;
350 ddindx := 1;
351 while true loop
352 t(ddindx).p_instance_id := a0(indx);
353 ddindx := ddindx+1;
354 if a0.last =indx
355 then exit;
356 end if;
357 indx := a0.next(indx);
358 end loop;
359 end if;
360 end if;
361 end rosetta_table_copy_in_p30;
362 procedure rosetta_table_copy_out_p30(t eam_workorder_util_pkg.replace_rebuild_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
363 ) as
364 ddindx binary_integer; indx binary_integer;
365 begin
366 if t is null or t.count = 0 then
367 a0 := JTF_NUMBER_TABLE();
368 else
369 a0 := JTF_NUMBER_TABLE();
370 if t.count > 0 then
371 a0.extend(t.count);
372 ddindx := t.first;
373 indx := 1;
374 while true loop
375 a0(indx) := t(ddindx).p_instance_id;
376 indx := indx+1;
377 if t.last =ddindx
378 then exit;
379 end if;
380 ddindx := t.next(ddindx);
381 end loop;
382 end if;
383 end if;
384 end rosetta_table_copy_out_p30;
385
386 procedure retrieve_asset_bom(i_organization_id NUMBER
387 , i_asset_number VARCHAR2
388 , i_asset_group_id NUMBER
389 , p_context VARCHAR2
390 , p4_a0 out nocopy JTF_NUMBER_TABLE
391 , p4_a1 out nocopy JTF_NUMBER_TABLE
392 , p4_a2 out nocopy JTF_VARCHAR2_TABLE_100
393 , p4_a3 out nocopy JTF_VARCHAR2_TABLE_300
394 , p4_a4 out nocopy JTF_NUMBER_TABLE
395 , p4_a5 out nocopy JTF_NUMBER_TABLE
396 , p4_a6 out nocopy JTF_VARCHAR2_TABLE_100
397 , p4_a7 out nocopy JTF_NUMBER_TABLE
398 , p4_a8 out nocopy JTF_VARCHAR2_TABLE_100
399 , p4_a9 out nocopy JTF_VARCHAR2_TABLE_100
400 , o_error_code out nocopy NUMBER
401 )
402
403 as
404 ddo_bom_table eam_workorder_util_pkg.t_bom_table;
405 ddindx binary_integer; indx binary_integer;
406 begin
407
408 -- copy data to the local IN or IN-OUT args, if any
409
410
411
412
413
414
415 -- here's the delegated call to the old PL/SQL routine
416 eam_workorder_util_pkg.retrieve_asset_bom(i_organization_id,
417 i_asset_number,
418 i_asset_group_id,
419 p_context,
420 ddo_bom_table,
421 o_error_code);
422
423 -- copy data back from the local variables to OUT or IN-OUT args, if any
424
425
426
427
428 eam_workorder_util_pkg_w.rosetta_table_copy_out_p4(ddo_bom_table, p4_a0
429 , p4_a1
430 , p4_a2
431 , p4_a3
432 , p4_a4
433 , p4_a5
434 , p4_a6
435 , p4_a7
436 , p4_a8
437 , p4_a9
438 );
439
440 end;
441
442 procedure copy_to_bom(i_organization_id NUMBER
443 , i_organization_code VARCHAR2
444 , i_asset_number VARCHAR2
445 , i_asset_group_id NUMBER
446 , p4_a0 JTF_VARCHAR2_TABLE_100
447 , p4_a1 JTF_NUMBER_TABLE
448 , p4_a2 JTF_DATE_TABLE
449 , p4_a3 JTF_NUMBER_TABLE
450 , p4_a4 JTF_NUMBER_TABLE
451 , p4_a5 JTF_NUMBER_TABLE
452 , p4_a6 JTF_VARCHAR2_TABLE_100
453 , p4_a7 JTF_NUMBER_TABLE
454 , p4_a8 JTF_VARCHAR2_TABLE_100
455 , o_error_code out nocopy NUMBER
456 )
457
458 as
459 ddi_component_table eam_workorder_util_pkg.t_component_table;
460 ddindx binary_integer; indx binary_integer;
461 begin
462
463 -- copy data to the local IN or IN-OUT args, if any
464
465
466
467
468 eam_workorder_util_pkg_w.rosetta_table_copy_in_p5(ddi_component_table, p4_a0
469 , p4_a1
470 , p4_a2
471 , p4_a3
472 , p4_a4
473 , p4_a5
474 , p4_a6
475 , p4_a7
476 , p4_a8
477 );
478
479
480 -- here's the delegated call to the old PL/SQL routine
481 eam_workorder_util_pkg.copy_to_bom(i_organization_id,
482 i_organization_code,
483 i_asset_number,
484 i_asset_group_id,
485 ddi_component_table,
486 o_error_code);
487
488 -- copy data back from the local variables to OUT or IN-OUT args, if any
489
490
491
492
493
494 end;
495
496 procedure adjust_operations(i_wip_entity_id NUMBER
497 , p1_a0 JTF_NUMBER_TABLE
498 , p1_a1 JTF_NUMBER_TABLE
499 )
500
501 as
502 ddi_operation_table eam_workorder_util_pkg.t_optime_table;
503 ddindx binary_integer; indx binary_integer;
504 begin
505
506 -- copy data to the local IN or IN-OUT args, if any
507
508 eam_workorder_util_pkg_w.rosetta_table_copy_in_p6(ddi_operation_table, p1_a0
509 , p1_a1
510 );
511
512 -- here's the delegated call to the old PL/SQL routine
513 eam_workorder_util_pkg.adjust_operations(i_wip_entity_id,
514 ddi_operation_table);
515
516 -- copy data back from the local variables to OUT or IN-OUT args, if any
517
518 end;
519
520 procedure dependency_violated(i_wip_entity_id NUMBER
521 , ddrosetta_retval_bool OUT NOCOPY NUMBER
522 )
523
524 as
525 ddindx binary_integer; indx binary_integer;
526 ddrosetta_retval boolean;
527 begin
528
529 -- copy data to the local IN or IN-OUT args, if any
530
531 -- here's the delegated call to the old PL/SQL routine
532 ddrosetta_retval := eam_workorder_util_pkg.dependency_violated(i_wip_entity_id);
533
534 -- copy data back from the local variables to OUT or IN-OUT args, if any
535 if ddrosetta_retval is null
536 then ddrosetta_retval_bool := null;
537 elsif ddrosetta_retval
538 then ddrosetta_retval_bool := 1;
539 else ddrosetta_retval_bool := 0;
540 end if;
541 end;
542
543 procedure get_workflow_details(p_item_type VARCHAR2
544 , p_item_key VARCHAR2
545 , p2_a0 out nocopy JTF_NUMBER_TABLE
546 , p2_a1 out nocopy JTF_VARCHAR2_TABLE_400
547 , p2_a2 out nocopy JTF_VARCHAR2_TABLE_100
548 , p2_a3 out nocopy JTF_DATE_TABLE
549 , p2_a4 out nocopy JTF_VARCHAR2_TABLE_300
550 , p2_a5 out nocopy JTF_VARCHAR2_TABLE_100
551 , p2_a6 out nocopy JTF_VARCHAR2_TABLE_4000
552 )
553
554 as
555 ddx_workflow_table eam_workorder_util_pkg.t_workflow_table;
556 ddindx binary_integer; indx binary_integer;
557 begin
558
559 -- copy data to the local IN or IN-OUT args, if any
560
561
562
563 -- here's the delegated call to the old PL/SQL routine
564 eam_workorder_util_pkg.get_workflow_details(p_item_type,
565 p_item_key,
566 ddx_workflow_table);
567
568 -- copy data back from the local variables to OUT or IN-OUT args, if any
569
570
571 eam_workorder_util_pkg_w.rosetta_table_copy_out_p7(ddx_workflow_table, p2_a0
572 , p2_a1
573 , p2_a2
574 , p2_a3
575 , p2_a4
576 , p2_a5
577 , p2_a6
578 );
579 end;
580
581 procedure get_replaced_rebuilds(p_wip_entity_id NUMBER
582 , p_organization_id NUMBER
583 , p2_a0 out nocopy JTF_NUMBER_TABLE
584 , x_return_status out nocopy VARCHAR2
585 , x_error_message out nocopy VARCHAR2
586 )
587
588 as
589 ddx_replaced_rebuild_tbl eam_workorder_util_pkg.replace_rebuild_tbl_type;
590 ddindx binary_integer; indx binary_integer;
591 begin
592
593 -- copy data to the local IN or IN-OUT args, if any
594
595
596
597
598
599 -- here's the delegated call to the old PL/SQL routine
600 eam_workorder_util_pkg.get_replaced_rebuilds(p_wip_entity_id,
601 p_organization_id,
602 ddx_replaced_rebuild_tbl,
603 x_return_status,
604 x_error_message);
605
606 -- copy data back from the local variables to OUT or IN-OUT args, if any
607
608
609 eam_workorder_util_pkg_w.rosetta_table_copy_out_p30(ddx_replaced_rebuild_tbl, p2_a0
610 );
611
612
613 end;
614
615 end eam_workorder_util_pkg_w;