DBA Data[Home] [Help]

PACKAGE BODY: APPS.CSE_DEPLOYMENT_GRP_W

Source


1 package body cse_deployment_grp_w as
2 /* $Header: CSEDPLWB.pls 120.5 2006/07/24 17:08:19 sguthiva 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   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   function rosetta_g_miss_num_map(n number) return number as
17     a number := fnd_api.g_miss_num;
18     b number := 0-1962.0724;
19   begin
20     if n=a then return b; end if;
21     if n=b then return a; end if;
22     return n;
23   end;
24 
25   procedure rosetta_table_copy_in_p1(t out nocopy cse_deployment_grp.txn_instances_tbl, a0 JTF_NUMBER_TABLE
26     , a1 JTF_VARCHAR2_TABLE_100
27     , a2 JTF_VARCHAR2_TABLE_100
28     , a3 JTF_VARCHAR2_TABLE_100
29     , a4 JTF_NUMBER_TABLE
30     , a5 JTF_NUMBER_TABLE
31     , a6 JTF_NUMBER_TABLE
32     , a7 JTF_VARCHAR2_TABLE_100
33     , a8 JTF_DATE_TABLE
34     , a9 JTF_DATE_TABLE
35     , a10 JTF_NUMBER_TABLE
36     , a11 JTF_VARCHAR2_TABLE_100
37     , a12 JTF_NUMBER_TABLE
38     ) as
39     ddindx binary_integer; indx binary_integer;
40   begin
41   if a0 is not null and a0.count > 0 then
42       if a0.count > 0 then
43         indx := a0.first;
44         ddindx := 1;
45         while true loop
46           t(ddindx).instance_id := rosetta_g_miss_num_map(a0(indx));
47           t(ddindx).serial_number := a1(indx);
48           t(ddindx).lot_number := a2(indx);
49           t(ddindx).inventory_revision := a3(indx);
50           t(ddindx).last_pa_project_id := rosetta_g_miss_num_map(a4(indx));
51           t(ddindx).last_pa_project_task_id := rosetta_g_miss_num_map(a5(indx));
52           t(ddindx).inventory_item_id := rosetta_g_miss_num_map(a6(indx));
53           t(ddindx).unit_of_measure := a7(indx);
54           t(ddindx).active_start_date := rosetta_g_miss_date_in_map(a8(indx));
55           t(ddindx).active_end_date := rosetta_g_miss_date_in_map(a9(indx));
56           t(ddindx).instance_status_id := rosetta_g_miss_num_map(a10(indx));
57           t(ddindx).operational_status_code := a11(indx);
58           t(ddindx).asset_id := rosetta_g_miss_num_map(a12(indx));
59           ddindx := ddindx+1;
60           if a0.last =indx
61             then exit;
62           end if;
63           indx := a0.next(indx);
64         end loop;
65       end if;
66    end if;
67   end rosetta_table_copy_in_p1;
68   procedure rosetta_table_copy_out_p1(t cse_deployment_grp.txn_instances_tbl, a0 out nocopy JTF_NUMBER_TABLE
69     , a1 out nocopy JTF_VARCHAR2_TABLE_100
70     , a2 out nocopy JTF_VARCHAR2_TABLE_100
71     , a3 out nocopy JTF_VARCHAR2_TABLE_100
72     , a4 out nocopy JTF_NUMBER_TABLE
73     , a5 out nocopy JTF_NUMBER_TABLE
74     , a6 out nocopy JTF_NUMBER_TABLE
75     , a7 out nocopy JTF_VARCHAR2_TABLE_100
76     , a8 out nocopy JTF_DATE_TABLE
77     , a9 out nocopy JTF_DATE_TABLE
78     , a10 out nocopy JTF_NUMBER_TABLE
79     , a11 out nocopy JTF_VARCHAR2_TABLE_100
80     , a12 out nocopy JTF_NUMBER_TABLE
81     ) as
82     ddindx binary_integer; indx binary_integer;
83   begin
84   if t is null or t.count = 0 then
85     a0 := JTF_NUMBER_TABLE();
86     a1 := JTF_VARCHAR2_TABLE_100();
87     a2 := JTF_VARCHAR2_TABLE_100();
88     a3 := JTF_VARCHAR2_TABLE_100();
89     a4 := JTF_NUMBER_TABLE();
90     a5 := JTF_NUMBER_TABLE();
91     a6 := JTF_NUMBER_TABLE();
92     a7 := JTF_VARCHAR2_TABLE_100();
93     a8 := JTF_DATE_TABLE();
94     a9 := JTF_DATE_TABLE();
95     a10 := JTF_NUMBER_TABLE();
96     a11 := JTF_VARCHAR2_TABLE_100();
97     a12 := JTF_NUMBER_TABLE();
98   else
99       a0 := JTF_NUMBER_TABLE();
100       a1 := JTF_VARCHAR2_TABLE_100();
101       a2 := JTF_VARCHAR2_TABLE_100();
102       a3 := JTF_VARCHAR2_TABLE_100();
103       a4 := JTF_NUMBER_TABLE();
104       a5 := JTF_NUMBER_TABLE();
105       a6 := JTF_NUMBER_TABLE();
106       a7 := JTF_VARCHAR2_TABLE_100();
107       a8 := JTF_DATE_TABLE();
108       a9 := JTF_DATE_TABLE();
109       a10 := JTF_NUMBER_TABLE();
110       a11 := JTF_VARCHAR2_TABLE_100();
111       a12 := JTF_NUMBER_TABLE();
112       if t.count > 0 then
113         a0.extend(t.count);
114         a1.extend(t.count);
115         a2.extend(t.count);
116         a3.extend(t.count);
117         a4.extend(t.count);
118         a5.extend(t.count);
119         a6.extend(t.count);
120         a7.extend(t.count);
121         a8.extend(t.count);
122         a9.extend(t.count);
123         a10.extend(t.count);
124         a11.extend(t.count);
125         a12.extend(t.count);
126         ddindx := t.first;
127         indx := 1;
128         while true loop
129           a0(indx) := rosetta_g_miss_num_map(t(ddindx).instance_id);
130           a1(indx) := t(ddindx).serial_number;
131           a2(indx) := t(ddindx).lot_number;
132           a3(indx) := t(ddindx).inventory_revision;
133           a4(indx) := rosetta_g_miss_num_map(t(ddindx).last_pa_project_id);
134           a5(indx) := rosetta_g_miss_num_map(t(ddindx).last_pa_project_task_id);
135           a6(indx) := rosetta_g_miss_num_map(t(ddindx).inventory_item_id);
136           a7(indx) := t(ddindx).unit_of_measure;
137           a8(indx) := t(ddindx).active_start_date;
138           a9(indx) := t(ddindx).active_end_date;
139           a10(indx) := rosetta_g_miss_num_map(t(ddindx).instance_status_id);
140           a11(indx) := t(ddindx).operational_status_code;
141           a12(indx) := rosetta_g_miss_num_map(t(ddindx).asset_id);
142           indx := indx+1;
143           if t.last =ddindx
144             then exit;
145           end if;
146           ddindx := t.next(ddindx);
147         end loop;
148       end if;
149    end if;
150   end rosetta_table_copy_out_p1;
151 
152   procedure rosetta_table_copy_in_p3(t out nocopy cse_deployment_grp.dest_location_tbl, a0 JTF_NUMBER_TABLE
153     , a1 JTF_VARCHAR2_TABLE_100
154     , a2 JTF_NUMBER_TABLE
155     , a3 JTF_VARCHAR2_TABLE_100
156     , a4 JTF_NUMBER_TABLE
157     , a5 JTF_NUMBER_TABLE
158     , a6 JTF_VARCHAR2_TABLE_100
159     , a7 JTF_VARCHAR2_TABLE_100
160     , a8 JTF_NUMBER_TABLE
161     , a9 JTF_NUMBER_TABLE
162     ) as
163     ddindx binary_integer; indx binary_integer;
164   begin
165   if a0 is not null and a0.count > 0 then
166       if a0.count > 0 then
167         indx := a0.first;
168         ddindx := 1;
169         while true loop
170           t(ddindx).parent_tbl_index := rosetta_g_miss_num_map(a0(indx));
171           t(ddindx).location_type_code := a1(indx);
172           t(ddindx).location_id := rosetta_g_miss_num_map(a2(indx));
173           t(ddindx).instance_usage_code := a3(indx);
174           t(ddindx).last_pa_project_id := rosetta_g_miss_num_map(a4(indx));
175           t(ddindx).last_pa_project_task_id := rosetta_g_miss_num_map(a5(indx));
176           t(ddindx).external_reference := a6(indx);
177           t(ddindx).operational_status_code := a7(indx);
178           t(ddindx).pa_project_id := rosetta_g_miss_num_map(a8(indx));
179           t(ddindx).pa_project_task_id := rosetta_g_miss_num_map(a9(indx));
180           ddindx := ddindx+1;
181           if a0.last =indx
182             then exit;
183           end if;
184           indx := a0.next(indx);
185         end loop;
186       end if;
187    end if;
188   end rosetta_table_copy_in_p3;
189   procedure rosetta_table_copy_out_p3(t cse_deployment_grp.dest_location_tbl, a0 out nocopy JTF_NUMBER_TABLE
190     , a1 out nocopy JTF_VARCHAR2_TABLE_100
191     , a2 out nocopy JTF_NUMBER_TABLE
192     , a3 out nocopy JTF_VARCHAR2_TABLE_100
193     , a4 out nocopy JTF_NUMBER_TABLE
194     , a5 out nocopy JTF_NUMBER_TABLE
195     , a6 out nocopy JTF_VARCHAR2_TABLE_100
196     , a7 out nocopy JTF_VARCHAR2_TABLE_100
197     , a8 out nocopy JTF_NUMBER_TABLE
198     , a9 out nocopy JTF_NUMBER_TABLE
199     ) as
200     ddindx binary_integer; indx binary_integer;
201   begin
202   if t is null or t.count = 0 then
203     a0 := JTF_NUMBER_TABLE();
204     a1 := JTF_VARCHAR2_TABLE_100();
205     a2 := JTF_NUMBER_TABLE();
206     a3 := JTF_VARCHAR2_TABLE_100();
207     a4 := JTF_NUMBER_TABLE();
208     a5 := JTF_NUMBER_TABLE();
209     a6 := JTF_VARCHAR2_TABLE_100();
210     a7 := JTF_VARCHAR2_TABLE_100();
211     a8 := JTF_NUMBER_TABLE();
212     a9 := JTF_NUMBER_TABLE();
213   else
214       a0 := JTF_NUMBER_TABLE();
215       a1 := JTF_VARCHAR2_TABLE_100();
216       a2 := JTF_NUMBER_TABLE();
217       a3 := JTF_VARCHAR2_TABLE_100();
218       a4 := JTF_NUMBER_TABLE();
219       a5 := JTF_NUMBER_TABLE();
220       a6 := JTF_VARCHAR2_TABLE_100();
221       a7 := JTF_VARCHAR2_TABLE_100();
222       a8 := JTF_NUMBER_TABLE();
223       a9 := JTF_NUMBER_TABLE();
224       if t.count > 0 then
225         a0.extend(t.count);
226         a1.extend(t.count);
227         a2.extend(t.count);
228         a3.extend(t.count);
229         a4.extend(t.count);
230         a5.extend(t.count);
231         a6.extend(t.count);
232         a7.extend(t.count);
233         a8.extend(t.count);
234         a9.extend(t.count);
235         ddindx := t.first;
236         indx := 1;
237         while true loop
238           a0(indx) := rosetta_g_miss_num_map(t(ddindx).parent_tbl_index);
239           a1(indx) := t(ddindx).location_type_code;
240           a2(indx) := rosetta_g_miss_num_map(t(ddindx).location_id);
241           a3(indx) := t(ddindx).instance_usage_code;
242           a4(indx) := rosetta_g_miss_num_map(t(ddindx).last_pa_project_id);
243           a5(indx) := rosetta_g_miss_num_map(t(ddindx).last_pa_project_task_id);
244           a6(indx) := t(ddindx).external_reference;
245           a7(indx) := t(ddindx).operational_status_code;
246           a8(indx) := rosetta_g_miss_num_map(t(ddindx).pa_project_id);
247           a9(indx) := rosetta_g_miss_num_map(t(ddindx).pa_project_task_id);
248           indx := indx+1;
249           if t.last =ddindx
250             then exit;
251           end if;
252           ddindx := t.next(ddindx);
253         end loop;
254       end if;
255    end if;
256   end rosetta_table_copy_out_p3;
257 
258   procedure rosetta_table_copy_in_p5(t out nocopy cse_deployment_grp.txn_ext_attrib_values_tbl, a0 JTF_NUMBER_TABLE
259     , a1 JTF_NUMBER_TABLE
260     , a2 JTF_NUMBER_TABLE
261     , a3 JTF_NUMBER_TABLE
262     , a4 JTF_VARCHAR2_TABLE_100
263     , a5 JTF_VARCHAR2_TABLE_300
264     , a6 JTF_DATE_TABLE
265     , a7 JTF_DATE_TABLE
266     , a8 JTF_NUMBER_TABLE
267     ) as
268     ddindx binary_integer; indx binary_integer;
269   begin
270   if a0 is not null and a0.count > 0 then
271       if a0.count > 0 then
272         indx := a0.first;
273         ddindx := 1;
274         while true loop
275           t(ddindx).attribute_value_id := rosetta_g_miss_num_map(a0(indx));
276           t(ddindx).parent_tbl_index := rosetta_g_miss_num_map(a1(indx));
277           t(ddindx).instance_id := rosetta_g_miss_num_map(a2(indx));
278           t(ddindx).attribute_id := rosetta_g_miss_num_map(a3(indx));
279           t(ddindx).attribute_code := a4(indx);
280           t(ddindx).attribute_value := a5(indx);
281           t(ddindx).active_start_date := rosetta_g_miss_date_in_map(a6(indx));
282           t(ddindx).active_end_date := rosetta_g_miss_date_in_map(a7(indx));
283           t(ddindx).object_version_number := rosetta_g_miss_num_map(a8(indx));
284           ddindx := ddindx+1;
285           if a0.last =indx
286             then exit;
287           end if;
288           indx := a0.next(indx);
289         end loop;
290       end if;
291    end if;
292   end rosetta_table_copy_in_p5;
293   procedure rosetta_table_copy_out_p5(t cse_deployment_grp.txn_ext_attrib_values_tbl, a0 out nocopy JTF_NUMBER_TABLE
294     , a1 out nocopy JTF_NUMBER_TABLE
295     , a2 out nocopy JTF_NUMBER_TABLE
296     , a3 out nocopy JTF_NUMBER_TABLE
297     , a4 out nocopy JTF_VARCHAR2_TABLE_100
298     , a5 out nocopy JTF_VARCHAR2_TABLE_300
299     , a6 out nocopy JTF_DATE_TABLE
300     , a7 out nocopy JTF_DATE_TABLE
301     , a8 out nocopy JTF_NUMBER_TABLE
302     ) as
303     ddindx binary_integer; indx binary_integer;
304   begin
305   if t is null or t.count = 0 then
306     a0 := JTF_NUMBER_TABLE();
307     a1 := JTF_NUMBER_TABLE();
308     a2 := JTF_NUMBER_TABLE();
309     a3 := JTF_NUMBER_TABLE();
310     a4 := JTF_VARCHAR2_TABLE_100();
311     a5 := JTF_VARCHAR2_TABLE_300();
312     a6 := JTF_DATE_TABLE();
313     a7 := JTF_DATE_TABLE();
314     a8 := JTF_NUMBER_TABLE();
315   else
316       a0 := JTF_NUMBER_TABLE();
320       a4 := JTF_VARCHAR2_TABLE_100();
317       a1 := JTF_NUMBER_TABLE();
318       a2 := JTF_NUMBER_TABLE();
319       a3 := JTF_NUMBER_TABLE();
321       a5 := JTF_VARCHAR2_TABLE_300();
322       a6 := JTF_DATE_TABLE();
323       a7 := JTF_DATE_TABLE();
324       a8 := JTF_NUMBER_TABLE();
325       if t.count > 0 then
326         a0.extend(t.count);
327         a1.extend(t.count);
328         a2.extend(t.count);
329         a3.extend(t.count);
330         a4.extend(t.count);
331         a5.extend(t.count);
332         a6.extend(t.count);
333         a7.extend(t.count);
334         a8.extend(t.count);
335         ddindx := t.first;
336         indx := 1;
337         while true loop
338           a0(indx) := rosetta_g_miss_num_map(t(ddindx).attribute_value_id);
339           a1(indx) := rosetta_g_miss_num_map(t(ddindx).parent_tbl_index);
340           a2(indx) := rosetta_g_miss_num_map(t(ddindx).instance_id);
341           a3(indx) := rosetta_g_miss_num_map(t(ddindx).attribute_id);
342           a4(indx) := t(ddindx).attribute_code;
343           a5(indx) := t(ddindx).attribute_value;
344           a6(indx) := t(ddindx).active_start_date;
345           a7(indx) := t(ddindx).active_end_date;
346           a8(indx) := rosetta_g_miss_num_map(t(ddindx).object_version_number);
347           indx := indx+1;
348           if t.last =ddindx
349             then exit;
350           end if;
351           ddindx := t.next(ddindx);
352         end loop;
353       end if;
354    end if;
355   end rosetta_table_copy_out_p5;
356 
357   procedure rosetta_table_copy_in_p7(t out nocopy cse_deployment_grp.transaction_tbl, a0 JTF_NUMBER_TABLE
358     , a1 JTF_DATE_TABLE
359     , a2 JTF_DATE_TABLE
360     , a3 JTF_NUMBER_TABLE
361     , a4 JTF_NUMBER_TABLE
362     , a5 JTF_NUMBER_TABLE
363     , a6 JTF_VARCHAR2_TABLE_100
364     , a7 JTF_NUMBER_TABLE
365     , a8 JTF_VARCHAR2_TABLE_100
366     , a9 JTF_NUMBER_TABLE
367     , a10 JTF_NUMBER_TABLE
368     , a11 JTF_NUMBER_TABLE
369     , a12 JTF_NUMBER_TABLE
370     , a13 JTF_VARCHAR2_TABLE_100
371     , a14 JTF_VARCHAR2_TABLE_100
372     ) as
373     ddindx binary_integer; indx binary_integer;
374   begin
375   if a0 is not null and a0.count > 0 then
376       if a0.count > 0 then
377         indx := a0.first;
378         ddindx := 1;
379         while true loop
380           t(ddindx).transaction_id := rosetta_g_miss_num_map(a0(indx));
381           t(ddindx).transaction_date := rosetta_g_miss_date_in_map(a1(indx));
382           t(ddindx).source_transaction_date := rosetta_g_miss_date_in_map(a2(indx));
383           t(ddindx).transaction_type_id := rosetta_g_miss_num_map(a3(indx));
384           t(ddindx).txn_sub_type_id := rosetta_g_miss_num_map(a4(indx));
385           t(ddindx).source_group_ref_id := rosetta_g_miss_num_map(a5(indx));
386           t(ddindx).source_group_ref := a6(indx);
387           t(ddindx).source_header_ref_id := rosetta_g_miss_num_map(a7(indx));
388           t(ddindx).source_header_ref := a8(indx);
389           t(ddindx).transacted_by := rosetta_g_miss_num_map(a9(indx));
390           t(ddindx).transaction_quantity := rosetta_g_miss_num_map(a10(indx));
391           t(ddindx).proceeds_of_sale := rosetta_g_miss_num_map(a11(indx));
392           t(ddindx).cost_of_removal := rosetta_g_miss_num_map(a12(indx));
393           t(ddindx).operational_flag := a13(indx);
394           t(ddindx).financial_flag := a14(indx);
395           ddindx := ddindx+1;
396           if a0.last =indx
397             then exit;
398           end if;
399           indx := a0.next(indx);
400         end loop;
401       end if;
402    end if;
403   end rosetta_table_copy_in_p7;
404   procedure rosetta_table_copy_out_p7(t cse_deployment_grp.transaction_tbl, a0 out nocopy JTF_NUMBER_TABLE
405     , a1 out nocopy JTF_DATE_TABLE
406     , a2 out nocopy JTF_DATE_TABLE
407     , a3 out nocopy JTF_NUMBER_TABLE
408     , a4 out nocopy JTF_NUMBER_TABLE
409     , a5 out nocopy JTF_NUMBER_TABLE
410     , a6 out nocopy JTF_VARCHAR2_TABLE_100
411     , a7 out nocopy JTF_NUMBER_TABLE
412     , a8 out nocopy JTF_VARCHAR2_TABLE_100
413     , a9 out nocopy JTF_NUMBER_TABLE
414     , a10 out nocopy JTF_NUMBER_TABLE
415     , a11 out nocopy JTF_NUMBER_TABLE
416     , a12 out nocopy JTF_NUMBER_TABLE
417     , a13 out nocopy JTF_VARCHAR2_TABLE_100
418     , a14 out nocopy JTF_VARCHAR2_TABLE_100
419     ) as
420     ddindx binary_integer; indx binary_integer;
421   begin
422   if t is null or t.count = 0 then
423     a0 := JTF_NUMBER_TABLE();
424     a1 := JTF_DATE_TABLE();
425     a2 := JTF_DATE_TABLE();
426     a3 := JTF_NUMBER_TABLE();
427     a4 := JTF_NUMBER_TABLE();
428     a5 := JTF_NUMBER_TABLE();
429     a6 := JTF_VARCHAR2_TABLE_100();
430     a7 := JTF_NUMBER_TABLE();
431     a8 := JTF_VARCHAR2_TABLE_100();
432     a9 := JTF_NUMBER_TABLE();
433     a10 := JTF_NUMBER_TABLE();
434     a11 := JTF_NUMBER_TABLE();
435     a12 := JTF_NUMBER_TABLE();
436     a13 := JTF_VARCHAR2_TABLE_100();
437     a14 := JTF_VARCHAR2_TABLE_100();
438   else
439       a0 := JTF_NUMBER_TABLE();
440       a1 := JTF_DATE_TABLE();
441       a2 := JTF_DATE_TABLE();
442       a3 := JTF_NUMBER_TABLE();
443       a4 := JTF_NUMBER_TABLE();
444       a5 := JTF_NUMBER_TABLE();
445       a6 := JTF_VARCHAR2_TABLE_100();
446       a7 := JTF_NUMBER_TABLE();
447       a8 := JTF_VARCHAR2_TABLE_100();
448       a9 := JTF_NUMBER_TABLE();
449       a10 := JTF_NUMBER_TABLE();
450       a11 := JTF_NUMBER_TABLE();
451       a12 := JTF_NUMBER_TABLE();
452       a13 := JTF_VARCHAR2_TABLE_100();
453       a14 := JTF_VARCHAR2_TABLE_100();
454       if t.count > 0 then
455         a0.extend(t.count);
456         a1.extend(t.count);
457         a2.extend(t.count);
461         a6.extend(t.count);
458         a3.extend(t.count);
459         a4.extend(t.count);
460         a5.extend(t.count);
462         a7.extend(t.count);
463         a8.extend(t.count);
464         a9.extend(t.count);
465         a10.extend(t.count);
466         a11.extend(t.count);
467         a12.extend(t.count);
468         a13.extend(t.count);
469         a14.extend(t.count);
470         ddindx := t.first;
471         indx := 1;
472         while true loop
473           a0(indx) := rosetta_g_miss_num_map(t(ddindx).transaction_id);
474           a1(indx) := t(ddindx).transaction_date;
475           a2(indx) := t(ddindx).source_transaction_date;
476           a3(indx) := rosetta_g_miss_num_map(t(ddindx).transaction_type_id);
477           a4(indx) := rosetta_g_miss_num_map(t(ddindx).txn_sub_type_id);
478           a5(indx) := rosetta_g_miss_num_map(t(ddindx).source_group_ref_id);
479           a6(indx) := t(ddindx).source_group_ref;
480           a7(indx) := rosetta_g_miss_num_map(t(ddindx).source_header_ref_id);
481           a8(indx) := t(ddindx).source_header_ref;
482           a9(indx) := rosetta_g_miss_num_map(t(ddindx).transacted_by);
483           a10(indx) := rosetta_g_miss_num_map(t(ddindx).transaction_quantity);
484           a11(indx) := rosetta_g_miss_num_map(t(ddindx).proceeds_of_sale);
485           a12(indx) := rosetta_g_miss_num_map(t(ddindx).cost_of_removal);
486           a13(indx) := t(ddindx).operational_flag;
487           a14(indx) := t(ddindx).financial_flag;
488           indx := indx+1;
489           if t.last =ddindx
490             then exit;
491           end if;
492           ddindx := t.next(ddindx);
493         end loop;
494       end if;
495    end if;
496   end rosetta_table_copy_out_p7;
497 
498   procedure process_transaction(p0_a0 JTF_NUMBER_TABLE
499     , p0_a1 JTF_VARCHAR2_TABLE_100
500     , p0_a2 JTF_VARCHAR2_TABLE_100
501     , p0_a3 JTF_VARCHAR2_TABLE_100
502     , p0_a4 JTF_NUMBER_TABLE
503     , p0_a5 JTF_NUMBER_TABLE
504     , p0_a6 JTF_NUMBER_TABLE
505     , p0_a7 JTF_VARCHAR2_TABLE_100
506     , p0_a8 JTF_DATE_TABLE
507     , p0_a9 JTF_DATE_TABLE
508     , p0_a10 JTF_NUMBER_TABLE
509     , p0_a11 JTF_VARCHAR2_TABLE_100
510     , p0_a12 JTF_NUMBER_TABLE
511     , p1_a0 JTF_NUMBER_TABLE
512     , p1_a1 JTF_VARCHAR2_TABLE_100
513     , p1_a2 JTF_NUMBER_TABLE
514     , p1_a3 JTF_VARCHAR2_TABLE_100
515     , p1_a4 JTF_NUMBER_TABLE
516     , p1_a5 JTF_NUMBER_TABLE
517     , p1_a6 JTF_VARCHAR2_TABLE_100
518     , p1_a7 JTF_VARCHAR2_TABLE_100
519     , p1_a8 JTF_NUMBER_TABLE
520     , p1_a9 JTF_NUMBER_TABLE
521     , p2_a0 in out nocopy JTF_NUMBER_TABLE
522     , p2_a1 in out nocopy JTF_NUMBER_TABLE
523     , p2_a2 in out nocopy JTF_NUMBER_TABLE
524     , p2_a3 in out nocopy JTF_NUMBER_TABLE
525     , p2_a4 in out nocopy JTF_VARCHAR2_TABLE_100
526     , p2_a5 in out nocopy JTF_VARCHAR2_TABLE_300
527     , p2_a6 in out nocopy JTF_DATE_TABLE
528     , p2_a7 in out nocopy JTF_DATE_TABLE
529     , p2_a8 in out nocopy JTF_NUMBER_TABLE
530     , p3_a0 in out nocopy JTF_NUMBER_TABLE
531     , p3_a1 in out nocopy JTF_DATE_TABLE
532     , p3_a2 in out nocopy JTF_DATE_TABLE
533     , p3_a3 in out nocopy JTF_NUMBER_TABLE
534     , p3_a4 in out nocopy JTF_NUMBER_TABLE
535     , p3_a5 in out nocopy JTF_NUMBER_TABLE
536     , p3_a6 in out nocopy JTF_VARCHAR2_TABLE_100
537     , p3_a7 in out nocopy JTF_NUMBER_TABLE
538     , p3_a8 in out nocopy JTF_VARCHAR2_TABLE_100
539     , p3_a9 in out nocopy JTF_NUMBER_TABLE
540     , p3_a10 in out nocopy JTF_NUMBER_TABLE
541     , p3_a11 in out nocopy JTF_NUMBER_TABLE
542     , p3_a12 in out nocopy JTF_NUMBER_TABLE
543     , p3_a13 in out nocopy JTF_VARCHAR2_TABLE_100
544     , p3_a14 in out nocopy JTF_VARCHAR2_TABLE_100
545     , x_return_status out nocopy  VARCHAR2
546     , x_error_msg out nocopy  VARCHAR2
547   )
548 
549   as
550     ddp_instance_tbl cse_deployment_grp.txn_instances_tbl;
551     ddp_dest_location_tbl cse_deployment_grp.dest_location_tbl;
552     ddp_ext_attrib_values_tbl cse_deployment_grp.txn_ext_attrib_values_tbl;
553     ddp_txn_tbl cse_deployment_grp.transaction_tbl;
554     ddindx binary_integer; indx binary_integer;
555   begin
556 
557     -- copy data to the local IN or IN-OUT args, if any
558     cse_deployment_grp_w.rosetta_table_copy_in_p1(ddp_instance_tbl, p0_a0
559       , p0_a1
560       , p0_a2
561       , p0_a3
562       , p0_a4
563       , p0_a5
564       , p0_a6
565       , p0_a7
566       , p0_a8
567       , p0_a9
568       , p0_a10
569       , p0_a11
570       , p0_a12
571       );
572 
573     cse_deployment_grp_w.rosetta_table_copy_in_p3(ddp_dest_location_tbl, p1_a0
574       , p1_a1
575       , p1_a2
576       , p1_a3
577       , p1_a4
578       , p1_a5
579       , p1_a6
580       , p1_a7
581       , p1_a8
582       , p1_a9
583       );
584 
585     cse_deployment_grp_w.rosetta_table_copy_in_p5(ddp_ext_attrib_values_tbl, p2_a0
586       , p2_a1
587       , p2_a2
588       , p2_a3
589       , p2_a4
590       , p2_a5
591       , p2_a6
592       , p2_a7
593       , p2_a8
594       );
595 
596     cse_deployment_grp_w.rosetta_table_copy_in_p7(ddp_txn_tbl, p3_a0
597       , p3_a1
598       , p3_a2
599       , p3_a3
600       , p3_a4
601       , p3_a5
602       , p3_a6
603       , p3_a7
604       , p3_a8
605       , p3_a9
606       , p3_a10
607       , p3_a11
608       , p3_a12
609       , p3_a13
610       , p3_a14
611       );
612 
613 
614 
615     -- here's the delegated call to the old PL/SQL routine
619       ddp_txn_tbl,
616     cse_deployment_grp.process_transaction(ddp_instance_tbl,
617       ddp_dest_location_tbl,
618       ddp_ext_attrib_values_tbl,
620       x_return_status,
621       x_error_msg);
622 
623     -- copy data back from the local variables to OUT or IN-OUT args, if any
624 
625 
626     cse_deployment_grp_w.rosetta_table_copy_out_p5(ddp_ext_attrib_values_tbl, p2_a0
627       , p2_a1
628       , p2_a2
629       , p2_a3
630       , p2_a4
631       , p2_a5
632       , p2_a6
633       , p2_a7
634       , p2_a8
635       );
636 
637     cse_deployment_grp_w.rosetta_table_copy_out_p7(ddp_txn_tbl, p3_a0
638       , p3_a1
639       , p3_a2
640       , p3_a3
641       , p3_a4
642       , p3_a5
643       , p3_a6
644       , p3_a7
645       , p3_a8
646       , p3_a9
647       , p3_a10
648       , p3_a11
649       , p3_a12
650       , p3_a13
651       , p3_a14
652       );
653 
654 
655   end;
656 
657 end cse_deployment_grp_w;