DBA Data[Home] [Help]

PACKAGE BODY: APPS.CSP_SCH_INT_PVT_W

Source


1 package body csp_sch_int_pvt_w as
2   /* $Header: cspvscib.pls 120.6.12020000.2 2012/07/17 08:03:20 htank ship $ */
3   rosetta_g_mistake_date date := to_date('01/01/+4713', 'MM/DD/SYYYY');
4   rosetta_g_miss_date date := to_date('01/01/-4712', 'MM/DD/SYYYY');
5   rosetta_g_mistake_date_high date := to_date('01/01/+4710', 'MM/DD/SYYYY');
6   rosetta_g_mistake_date_low date := to_date('01/01/-4710', 'MM/DD/SYYYY');
7 
8   -- this is to workaround the JDBC bug regarding IN DATE of value GMiss
9   function rosetta_g_miss_date_in_map(d date) return date as
10   begin
11     if d > rosetta_g_mistake_date_high then return fnd_api.g_miss_date; end if;
12     if d < rosetta_g_mistake_date_low then return fnd_api.g_miss_date; end if;
13     return d;
14   end;
15 
16   procedure rosetta_table_copy_in_p13(t out nocopy csp_sch_int_pvt.csp_sch_resource_tbl_typ, a0 JTF_NUMBER_TABLE
17     , a1 JTF_VARCHAR2_TABLE_100
18     ) as
19     ddindx binary_integer; indx binary_integer;
20   begin
21   if a0 is not null and a0.count=0 then
22     t := csp_sch_int_pvt.csp_sch_resource_tbl_typ();
23   elsif a0 is not null and a0.count > 0 then
24       if a0.count > 0 then
25       t := csp_sch_int_pvt.csp_sch_resource_tbl_typ();
26       t.extend(a0.count);
27         indx := a0.first;
28         ddindx := 1;
29         while true loop
30           t(ddindx).resource_id := a0(indx);
31           t(ddindx).resource_type := a1(indx);
32           ddindx := ddindx+1;
33           if a0.last =indx
34             then exit;
35           end if;
36           indx := a0.next(indx);
37         end loop;
38       end if;
39    end if;
40   end rosetta_table_copy_in_p13;
41   procedure rosetta_table_copy_out_p13(t csp_sch_int_pvt.csp_sch_resource_tbl_typ, a0 out nocopy JTF_NUMBER_TABLE
42     , a1 out nocopy JTF_VARCHAR2_TABLE_100
43     ) as
44     ddindx binary_integer; indx binary_integer;
45   begin
46   if t is null then
47     a0 := null;
48     a1 := null;
49   elsif t.count = 0 then
50     a0 := JTF_NUMBER_TABLE();
51     a1 := JTF_VARCHAR2_TABLE_100();
52   else
53       a0 := JTF_NUMBER_TABLE();
54       a1 := JTF_VARCHAR2_TABLE_100();
55       if t.count > 0 then
56         a0.extend(t.count);
57         a1.extend(t.count);
58         ddindx := t.first;
59         indx := 1;
60         while true loop
61           a0(indx) := t(ddindx).resource_id;
62           a1(indx) := t(ddindx).resource_type;
63           indx := indx+1;
64           if t.last =ddindx
65             then exit;
66           end if;
67           ddindx := t.next(ddindx);
68         end loop;
69       end if;
70    end if;
71   end rosetta_table_copy_out_p13;
72 
73   procedure rosetta_table_copy_in_p14(t out nocopy csp_sch_int_pvt.csp_sch_options_tbl_typ, a0 JTF_NUMBER_TABLE
74     , a1 JTF_VARCHAR2_TABLE_100
75     , a2 JTF_DATE_TABLE
76     , a3 JTF_NUMBER_TABLE
77     , a4 JTF_NUMBER_TABLE
78     , a5 JTF_NUMBER_TABLE
79     , a6 JTF_VARCHAR2_TABLE_4000
80     , a7 JTF_VARCHAR2_TABLE_4000
81     , a8 JTF_VARCHAR2_TABLE_4000
82     ) as
83     ddindx binary_integer; indx binary_integer;
84   begin
85   if a0 is not null and a0.count=0 then
86     t := csp_sch_int_pvt.csp_sch_options_tbl_typ();
87   elsif a0 is not null and a0.count > 0 then
88       if a0.count > 0 then
89       t := csp_sch_int_pvt.csp_sch_options_tbl_typ();
90       t.extend(a0.count);
91         indx := a0.first;
92         ddindx := 1;
93         while true loop
94           t(ddindx).resource_id := a0(indx);
95           t(ddindx).resource_type := a1(indx);
96           t(ddindx).start_time := rosetta_g_miss_date_in_map(a2(indx));
97           t(ddindx).transfer_cost := a3(indx);
98           t(ddindx).missing_parts := a4(indx);
99           t(ddindx).available_parts := a5(indx);
100           t(ddindx).src_warehouse := a6(indx);
101           t(ddindx).ship_method := a7(indx);
102           t(ddindx).distance_str := a8(indx);
103           ddindx := ddindx+1;
104           if a0.last =indx
105             then exit;
106           end if;
107           indx := a0.next(indx);
108         end loop;
109       end if;
110    end if;
111   end rosetta_table_copy_in_p14;
112   procedure rosetta_table_copy_out_p14(t csp_sch_int_pvt.csp_sch_options_tbl_typ, a0 out nocopy JTF_NUMBER_TABLE
113     , a1 out nocopy JTF_VARCHAR2_TABLE_100
114     , a2 out nocopy JTF_DATE_TABLE
115     , a3 out nocopy JTF_NUMBER_TABLE
116     , a4 out nocopy JTF_NUMBER_TABLE
117     , a5 out nocopy JTF_NUMBER_TABLE
118     , a6 out nocopy JTF_VARCHAR2_TABLE_4000
119     , a7 out nocopy JTF_VARCHAR2_TABLE_4000
120     , a8 out nocopy JTF_VARCHAR2_TABLE_4000
121     ) as
122     ddindx binary_integer; indx binary_integer;
123   begin
124   if t is null then
125     a0 := null;
126     a1 := null;
127     a2 := null;
128     a3 := null;
129     a4 := null;
130     a5 := null;
131     a6 := null;
132     a7 := null;
133     a8 := null;
134   elsif t.count = 0 then
135     a0 := JTF_NUMBER_TABLE();
136     a1 := JTF_VARCHAR2_TABLE_100();
137     a2 := JTF_DATE_TABLE();
138     a3 := JTF_NUMBER_TABLE();
139     a4 := JTF_NUMBER_TABLE();
140     a5 := JTF_NUMBER_TABLE();
141     a6 := JTF_VARCHAR2_TABLE_4000();
142     a7 := JTF_VARCHAR2_TABLE_4000();
143     a8 := JTF_VARCHAR2_TABLE_4000();
144   else
145       a0 := JTF_NUMBER_TABLE();
146       a1 := JTF_VARCHAR2_TABLE_100();
147       a2 := JTF_DATE_TABLE();
148       a3 := JTF_NUMBER_TABLE();
149       a4 := JTF_NUMBER_TABLE();
150       a5 := JTF_NUMBER_TABLE();
151       a6 := JTF_VARCHAR2_TABLE_4000();
152       a7 := JTF_VARCHAR2_TABLE_4000();
153       a8 := JTF_VARCHAR2_TABLE_4000();
154       if t.count > 0 then
155         a0.extend(t.count);
156         a1.extend(t.count);
157         a2.extend(t.count);
158         a3.extend(t.count);
159         a4.extend(t.count);
160         a5.extend(t.count);
161         a6.extend(t.count);
162         a7.extend(t.count);
163         a8.extend(t.count);
164         ddindx := t.first;
165         indx := 1;
166         while true loop
167           a0(indx) := t(ddindx).resource_id;
168           a1(indx) := t(ddindx).resource_type;
169           a2(indx) := t(ddindx).start_time;
170           a3(indx) := t(ddindx).transfer_cost;
171           a4(indx) := t(ddindx).missing_parts;
172           a5(indx) := t(ddindx).available_parts;
173           a6(indx) := t(ddindx).src_warehouse;
174           a7(indx) := t(ddindx).ship_method;
175           a8(indx) := t(ddindx).distance_str;
176           indx := indx+1;
177           if t.last =ddindx
178             then exit;
179           end if;
180           ddindx := t.next(ddindx);
181         end loop;
182       end if;
183    end if;
184   end rosetta_table_copy_out_p14;
185 
186   procedure rosetta_table_copy_in_p15(t out nocopy csp_sch_int_pvt.csp_unavailability_tbl_type, a0 JTF_NUMBER_TABLE
187     , a1 JTF_VARCHAR2_TABLE_100
188     , a2 JTF_NUMBER_TABLE
189     , a3 JTF_NUMBER_TABLE
190     , a4 JTF_VARCHAR2_TABLE_100
191     , a5 JTF_VARCHAR2_TABLE_100
192     , a6 JTF_NUMBER_TABLE
193     , a7 JTF_NUMBER_TABLE
194     , a8 JTF_NUMBER_TABLE
195     , a9 JTF_VARCHAR2_TABLE_100
196     ) as
197     ddindx binary_integer; indx binary_integer;
198   begin
199   if a0 is not null and a0.count=0 then
200     t := csp_sch_int_pvt.csp_unavailability_tbl_type();
201   elsif a0 is not null and a0.count > 0 then
202       if a0.count > 0 then
203       t := csp_sch_int_pvt.csp_unavailability_tbl_type();
204       t.extend(a0.count);
205         indx := a0.first;
206         ddindx := 1;
207         while true loop
208           t(ddindx).resource_id := a0(indx);
209           t(ddindx).resource_type := a1(indx);
210           t(ddindx).organization_id := a2(indx);
211           t(ddindx).item_id := a3(indx);
212           t(ddindx).revision := a4(indx);
213           t(ddindx).item_uom := a5(indx);
214           t(ddindx).item_type := a6(indx);
215           t(ddindx).line_id := a7(indx);
216           t(ddindx).quantity := a8(indx);
217           t(ddindx).ship_set_name := a9(indx);
218           ddindx := ddindx+1;
219           if a0.last =indx
220             then exit;
221           end if;
222           indx := a0.next(indx);
223         end loop;
224       end if;
225    end if;
226   end rosetta_table_copy_in_p15;
227   procedure rosetta_table_copy_out_p15(t csp_sch_int_pvt.csp_unavailability_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
228     , a1 out nocopy JTF_VARCHAR2_TABLE_100
229     , a2 out nocopy JTF_NUMBER_TABLE
230     , a3 out nocopy JTF_NUMBER_TABLE
231     , a4 out nocopy JTF_VARCHAR2_TABLE_100
232     , a5 out nocopy JTF_VARCHAR2_TABLE_100
233     , a6 out nocopy JTF_NUMBER_TABLE
234     , a7 out nocopy JTF_NUMBER_TABLE
235     , a8 out nocopy JTF_NUMBER_TABLE
236     , a9 out nocopy JTF_VARCHAR2_TABLE_100
237     ) as
238     ddindx binary_integer; indx binary_integer;
239   begin
240   if t is null then
241     a0 := null;
242     a1 := null;
243     a2 := null;
244     a3 := null;
245     a4 := null;
246     a5 := null;
247     a6 := null;
248     a7 := null;
249     a8 := null;
250     a9 := null;
251   elsif t.count = 0 then
252     a0 := JTF_NUMBER_TABLE();
253     a1 := JTF_VARCHAR2_TABLE_100();
254     a2 := JTF_NUMBER_TABLE();
255     a3 := JTF_NUMBER_TABLE();
256     a4 := JTF_VARCHAR2_TABLE_100();
257     a5 := JTF_VARCHAR2_TABLE_100();
258     a6 := JTF_NUMBER_TABLE();
259     a7 := JTF_NUMBER_TABLE();
260     a8 := JTF_NUMBER_TABLE();
261     a9 := JTF_VARCHAR2_TABLE_100();
262   else
263       a0 := JTF_NUMBER_TABLE();
264       a1 := JTF_VARCHAR2_TABLE_100();
265       a2 := JTF_NUMBER_TABLE();
266       a3 := JTF_NUMBER_TABLE();
267       a4 := JTF_VARCHAR2_TABLE_100();
268       a5 := JTF_VARCHAR2_TABLE_100();
269       a6 := JTF_NUMBER_TABLE();
270       a7 := JTF_NUMBER_TABLE();
271       a8 := JTF_NUMBER_TABLE();
272       a9 := JTF_VARCHAR2_TABLE_100();
273       if t.count > 0 then
274         a0.extend(t.count);
275         a1.extend(t.count);
276         a2.extend(t.count);
277         a3.extend(t.count);
278         a4.extend(t.count);
279         a5.extend(t.count);
280         a6.extend(t.count);
281         a7.extend(t.count);
282         a8.extend(t.count);
283         a9.extend(t.count);
284         ddindx := t.first;
285         indx := 1;
286         while true loop
287           a0(indx) := t(ddindx).resource_id;
288           a1(indx) := t(ddindx).resource_type;
289           a2(indx) := t(ddindx).organization_id;
290           a3(indx) := t(ddindx).item_id;
291           a4(indx) := t(ddindx).revision;
292           a5(indx) := t(ddindx).item_uom;
293           a6(indx) := t(ddindx).item_type;
294           a7(indx) := t(ddindx).line_id;
295           a8(indx) := t(ddindx).quantity;
296           a9(indx) := t(ddindx).ship_set_name;
297           indx := indx+1;
298           if t.last =ddindx
299             then exit;
300           end if;
301           ddindx := t.next(ddindx);
302         end loop;
303       end if;
304    end if;
305   end rosetta_table_copy_out_p15;
306 
307   procedure rosetta_table_copy_in_p16(t out nocopy csp_sch_int_pvt.csp_availability_tbl_type, a0 JTF_NUMBER_TABLE
308     , a1 JTF_VARCHAR2_TABLE_100
309     , a2 JTF_NUMBER_TABLE
310     , a3 JTF_NUMBER_TABLE
311     , a4 JTF_NUMBER_TABLE
312     , a5 JTF_NUMBER_TABLE
313     , a6 JTF_VARCHAR2_TABLE_100
314     , a7 JTF_NUMBER_TABLE
315     , a8 JTF_VARCHAR2_TABLE_100
316     , a9 JTF_NUMBER_TABLE
317     , a10 JTF_NUMBER_TABLE
318     , a11 JTF_NUMBER_TABLE
319     , a12 JTF_VARCHAR2_TABLE_100
320     , a13 JTF_DATE_TABLE
321     , a14 JTF_VARCHAR2_TABLE_100
322     , a15 JTF_NUMBER_TABLE
323     , a16 JTF_VARCHAR2_TABLE_100
324     ) as
325     ddindx binary_integer; indx binary_integer;
326   begin
327   if a0 is not null and a0.count=0 then
328     t := csp_sch_int_pvt.csp_availability_tbl_type();
329   elsif a0 is not null and a0.count > 0 then
330       if a0.count > 0 then
331       t := csp_sch_int_pvt.csp_availability_tbl_type();
332       t.extend(a0.count);
333         indx := a0.first;
334         ddindx := 1;
335         while true loop
336           t(ddindx).resource_id := a0(indx);
337           t(ddindx).resource_type := a1(indx);
338           t(ddindx).organization_id := a2(indx);
339           t(ddindx).destination_location_id := a3(indx);
340           t(ddindx).line_id := a4(indx);
341           t(ddindx).item_id := a5(indx);
342           t(ddindx).item_uom := a6(indx);
343           t(ddindx).item_type := a7(indx);
344           t(ddindx).revision := a8(indx);
345           t(ddindx).quantity := a9(indx);
346           t(ddindx).available_quantity := a10(indx);
347           t(ddindx).source_org := a11(indx);
348           t(ddindx).sub_inventory := a12(indx);
349           t(ddindx).available_date := rosetta_g_miss_date_in_map(a13(indx));
350           t(ddindx).shipping_methode := a14(indx);
351           t(ddindx).intransit_time := a15(indx);
352           t(ddindx).replenishment_source := a16(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_p16;
362   procedure rosetta_table_copy_out_p16(t csp_sch_int_pvt.csp_availability_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
363     , a1 out nocopy JTF_VARCHAR2_TABLE_100
364     , a2 out nocopy JTF_NUMBER_TABLE
365     , a3 out nocopy JTF_NUMBER_TABLE
366     , a4 out nocopy JTF_NUMBER_TABLE
367     , a5 out nocopy JTF_NUMBER_TABLE
368     , a6 out nocopy JTF_VARCHAR2_TABLE_100
369     , a7 out nocopy JTF_NUMBER_TABLE
370     , a8 out nocopy JTF_VARCHAR2_TABLE_100
371     , a9 out nocopy JTF_NUMBER_TABLE
372     , a10 out nocopy JTF_NUMBER_TABLE
373     , a11 out nocopy JTF_NUMBER_TABLE
374     , a12 out nocopy JTF_VARCHAR2_TABLE_100
375     , a13 out nocopy JTF_DATE_TABLE
376     , a14 out nocopy JTF_VARCHAR2_TABLE_100
377     , a15 out nocopy JTF_NUMBER_TABLE
378     , a16 out nocopy JTF_VARCHAR2_TABLE_100
379     ) as
380     ddindx binary_integer; indx binary_integer;
381   begin
382   if t is null then
383     a0 := null;
384     a1 := null;
385     a2 := null;
386     a3 := null;
387     a4 := null;
388     a5 := null;
389     a6 := null;
390     a7 := null;
391     a8 := null;
392     a9 := null;
393     a10 := null;
394     a11 := null;
395     a12 := null;
396     a13 := null;
397     a14 := null;
398     a15 := null;
399     a16 := null;
400   elsif t.count = 0 then
401     a0 := JTF_NUMBER_TABLE();
402     a1 := JTF_VARCHAR2_TABLE_100();
403     a2 := JTF_NUMBER_TABLE();
404     a3 := JTF_NUMBER_TABLE();
405     a4 := JTF_NUMBER_TABLE();
406     a5 := JTF_NUMBER_TABLE();
407     a6 := JTF_VARCHAR2_TABLE_100();
408     a7 := JTF_NUMBER_TABLE();
409     a8 := JTF_VARCHAR2_TABLE_100();
410     a9 := JTF_NUMBER_TABLE();
411     a10 := JTF_NUMBER_TABLE();
412     a11 := JTF_NUMBER_TABLE();
413     a12 := JTF_VARCHAR2_TABLE_100();
414     a13 := JTF_DATE_TABLE();
415     a14 := JTF_VARCHAR2_TABLE_100();
416     a15 := JTF_NUMBER_TABLE();
417     a16 := JTF_VARCHAR2_TABLE_100();
418   else
419       a0 := JTF_NUMBER_TABLE();
420       a1 := JTF_VARCHAR2_TABLE_100();
421       a2 := JTF_NUMBER_TABLE();
422       a3 := JTF_NUMBER_TABLE();
423       a4 := JTF_NUMBER_TABLE();
424       a5 := JTF_NUMBER_TABLE();
425       a6 := JTF_VARCHAR2_TABLE_100();
426       a7 := JTF_NUMBER_TABLE();
427       a8 := JTF_VARCHAR2_TABLE_100();
428       a9 := JTF_NUMBER_TABLE();
429       a10 := JTF_NUMBER_TABLE();
430       a11 := JTF_NUMBER_TABLE();
431       a12 := JTF_VARCHAR2_TABLE_100();
432       a13 := JTF_DATE_TABLE();
433       a14 := JTF_VARCHAR2_TABLE_100();
434       a15 := JTF_NUMBER_TABLE();
435       a16 := JTF_VARCHAR2_TABLE_100();
436       if t.count > 0 then
437         a0.extend(t.count);
438         a1.extend(t.count);
439         a2.extend(t.count);
440         a3.extend(t.count);
441         a4.extend(t.count);
442         a5.extend(t.count);
443         a6.extend(t.count);
444         a7.extend(t.count);
445         a8.extend(t.count);
446         a9.extend(t.count);
447         a10.extend(t.count);
448         a11.extend(t.count);
449         a12.extend(t.count);
450         a13.extend(t.count);
451         a14.extend(t.count);
452         a15.extend(t.count);
453         a16.extend(t.count);
454         ddindx := t.first;
455         indx := 1;
456         while true loop
457           a0(indx) := t(ddindx).resource_id;
458           a1(indx) := t(ddindx).resource_type;
459           a2(indx) := t(ddindx).organization_id;
460           a3(indx) := t(ddindx).destination_location_id;
461           a4(indx) := t(ddindx).line_id;
462           a5(indx) := t(ddindx).item_id;
463           a6(indx) := t(ddindx).item_uom;
464           a7(indx) := t(ddindx).item_type;
465           a8(indx) := t(ddindx).revision;
466           a9(indx) := t(ddindx).quantity;
467           a10(indx) := t(ddindx).available_quantity;
468           a11(indx) := t(ddindx).source_org;
469           a12(indx) := t(ddindx).sub_inventory;
470           a13(indx) := t(ddindx).available_date;
471           a14(indx) := t(ddindx).shipping_methode;
472           a15(indx) := t(ddindx).intransit_time;
473           a16(indx) := t(ddindx).replenishment_source;
474           indx := indx+1;
475           if t.last =ddindx
476             then exit;
477           end if;
478           ddindx := t.next(ddindx);
479         end loop;
480       end if;
481    end if;
482   end rosetta_table_copy_out_p16;
483 
484   procedure rosetta_table_copy_in_p17(t out nocopy csp_sch_int_pvt.csp_parts_tbl_type, a0 JTF_NUMBER_TABLE
485     , a1 JTF_VARCHAR2_TABLE_100
486     , a2 JTF_VARCHAR2_TABLE_100
487     , a3 JTF_NUMBER_TABLE
488     , a4 JTF_VARCHAR2_TABLE_100
489     , a5 JTF_NUMBER_TABLE
490     ) as
491     ddindx binary_integer; indx binary_integer;
492   begin
493   if a0 is not null and a0.count=0 then
494     t := csp_sch_int_pvt.csp_parts_tbl_type();
495   elsif a0 is not null and a0.count > 0 then
496       if a0.count > 0 then
497       t := csp_sch_int_pvt.csp_parts_tbl_type();
498       t.extend(a0.count);
499         indx := a0.first;
500         ddindx := 1;
501         while true loop
502           t(ddindx).item_id := a0(indx);
503           t(ddindx).item_uom := a1(indx);
504           t(ddindx).revision := a2(indx);
505           t(ddindx).quantity := a3(indx);
506           t(ddindx).ship_set_name := a4(indx);
507           t(ddindx).line_id := a5(indx);
508           ddindx := ddindx+1;
509           if a0.last =indx
510             then exit;
511           end if;
512           indx := a0.next(indx);
513         end loop;
514       end if;
515    end if;
516   end rosetta_table_copy_in_p17;
517   procedure rosetta_table_copy_out_p17(t csp_sch_int_pvt.csp_parts_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
518     , a1 out nocopy JTF_VARCHAR2_TABLE_100
519     , a2 out nocopy JTF_VARCHAR2_TABLE_100
520     , a3 out nocopy JTF_NUMBER_TABLE
521     , a4 out nocopy JTF_VARCHAR2_TABLE_100
522     , a5 out nocopy JTF_NUMBER_TABLE
523     ) as
524     ddindx binary_integer; indx binary_integer;
525   begin
526   if t is null then
527     a0 := null;
528     a1 := null;
529     a2 := null;
530     a3 := null;
531     a4 := null;
532     a5 := null;
533   elsif t.count = 0 then
534     a0 := JTF_NUMBER_TABLE();
535     a1 := JTF_VARCHAR2_TABLE_100();
536     a2 := JTF_VARCHAR2_TABLE_100();
537     a3 := JTF_NUMBER_TABLE();
538     a4 := JTF_VARCHAR2_TABLE_100();
539     a5 := JTF_NUMBER_TABLE();
540   else
541       a0 := JTF_NUMBER_TABLE();
542       a1 := JTF_VARCHAR2_TABLE_100();
543       a2 := JTF_VARCHAR2_TABLE_100();
544       a3 := JTF_NUMBER_TABLE();
545       a4 := JTF_VARCHAR2_TABLE_100();
546       a5 := JTF_NUMBER_TABLE();
547       if t.count > 0 then
548         a0.extend(t.count);
549         a1.extend(t.count);
550         a2.extend(t.count);
551         a3.extend(t.count);
552         a4.extend(t.count);
553         a5.extend(t.count);
554         ddindx := t.first;
555         indx := 1;
556         while true loop
557           a0(indx) := t(ddindx).item_id;
558           a1(indx) := t(ddindx).item_uom;
559           a2(indx) := t(ddindx).revision;
560           a3(indx) := t(ddindx).quantity;
561           a4(indx) := t(ddindx).ship_set_name;
562           a5(indx) := t(ddindx).line_id;
563           indx := indx+1;
564           if t.last =ddindx
565             then exit;
566           end if;
567           ddindx := t.next(ddindx);
568         end loop;
569       end if;
570    end if;
571   end rosetta_table_copy_out_p17;
572 
573   procedure rosetta_table_copy_in_p18(t out nocopy csp_sch_int_pvt.available_parts_tbl_typ, a0 JTF_NUMBER_TABLE
574     , a1 JTF_VARCHAR2_TABLE_100
575     , a2 JTF_NUMBER_TABLE
576     , a3 JTF_NUMBER_TABLE
577     , a4 JTF_VARCHAR2_TABLE_100
578     , a5 JTF_NUMBER_TABLE
579     , a6 JTF_NUMBER_TABLE
580     , a7 JTF_NUMBER_TABLE
581     , a8 JTF_VARCHAR2_TABLE_100
582     , a9 JTF_DATE_TABLE
583     , a10 JTF_DATE_TABLE
584     , a11 JTF_VARCHAR2_TABLE_100
585     , a12 JTF_NUMBER_TABLE
586     , a13 JTF_NUMBER_TABLE
587     , a14 JTF_VARCHAR2_TABLE_100
588     , a15 JTF_VARCHAR2_TABLE_100
589     ) as
590     ddindx binary_integer; indx binary_integer;
591   begin
592   if a0 is not null and a0.count=0 then
593     t := csp_sch_int_pvt.available_parts_tbl_typ();
594   elsif a0 is not null and a0.count > 0 then
595       if a0.count > 0 then
596       t := csp_sch_int_pvt.available_parts_tbl_typ();
597       t.extend(a0.count);
598         indx := a0.first;
599         ddindx := 1;
600         while true loop
601           t(ddindx).item_id := a0(indx);
602           t(ddindx).item_uom := a1(indx);
603           t(ddindx).required_quantity := a2(indx);
604           t(ddindx).source_org_id := a3(indx);
605           t(ddindx).sub_inventory_code := a4(indx);
606           t(ddindx).reserved_quantity := a5(indx);
607           t(ddindx).ordered_quantity := a6(indx);
608           t(ddindx).available_quantity := a7(indx);
609           t(ddindx).shipping_methode := a8(indx);
610           t(ddindx).arraival_date := rosetta_g_miss_date_in_map(a9(indx));
611           t(ddindx).order_by_date := rosetta_g_miss_date_in_map(a10(indx));
612           t(ddindx).source_type := a11(indx);
613           t(ddindx).line_id := a12(indx);
614           t(ddindx).item_type := a13(indx);
615           t(ddindx).recommended_option := a14(indx);
616           t(ddindx).revision := a15(indx);
617           ddindx := ddindx+1;
618           if a0.last =indx
619             then exit;
620           end if;
621           indx := a0.next(indx);
622         end loop;
623       end if;
624    end if;
625   end rosetta_table_copy_in_p18;
626   procedure rosetta_table_copy_out_p18(t csp_sch_int_pvt.available_parts_tbl_typ, a0 out nocopy JTF_NUMBER_TABLE
627     , a1 out nocopy JTF_VARCHAR2_TABLE_100
628     , a2 out nocopy JTF_NUMBER_TABLE
629     , a3 out nocopy JTF_NUMBER_TABLE
630     , a4 out nocopy JTF_VARCHAR2_TABLE_100
631     , a5 out nocopy JTF_NUMBER_TABLE
632     , a6 out nocopy JTF_NUMBER_TABLE
633     , a7 out nocopy JTF_NUMBER_TABLE
634     , a8 out nocopy JTF_VARCHAR2_TABLE_100
635     , a9 out nocopy JTF_DATE_TABLE
636     , a10 out nocopy JTF_DATE_TABLE
637     , a11 out nocopy JTF_VARCHAR2_TABLE_100
638     , a12 out nocopy JTF_NUMBER_TABLE
639     , a13 out nocopy JTF_NUMBER_TABLE
640     , a14 out nocopy JTF_VARCHAR2_TABLE_100
641     , a15 out nocopy JTF_VARCHAR2_TABLE_100
642     ) as
643     ddindx binary_integer; indx binary_integer;
644   begin
645   if t is null then
646     a0 := null;
647     a1 := null;
648     a2 := null;
649     a3 := null;
650     a4 := null;
651     a5 := null;
652     a6 := null;
653     a7 := null;
654     a8 := null;
655     a9 := null;
656     a10 := null;
657     a11 := null;
658     a12 := null;
659     a13 := null;
660     a14 := null;
661     a15 := null;
662   elsif t.count = 0 then
663     a0 := JTF_NUMBER_TABLE();
664     a1 := JTF_VARCHAR2_TABLE_100();
665     a2 := JTF_NUMBER_TABLE();
666     a3 := JTF_NUMBER_TABLE();
667     a4 := JTF_VARCHAR2_TABLE_100();
668     a5 := JTF_NUMBER_TABLE();
669     a6 := JTF_NUMBER_TABLE();
670     a7 := JTF_NUMBER_TABLE();
671     a8 := JTF_VARCHAR2_TABLE_100();
672     a9 := JTF_DATE_TABLE();
673     a10 := JTF_DATE_TABLE();
674     a11 := JTF_VARCHAR2_TABLE_100();
675     a12 := JTF_NUMBER_TABLE();
676     a13 := JTF_NUMBER_TABLE();
677     a14 := JTF_VARCHAR2_TABLE_100();
678     a15 := JTF_VARCHAR2_TABLE_100();
679   else
680       a0 := JTF_NUMBER_TABLE();
681       a1 := JTF_VARCHAR2_TABLE_100();
682       a2 := JTF_NUMBER_TABLE();
683       a3 := JTF_NUMBER_TABLE();
684       a4 := JTF_VARCHAR2_TABLE_100();
685       a5 := JTF_NUMBER_TABLE();
686       a6 := JTF_NUMBER_TABLE();
687       a7 := JTF_NUMBER_TABLE();
688       a8 := JTF_VARCHAR2_TABLE_100();
689       a9 := JTF_DATE_TABLE();
690       a10 := JTF_DATE_TABLE();
691       a11 := JTF_VARCHAR2_TABLE_100();
692       a12 := JTF_NUMBER_TABLE();
693       a13 := JTF_NUMBER_TABLE();
694       a14 := JTF_VARCHAR2_TABLE_100();
695       a15 := JTF_VARCHAR2_TABLE_100();
696       if t.count > 0 then
697         a0.extend(t.count);
698         a1.extend(t.count);
699         a2.extend(t.count);
700         a3.extend(t.count);
701         a4.extend(t.count);
702         a5.extend(t.count);
703         a6.extend(t.count);
704         a7.extend(t.count);
705         a8.extend(t.count);
706         a9.extend(t.count);
707         a10.extend(t.count);
708         a11.extend(t.count);
709         a12.extend(t.count);
710         a13.extend(t.count);
711         a14.extend(t.count);
712         a15.extend(t.count);
713         ddindx := t.first;
714         indx := 1;
715         while true loop
716           a0(indx) := t(ddindx).item_id;
717           a1(indx) := t(ddindx).item_uom;
718           a2(indx) := t(ddindx).required_quantity;
719           a3(indx) := t(ddindx).source_org_id;
720           a4(indx) := t(ddindx).sub_inventory_code;
721           a5(indx) := t(ddindx).reserved_quantity;
722           a6(indx) := t(ddindx).ordered_quantity;
723           a7(indx) := t(ddindx).available_quantity;
724           a8(indx) := t(ddindx).shipping_methode;
725           a9(indx) := t(ddindx).arraival_date;
726           a10(indx) := t(ddindx).order_by_date;
727           a11(indx) := t(ddindx).source_type;
728           a12(indx) := t(ddindx).line_id;
729           a13(indx) := t(ddindx).item_type;
730           a14(indx) := t(ddindx).recommended_option;
731           a15(indx) := t(ddindx).revision;
732           indx := indx+1;
733           if t.last =ddindx
734             then exit;
735           end if;
736           ddindx := t.next(ddindx);
737         end loop;
738       end if;
739    end if;
740   end rosetta_table_copy_out_p18;
741 
742   procedure rosetta_table_copy_in_p19(t out nocopy csp_sch_int_pvt.available_parts_tbl_typ1, a0 JTF_NUMBER_TABLE
743     , a1 JTF_VARCHAR2_TABLE_100
744     , a2 JTF_NUMBER_TABLE
745     , a3 JTF_NUMBER_TABLE
746     , a4 JTF_VARCHAR2_TABLE_100
747     , a5 JTF_NUMBER_TABLE
748     , a6 JTF_NUMBER_TABLE
749     , a7 JTF_NUMBER_TABLE
750     , a8 JTF_VARCHAR2_TABLE_100
751     , a9 JTF_DATE_TABLE
752     , a10 JTF_DATE_TABLE
753     , a11 JTF_VARCHAR2_TABLE_100
754     , a12 JTF_NUMBER_TABLE
755     , a13 JTF_NUMBER_TABLE
756     , a14 JTF_VARCHAR2_TABLE_100
757     , a15 JTF_VARCHAR2_TABLE_100
758     ) as
759     ddindx binary_integer; indx binary_integer;
760   begin
761   if a0 is not null and a0.count > 0 then
762       if a0.count > 0 then
763         indx := a0.first;
764         ddindx := 1;
765         while true loop
766           t(ddindx).item_id := a0(indx);
767           t(ddindx).item_uom := a1(indx);
768           t(ddindx).required_quantity := a2(indx);
769           t(ddindx).source_org_id := a3(indx);
770           t(ddindx).sub_inventory_code := a4(indx);
771           t(ddindx).reserved_quantity := a5(indx);
772           t(ddindx).ordered_quantity := a6(indx);
773           t(ddindx).available_quantity := a7(indx);
774           t(ddindx).shipping_methode := a8(indx);
775           t(ddindx).arraival_date := rosetta_g_miss_date_in_map(a9(indx));
776           t(ddindx).order_by_date := rosetta_g_miss_date_in_map(a10(indx));
777           t(ddindx).source_type := a11(indx);
778           t(ddindx).line_id := a12(indx);
779           t(ddindx).item_type := a13(indx);
780           t(ddindx).recommended_option := a14(indx);
781           t(ddindx).revision := a15(indx);
782           ddindx := ddindx+1;
783           if a0.last =indx
784             then exit;
785           end if;
786           indx := a0.next(indx);
787         end loop;
788       end if;
789    end if;
790   end rosetta_table_copy_in_p19;
791   procedure rosetta_table_copy_out_p19(t csp_sch_int_pvt.available_parts_tbl_typ1, a0 out nocopy JTF_NUMBER_TABLE
792     , a1 out nocopy JTF_VARCHAR2_TABLE_100
793     , a2 out nocopy JTF_NUMBER_TABLE
794     , a3 out nocopy JTF_NUMBER_TABLE
795     , a4 out nocopy JTF_VARCHAR2_TABLE_100
796     , a5 out nocopy JTF_NUMBER_TABLE
797     , a6 out nocopy JTF_NUMBER_TABLE
798     , a7 out nocopy JTF_NUMBER_TABLE
799     , a8 out nocopy JTF_VARCHAR2_TABLE_100
800     , a9 out nocopy JTF_DATE_TABLE
801     , a10 out nocopy JTF_DATE_TABLE
802     , a11 out nocopy JTF_VARCHAR2_TABLE_100
803     , a12 out nocopy JTF_NUMBER_TABLE
804     , a13 out nocopy JTF_NUMBER_TABLE
805     , a14 out nocopy JTF_VARCHAR2_TABLE_100
806     , a15 out nocopy JTF_VARCHAR2_TABLE_100
807     ) as
808     ddindx binary_integer; indx binary_integer;
809   begin
810   if t is null or t.count = 0 then
811     a0 := JTF_NUMBER_TABLE();
812     a1 := JTF_VARCHAR2_TABLE_100();
813     a2 := JTF_NUMBER_TABLE();
814     a3 := JTF_NUMBER_TABLE();
815     a4 := JTF_VARCHAR2_TABLE_100();
816     a5 := JTF_NUMBER_TABLE();
817     a6 := JTF_NUMBER_TABLE();
818     a7 := JTF_NUMBER_TABLE();
819     a8 := JTF_VARCHAR2_TABLE_100();
820     a9 := JTF_DATE_TABLE();
821     a10 := JTF_DATE_TABLE();
822     a11 := JTF_VARCHAR2_TABLE_100();
823     a12 := JTF_NUMBER_TABLE();
824     a13 := JTF_NUMBER_TABLE();
825     a14 := JTF_VARCHAR2_TABLE_100();
826     a15 := JTF_VARCHAR2_TABLE_100();
827   else
828       a0 := JTF_NUMBER_TABLE();
829       a1 := JTF_VARCHAR2_TABLE_100();
830       a2 := JTF_NUMBER_TABLE();
831       a3 := JTF_NUMBER_TABLE();
832       a4 := JTF_VARCHAR2_TABLE_100();
833       a5 := JTF_NUMBER_TABLE();
834       a6 := JTF_NUMBER_TABLE();
835       a7 := JTF_NUMBER_TABLE();
836       a8 := JTF_VARCHAR2_TABLE_100();
837       a9 := JTF_DATE_TABLE();
838       a10 := JTF_DATE_TABLE();
839       a11 := JTF_VARCHAR2_TABLE_100();
840       a12 := JTF_NUMBER_TABLE();
841       a13 := JTF_NUMBER_TABLE();
842       a14 := JTF_VARCHAR2_TABLE_100();
843       a15 := JTF_VARCHAR2_TABLE_100();
844       if t.count > 0 then
845         a0.extend(t.count);
846         a1.extend(t.count);
847         a2.extend(t.count);
848         a3.extend(t.count);
849         a4.extend(t.count);
850         a5.extend(t.count);
851         a6.extend(t.count);
852         a7.extend(t.count);
853         a8.extend(t.count);
854         a9.extend(t.count);
855         a10.extend(t.count);
856         a11.extend(t.count);
857         a12.extend(t.count);
858         a13.extend(t.count);
859         a14.extend(t.count);
860         a15.extend(t.count);
861         ddindx := t.first;
862         indx := 1;
863         while true loop
864           a0(indx) := t(ddindx).item_id;
865           a1(indx) := t(ddindx).item_uom;
866           a2(indx) := t(ddindx).required_quantity;
867           a3(indx) := t(ddindx).source_org_id;
868           a4(indx) := t(ddindx).sub_inventory_code;
869           a5(indx) := t(ddindx).reserved_quantity;
870           a6(indx) := t(ddindx).ordered_quantity;
871           a7(indx) := t(ddindx).available_quantity;
872           a8(indx) := t(ddindx).shipping_methode;
873           a9(indx) := t(ddindx).arraival_date;
874           a10(indx) := t(ddindx).order_by_date;
875           a11(indx) := t(ddindx).source_type;
876           a12(indx) := t(ddindx).line_id;
877           a13(indx) := t(ddindx).item_type;
878           a14(indx) := t(ddindx).recommended_option;
879           a15(indx) := t(ddindx).revision;
880           indx := indx+1;
881           if t.last =ddindx
882             then exit;
883           end if;
884           ddindx := t.next(ddindx);
885         end loop;
886       end if;
887    end if;
888   end rosetta_table_copy_out_p19;
889 
890   procedure rosetta_table_copy_in_p20(t out nocopy csp_sch_int_pvt.csp_parts_tbl_typ1, a0 JTF_NUMBER_TABLE
891     , a1 JTF_VARCHAR2_TABLE_100
892     , a2 JTF_VARCHAR2_TABLE_100
893     , a3 JTF_NUMBER_TABLE
894     , a4 JTF_VARCHAR2_TABLE_100
895     , a5 JTF_NUMBER_TABLE
896     ) as
897     ddindx binary_integer; indx binary_integer;
898   begin
899   if a0 is not null and a0.count > 0 then
900       if a0.count > 0 then
901         indx := a0.first;
902         ddindx := 1;
903         while true loop
904           t(ddindx).item_id := a0(indx);
905           t(ddindx).item_uom := a1(indx);
906           t(ddindx).revision := a2(indx);
907           t(ddindx).quantity := a3(indx);
908           t(ddindx).ship_set_name := a4(indx);
909           t(ddindx).line_id := a5(indx);
910           ddindx := ddindx+1;
911           if a0.last =indx
912             then exit;
913           end if;
914           indx := a0.next(indx);
915         end loop;
916       end if;
917    end if;
918   end rosetta_table_copy_in_p20;
919   procedure rosetta_table_copy_out_p20(t csp_sch_int_pvt.csp_parts_tbl_typ1, a0 out nocopy JTF_NUMBER_TABLE
920     , a1 out nocopy JTF_VARCHAR2_TABLE_100
921     , a2 out nocopy JTF_VARCHAR2_TABLE_100
922     , a3 out nocopy JTF_NUMBER_TABLE
923     , a4 out nocopy JTF_VARCHAR2_TABLE_100
924     , a5 out nocopy JTF_NUMBER_TABLE
925     ) as
926     ddindx binary_integer; indx binary_integer;
927   begin
928   if t is null or t.count = 0 then
929     a0 := JTF_NUMBER_TABLE();
930     a1 := JTF_VARCHAR2_TABLE_100();
931     a2 := JTF_VARCHAR2_TABLE_100();
932     a3 := JTF_NUMBER_TABLE();
933     a4 := JTF_VARCHAR2_TABLE_100();
934     a5 := JTF_NUMBER_TABLE();
935   else
936       a0 := JTF_NUMBER_TABLE();
937       a1 := JTF_VARCHAR2_TABLE_100();
938       a2 := JTF_VARCHAR2_TABLE_100();
939       a3 := JTF_NUMBER_TABLE();
940       a4 := JTF_VARCHAR2_TABLE_100();
941       a5 := JTF_NUMBER_TABLE();
942       if t.count > 0 then
943         a0.extend(t.count);
944         a1.extend(t.count);
945         a2.extend(t.count);
946         a3.extend(t.count);
947         a4.extend(t.count);
948         a5.extend(t.count);
949         ddindx := t.first;
950         indx := 1;
951         while true loop
952           a0(indx) := t(ddindx).item_id;
953           a1(indx) := t(ddindx).item_uom;
954           a2(indx) := t(ddindx).revision;
955           a3(indx) := t(ddindx).quantity;
956           a4(indx) := t(ddindx).ship_set_name;
957           a5(indx) := t(ddindx).line_id;
958           indx := indx+1;
959           if t.last =ddindx
960             then exit;
961           end if;
962           ddindx := t.next(ddindx);
963         end loop;
964       end if;
965    end if;
966   end rosetta_table_copy_out_p20;
967 
968   procedure rosetta_table_copy_in_p21(t out nocopy csp_sch_int_pvt.ws_available_parts_tbl_typ, a0 JTF_NUMBER_TABLE
969     , a1 JTF_VARCHAR2_TABLE_100
970     , a2 JTF_NUMBER_TABLE
971     , a3 JTF_VARCHAR2_TABLE_100
972     , a4 JTF_VARCHAR2_TABLE_100
973     , a5 JTF_VARCHAR2_TABLE_300
974     , a6 JTF_NUMBER_TABLE
975     , a7 JTF_VARCHAR2_TABLE_300
976     , a8 JTF_VARCHAR2_TABLE_100
977     , a9 JTF_VARCHAR2_TABLE_100
978     , a10 JTF_NUMBER_TABLE
979     , a11 JTF_NUMBER_TABLE
980     , a12 JTF_VARCHAR2_TABLE_100
981     , a13 JTF_NUMBER_TABLE
982     , a14 JTF_NUMBER_TABLE
983     , a15 JTF_VARCHAR2_TABLE_100
984     , a16 JTF_VARCHAR2_TABLE_100
985     , a17 JTF_DATE_TABLE
986     , a18 JTF_DATE_TABLE
987     , a19 JTF_VARCHAR2_TABLE_100
988     , a20 JTF_VARCHAR2_TABLE_100
989     ) as
990     ddindx binary_integer; indx binary_integer;
991   begin
992   if a0 is not null and a0.count=0 then
993     t := csp_sch_int_pvt.ws_available_parts_tbl_typ();
994   elsif a0 is not null and a0.count > 0 then
995       if a0.count > 0 then
996       t := csp_sch_int_pvt.ws_available_parts_tbl_typ();
997       t.extend(a0.count);
998         indx := a0.first;
999         ddindx := 1;
1000         while true loop
1001           t(ddindx).resource_id := a0(indx);
1002           t(ddindx).resource_type := a1(indx);
1003           t(ddindx).distance := a2(indx);
1004           t(ddindx).unit := a3(indx);
1005           t(ddindx).phone_number := a4(indx);
1006           t(ddindx).name := a5(indx);
1007           t(ddindx).item_id := a6(indx);
1008           t(ddindx).item_number := a7(indx);
1009           t(ddindx).item_uom := a8(indx);
1010           t(ddindx).item_type := a9(indx);
1011           t(ddindx).source_org_id := a10(indx);
1012           t(ddindx).location_id := a11(indx);
1013           t(ddindx).sub_inventory_code := a12(indx);
1014           t(ddindx).available_quantity := a13(indx);
1015           t(ddindx).on_hand_quantity := a14(indx);
1016           t(ddindx).shipping_method_code := a15(indx);
1017           t(ddindx).shipping_methode := a16(indx);
1018           t(ddindx).arraival_date := rosetta_g_miss_date_in_map(a17(indx));
1019           t(ddindx).order_by_date := rosetta_g_miss_date_in_map(a18(indx));
1020           t(ddindx).source_type := a19(indx);
1021           t(ddindx).revision := a20(indx);
1022           ddindx := ddindx+1;
1023           if a0.last =indx
1024             then exit;
1025           end if;
1026           indx := a0.next(indx);
1027         end loop;
1028       end if;
1029    end if;
1030   end rosetta_table_copy_in_p21;
1031   procedure rosetta_table_copy_out_p21(t csp_sch_int_pvt.ws_available_parts_tbl_typ, a0 out nocopy JTF_NUMBER_TABLE
1032     , a1 out nocopy JTF_VARCHAR2_TABLE_100
1033     , a2 out nocopy JTF_NUMBER_TABLE
1034     , a3 out nocopy JTF_VARCHAR2_TABLE_100
1035     , a4 out nocopy JTF_VARCHAR2_TABLE_100
1036     , a5 out nocopy JTF_VARCHAR2_TABLE_300
1037     , a6 out nocopy JTF_NUMBER_TABLE
1038     , a7 out nocopy JTF_VARCHAR2_TABLE_300
1039     , a8 out nocopy JTF_VARCHAR2_TABLE_100
1040     , a9 out nocopy JTF_VARCHAR2_TABLE_100
1041     , a10 out nocopy JTF_NUMBER_TABLE
1042     , a11 out nocopy JTF_NUMBER_TABLE
1043     , a12 out nocopy JTF_VARCHAR2_TABLE_100
1044     , a13 out nocopy JTF_NUMBER_TABLE
1045     , a14 out nocopy JTF_NUMBER_TABLE
1046     , a15 out nocopy JTF_VARCHAR2_TABLE_100
1047     , a16 out nocopy JTF_VARCHAR2_TABLE_100
1048     , a17 out nocopy JTF_DATE_TABLE
1049     , a18 out nocopy JTF_DATE_TABLE
1050     , a19 out nocopy JTF_VARCHAR2_TABLE_100
1051     , a20 out nocopy JTF_VARCHAR2_TABLE_100
1052     ) as
1053     ddindx binary_integer; indx binary_integer;
1054   begin
1055   if t is null then
1056     a0 := null;
1057     a1 := null;
1058     a2 := null;
1059     a3 := null;
1060     a4 := null;
1061     a5 := null;
1062     a6 := null;
1063     a7 := null;
1064     a8 := null;
1065     a9 := null;
1066     a10 := null;
1067     a11 := null;
1068     a12 := null;
1069     a13 := null;
1070     a14 := null;
1071     a15 := null;
1072     a16 := null;
1073     a17 := null;
1074     a18 := null;
1075     a19 := null;
1076     a20 := null;
1077   elsif t.count = 0 then
1078     a0 := JTF_NUMBER_TABLE();
1079     a1 := JTF_VARCHAR2_TABLE_100();
1080     a2 := JTF_NUMBER_TABLE();
1081     a3 := JTF_VARCHAR2_TABLE_100();
1082     a4 := JTF_VARCHAR2_TABLE_100();
1083     a5 := JTF_VARCHAR2_TABLE_300();
1084     a6 := JTF_NUMBER_TABLE();
1085     a7 := JTF_VARCHAR2_TABLE_300();
1086     a8 := JTF_VARCHAR2_TABLE_100();
1087     a9 := JTF_VARCHAR2_TABLE_100();
1088     a10 := JTF_NUMBER_TABLE();
1089     a11 := JTF_NUMBER_TABLE();
1090     a12 := JTF_VARCHAR2_TABLE_100();
1091     a13 := JTF_NUMBER_TABLE();
1092     a14 := JTF_NUMBER_TABLE();
1093     a15 := JTF_VARCHAR2_TABLE_100();
1094     a16 := JTF_VARCHAR2_TABLE_100();
1095     a17 := JTF_DATE_TABLE();
1096     a18 := JTF_DATE_TABLE();
1097     a19 := JTF_VARCHAR2_TABLE_100();
1098     a20 := JTF_VARCHAR2_TABLE_100();
1099   else
1100       a0 := JTF_NUMBER_TABLE();
1101       a1 := JTF_VARCHAR2_TABLE_100();
1102       a2 := JTF_NUMBER_TABLE();
1103       a3 := JTF_VARCHAR2_TABLE_100();
1104       a4 := JTF_VARCHAR2_TABLE_100();
1105       a5 := JTF_VARCHAR2_TABLE_300();
1106       a6 := JTF_NUMBER_TABLE();
1107       a7 := JTF_VARCHAR2_TABLE_300();
1108       a8 := JTF_VARCHAR2_TABLE_100();
1109       a9 := JTF_VARCHAR2_TABLE_100();
1110       a10 := JTF_NUMBER_TABLE();
1111       a11 := JTF_NUMBER_TABLE();
1112       a12 := JTF_VARCHAR2_TABLE_100();
1113       a13 := JTF_NUMBER_TABLE();
1114       a14 := JTF_NUMBER_TABLE();
1115       a15 := JTF_VARCHAR2_TABLE_100();
1116       a16 := JTF_VARCHAR2_TABLE_100();
1117       a17 := JTF_DATE_TABLE();
1118       a18 := JTF_DATE_TABLE();
1119       a19 := JTF_VARCHAR2_TABLE_100();
1120       a20 := JTF_VARCHAR2_TABLE_100();
1121       if t.count > 0 then
1122         a0.extend(t.count);
1123         a1.extend(t.count);
1124         a2.extend(t.count);
1125         a3.extend(t.count);
1126         a4.extend(t.count);
1127         a5.extend(t.count);
1128         a6.extend(t.count);
1129         a7.extend(t.count);
1130         a8.extend(t.count);
1131         a9.extend(t.count);
1132         a10.extend(t.count);
1133         a11.extend(t.count);
1134         a12.extend(t.count);
1135         a13.extend(t.count);
1136         a14.extend(t.count);
1137         a15.extend(t.count);
1138         a16.extend(t.count);
1139         a17.extend(t.count);
1140         a18.extend(t.count);
1141         a19.extend(t.count);
1142         a20.extend(t.count);
1143         ddindx := t.first;
1144         indx := 1;
1145         while true loop
1146           a0(indx) := t(ddindx).resource_id;
1147           a1(indx) := t(ddindx).resource_type;
1148           a2(indx) := t(ddindx).distance;
1149           a3(indx) := t(ddindx).unit;
1150           a4(indx) := t(ddindx).phone_number;
1151           a5(indx) := t(ddindx).name;
1152           a6(indx) := t(ddindx).item_id;
1153           a7(indx) := t(ddindx).item_number;
1154           a8(indx) := t(ddindx).item_uom;
1155           a9(indx) := t(ddindx).item_type;
1156           a10(indx) := t(ddindx).source_org_id;
1157           a11(indx) := t(ddindx).location_id;
1158           a12(indx) := t(ddindx).sub_inventory_code;
1159           a13(indx) := t(ddindx).available_quantity;
1160           a14(indx) := t(ddindx).on_hand_quantity;
1161           a15(indx) := t(ddindx).shipping_method_code;
1162           a16(indx) := t(ddindx).shipping_methode;
1163           a17(indx) := t(ddindx).arraival_date;
1164           a18(indx) := t(ddindx).order_by_date;
1165           a19(indx) := t(ddindx).source_type;
1166           a20(indx) := t(ddindx).revision;
1167           indx := indx+1;
1168           if t.last =ddindx
1169             then exit;
1170           end if;
1171           ddindx := t.next(ddindx);
1172         end loop;
1173       end if;
1174    end if;
1175   end rosetta_table_copy_out_p21;
1176 
1177   procedure rosetta_table_copy_in_p22(t out nocopy csp_sch_int_pvt.csp_ws_resource_table_type, a0 JTF_VARCHAR2_TABLE_100
1178     , a1 JTF_NUMBER_TABLE
1179     , a2 JTF_NUMBER_TABLE
1180     , a3 JTF_VARCHAR2_TABLE_100
1181     , a4 JTF_VARCHAR2_TABLE_100
1182     , a5 JTF_VARCHAR2_TABLE_300
1183     ) as
1184     ddindx binary_integer; indx binary_integer;
1185   begin
1186   if a0 is not null and a0.count=0 then
1187     t := csp_sch_int_pvt.csp_ws_resource_table_type();
1188   elsif a0 is not null and a0.count > 0 then
1189       if a0.count > 0 then
1190       t := csp_sch_int_pvt.csp_ws_resource_table_type();
1191       t.extend(a0.count);
1192         indx := a0.first;
1193         ddindx := 1;
1194         while true loop
1195           t(ddindx).resource_type := a0(indx);
1196           t(ddindx).resource_id := a1(indx);
1197           t(ddindx).distance := a2(indx);
1198           t(ddindx).unit := a3(indx);
1199           t(ddindx).phone_number := a4(indx);
1200           t(ddindx).name := a5(indx);
1201           ddindx := ddindx+1;
1202           if a0.last =indx
1203             then exit;
1204           end if;
1205           indx := a0.next(indx);
1206         end loop;
1207       end if;
1208    end if;
1209   end rosetta_table_copy_in_p22;
1210   procedure rosetta_table_copy_out_p22(t csp_sch_int_pvt.csp_ws_resource_table_type, a0 out nocopy JTF_VARCHAR2_TABLE_100
1211     , a1 out nocopy JTF_NUMBER_TABLE
1212     , a2 out nocopy JTF_NUMBER_TABLE
1213     , a3 out nocopy JTF_VARCHAR2_TABLE_100
1214     , a4 out nocopy JTF_VARCHAR2_TABLE_100
1215     , a5 out nocopy JTF_VARCHAR2_TABLE_300
1216     ) as
1217     ddindx binary_integer; indx binary_integer;
1218   begin
1219   if t is null then
1220     a0 := null;
1221     a1 := null;
1222     a2 := null;
1223     a3 := null;
1224     a4 := null;
1225     a5 := null;
1226   elsif t.count = 0 then
1227     a0 := JTF_VARCHAR2_TABLE_100();
1228     a1 := JTF_NUMBER_TABLE();
1229     a2 := JTF_NUMBER_TABLE();
1230     a3 := JTF_VARCHAR2_TABLE_100();
1231     a4 := JTF_VARCHAR2_TABLE_100();
1232     a5 := JTF_VARCHAR2_TABLE_300();
1233   else
1234       a0 := JTF_VARCHAR2_TABLE_100();
1235       a1 := JTF_NUMBER_TABLE();
1236       a2 := JTF_NUMBER_TABLE();
1237       a3 := JTF_VARCHAR2_TABLE_100();
1238       a4 := JTF_VARCHAR2_TABLE_100();
1239       a5 := JTF_VARCHAR2_TABLE_300();
1240       if t.count > 0 then
1241         a0.extend(t.count);
1242         a1.extend(t.count);
1243         a2.extend(t.count);
1244         a3.extend(t.count);
1245         a4.extend(t.count);
1246         a5.extend(t.count);
1247         ddindx := t.first;
1248         indx := 1;
1249         while true loop
1250           a0(indx) := t(ddindx).resource_type;
1251           a1(indx) := t(ddindx).resource_id;
1252           a2(indx) := t(ddindx).distance;
1253           a3(indx) := t(ddindx).unit;
1254           a4(indx) := t(ddindx).phone_number;
1255           a5(indx) := t(ddindx).name;
1256           indx := indx+1;
1257           if t.last =ddindx
1258             then exit;
1259           end if;
1260           ddindx := t.next(ddindx);
1261         end loop;
1262       end if;
1263    end if;
1264   end rosetta_table_copy_out_p22;
1265 
1266   procedure rosetta_table_copy_in_p23(t out nocopy csp_sch_int_pvt.alternate_items_table_type, a0 JTF_NUMBER_TABLE
1267     , a1 JTF_VARCHAR2_TABLE_100
1268     , a2 JTF_VARCHAR2_TABLE_100
1269     , a3 JTF_NUMBER_TABLE
1270     , a4 JTF_NUMBER_TABLE
1271     , a5 JTF_VARCHAR2_TABLE_100
1272     , a6 JTF_NUMBER_TABLE
1273     , a7 JTF_NUMBER_TABLE
1274     ) as
1275     ddindx binary_integer; indx binary_integer;
1276   begin
1277   if a0 is not null and a0.count=0 then
1278     t := csp_sch_int_pvt.alternate_items_table_type();
1279   elsif a0 is not null and a0.count > 0 then
1280       if a0.count > 0 then
1281       t := csp_sch_int_pvt.alternate_items_table_type();
1282       t.extend(a0.count);
1283         indx := a0.first;
1284         ddindx := 1;
1285         while true loop
1286           t(ddindx).item := a0(indx);
1287           t(ddindx).revision := a1(indx);
1288           t(ddindx).item_uom := a2(indx);
1289           t(ddindx).item_quantity := a3(indx);
1290           t(ddindx).alternate_item := a4(indx);
1291           t(ddindx).alternate_item_uom := a5(indx);
1292           t(ddindx).alternate_item_quantity := a6(indx);
1293           t(ddindx).relation_type := a7(indx);
1294           ddindx := ddindx+1;
1295           if a0.last =indx
1296             then exit;
1297           end if;
1298           indx := a0.next(indx);
1299         end loop;
1300       end if;
1301    end if;
1302   end rosetta_table_copy_in_p23;
1303   procedure rosetta_table_copy_out_p23(t csp_sch_int_pvt.alternate_items_table_type, a0 out nocopy JTF_NUMBER_TABLE
1304     , a1 out nocopy JTF_VARCHAR2_TABLE_100
1305     , a2 out nocopy JTF_VARCHAR2_TABLE_100
1306     , a3 out nocopy JTF_NUMBER_TABLE
1307     , a4 out nocopy JTF_NUMBER_TABLE
1308     , a5 out nocopy JTF_VARCHAR2_TABLE_100
1309     , a6 out nocopy JTF_NUMBER_TABLE
1310     , a7 out nocopy JTF_NUMBER_TABLE
1311     ) as
1312     ddindx binary_integer; indx binary_integer;
1313   begin
1314   if t is null then
1315     a0 := null;
1316     a1 := null;
1317     a2 := null;
1318     a3 := null;
1319     a4 := null;
1320     a5 := null;
1321     a6 := null;
1322     a7 := null;
1323   elsif t.count = 0 then
1324     a0 := JTF_NUMBER_TABLE();
1325     a1 := JTF_VARCHAR2_TABLE_100();
1326     a2 := JTF_VARCHAR2_TABLE_100();
1327     a3 := JTF_NUMBER_TABLE();
1328     a4 := JTF_NUMBER_TABLE();
1329     a5 := JTF_VARCHAR2_TABLE_100();
1330     a6 := JTF_NUMBER_TABLE();
1331     a7 := JTF_NUMBER_TABLE();
1332   else
1333       a0 := JTF_NUMBER_TABLE();
1334       a1 := JTF_VARCHAR2_TABLE_100();
1335       a2 := JTF_VARCHAR2_TABLE_100();
1336       a3 := JTF_NUMBER_TABLE();
1337       a4 := JTF_NUMBER_TABLE();
1338       a5 := JTF_VARCHAR2_TABLE_100();
1339       a6 := JTF_NUMBER_TABLE();
1340       a7 := JTF_NUMBER_TABLE();
1341       if t.count > 0 then
1342         a0.extend(t.count);
1343         a1.extend(t.count);
1344         a2.extend(t.count);
1345         a3.extend(t.count);
1346         a4.extend(t.count);
1347         a5.extend(t.count);
1348         a6.extend(t.count);
1349         a7.extend(t.count);
1350         ddindx := t.first;
1351         indx := 1;
1352         while true loop
1353           a0(indx) := t(ddindx).item;
1354           a1(indx) := t(ddindx).revision;
1355           a2(indx) := t(ddindx).item_uom;
1356           a3(indx) := t(ddindx).item_quantity;
1357           a4(indx) := t(ddindx).alternate_item;
1358           a5(indx) := t(ddindx).alternate_item_uom;
1359           a6(indx) := t(ddindx).alternate_item_quantity;
1360           a7(indx) := t(ddindx).relation_type;
1361           indx := indx+1;
1362           if t.last =ddindx
1363             then exit;
1364           end if;
1365           ddindx := t.next(ddindx);
1366         end loop;
1367       end if;
1368    end if;
1369   end rosetta_table_copy_out_p23;
1370 
1371   procedure get_availability_options(p_api_version_number  NUMBER
1372     , p_task_id  NUMBER
1373     , p2_a0 JTF_NUMBER_TABLE
1374     , p2_a1 JTF_VARCHAR2_TABLE_100
1375     , p3_a0  DATE
1376     , p3_a1  DATE
1377     , p_likelihood  NUMBER
1378     , p_subinv_only  number
1379     , p_mandatory  number
1380     , p_trunk  number
1381     , p_warehouse  number
1382     , p9_a0 out nocopy JTF_NUMBER_TABLE
1383     , p9_a1 out nocopy JTF_VARCHAR2_TABLE_100
1384     , p9_a2 out nocopy JTF_DATE_TABLE
1385     , p9_a3 out nocopy JTF_NUMBER_TABLE
1386     , p9_a4 out nocopy JTF_NUMBER_TABLE
1387     , p9_a5 out nocopy JTF_NUMBER_TABLE
1388     , p9_a6 out nocopy JTF_VARCHAR2_TABLE_4000
1389     , p9_a7 out nocopy JTF_VARCHAR2_TABLE_4000
1390     , p9_a8 out nocopy JTF_VARCHAR2_TABLE_4000
1391     , x_return_status out nocopy  VARCHAR2
1392     , x_msg_data out nocopy  VARCHAR2
1393     , x_msg_count out nocopy  NUMBER
1394   )
1395 
1396   as
1397     ddp_resources csp_sch_int_pvt.csp_sch_resource_tbl_typ;
1398     ddp_interval csp_sch_int_pvt.csp_sch_interval_rec_typ;
1399     ddp_subinv_only boolean;
1400     ddp_mandatory boolean;
1401     ddp_trunk boolean;
1402     ddp_warehouse boolean;
1403     ddx_options csp_sch_int_pvt.csp_sch_options_tbl_typ;
1404     ddindx binary_integer; indx binary_integer;
1405   begin
1406 
1407     -- copy data to the local IN or IN-OUT args, if any
1408 
1409 
1410     csp_sch_int_pvt_w.rosetta_table_copy_in_p13(ddp_resources, p2_a0
1411       , p2_a1
1412       );
1413 
1414     ddp_interval.earliest_time := rosetta_g_miss_date_in_map(p3_a0);
1415     ddp_interval.latest_time := rosetta_g_miss_date_in_map(p3_a1);
1416 
1417 
1418     if p_subinv_only is null
1419       then ddp_subinv_only := null;
1420     elsif p_subinv_only = 0
1421       then ddp_subinv_only := false;
1422     else ddp_subinv_only := true;
1423     end if;
1424 
1425     if p_mandatory is null
1426       then ddp_mandatory := null;
1427     elsif p_mandatory = 0
1428       then ddp_mandatory := false;
1429     else ddp_mandatory := true;
1430     end if;
1431 
1432     if p_trunk is null
1433       then ddp_trunk := null;
1434     elsif p_trunk = 0
1435       then ddp_trunk := false;
1436     else ddp_trunk := true;
1437     end if;
1438 
1439     if p_warehouse is null
1440       then ddp_warehouse := null;
1441     elsif p_warehouse = 0
1442       then ddp_warehouse := false;
1443     else ddp_warehouse := true;
1444     end if;
1445 
1446 
1447 
1448 
1449 
1450     -- here's the delegated call to the old PL/SQL routine
1451     csp_sch_int_pvt.get_availability_options(p_api_version_number,
1452       p_task_id,
1453       ddp_resources,
1454       ddp_interval,
1455       p_likelihood,
1456       ddp_subinv_only,
1457       ddp_mandatory,
1458       ddp_trunk,
1459       ddp_warehouse,
1460       ddx_options,
1461       x_return_status,
1462       x_msg_data,
1463       x_msg_count);
1464 
1465     -- copy data back from the local variables to OUT or IN-OUT args, if any
1466 
1467 
1468 
1469 
1470 
1471 
1472 
1473 
1474 
1475     csp_sch_int_pvt_w.rosetta_table_copy_out_p14(ddx_options, p9_a0
1476       , p9_a1
1477       , p9_a2
1478       , p9_a3
1479       , p9_a4
1480       , p9_a5
1481       , p9_a6
1482       , p9_a7
1483       , p9_a8
1484       );
1485 
1486 
1487 
1488   end;
1489 
1490   procedure choose_option(p_api_version_number  NUMBER
1491     , p_task_id  NUMBER
1492     , p_task_assignment_id  NUMBER
1493     , p_likelihood  NUMBER
1494     , p_mandatory  number
1495     , p_trunk  number
1496     , p_warehouse  number
1497     , p7_a0  NUMBER
1498     , p7_a1  VARCHAR2
1499     , p7_a2  DATE
1500     , p7_a3  NUMBER
1501     , p7_a4  NUMBER
1502     , p7_a5  NUMBER
1503     , p7_a6  VARCHAR2
1504     , p7_a7  VARCHAR2
1505     , p7_a8  VARCHAR2
1506     , x_return_status out nocopy  VARCHAR2
1507     , x_msg_data out nocopy  VARCHAR2
1508     , x_msg_count out nocopy  NUMBER
1509   )
1510 
1511   as
1512     ddp_mandatory boolean;
1513     ddp_trunk boolean;
1514     ddp_warehouse boolean;
1515     ddp_options csp_sch_int_pvt.csp_sch_options_rec_typ;
1516     ddindx binary_integer; indx binary_integer;
1517   begin
1518 
1519     -- copy data to the local IN or IN-OUT args, if any
1520 
1521 
1522 
1523 
1524     if p_mandatory is null
1525       then ddp_mandatory := null;
1526     elsif p_mandatory = 0
1527       then ddp_mandatory := false;
1528     else ddp_mandatory := true;
1529     end if;
1530 
1531     if p_trunk is null
1532       then ddp_trunk := null;
1533     elsif p_trunk = 0
1534       then ddp_trunk := false;
1535     else ddp_trunk := true;
1536     end if;
1537 
1538     if p_warehouse is null
1539       then ddp_warehouse := null;
1540     elsif p_warehouse = 0
1541       then ddp_warehouse := false;
1542     else ddp_warehouse := true;
1543     end if;
1544 
1545     ddp_options.resource_id := p7_a0;
1546     ddp_options.resource_type := p7_a1;
1547     ddp_options.start_time := rosetta_g_miss_date_in_map(p7_a2);
1548     ddp_options.transfer_cost := p7_a3;
1549     ddp_options.missing_parts := p7_a4;
1550     ddp_options.available_parts := p7_a5;
1551     ddp_options.src_warehouse := p7_a6;
1552     ddp_options.ship_method := p7_a7;
1553     ddp_options.distance_str := p7_a8;
1554 
1555 
1556 
1557 
1558     -- here's the delegated call to the old PL/SQL routine
1559     csp_sch_int_pvt.choose_option(p_api_version_number,
1560       p_task_id,
1561       p_task_assignment_id,
1562       p_likelihood,
1563       ddp_mandatory,
1564       ddp_trunk,
1565       ddp_warehouse,
1566       ddp_options,
1567       x_return_status,
1568       x_msg_data,
1569       x_msg_count);
1570 
1571     -- copy data back from the local variables to OUT or IN-OUT args, if any
1572 
1573 
1574 
1575 
1576 
1577 
1578 
1579 
1580 
1581 
1582   end;
1583 
1584   procedure check_parts_availability(p0_a0  NUMBER
1585     , p0_a1  VARCHAR2
1586     , p_organization_id  NUMBER
1587     , p_subinv_code  VARCHAR2
1588     , p_need_by_date  date
1589     , p4_a0 JTF_NUMBER_TABLE
1590     , p4_a1 JTF_VARCHAR2_TABLE_100
1591     , p4_a2 JTF_VARCHAR2_TABLE_100
1592     , p4_a3 JTF_NUMBER_TABLE
1593     , p4_a4 JTF_VARCHAR2_TABLE_100
1594     , p4_a5 JTF_NUMBER_TABLE
1595     , p_timezone_id  NUMBER
1596     , p6_a0 out nocopy JTF_NUMBER_TABLE
1597     , p6_a1 out nocopy JTF_VARCHAR2_TABLE_100
1598     , p6_a2 out nocopy JTF_NUMBER_TABLE
1599     , p6_a3 out nocopy JTF_NUMBER_TABLE
1600     , p6_a4 out nocopy JTF_VARCHAR2_TABLE_100
1601     , p6_a5 out nocopy JTF_NUMBER_TABLE
1602     , p6_a6 out nocopy JTF_NUMBER_TABLE
1603     , p6_a7 out nocopy JTF_NUMBER_TABLE
1604     , p6_a8 out nocopy JTF_VARCHAR2_TABLE_100
1605     , p6_a9 out nocopy JTF_DATE_TABLE
1606     , p6_a10 out nocopy JTF_DATE_TABLE
1607     , p6_a11 out nocopy JTF_VARCHAR2_TABLE_100
1608     , p6_a12 out nocopy JTF_NUMBER_TABLE
1609     , p6_a13 out nocopy JTF_NUMBER_TABLE
1610     , p6_a14 out nocopy JTF_VARCHAR2_TABLE_100
1611     , p6_a15 out nocopy JTF_VARCHAR2_TABLE_100
1612     , x_return_status out nocopy  VARCHAR2
1613     , x_msg_data out nocopy  VARCHAR2
1614     , x_msg_count out nocopy  NUMBER
1615     , p_called_from  VARCHAR2
1616     , p_location_id  NUMBER
1617   )
1618 
1619   as
1620     ddp_resource csp_sch_int_pvt.csp_sch_resources_rec_typ;
1621     ddp_need_by_date date;
1622     ddp_parts_list csp_sch_int_pvt.csp_parts_tbl_typ1;
1623     ddx_availability csp_sch_int_pvt.available_parts_tbl_typ1;
1624     ddindx binary_integer; indx binary_integer;
1625   begin
1626 
1627     -- copy data to the local IN or IN-OUT args, if any
1628     ddp_resource.resource_id := p0_a0;
1629     ddp_resource.resource_type := p0_a1;
1630 
1631 
1632 
1633     ddp_need_by_date := rosetta_g_miss_date_in_map(p_need_by_date);
1634 
1635     csp_sch_int_pvt_w.rosetta_table_copy_in_p20(ddp_parts_list, p4_a0
1636       , p4_a1
1637       , p4_a2
1638       , p4_a3
1639       , p4_a4
1640       , p4_a5
1641       );
1642 
1643 
1644 
1645 
1646 
1647 
1648 
1649 
1650     -- here's the delegated call to the old PL/SQL routine
1651     csp_sch_int_pvt.check_parts_availability(ddp_resource,
1652       p_organization_id,
1653       p_subinv_code,
1654       ddp_need_by_date,
1655       ddp_parts_list,
1656       p_timezone_id,
1657       ddx_availability,
1658       x_return_status,
1659       x_msg_data,
1660       x_msg_count,
1661       p_called_from,
1662       p_location_id);
1663 
1664     -- copy data back from the local variables to OUT or IN-OUT args, if any
1665 
1666 
1667 
1668 
1669 
1670 
1671     csp_sch_int_pvt_w.rosetta_table_copy_out_p19(ddx_availability, p6_a0
1672       , p6_a1
1673       , p6_a2
1674       , p6_a3
1675       , p6_a4
1676       , p6_a5
1677       , p6_a6
1678       , p6_a7
1679       , p6_a8
1680       , p6_a9
1681       , p6_a10
1682       , p6_a11
1683       , p6_a12
1684       , p6_a13
1685       , p6_a14
1686       , p6_a15
1687       );
1688 
1689 
1690 
1691 
1692 
1693   end;
1694 
1695   function create_reservation(p0_a0  DATE
1696     , p0_a1  NUMBER
1697     , p0_a2  NUMBER
1698     , p0_a3  VARCHAR2
1699     , p0_a4  NUMBER
1700     , p0_a5  VARCHAR2
1701     , p0_a6  NUMBER
1702     , p0_a7  VARCHAR2
1703     , x_return_status out nocopy  VARCHAR2
1704     , x_msg_data out nocopy  VARCHAR2
1705   ) return number
1706 
1707   as
1708     ddp_reservation_parts csp_sch_int_pvt.reservation_rec_typ;
1709     ddindx binary_integer; indx binary_integer;
1710     ddrosetta_retval number;
1711   begin
1712 
1713     -- copy data to the local IN or IN-OUT args, if any
1714     ddp_reservation_parts.need_by_date := rosetta_g_miss_date_in_map(p0_a0);
1715     ddp_reservation_parts.organization_id := p0_a1;
1716     ddp_reservation_parts.item_id := p0_a2;
1717     ddp_reservation_parts.item_uom_code := p0_a3;
1718     ddp_reservation_parts.quantity_needed := p0_a4;
1719     ddp_reservation_parts.sub_inventory_code := p0_a5;
1720     ddp_reservation_parts.line_id := p0_a6;
1721     ddp_reservation_parts.revision := p0_a7;
1722 
1723 
1724 
1725     -- here's the delegated call to the old PL/SQL routine
1726     ddrosetta_retval := csp_sch_int_pvt.create_reservation(ddp_reservation_parts,
1727       x_return_status,
1728       x_msg_data);
1729 
1730     -- copy data back from the local variables to OUT or IN-OUT args, if any
1731 
1732 
1733 
1734     return ddrosetta_retval;
1735   end;
1736 
1737   procedure ws_check_other_eng_subinv(p0_a0 JTF_VARCHAR2_TABLE_100
1738     , p0_a1 JTF_NUMBER_TABLE
1739     , p0_a2 JTF_NUMBER_TABLE
1740     , p0_a3 JTF_VARCHAR2_TABLE_100
1741     , p0_a4 JTF_VARCHAR2_TABLE_100
1742     , p0_a5 JTF_VARCHAR2_TABLE_300
1743     , p1_a0 JTF_NUMBER_TABLE
1744     , p1_a1 JTF_VARCHAR2_TABLE_100
1745     , p1_a2 JTF_VARCHAR2_TABLE_100
1746     , p1_a3 JTF_NUMBER_TABLE
1747     , p1_a4 JTF_VARCHAR2_TABLE_100
1748     , p1_a5 JTF_NUMBER_TABLE
1749     , p_include_alternate  VARCHAR2
1750     , p3_a0 out nocopy JTF_NUMBER_TABLE
1751     , p3_a1 out nocopy JTF_VARCHAR2_TABLE_100
1752     , p3_a2 out nocopy JTF_NUMBER_TABLE
1753     , p3_a3 out nocopy JTF_VARCHAR2_TABLE_100
1754     , p3_a4 out nocopy JTF_VARCHAR2_TABLE_100
1755     , p3_a5 out nocopy JTF_VARCHAR2_TABLE_300
1756     , p3_a6 out nocopy JTF_NUMBER_TABLE
1757     , p3_a7 out nocopy JTF_VARCHAR2_TABLE_300
1758     , p3_a8 out nocopy JTF_VARCHAR2_TABLE_100
1759     , p3_a9 out nocopy JTF_VARCHAR2_TABLE_100
1760     , p3_a10 out nocopy JTF_NUMBER_TABLE
1761     , p3_a11 out nocopy JTF_NUMBER_TABLE
1762     , p3_a12 out nocopy JTF_VARCHAR2_TABLE_100
1763     , p3_a13 out nocopy JTF_NUMBER_TABLE
1764     , p3_a14 out nocopy JTF_NUMBER_TABLE
1765     , p3_a15 out nocopy JTF_VARCHAR2_TABLE_100
1766     , p3_a16 out nocopy JTF_VARCHAR2_TABLE_100
1767     , p3_a17 out nocopy JTF_DATE_TABLE
1768     , p3_a18 out nocopy JTF_DATE_TABLE
1769     , p3_a19 out nocopy JTF_VARCHAR2_TABLE_100
1770     , p3_a20 out nocopy JTF_VARCHAR2_TABLE_100
1771     , x_return_status out nocopy  VARCHAR2
1772     , x_msg_data out nocopy  VARCHAR2
1773     , x_msg_count out nocopy  NUMBER
1774   )
1775 
1776   as
1777     ddp_resource_list csp_sch_int_pvt.csp_ws_resource_table_type;
1778     ddp_parts_list csp_sch_int_pvt.csp_parts_tbl_typ1;
1779     ddx_available_list csp_sch_int_pvt.ws_available_parts_tbl_typ;
1780     ddindx binary_integer; indx binary_integer;
1781   begin
1782 
1783     -- copy data to the local IN or IN-OUT args, if any
1784     csp_sch_int_pvt_w.rosetta_table_copy_in_p22(ddp_resource_list, p0_a0
1785       , p0_a1
1786       , p0_a2
1787       , p0_a3
1788       , p0_a4
1789       , p0_a5
1790       );
1791 
1792     csp_sch_int_pvt_w.rosetta_table_copy_in_p20(ddp_parts_list, p1_a0
1793       , p1_a1
1794       , p1_a2
1795       , p1_a3
1796       , p1_a4
1797       , p1_a5
1798       );
1799 
1800 
1801 
1802 
1803 
1804 
1805     -- here's the delegated call to the old PL/SQL routine
1806     csp_sch_int_pvt.ws_check_other_eng_subinv(ddp_resource_list,
1807       ddp_parts_list,
1808       p_include_alternate,
1809       ddx_available_list,
1810       x_return_status,
1811       x_msg_data,
1812       x_msg_count);
1813 
1814     -- copy data back from the local variables to OUT or IN-OUT args, if any
1815 
1816 
1817 
1818     csp_sch_int_pvt_w.rosetta_table_copy_out_p21(ddx_available_list, p3_a0
1819       , p3_a1
1820       , p3_a2
1821       , p3_a3
1822       , p3_a4
1823       , p3_a5
1824       , p3_a6
1825       , p3_a7
1826       , p3_a8
1827       , p3_a9
1828       , p3_a10
1829       , p3_a11
1830       , p3_a12
1831       , p3_a13
1832       , p3_a14
1833       , p3_a15
1834       , p3_a16
1835       , p3_a17
1836       , p3_a18
1837       , p3_a19
1838       , p3_a20
1839       );
1840 
1841 
1842 
1843   end;
1844 
1845   procedure ws_check_engineers_subinv(p_resource_type  VARCHAR2
1846     , p_resource_id  NUMBER
1847     , p2_a0 JTF_NUMBER_TABLE
1848     , p2_a1 JTF_VARCHAR2_TABLE_100
1849     , p2_a2 JTF_VARCHAR2_TABLE_100
1850     , p2_a3 JTF_NUMBER_TABLE
1851     , p2_a4 JTF_VARCHAR2_TABLE_100
1852     , p2_a5 JTF_NUMBER_TABLE
1853     , p_include_alternate  VARCHAR2
1854     , p4_a0 out nocopy JTF_NUMBER_TABLE
1855     , p4_a1 out nocopy JTF_VARCHAR2_TABLE_100
1856     , p4_a2 out nocopy JTF_NUMBER_TABLE
1857     , p4_a3 out nocopy JTF_VARCHAR2_TABLE_100
1858     , p4_a4 out nocopy JTF_VARCHAR2_TABLE_100
1859     , p4_a5 out nocopy JTF_VARCHAR2_TABLE_300
1860     , p4_a6 out nocopy JTF_NUMBER_TABLE
1861     , p4_a7 out nocopy JTF_VARCHAR2_TABLE_300
1862     , p4_a8 out nocopy JTF_VARCHAR2_TABLE_100
1863     , p4_a9 out nocopy JTF_VARCHAR2_TABLE_100
1864     , p4_a10 out nocopy JTF_NUMBER_TABLE
1865     , p4_a11 out nocopy JTF_NUMBER_TABLE
1866     , p4_a12 out nocopy JTF_VARCHAR2_TABLE_100
1867     , p4_a13 out nocopy JTF_NUMBER_TABLE
1868     , p4_a14 out nocopy JTF_NUMBER_TABLE
1869     , p4_a15 out nocopy JTF_VARCHAR2_TABLE_100
1870     , p4_a16 out nocopy JTF_VARCHAR2_TABLE_100
1871     , p4_a17 out nocopy JTF_DATE_TABLE
1872     , p4_a18 out nocopy JTF_DATE_TABLE
1873     , p4_a19 out nocopy JTF_VARCHAR2_TABLE_100
1874     , p4_a20 out nocopy JTF_VARCHAR2_TABLE_100
1875     , x_return_status out nocopy  VARCHAR2
1876     , x_msg_data out nocopy  VARCHAR2
1877     , x_msg_count out nocopy  NUMBER
1878   )
1879 
1880   as
1881     ddp_parts_list csp_sch_int_pvt.csp_parts_tbl_typ1;
1882     ddx_available_list csp_sch_int_pvt.ws_available_parts_tbl_typ;
1883     ddindx binary_integer; indx binary_integer;
1884   begin
1885 
1886     -- copy data to the local IN or IN-OUT args, if any
1887 
1888 
1889     csp_sch_int_pvt_w.rosetta_table_copy_in_p20(ddp_parts_list, p2_a0
1890       , p2_a1
1891       , p2_a2
1892       , p2_a3
1893       , p2_a4
1894       , p2_a5
1895       );
1896 
1897 
1898 
1899 
1900 
1901 
1902     -- here's the delegated call to the old PL/SQL routine
1903     csp_sch_int_pvt.ws_check_engineers_subinv(p_resource_type,
1904       p_resource_id,
1905       ddp_parts_list,
1906       p_include_alternate,
1907       ddx_available_list,
1908       x_return_status,
1909       x_msg_data,
1910       x_msg_count);
1911 
1912     -- copy data back from the local variables to OUT or IN-OUT args, if any
1913 
1914 
1915 
1916 
1917     csp_sch_int_pvt_w.rosetta_table_copy_out_p21(ddx_available_list, p4_a0
1918       , p4_a1
1919       , p4_a2
1920       , p4_a3
1921       , p4_a4
1922       , p4_a5
1923       , p4_a6
1924       , p4_a7
1925       , p4_a8
1926       , p4_a9
1927       , p4_a10
1928       , p4_a11
1929       , p4_a12
1930       , p4_a13
1931       , p4_a14
1932       , p4_a15
1933       , p4_a16
1934       , p4_a17
1935       , p4_a18
1936       , p4_a19
1937       , p4_a20
1938       );
1939 
1940 
1941 
1942   end;
1943 
1944   procedure ws_check_organizations(p_resource_type  VARCHAR2
1945     , p_resource_id  NUMBER
1946     , p2_a0 JTF_NUMBER_TABLE
1947     , p2_a1 JTF_VARCHAR2_TABLE_100
1948     , p2_a2 JTF_VARCHAR2_TABLE_100
1949     , p2_a3 JTF_NUMBER_TABLE
1950     , p2_a4 JTF_VARCHAR2_TABLE_100
1951     , p2_a5 JTF_NUMBER_TABLE
1952     , p_include_alternate  VARCHAR2
1953     , p4_a0 out nocopy JTF_NUMBER_TABLE
1954     , p4_a1 out nocopy JTF_VARCHAR2_TABLE_100
1955     , p4_a2 out nocopy JTF_NUMBER_TABLE
1956     , p4_a3 out nocopy JTF_VARCHAR2_TABLE_100
1957     , p4_a4 out nocopy JTF_VARCHAR2_TABLE_100
1958     , p4_a5 out nocopy JTF_VARCHAR2_TABLE_300
1959     , p4_a6 out nocopy JTF_NUMBER_TABLE
1960     , p4_a7 out nocopy JTF_VARCHAR2_TABLE_300
1961     , p4_a8 out nocopy JTF_VARCHAR2_TABLE_100
1962     , p4_a9 out nocopy JTF_VARCHAR2_TABLE_100
1963     , p4_a10 out nocopy JTF_NUMBER_TABLE
1964     , p4_a11 out nocopy JTF_NUMBER_TABLE
1965     , p4_a12 out nocopy JTF_VARCHAR2_TABLE_100
1966     , p4_a13 out nocopy JTF_NUMBER_TABLE
1967     , p4_a14 out nocopy JTF_NUMBER_TABLE
1968     , p4_a15 out nocopy JTF_VARCHAR2_TABLE_100
1969     , p4_a16 out nocopy JTF_VARCHAR2_TABLE_100
1970     , p4_a17 out nocopy JTF_DATE_TABLE
1971     , p4_a18 out nocopy JTF_DATE_TABLE
1972     , p4_a19 out nocopy JTF_VARCHAR2_TABLE_100
1973     , p4_a20 out nocopy JTF_VARCHAR2_TABLE_100
1974     , x_return_status out nocopy  VARCHAR2
1975     , x_msg_data out nocopy  VARCHAR2
1976     , x_msg_count out nocopy  NUMBER
1977   )
1978 
1979   as
1980     ddp_parts_list csp_sch_int_pvt.csp_parts_tbl_typ1;
1981     ddx_available_list csp_sch_int_pvt.ws_available_parts_tbl_typ;
1982     ddindx binary_integer; indx binary_integer;
1983   begin
1984 
1985     -- copy data to the local IN or IN-OUT args, if any
1986 
1987 
1988     csp_sch_int_pvt_w.rosetta_table_copy_in_p20(ddp_parts_list, p2_a0
1989       , p2_a1
1990       , p2_a2
1991       , p2_a3
1992       , p2_a4
1993       , p2_a5
1994       );
1995 
1996 
1997 
1998 
1999 
2000 
2001     -- here's the delegated call to the old PL/SQL routine
2002     csp_sch_int_pvt.ws_check_organizations(p_resource_type,
2003       p_resource_id,
2004       ddp_parts_list,
2005       p_include_alternate,
2006       ddx_available_list,
2007       x_return_status,
2008       x_msg_data,
2009       x_msg_count);
2010 
2011     -- copy data back from the local variables to OUT or IN-OUT args, if any
2012 
2013 
2014 
2015 
2016     csp_sch_int_pvt_w.rosetta_table_copy_out_p21(ddx_available_list, p4_a0
2017       , p4_a1
2018       , p4_a2
2019       , p4_a3
2020       , p4_a4
2021       , p4_a5
2022       , p4_a6
2023       , p4_a7
2024       , p4_a8
2025       , p4_a9
2026       , p4_a10
2027       , p4_a11
2028       , p4_a12
2029       , p4_a13
2030       , p4_a14
2031       , p4_a15
2032       , p4_a16
2033       , p4_a17
2034       , p4_a18
2035       , p4_a19
2036       , p4_a20
2037       );
2038 
2039 
2040 
2041   end;
2042 
2043   procedure get_alternates(p0_a0  NUMBER
2044     , p0_a1  VARCHAR2
2045     , p0_a2  VARCHAR2
2046     , p0_a3  NUMBER
2047     , p0_a4  VARCHAR2
2048     , p0_a5  NUMBER
2049     , p_org_id  NUMBER
2050     , p2_a0 in out nocopy JTF_NUMBER_TABLE
2051     , p2_a1 in out nocopy JTF_VARCHAR2_TABLE_100
2052     , p2_a2 in out nocopy JTF_VARCHAR2_TABLE_100
2053     , p2_a3 in out nocopy JTF_NUMBER_TABLE
2054     , p2_a4 in out nocopy JTF_NUMBER_TABLE
2055     , p2_a5 in out nocopy JTF_VARCHAR2_TABLE_100
2056     , p2_a6 in out nocopy JTF_NUMBER_TABLE
2057     , p2_a7 in out nocopy JTF_NUMBER_TABLE
2058     , x_return_status out nocopy  VARCHAR2
2059     , x_msg_data out nocopy  VARCHAR2
2060     , x_msg_count out nocopy  NUMBER
2061   )
2062 
2063   as
2064     ddp_parts_rec csp_sch_int_pvt.csp_parts_rec_type;
2065     ddpx_alternate_items csp_sch_int_pvt.alternate_items_table_type;
2066     ddindx binary_integer; indx binary_integer;
2067   begin
2068 
2069     -- copy data to the local IN or IN-OUT args, if any
2070     ddp_parts_rec.item_id := p0_a0;
2071     ddp_parts_rec.item_uom := p0_a1;
2072     ddp_parts_rec.revision := p0_a2;
2073     ddp_parts_rec.quantity := p0_a3;
2074     ddp_parts_rec.ship_set_name := p0_a4;
2075     ddp_parts_rec.line_id := p0_a5;
2076 
2077 
2078     csp_sch_int_pvt_w.rosetta_table_copy_in_p23(ddpx_alternate_items, p2_a0
2079       , p2_a1
2080       , p2_a2
2081       , p2_a3
2082       , p2_a4
2083       , p2_a5
2084       , p2_a6
2085       , p2_a7
2086       );
2087 
2088 
2089 
2090 
2091     -- here's the delegated call to the old PL/SQL routine
2092     csp_sch_int_pvt.get_alternates(ddp_parts_rec,
2093       p_org_id,
2094       ddpx_alternate_items,
2095       x_return_status,
2096       x_msg_data,
2097       x_msg_count);
2098 
2099     -- copy data back from the local variables to OUT or IN-OUT args, if any
2100 
2101 
2102     csp_sch_int_pvt_w.rosetta_table_copy_out_p23(ddpx_alternate_items, p2_a0
2103       , p2_a1
2104       , p2_a2
2105       , p2_a3
2106       , p2_a4
2107       , p2_a5
2108       , p2_a6
2109       , p2_a7
2110       );
2111 
2112 
2113 
2114   end;
2115 
2116   procedure get_delivery_date(p_relation_ship_id  NUMBER
2117     , x_delivery_date out nocopy  DATE
2118     , x_shipping_option out nocopy  number
2119     , x_return_status out nocopy  VARCHAR2
2120     , x_msg_data out nocopy  VARCHAR2
2121     , x_msg_count out nocopy  NUMBER
2122   )
2123 
2124   as
2125     ddx_shipping_option boolean;
2126     ddindx binary_integer; indx binary_integer;
2127   begin
2128 
2129     -- copy data to the local IN or IN-OUT args, if any
2130 
2131 
2132 
2133 
2134 
2135 
2136     -- here's the delegated call to the old PL/SQL routine
2137     csp_sch_int_pvt.get_delivery_date(p_relation_ship_id,
2138       x_delivery_date,
2139       ddx_shipping_option,
2140       x_return_status,
2141       x_msg_data,
2142       x_msg_count);
2143 
2144     -- copy data back from the local variables to OUT or IN-OUT args, if any
2145 
2146 
2147   if ddx_shipping_option is null
2148     then x_shipping_option := null;
2149   elsif ddx_shipping_option
2150     then x_shipping_option := 1;
2151   else x_shipping_option := 0;
2152   end if;
2153 
2154 
2155 
2156   end;
2157 
2158   function get_arrival_date(p_ship_date  date
2159     , p_lead_time  NUMBER
2160     , p_org_id  NUMBER
2161   ) return date
2162 
2163   as
2164     ddp_ship_date date;
2165     ddindx binary_integer; indx binary_integer;
2166     ddrosetta_retval date;
2167   begin
2168 
2169     -- copy data to the local IN or IN-OUT args, if any
2170     ddp_ship_date := rosetta_g_miss_date_in_map(p_ship_date);
2171 
2172 
2173 
2174     -- here's the delegated call to the old PL/SQL routine
2175     ddrosetta_retval := csp_sch_int_pvt.get_arrival_date(ddp_ship_date,
2176       p_lead_time,
2177       p_org_id);
2178 
2179     -- copy data back from the local variables to OUT or IN-OUT args, if any
2180 
2181 
2182 
2183     return ddrosetta_retval;
2184   end;
2185 
2186   procedure spares_check2(p0_a0 JTF_NUMBER_TABLE
2187     , p0_a1 JTF_VARCHAR2_TABLE_100
2188     , p_task_id  NUMBER
2189     , p_need_by_date  date
2190     , p_trunk  number
2191     , p_warehouse  number
2192     , p_mandatory  number
2193     , p6_a0 out nocopy JTF_NUMBER_TABLE
2194     , p6_a1 out nocopy JTF_VARCHAR2_TABLE_100
2195     , p6_a2 out nocopy JTF_DATE_TABLE
2196     , p6_a3 out nocopy JTF_NUMBER_TABLE
2197     , p6_a4 out nocopy JTF_NUMBER_TABLE
2198     , p6_a5 out nocopy JTF_NUMBER_TABLE
2199     , p6_a6 out nocopy JTF_VARCHAR2_TABLE_4000
2200     , p6_a7 out nocopy JTF_VARCHAR2_TABLE_4000
2201     , p6_a8 out nocopy JTF_VARCHAR2_TABLE_4000
2202     , x_return_status out nocopy  VARCHAR2
2203     , x_msg_data out nocopy  VARCHAR2
2204     , x_msg_count out nocopy  NUMBER
2205   )
2206 
2207   as
2208     ddp_resources csp_sch_int_pvt.csp_sch_resource_tbl_typ;
2209     ddp_need_by_date date;
2210     ddp_trunk boolean;
2211     ddp_warehouse boolean;
2212     ddp_mandatory boolean;
2213     ddx_options csp_sch_int_pvt.csp_sch_options_tbl_typ;
2214     ddindx binary_integer; indx binary_integer;
2215   begin
2216 
2217     -- copy data to the local IN or IN-OUT args, if any
2218     csp_sch_int_pvt_w.rosetta_table_copy_in_p13(ddp_resources, p0_a0
2219       , p0_a1
2220       );
2221 
2222 
2223     ddp_need_by_date := rosetta_g_miss_date_in_map(p_need_by_date);
2224 
2225     if p_trunk is null
2226       then ddp_trunk := null;
2227     elsif p_trunk = 0
2228       then ddp_trunk := false;
2229     else ddp_trunk := true;
2230     end if;
2231 
2232     if p_warehouse is null
2233       then ddp_warehouse := null;
2234     elsif p_warehouse = 0
2235       then ddp_warehouse := false;
2236     else ddp_warehouse := true;
2237     end if;
2238 
2239     if p_mandatory is null
2240       then ddp_mandatory := null;
2241     elsif p_mandatory = 0
2242       then ddp_mandatory := false;
2243     else ddp_mandatory := true;
2244     end if;
2245 
2246 
2247 
2248 
2249 
2250     -- here's the delegated call to the old PL/SQL routine
2251     csp_sch_int_pvt.spares_check2(ddp_resources,
2252       p_task_id,
2253       ddp_need_by_date,
2254       ddp_trunk,
2255       ddp_warehouse,
2256       ddp_mandatory,
2257       ddx_options,
2258       x_return_status,
2259       x_msg_data,
2260       x_msg_count);
2261 
2262     -- copy data back from the local variables to OUT or IN-OUT args, if any
2263 
2264 
2265 
2266 
2267 
2268 
2269     csp_sch_int_pvt_w.rosetta_table_copy_out_p14(ddx_options, p6_a0
2270       , p6_a1
2271       , p6_a2
2272       , p6_a3
2273       , p6_a4
2274       , p6_a5
2275       , p6_a6
2276       , p6_a7
2277       , p6_a8
2278       );
2279 
2280 
2281 
2282   end;
2283 
2284 end csp_sch_int_pvt_w;