DBA Data[Home] [Help]

PACKAGE BODY: APPS.IBU_ORDER_CAPTURE_W

Source


1 package body ibu_order_capture_w as
2   /* $Header: iburordb.pls 115.5.1159.1 2003/05/23 22:22:20 appldev noship $ */
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 
6   -- this is to workaround the JDBC bug regarding IN DATE of value GMiss
7   function rosetta_g_miss_date_in_map(d date) return date as
8   begin
9     if d = rosetta_g_mistake_date then return fnd_api.g_miss_date; end if;
10     return d;
11   end;
12 
13   function rosetta_g_miss_num_map(n number) return number as
14     a number := fnd_api.g_miss_num;
15     b number := 0-1962.0724;
16   begin
17     if n=a then return b; end if;
18     if n=b then return a; end if;
19     return n;
20   end;
21 
22   procedure rosetta_table_copy_in_p1(t out nocopy ibu_order_capture.header_tbl_type, a0 JTF_NUMBER_TABLE
23     , a1 JTF_NUMBER_TABLE
24     , a2 JTF_VARCHAR2_TABLE_300
25     , a3 JTF_NUMBER_TABLE
26     , a4 JTF_NUMBER_TABLE
27     , a5 JTF_NUMBER_TABLE
28     , a6 JTF_NUMBER_TABLE
29     , a7 JTF_NUMBER_TABLE
30     , a8 JTF_VARCHAR2_TABLE_300
31     , a9 JTF_DATE_TABLE
32     , a10 JTF_NUMBER_TABLE
33     , a11 JTF_NUMBER_TABLE
34     , a12 JTF_VARCHAR2_TABLE_100
35     ) as
36     ddindx binary_integer; indx binary_integer;
37   begin
38   if a0 is not null and a0.count > 0 then
39       if a0.count > 0 then
40         indx := a0.first;
41         ddindx := 1;
42         while true loop
43           t(ddindx).quote_header_id := rosetta_g_miss_num_map(a0(indx));
44           t(ddindx).org_id := rosetta_g_miss_num_map(a1(indx));
45           t(ddindx).quote_source_code := a2(indx);
46           t(ddindx).party_id := rosetta_g_miss_num_map(a3(indx));
47           t(ddindx).cust_account_id := rosetta_g_miss_num_map(a4(indx));
48           t(ddindx).org_contact_id := rosetta_g_miss_num_map(a5(indx));
49           t(ddindx).invoice_to_party_site_id := rosetta_g_miss_num_map(a6(indx));
50           t(ddindx).order_type_id := rosetta_g_miss_num_map(a7(indx));
51           t(ddindx).quote_category_code := a8(indx);
52           t(ddindx).ordered_date := rosetta_g_miss_date_in_map(a9(indx));
53           t(ddindx).employee_person_id := rosetta_g_miss_num_map(a10(indx));
54           t(ddindx).price_list_id := rosetta_g_miss_num_map(a11(indx));
55           t(ddindx).currency_code := a12(indx);
56           ddindx := ddindx+1;
57           if a0.last =indx
58             then exit;
59           end if;
60           indx := a0.next(indx);
61         end loop;
62       end if;
63    end if;
64   end rosetta_table_copy_in_p1;
65   procedure rosetta_table_copy_out_p1(t ibu_order_capture.header_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
66     , a1 out nocopy JTF_NUMBER_TABLE
67     , a2 out nocopy JTF_VARCHAR2_TABLE_300
68     , a3 out nocopy JTF_NUMBER_TABLE
69     , a4 out nocopy JTF_NUMBER_TABLE
70     , a5 out nocopy JTF_NUMBER_TABLE
71     , a6 out nocopy JTF_NUMBER_TABLE
72     , a7 out nocopy JTF_NUMBER_TABLE
73     , a8 out nocopy JTF_VARCHAR2_TABLE_300
74     , a9 out nocopy JTF_DATE_TABLE
75     , a10 out nocopy JTF_NUMBER_TABLE
76     , a11 out nocopy JTF_NUMBER_TABLE
77     , a12 out nocopy JTF_VARCHAR2_TABLE_100
78     ) as
79     ddindx binary_integer; indx binary_integer;
80   begin
81   if t is null or t.count = 0 then
82     a0 := JTF_NUMBER_TABLE();
83     a1 := JTF_NUMBER_TABLE();
84     a2 := JTF_VARCHAR2_TABLE_300();
85     a3 := JTF_NUMBER_TABLE();
86     a4 := JTF_NUMBER_TABLE();
87     a5 := JTF_NUMBER_TABLE();
88     a6 := JTF_NUMBER_TABLE();
89     a7 := JTF_NUMBER_TABLE();
90     a8 := JTF_VARCHAR2_TABLE_300();
91     a9 := JTF_DATE_TABLE();
92     a10 := JTF_NUMBER_TABLE();
93     a11 := JTF_NUMBER_TABLE();
94     a12 := JTF_VARCHAR2_TABLE_100();
95   else
96       a0 := JTF_NUMBER_TABLE();
97       a1 := JTF_NUMBER_TABLE();
98       a2 := JTF_VARCHAR2_TABLE_300();
99       a3 := JTF_NUMBER_TABLE();
100       a4 := JTF_NUMBER_TABLE();
101       a5 := JTF_NUMBER_TABLE();
102       a6 := JTF_NUMBER_TABLE();
103       a7 := JTF_NUMBER_TABLE();
104       a8 := JTF_VARCHAR2_TABLE_300();
105       a9 := JTF_DATE_TABLE();
106       a10 := JTF_NUMBER_TABLE();
107       a11 := JTF_NUMBER_TABLE();
108       a12 := JTF_VARCHAR2_TABLE_100();
109       if t.count > 0 then
110         a0.extend(t.count);
111         a1.extend(t.count);
112         a2.extend(t.count);
113         a3.extend(t.count);
114         a4.extend(t.count);
115         a5.extend(t.count);
116         a6.extend(t.count);
117         a7.extend(t.count);
118         a8.extend(t.count);
119         a9.extend(t.count);
120         a10.extend(t.count);
121         a11.extend(t.count);
122         a12.extend(t.count);
123         ddindx := t.first;
124         indx := 1;
125         while true loop
126           a0(indx) := rosetta_g_miss_num_map(t(ddindx).quote_header_id);
127           a1(indx) := rosetta_g_miss_num_map(t(ddindx).org_id);
128           a2(indx) := t(ddindx).quote_source_code;
129           a3(indx) := rosetta_g_miss_num_map(t(ddindx).party_id);
130           a4(indx) := rosetta_g_miss_num_map(t(ddindx).cust_account_id);
131           a5(indx) := rosetta_g_miss_num_map(t(ddindx).org_contact_id);
132           a6(indx) := rosetta_g_miss_num_map(t(ddindx).invoice_to_party_site_id);
133           a7(indx) := rosetta_g_miss_num_map(t(ddindx).order_type_id);
134           a8(indx) := t(ddindx).quote_category_code;
135           a9(indx) := t(ddindx).ordered_date;
136           a10(indx) := rosetta_g_miss_num_map(t(ddindx).employee_person_id);
137           a11(indx) := rosetta_g_miss_num_map(t(ddindx).price_list_id);
138           a12(indx) := t(ddindx).currency_code;
139           indx := indx+1;
140           if t.last =ddindx
141             then exit;
142           end if;
143           ddindx := t.next(ddindx);
144         end loop;
145       end if;
146    end if;
147   end rosetta_table_copy_out_p1;
148 
149   procedure rosetta_table_copy_in_p4(t out nocopy ibu_order_capture.line_tbl_type, a0 JTF_NUMBER_TABLE
150     , a1 JTF_VARCHAR2_TABLE_100
151     , a2 JTF_NUMBER_TABLE
152     , a3 JTF_VARCHAR2_TABLE_100
153     , a4 JTF_NUMBER_TABLE
154     , a5 JTF_NUMBER_TABLE
155     , a6 JTF_NUMBER_TABLE
156     , a7 JTF_NUMBER_TABLE
157     , a8 JTF_NUMBER_TABLE
158     , a9 JTF_NUMBER_TABLE
159     , a10 JTF_VARCHAR2_TABLE_100
160     , a11 JTF_NUMBER_TABLE
161     , a12 JTF_VARCHAR2_TABLE_100
162     , a13 JTF_NUMBER_TABLE
163     , a14 JTF_NUMBER_TABLE
164     ) as
165     ddindx binary_integer; indx binary_integer;
166   begin
167   if a0 is not null and a0.count > 0 then
168       if a0.count > 0 then
169         indx := a0.first;
170         ddindx := 1;
171         while true loop
172           t(ddindx).line_id := rosetta_g_miss_num_map(a0(indx));
173           t(ddindx).operation_code := a1(indx);
174           t(ddindx).org_id := rosetta_g_miss_num_map(a2(indx));
175           t(ddindx).line_category_code := a3(indx);
176           t(ddindx).order_line_type_id := rosetta_g_miss_num_map(a4(indx));
177           t(ddindx).invoice_to_party_site_id := rosetta_g_miss_num_map(a5(indx));
178           t(ddindx).invoice_to_party_id := rosetta_g_miss_num_map(a6(indx));
179           t(ddindx).organization_id := rosetta_g_miss_num_map(a7(indx));
180           t(ddindx).inventory_item_id := rosetta_g_miss_num_map(a8(indx));
181           t(ddindx).quantity := rosetta_g_miss_num_map(a9(indx));
182           t(ddindx).uom_code := a10(indx);
183           t(ddindx).price_list_id := rosetta_g_miss_num_map(a11(indx));
184           t(ddindx).currency_code := a12(indx);
185           t(ddindx).line_list_price := rosetta_g_miss_num_map(a13(indx));
186           t(ddindx).line_quote_price := rosetta_g_miss_num_map(a14(indx));
187           ddindx := ddindx+1;
188           if a0.last =indx
189             then exit;
190           end if;
191           indx := a0.next(indx);
192         end loop;
193       end if;
194    end if;
195   end rosetta_table_copy_in_p4;
196   procedure rosetta_table_copy_out_p4(t ibu_order_capture.line_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
197     , a1 out nocopy JTF_VARCHAR2_TABLE_100
198     , a2 out nocopy JTF_NUMBER_TABLE
199     , a3 out nocopy JTF_VARCHAR2_TABLE_100
200     , a4 out nocopy JTF_NUMBER_TABLE
201     , a5 out nocopy JTF_NUMBER_TABLE
202     , a6 out nocopy JTF_NUMBER_TABLE
203     , a7 out nocopy JTF_NUMBER_TABLE
204     , a8 out nocopy JTF_NUMBER_TABLE
205     , a9 out nocopy JTF_NUMBER_TABLE
206     , a10 out nocopy JTF_VARCHAR2_TABLE_100
207     , a11 out nocopy JTF_NUMBER_TABLE
208     , a12 out nocopy JTF_VARCHAR2_TABLE_100
209     , a13 out nocopy JTF_NUMBER_TABLE
210     , a14 out nocopy JTF_NUMBER_TABLE
211     ) as
212     ddindx binary_integer; indx binary_integer;
213   begin
214   if t is null or t.count = 0 then
215     a0 := JTF_NUMBER_TABLE();
216     a1 := JTF_VARCHAR2_TABLE_100();
217     a2 := JTF_NUMBER_TABLE();
218     a3 := JTF_VARCHAR2_TABLE_100();
219     a4 := JTF_NUMBER_TABLE();
220     a5 := JTF_NUMBER_TABLE();
221     a6 := JTF_NUMBER_TABLE();
222     a7 := JTF_NUMBER_TABLE();
223     a8 := JTF_NUMBER_TABLE();
224     a9 := JTF_NUMBER_TABLE();
225     a10 := JTF_VARCHAR2_TABLE_100();
226     a11 := JTF_NUMBER_TABLE();
227     a12 := JTF_VARCHAR2_TABLE_100();
228     a13 := JTF_NUMBER_TABLE();
229     a14 := JTF_NUMBER_TABLE();
230   else
231       a0 := JTF_NUMBER_TABLE();
232       a1 := JTF_VARCHAR2_TABLE_100();
233       a2 := JTF_NUMBER_TABLE();
234       a3 := JTF_VARCHAR2_TABLE_100();
235       a4 := JTF_NUMBER_TABLE();
236       a5 := JTF_NUMBER_TABLE();
237       a6 := JTF_NUMBER_TABLE();
238       a7 := JTF_NUMBER_TABLE();
239       a8 := JTF_NUMBER_TABLE();
240       a9 := JTF_NUMBER_TABLE();
241       a10 := JTF_VARCHAR2_TABLE_100();
242       a11 := JTF_NUMBER_TABLE();
243       a12 := JTF_VARCHAR2_TABLE_100();
244       a13 := JTF_NUMBER_TABLE();
245       a14 := JTF_NUMBER_TABLE();
246       if t.count > 0 then
247         a0.extend(t.count);
248         a1.extend(t.count);
249         a2.extend(t.count);
250         a3.extend(t.count);
251         a4.extend(t.count);
252         a5.extend(t.count);
253         a6.extend(t.count);
254         a7.extend(t.count);
255         a8.extend(t.count);
256         a9.extend(t.count);
257         a10.extend(t.count);
258         a11.extend(t.count);
259         a12.extend(t.count);
260         a13.extend(t.count);
261         a14.extend(t.count);
262         ddindx := t.first;
263         indx := 1;
264         while true loop
265           a0(indx) := rosetta_g_miss_num_map(t(ddindx).line_id);
266           a1(indx) := t(ddindx).operation_code;
267           a2(indx) := rosetta_g_miss_num_map(t(ddindx).org_id);
268           a3(indx) := t(ddindx).line_category_code;
269           a4(indx) := rosetta_g_miss_num_map(t(ddindx).order_line_type_id);
270           a5(indx) := rosetta_g_miss_num_map(t(ddindx).invoice_to_party_site_id);
271           a6(indx) := rosetta_g_miss_num_map(t(ddindx).invoice_to_party_id);
272           a7(indx) := rosetta_g_miss_num_map(t(ddindx).organization_id);
273           a8(indx) := rosetta_g_miss_num_map(t(ddindx).inventory_item_id);
274           a9(indx) := rosetta_g_miss_num_map(t(ddindx).quantity);
275           a10(indx) := t(ddindx).uom_code;
276           a11(indx) := rosetta_g_miss_num_map(t(ddindx).price_list_id);
277           a12(indx) := t(ddindx).currency_code;
278           a13(indx) := rosetta_g_miss_num_map(t(ddindx).line_list_price);
279           a14(indx) := rosetta_g_miss_num_map(t(ddindx).line_quote_price);
280           indx := indx+1;
281           if t.last =ddindx
282             then exit;
283           end if;
284           ddindx := t.next(ddindx);
285         end loop;
286       end if;
287    end if;
288   end rosetta_table_copy_out_p4;
289 
290   procedure rosetta_table_copy_in_p6(t out nocopy ibu_order_capture.line_dtl_tbl_type, a0 JTF_VARCHAR2_TABLE_100
291     , a1 JTF_NUMBER_TABLE
292     , a2 JTF_VARCHAR2_TABLE_100
293     , a3 JTF_NUMBER_TABLE
294     , a4 JTF_NUMBER_TABLE
295     , a5 JTF_VARCHAR2_TABLE_300
296     , a6 JTF_VARCHAR2_TABLE_300
297     , a7 JTF_VARCHAR2_TABLE_300
298     , a8 JTF_VARCHAR2_TABLE_300
299     , a9 JTF_VARCHAR2_TABLE_100
300     ) as
301     ddindx binary_integer; indx binary_integer;
302   begin
303   if a0 is not null and a0.count > 0 then
304       if a0.count > 0 then
305         indx := a0.first;
306         ddindx := 1;
307         while true loop
308           t(ddindx).operation_code := a0(indx);
309           t(ddindx).qte_line_index := rosetta_g_miss_num_map(a1(indx));
310           t(ddindx).return_ref_type := a2(indx);
311           t(ddindx).return_ref_header_id := rosetta_g_miss_num_map(a3(indx));
312           t(ddindx).return_ref_line_id := rosetta_g_miss_num_map(a4(indx));
313           t(ddindx).return_attribute1 := a5(indx);
314           t(ddindx).return_attribute2 := a6(indx);
315           t(ddindx).return_attribute3 := a7(indx);
316           t(ddindx).return_attribute4 := a8(indx);
317           t(ddindx).return_reason_code := a9(indx);
318           ddindx := ddindx+1;
319           if a0.last =indx
320             then exit;
321           end if;
322           indx := a0.next(indx);
323         end loop;
324       end if;
325    end if;
326   end rosetta_table_copy_in_p6;
327   procedure rosetta_table_copy_out_p6(t ibu_order_capture.line_dtl_tbl_type, a0 out nocopy JTF_VARCHAR2_TABLE_100
328     , a1 out nocopy JTF_NUMBER_TABLE
329     , a2 out nocopy JTF_VARCHAR2_TABLE_100
330     , a3 out nocopy JTF_NUMBER_TABLE
331     , a4 out nocopy JTF_NUMBER_TABLE
332     , a5 out nocopy JTF_VARCHAR2_TABLE_300
333     , a6 out nocopy JTF_VARCHAR2_TABLE_300
334     , a7 out nocopy JTF_VARCHAR2_TABLE_300
335     , a8 out nocopy JTF_VARCHAR2_TABLE_300
336     , a9 out nocopy JTF_VARCHAR2_TABLE_100
337     ) as
338     ddindx binary_integer; indx binary_integer;
339   begin
340   if t is null or t.count = 0 then
341     a0 := JTF_VARCHAR2_TABLE_100();
342     a1 := JTF_NUMBER_TABLE();
343     a2 := JTF_VARCHAR2_TABLE_100();
344     a3 := JTF_NUMBER_TABLE();
345     a4 := JTF_NUMBER_TABLE();
346     a5 := JTF_VARCHAR2_TABLE_300();
347     a6 := JTF_VARCHAR2_TABLE_300();
348     a7 := JTF_VARCHAR2_TABLE_300();
349     a8 := JTF_VARCHAR2_TABLE_300();
350     a9 := JTF_VARCHAR2_TABLE_100();
351   else
352       a0 := JTF_VARCHAR2_TABLE_100();
353       a1 := JTF_NUMBER_TABLE();
354       a2 := JTF_VARCHAR2_TABLE_100();
355       a3 := JTF_NUMBER_TABLE();
356       a4 := JTF_NUMBER_TABLE();
357       a5 := JTF_VARCHAR2_TABLE_300();
358       a6 := JTF_VARCHAR2_TABLE_300();
359       a7 := JTF_VARCHAR2_TABLE_300();
360       a8 := JTF_VARCHAR2_TABLE_300();
361       a9 := JTF_VARCHAR2_TABLE_100();
362       if t.count > 0 then
363         a0.extend(t.count);
364         a1.extend(t.count);
365         a2.extend(t.count);
366         a3.extend(t.count);
367         a4.extend(t.count);
368         a5.extend(t.count);
369         a6.extend(t.count);
370         a7.extend(t.count);
371         a8.extend(t.count);
372         a9.extend(t.count);
373         ddindx := t.first;
374         indx := 1;
375         while true loop
376           a0(indx) := t(ddindx).operation_code;
377           a1(indx) := rosetta_g_miss_num_map(t(ddindx).qte_line_index);
378           a2(indx) := t(ddindx).return_ref_type;
379           a3(indx) := rosetta_g_miss_num_map(t(ddindx).return_ref_header_id);
380           a4(indx) := rosetta_g_miss_num_map(t(ddindx).return_ref_line_id);
381           a5(indx) := t(ddindx).return_attribute1;
382           a6(indx) := t(ddindx).return_attribute2;
383           a7(indx) := t(ddindx).return_attribute3;
384           a8(indx) := t(ddindx).return_attribute4;
385           a9(indx) := t(ddindx).return_reason_code;
386           indx := indx+1;
387           if t.last =ddindx
388             then exit;
389           end if;
390           ddindx := t.next(ddindx);
391         end loop;
392       end if;
393    end if;
394   end rosetta_table_copy_out_p6;
395 
396   procedure rosetta_table_copy_in_p8(t out nocopy ibu_order_capture.line_shipment_tbl_type, a0 JTF_VARCHAR2_TABLE_100
397     , a1 JTF_NUMBER_TABLE
398     , a2 JTF_DATE_TABLE
399     , a3 JTF_DATE_TABLE
400     , a4 JTF_NUMBER_TABLE
401     , a5 JTF_NUMBER_TABLE
402     , a6 JTF_VARCHAR2_TABLE_100
403     , a7 JTF_NUMBER_TABLE
404     ) as
405     ddindx binary_integer; indx binary_integer;
406   begin
407   if a0 is not null and a0.count > 0 then
408       if a0.count > 0 then
409         indx := a0.first;
410         ddindx := 1;
411         while true loop
412           t(ddindx).operation_code := a0(indx);
413           t(ddindx).qte_line_index := rosetta_g_miss_num_map(a1(indx));
414           t(ddindx).schedule_ship_date := rosetta_g_miss_date_in_map(a2(indx));
415           t(ddindx).request_date := rosetta_g_miss_date_in_map(a3(indx));
416           t(ddindx).ship_to_party_site_id := rosetta_g_miss_num_map(a4(indx));
417           t(ddindx).ship_to_party_id := rosetta_g_miss_num_map(a5(indx));
418           t(ddindx).freight_carrier_code := a6(indx);
419           t(ddindx).quantity := rosetta_g_miss_num_map(a7(indx));
420           ddindx := ddindx+1;
421           if a0.last =indx
422             then exit;
423           end if;
424           indx := a0.next(indx);
425         end loop;
426       end if;
427    end if;
428   end rosetta_table_copy_in_p8;
429   procedure rosetta_table_copy_out_p8(t ibu_order_capture.line_shipment_tbl_type, a0 out nocopy JTF_VARCHAR2_TABLE_100
430     , a1 out nocopy JTF_NUMBER_TABLE
431     , a2 out nocopy JTF_DATE_TABLE
432     , a3 out nocopy JTF_DATE_TABLE
433     , a4 out nocopy JTF_NUMBER_TABLE
434     , a5 out nocopy JTF_NUMBER_TABLE
435     , a6 out nocopy JTF_VARCHAR2_TABLE_100
436     , a7 out nocopy JTF_NUMBER_TABLE
437     ) as
438     ddindx binary_integer; indx binary_integer;
439   begin
440   if t is null or t.count = 0 then
441     a0 := JTF_VARCHAR2_TABLE_100();
442     a1 := JTF_NUMBER_TABLE();
443     a2 := JTF_DATE_TABLE();
444     a3 := JTF_DATE_TABLE();
445     a4 := JTF_NUMBER_TABLE();
446     a5 := JTF_NUMBER_TABLE();
447     a6 := JTF_VARCHAR2_TABLE_100();
448     a7 := JTF_NUMBER_TABLE();
449   else
450       a0 := JTF_VARCHAR2_TABLE_100();
451       a1 := JTF_NUMBER_TABLE();
452       a2 := JTF_DATE_TABLE();
453       a3 := JTF_DATE_TABLE();
454       a4 := JTF_NUMBER_TABLE();
455       a5 := JTF_NUMBER_TABLE();
456       a6 := JTF_VARCHAR2_TABLE_100();
457       a7 := JTF_NUMBER_TABLE();
458       if t.count > 0 then
459         a0.extend(t.count);
460         a1.extend(t.count);
461         a2.extend(t.count);
462         a3.extend(t.count);
463         a4.extend(t.count);
464         a5.extend(t.count);
465         a6.extend(t.count);
466         a7.extend(t.count);
467         ddindx := t.first;
468         indx := 1;
469         while true loop
470           a0(indx) := t(ddindx).operation_code;
471           a1(indx) := rosetta_g_miss_num_map(t(ddindx).qte_line_index);
472           a2(indx) := t(ddindx).schedule_ship_date;
473           a3(indx) := t(ddindx).request_date;
474           a4(indx) := rosetta_g_miss_num_map(t(ddindx).ship_to_party_site_id);
475           a5(indx) := rosetta_g_miss_num_map(t(ddindx).ship_to_party_id);
476           a6(indx) := t(ddindx).freight_carrier_code;
477           a7(indx) := rosetta_g_miss_num_map(t(ddindx).quantity);
478           indx := indx+1;
479           if t.last =ddindx
480             then exit;
481           end if;
482           ddindx := t.next(ddindx);
483         end loop;
484       end if;
485    end if;
486   end rosetta_table_copy_out_p8;
487 
488   procedure rosetta_table_copy_in_p11(t out nocopy ibu_order_capture.return_line_tbl_type, a0 JTF_NUMBER_TABLE
489     , a1 JTF_NUMBER_TABLE
490     , a2 JTF_VARCHAR2_TABLE_200
491     ) as
492     ddindx binary_integer; indx binary_integer;
493   begin
494   if a0 is not null and a0.count > 0 then
495       if a0.count > 0 then
496         indx := a0.first;
497         ddindx := 1;
498         while true loop
499           t(ddindx).order_line_id := rosetta_g_miss_num_map(a0(indx));
500           t(ddindx).order_header_id := rosetta_g_miss_num_map(a1(indx));
501           t(ddindx).status := a2(indx);
502           ddindx := ddindx+1;
503           if a0.last =indx
504             then exit;
505           end if;
506           indx := a0.next(indx);
507         end loop;
508       end if;
509    end if;
510   end rosetta_table_copy_in_p11;
511   procedure rosetta_table_copy_out_p11(t ibu_order_capture.return_line_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
512     , a1 out nocopy JTF_NUMBER_TABLE
513     , a2 out nocopy JTF_VARCHAR2_TABLE_200
514     ) as
515     ddindx binary_integer; indx binary_integer;
516   begin
517   if t is null or t.count = 0 then
518     a0 := JTF_NUMBER_TABLE();
519     a1 := JTF_NUMBER_TABLE();
520     a2 := JTF_VARCHAR2_TABLE_200();
521   else
522       a0 := JTF_NUMBER_TABLE();
523       a1 := JTF_NUMBER_TABLE();
524       a2 := JTF_VARCHAR2_TABLE_200();
525       if t.count > 0 then
526         a0.extend(t.count);
527         a1.extend(t.count);
528         a2.extend(t.count);
529         ddindx := t.first;
530         indx := 1;
531         while true loop
532           a0(indx) := rosetta_g_miss_num_map(t(ddindx).order_line_id);
533           a1(indx) := rosetta_g_miss_num_map(t(ddindx).order_header_id);
534           a2(indx) := t(ddindx).status;
535           indx := indx+1;
536           if t.last =ddindx
537             then exit;
538           end if;
539           ddindx := t.next(ddindx);
540         end loop;
541       end if;
542    end if;
543   end rosetta_table_copy_out_p11;
544 
545   procedure create_return(p_api_version_number  NUMBER
546     , p_init_msg_list  VARCHAR2
547     , p_commit  VARCHAR
548     , p_header_id  NUMBER
549     , p6_a0 JTF_NUMBER_TABLE
550     , p6_a1 JTF_VARCHAR2_TABLE_100
551     , p6_a2 JTF_NUMBER_TABLE
552     , p6_a3 JTF_VARCHAR2_TABLE_100
553     , p6_a4 JTF_NUMBER_TABLE
554     , p6_a5 JTF_NUMBER_TABLE
555     , p6_a6 JTF_NUMBER_TABLE
556     , p6_a7 JTF_NUMBER_TABLE
557     , p6_a8 JTF_NUMBER_TABLE
558     , p6_a9 JTF_NUMBER_TABLE
559     , p6_a10 JTF_VARCHAR2_TABLE_100
560     , p6_a11 JTF_NUMBER_TABLE
561     , p6_a12 JTF_VARCHAR2_TABLE_100
562     , p6_a13 JTF_NUMBER_TABLE
563     , p6_a14 JTF_NUMBER_TABLE
564     , p7_a0 JTF_VARCHAR2_TABLE_100
565     , p7_a1 JTF_NUMBER_TABLE
566     , p7_a2 JTF_VARCHAR2_TABLE_100
567     , p7_a3 JTF_NUMBER_TABLE
568     , p7_a4 JTF_NUMBER_TABLE
569     , p7_a5 JTF_VARCHAR2_TABLE_300
570     , p7_a6 JTF_VARCHAR2_TABLE_300
571     , p7_a7 JTF_VARCHAR2_TABLE_300
572     , p7_a8 JTF_VARCHAR2_TABLE_300
573     , p7_a9 JTF_VARCHAR2_TABLE_100
574     , p8_a0 JTF_VARCHAR2_TABLE_100
575     , p8_a1 JTF_NUMBER_TABLE
576     , p8_a2 JTF_DATE_TABLE
577     , p8_a3 JTF_DATE_TABLE
578     , p8_a4 JTF_NUMBER_TABLE
579     , p8_a5 JTF_NUMBER_TABLE
580     , p8_a6 JTF_VARCHAR2_TABLE_100
581     , p8_a7 JTF_NUMBER_TABLE
582     , x_msg_count out nocopy  NUMBER
583     , x_msg_data out nocopy  VARCHAR2
584     , x_return_status out nocopy  VARCHAR2
585     , p12_a0 out nocopy  NUMBER
586     , p12_a1 out nocopy  NUMBER
587     , p12_a2 out nocopy  VARCHAR2
588     , p13_a0 out nocopy JTF_NUMBER_TABLE
589     , p13_a1 out nocopy JTF_NUMBER_TABLE
590     , p13_a2 out nocopy JTF_VARCHAR2_TABLE_200
591     , p4_a0  NUMBER := 0-1962.0724
592     , p4_a1  NUMBER := 0-1962.0724
593     , p4_a2  VARCHAR2 := fnd_api.g_miss_char
594     , p4_a3  NUMBER := 0-1962.0724
595     , p4_a4  NUMBER := 0-1962.0724
596     , p4_a5  NUMBER := 0-1962.0724
597     , p4_a6  NUMBER := 0-1962.0724
598     , p4_a7  NUMBER := 0-1962.0724
599     , p4_a8  VARCHAR2 := fnd_api.g_miss_char
600     , p4_a9  DATE := fnd_api.g_miss_date
601     , p4_a10  NUMBER := 0-1962.0724
602     , p4_a11  NUMBER := 0-1962.0724
603     , p4_a12  VARCHAR2 := fnd_api.g_miss_char
604     , p5_a0  DATE := fnd_api.g_miss_date
605     , p5_a1  DATE := fnd_api.g_miss_date
606     , p5_a2  NUMBER := 0-1962.0724
607     , p5_a3  NUMBER := 0-1962.0724
608     , p5_a4  VARCHAR2 := fnd_api.g_miss_char
609     , p5_a5  NUMBER := 0-1962.0724
610   )
611 
612   as
613     ddheader_rec ibu_order_capture.header_rec_type;
614     ddheader_shipment_rec ibu_order_capture.header_shipment_rec_type;
615     ddline_tbl ibu_order_capture.line_tbl_type;
616     ddline_dtl_tbl ibu_order_capture.line_dtl_tbl_type;
617     ddline_shipment_tbl ibu_order_capture.line_shipment_tbl_type;
618     ddx_return_header_rec ibu_order_capture.return_header_rec_type;
619     ddx_return_line_tbl ibu_order_capture.return_line_tbl_type;
620     ddindx binary_integer; indx binary_integer;
621   begin
622 
623     -- copy data to the local IN or IN-OUT args, if any
624 
625 
626 
627 
628     ddheader_rec.quote_header_id := rosetta_g_miss_num_map(p4_a0);
629     ddheader_rec.org_id := rosetta_g_miss_num_map(p4_a1);
630     ddheader_rec.quote_source_code := p4_a2;
631     ddheader_rec.party_id := rosetta_g_miss_num_map(p4_a3);
632     ddheader_rec.cust_account_id := rosetta_g_miss_num_map(p4_a4);
633     ddheader_rec.org_contact_id := rosetta_g_miss_num_map(p4_a5);
634     ddheader_rec.invoice_to_party_site_id := rosetta_g_miss_num_map(p4_a6);
635     ddheader_rec.order_type_id := rosetta_g_miss_num_map(p4_a7);
636     ddheader_rec.quote_category_code := p4_a8;
637     ddheader_rec.ordered_date := rosetta_g_miss_date_in_map(p4_a9);
638     ddheader_rec.employee_person_id := rosetta_g_miss_num_map(p4_a10);
639     ddheader_rec.price_list_id := rosetta_g_miss_num_map(p4_a11);
640     ddheader_rec.currency_code := p4_a12;
641 
642     ddheader_shipment_rec.schedule_ship_date := rosetta_g_miss_date_in_map(p5_a0);
643     ddheader_shipment_rec.request_date := rosetta_g_miss_date_in_map(p5_a1);
644     ddheader_shipment_rec.ship_to_party_site_id := rosetta_g_miss_num_map(p5_a2);
645     ddheader_shipment_rec.ship_to_party_id := rosetta_g_miss_num_map(p5_a3);
646     ddheader_shipment_rec.freight_carrier_code := p5_a4;
647     ddheader_shipment_rec.quantity := rosetta_g_miss_num_map(p5_a5);
648 
649     ibu_order_capture_w.rosetta_table_copy_in_p4(ddline_tbl, p6_a0
650       , p6_a1
651       , p6_a2
652       , p6_a3
653       , p6_a4
654       , p6_a5
655       , p6_a6
656       , p6_a7
657       , p6_a8
658       , p6_a9
659       , p6_a10
660       , p6_a11
661       , p6_a12
662       , p6_a13
663       , p6_a14
664       );
665 
666     ibu_order_capture_w.rosetta_table_copy_in_p6(ddline_dtl_tbl, p7_a0
667       , p7_a1
668       , p7_a2
669       , p7_a3
670       , p7_a4
671       , p7_a5
672       , p7_a6
673       , p7_a7
674       , p7_a8
675       , p7_a9
676       );
677 
678     ibu_order_capture_w.rosetta_table_copy_in_p8(ddline_shipment_tbl, p8_a0
679       , p8_a1
680       , p8_a2
681       , p8_a3
682       , p8_a4
683       , p8_a5
684       , p8_a6
685       , p8_a7
686       );
687 
688 
689 
690 
691 
692 
693     -- here's the delegated call to the old PL/SQL routine
694     ibu_order_capture.create_return(p_api_version_number,
695       p_init_msg_list,
696       p_commit,
697       p_header_id,
698       ddheader_rec,
699       ddheader_shipment_rec,
700       ddline_tbl,
701       ddline_dtl_tbl,
702       ddline_shipment_tbl,
703       x_msg_count,
704       x_msg_data,
705       x_return_status,
706       ddx_return_header_rec,
707       ddx_return_line_tbl);
708 
709     -- copy data back from the local variables to OUT or IN-OUT args, if any
710 
711 
712 
713 
714 
715 
716 
717 
718 
719 
720 
721 
722     p12_a0 := rosetta_g_miss_num_map(ddx_return_header_rec.order_number);
723     p12_a1 := rosetta_g_miss_num_map(ddx_return_header_rec.order_header_id);
724     p12_a2 := ddx_return_header_rec.status;
725 
726     ibu_order_capture_w.rosetta_table_copy_out_p11(ddx_return_line_tbl, p13_a0
727       , p13_a1
728       , p13_a2
729       );
730   end;
731 
732 end ibu_order_capture_w;