DBA Data[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;