DBA Data[Home] [Help]

PACKAGE BODY: APPS.FUN_TRX_PVT_W

Source


1 package body fun_trx_pvt_w as
2   /* $Header: fun_trx_pvt_w_b.pls 120.9 2011/12/16 02:29:44 srampure ship $ */
3   l_ccid numarray;
4   procedure rosetta_table_copy_in_p5(t out nocopy fun_trx_pvt.batch_tbl_type, a0 JTF_NUMBER_TABLE
5     , a1 JTF_VARCHAR2_TABLE_100
6     , a2 JTF_NUMBER_TABLE
7     , a3 JTF_NUMBER_TABLE
8     , a4 JTF_NUMBER_TABLE
9     , a5 JTF_NUMBER_TABLE
10     , a6 JTF_VARCHAR2_TABLE_100
11     , a7 JTF_VARCHAR2_TABLE_100
12     , a8 JTF_VARCHAR2_TABLE_100
13     , a9 JTF_VARCHAR2_TABLE_300
14     , a10 JTF_NUMBER_TABLE
15     , a11 JTF_VARCHAR2_TABLE_100
16     , a12 JTF_DATE_TABLE
17     , a13 JTF_DATE_TABLE
18     , a14 JTF_VARCHAR2_TABLE_100
19     , a15 JTF_NUMBER_TABLE
20     , a16 JTF_VARCHAR2_TABLE_100
21     ) as
22     ddindx binary_integer; indx binary_integer;
23   begin
24   if a0 is not null and a0.count > 0 then
25       if a0.count > 0 then
26         indx := a0.first;
27         ddindx := 1;
28         while true loop
29           t(ddindx).batch_id := a0(indx);
30           t(ddindx).batch_number := a1(indx);
31           t(ddindx).initiator_id := a2(indx);
32           t(ddindx).from_le_id := a3(indx);
33           t(ddindx).from_ledger_id := a4(indx);
34           t(ddindx).control_total := a5(indx);
35           t(ddindx).currency_code := a6(indx);
36           t(ddindx).exchange_rate_type := a7(indx);
37           t(ddindx).status := a8(indx);
38           t(ddindx).description := a9(indx);
39           t(ddindx).trx_type_id := a10(indx);
40           t(ddindx).trx_type_code := a11(indx);
41           t(ddindx).gl_date := a12(indx);
42           t(ddindx).batch_date := a13(indx);
43           t(ddindx).reject_allowed := a14(indx);
44           t(ddindx).from_recurring_batch := a15(indx);
45           t(ddindx).automatic_proration_flag := a16(indx);
46           ddindx := ddindx+1;
47           if a0.last =indx
48             then exit;
49           end if;
50           indx := a0.next(indx);
51         end loop;
52       end if;
53    end if;
54   end rosetta_table_copy_in_p5;
55   procedure rosetta_table_copy_out_p5(t fun_trx_pvt.batch_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
56     , a1 out nocopy JTF_VARCHAR2_TABLE_100
57     , a2 out nocopy JTF_NUMBER_TABLE
58     , a3 out nocopy JTF_NUMBER_TABLE
59     , a4 out nocopy JTF_NUMBER_TABLE
60     , a5 out nocopy JTF_NUMBER_TABLE
61     , a6 out nocopy JTF_VARCHAR2_TABLE_100
62     , a7 out nocopy JTF_VARCHAR2_TABLE_100
63     , a8 out nocopy JTF_VARCHAR2_TABLE_100
64     , a9 out nocopy JTF_VARCHAR2_TABLE_300
65     , a10 out nocopy JTF_NUMBER_TABLE
66     , a11 out nocopy JTF_VARCHAR2_TABLE_100
67     , a12 out nocopy JTF_DATE_TABLE
68     , a13 out nocopy JTF_DATE_TABLE
69     , a14 out nocopy JTF_VARCHAR2_TABLE_100
70     , a15 out nocopy JTF_NUMBER_TABLE
71     , a16 out nocopy JTF_VARCHAR2_TABLE_100
72     ) as
73     ddindx binary_integer; indx binary_integer;
74   begin
75   if t is null or t.count = 0 then
76     a0 := JTF_NUMBER_TABLE();
77     a1 := JTF_VARCHAR2_TABLE_100();
78     a2 := JTF_NUMBER_TABLE();
79     a3 := JTF_NUMBER_TABLE();
80     a4 := JTF_NUMBER_TABLE();
81     a5 := JTF_NUMBER_TABLE();
82     a6 := JTF_VARCHAR2_TABLE_100();
83     a7 := JTF_VARCHAR2_TABLE_100();
84     a8 := JTF_VARCHAR2_TABLE_100();
85     a9 := JTF_VARCHAR2_TABLE_300();
86     a10 := JTF_NUMBER_TABLE();
87     a11 := JTF_VARCHAR2_TABLE_100();
88     a12 := JTF_DATE_TABLE();
89     a13 := JTF_DATE_TABLE();
90     a14 := JTF_VARCHAR2_TABLE_100();
91     a15 := JTF_NUMBER_TABLE();
92     a16 := JTF_VARCHAR2_TABLE_100();
93   else
94       a0 := JTF_NUMBER_TABLE();
95       a1 := JTF_VARCHAR2_TABLE_100();
96       a2 := JTF_NUMBER_TABLE();
97       a3 := JTF_NUMBER_TABLE();
98       a4 := JTF_NUMBER_TABLE();
99       a5 := JTF_NUMBER_TABLE();
100       a6 := JTF_VARCHAR2_TABLE_100();
101       a7 := JTF_VARCHAR2_TABLE_100();
102       a8 := JTF_VARCHAR2_TABLE_100();
103       a9 := JTF_VARCHAR2_TABLE_300();
104       a10 := JTF_NUMBER_TABLE();
105       a11 := JTF_VARCHAR2_TABLE_100();
106       a12 := JTF_DATE_TABLE();
107       a13 := JTF_DATE_TABLE();
108       a14 := JTF_VARCHAR2_TABLE_100();
109       a15 := JTF_NUMBER_TABLE();
110       a16 := JTF_VARCHAR2_TABLE_100();
111       if t.count > 0 then
112         a0.extend(t.count);
113         a1.extend(t.count);
114         a2.extend(t.count);
115         a3.extend(t.count);
116         a4.extend(t.count);
117         a5.extend(t.count);
118         a6.extend(t.count);
119         a7.extend(t.count);
120         a8.extend(t.count);
121         a9.extend(t.count);
122         a10.extend(t.count);
123         a11.extend(t.count);
124         a12.extend(t.count);
125         a13.extend(t.count);
126         a14.extend(t.count);
127         a15.extend(t.count);
128         a16.extend(t.count);
129         ddindx := t.first;
130         indx := 1;
131         while true loop
132           a0(indx) := t(ddindx).batch_id;
133           a1(indx) := t(ddindx).batch_number;
134           a2(indx) := t(ddindx).initiator_id;
135           a3(indx) := t(ddindx).from_le_id;
136           a4(indx) := t(ddindx).from_ledger_id;
137           a5(indx) := t(ddindx).control_total;
138           a6(indx) := t(ddindx).currency_code;
139           a7(indx) := t(ddindx).exchange_rate_type;
140           a8(indx) := t(ddindx).status;
141           a9(indx) := t(ddindx).description;
142           a10(indx) := t(ddindx).trx_type_id;
143           a11(indx) := t(ddindx).trx_type_code;
144           a12(indx) := t(ddindx).gl_date;
145           a13(indx) := t(ddindx).batch_date;
146           a14(indx) := t(ddindx).reject_allowed;
147           a15(indx) := t(ddindx).from_recurring_batch;
148           a16(indx) := t(ddindx).automatic_proration_flag;
149           indx := indx+1;
150           if t.last =ddindx
151             then exit;
152           end if;
153           ddindx := t.next(ddindx);
154         end loop;
155       end if;
156    end if;
157   end rosetta_table_copy_out_p5;
158 
159   procedure rosetta_table_copy_in_p6(t out nocopy fun_trx_pvt.trx_tbl_type, a0 JTF_NUMBER_TABLE
160     , a1 JTF_NUMBER_TABLE
161     , a2 JTF_NUMBER_TABLE
162     , a3 JTF_NUMBER_TABLE
163     , a4 JTF_NUMBER_TABLE
164     , a5 JTF_NUMBER_TABLE
165     , a6 JTF_VARCHAR2_TABLE_100
166     , a7 JTF_NUMBER_TABLE
167     , a8 JTF_NUMBER_TABLE
168     , a9 JTF_NUMBER_TABLE
169     , a10 JTF_NUMBER_TABLE
170     , a11 JTF_VARCHAR2_TABLE_100
171     , a12 JTF_VARCHAR2_TABLE_100
172     , a13 JTF_NUMBER_TABLE
173     , a14 JTF_DATE_TABLE
174     , a15 JTF_NUMBER_TABLE
175     , a16 JTF_NUMBER_TABLE
176     , a17 JTF_NUMBER_TABLE
177     , a18 JTF_VARCHAR2_TABLE_100
178     , a19 JTF_VARCHAR2_TABLE_100
179     , a20 JTF_VARCHAR2_TABLE_100
180     , a21 JTF_VARCHAR2_TABLE_100
181     ) as
182     ddindx binary_integer; indx binary_integer;
183   begin
184   if a0 is not null and a0.count > 0 then
185       if a0.count > 0 then
186         indx := a0.first;
187         ddindx := 1;
188         while true loop
189           t(ddindx).trx_id := a0(indx);
190           t(ddindx).initiator_id := a1(indx);
191           t(ddindx).recipient_id := a2(indx);
192           t(ddindx).to_le_id := a3(indx);
193           t(ddindx).to_ledger_id := a4(indx);
194           t(ddindx).batch_id := a5(indx);
195           t(ddindx).status := a6(indx);
196           t(ddindx).init_amount_cr := a7(indx);
197           t(ddindx).init_amount_dr := a8(indx);
198           t(ddindx).reci_amount_cr := a9(indx);
199           t(ddindx).reci_amount_dr := a10(indx);
200           t(ddindx).ar_invoice_number := a11(indx);
201           t(ddindx).invoicing_rule := a12(indx);
202           t(ddindx).approver_id := a13(indx);
203           t(ddindx).approval_date := a14(indx);
204           t(ddindx).original_trx_id := a15(indx);
205           t(ddindx).reversed_trx_id := a16(indx);
206           t(ddindx).from_recurring_trx_id := a17(indx);
207           t(ddindx).initiator_instance := a18(indx);
208           t(ddindx).recipient_instance := a19(indx);
209           t(ddindx).automatic_proration_flag := a20(indx);
210           t(ddindx).trx_number := a21(indx);
211           ddindx := ddindx+1;
212           if a0.last =indx
213             then exit;
214           end if;
215           indx := a0.next(indx);
216         end loop;
217       end if;
218    end if;
219   end rosetta_table_copy_in_p6;
220   procedure rosetta_table_copy_out_p6(t fun_trx_pvt.trx_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
221     , a1 out nocopy JTF_NUMBER_TABLE
222     , a2 out nocopy JTF_NUMBER_TABLE
223     , a3 out nocopy JTF_NUMBER_TABLE
224     , a4 out nocopy JTF_NUMBER_TABLE
225     , a5 out nocopy JTF_NUMBER_TABLE
226     , a6 out nocopy JTF_VARCHAR2_TABLE_100
227     , a7 out nocopy JTF_NUMBER_TABLE
228     , a8 out nocopy JTF_NUMBER_TABLE
229     , a9 out nocopy JTF_NUMBER_TABLE
230     , a10 out nocopy JTF_NUMBER_TABLE
231     , a11 out nocopy JTF_VARCHAR2_TABLE_100
232     , a12 out nocopy JTF_VARCHAR2_TABLE_100
233     , a13 out nocopy JTF_NUMBER_TABLE
234     , a14 out nocopy JTF_DATE_TABLE
235     , a15 out nocopy JTF_NUMBER_TABLE
236     , a16 out nocopy JTF_NUMBER_TABLE
237     , a17 out nocopy JTF_NUMBER_TABLE
238     , a18 out nocopy JTF_VARCHAR2_TABLE_100
239     , a19 out nocopy JTF_VARCHAR2_TABLE_100
240     , a20 out nocopy JTF_VARCHAR2_TABLE_100
241     , a21 out nocopy JTF_VARCHAR2_TABLE_100
242     ) as
243     ddindx binary_integer; indx binary_integer;
244   begin
245   if t is null or t.count = 0 then
246     a0 := JTF_NUMBER_TABLE();
247     a1 := JTF_NUMBER_TABLE();
248     a2 := JTF_NUMBER_TABLE();
249     a3 := JTF_NUMBER_TABLE();
250     a4 := JTF_NUMBER_TABLE();
251     a5 := JTF_NUMBER_TABLE();
252     a6 := JTF_VARCHAR2_TABLE_100();
253     a7 := JTF_NUMBER_TABLE();
254     a8 := JTF_NUMBER_TABLE();
255     a9 := JTF_NUMBER_TABLE();
256     a10 := JTF_NUMBER_TABLE();
257     a11 := JTF_VARCHAR2_TABLE_100();
258     a12 := JTF_VARCHAR2_TABLE_100();
259     a13 := JTF_NUMBER_TABLE();
260     a14 := JTF_DATE_TABLE();
261     a15 := JTF_NUMBER_TABLE();
262     a16 := JTF_NUMBER_TABLE();
263     a17 := JTF_NUMBER_TABLE();
264     a18 := JTF_VARCHAR2_TABLE_100();
265     a19 := JTF_VARCHAR2_TABLE_100();
266     a20 := JTF_VARCHAR2_TABLE_100();
267     a21 := JTF_VARCHAR2_TABLE_100();
268   else
269       a0 := JTF_NUMBER_TABLE();
270       a1 := JTF_NUMBER_TABLE();
271       a2 := JTF_NUMBER_TABLE();
272       a3 := JTF_NUMBER_TABLE();
273       a4 := JTF_NUMBER_TABLE();
274       a5 := JTF_NUMBER_TABLE();
275       a6 := JTF_VARCHAR2_TABLE_100();
276       a7 := JTF_NUMBER_TABLE();
277       a8 := JTF_NUMBER_TABLE();
278       a9 := JTF_NUMBER_TABLE();
279       a10 := JTF_NUMBER_TABLE();
280       a11 := JTF_VARCHAR2_TABLE_100();
281       a12 := JTF_VARCHAR2_TABLE_100();
282       a13 := JTF_NUMBER_TABLE();
283       a14 := JTF_DATE_TABLE();
284       a15 := JTF_NUMBER_TABLE();
285       a16 := JTF_NUMBER_TABLE();
286       a17 := JTF_NUMBER_TABLE();
287       a18 := JTF_VARCHAR2_TABLE_100();
288       a19 := JTF_VARCHAR2_TABLE_100();
289       a20 := JTF_VARCHAR2_TABLE_100();
290       a21 := JTF_VARCHAR2_TABLE_100();
291       if t.count > 0 then
292         a0.extend(t.count);
293         a1.extend(t.count);
294         a2.extend(t.count);
295         a3.extend(t.count);
296         a4.extend(t.count);
297         a5.extend(t.count);
298         a6.extend(t.count);
299         a7.extend(t.count);
300         a8.extend(t.count);
301         a9.extend(t.count);
302         a10.extend(t.count);
303         a11.extend(t.count);
304         a12.extend(t.count);
305         a13.extend(t.count);
306         a14.extend(t.count);
307         a15.extend(t.count);
308         a16.extend(t.count);
309         a17.extend(t.count);
310         a18.extend(t.count);
311         a19.extend(t.count);
312         a20.extend(t.count);
313         a21.extend(t.count);
314         ddindx := t.first;
315         indx := 1;
316         while true loop
317           a0(indx) := t(ddindx).trx_id;
318           a1(indx) := t(ddindx).initiator_id;
319           a2(indx) := t(ddindx).recipient_id;
320           a3(indx) := t(ddindx).to_le_id;
321           a4(indx) := t(ddindx).to_ledger_id;
322           a5(indx) := t(ddindx).batch_id;
323           a6(indx) := t(ddindx).status;
324           a7(indx) := t(ddindx).init_amount_cr;
325           a8(indx) := t(ddindx).init_amount_dr;
326           a9(indx) := t(ddindx).reci_amount_cr;
327           a10(indx) := t(ddindx).reci_amount_dr;
328           a11(indx) := t(ddindx).ar_invoice_number;
329           a12(indx) := t(ddindx).invoicing_rule;
330           a13(indx) := t(ddindx).approver_id;
331           a14(indx) := t(ddindx).approval_date;
332           a15(indx) := t(ddindx).original_trx_id;
333           a16(indx) := t(ddindx).reversed_trx_id;
334           a17(indx) := t(ddindx).from_recurring_trx_id;
335           a18(indx) := t(ddindx).initiator_instance;
336           a19(indx) := t(ddindx).recipient_instance;
337           a20(indx) := t(ddindx).automatic_proration_flag;
338           a21(indx) := t(ddindx).trx_number;
339           indx := indx+1;
340           if t.last =ddindx
341             then exit;
342           end if;
343           ddindx := t.next(ddindx);
344         end loop;
345       end if;
346    end if;
347   end rosetta_table_copy_out_p6;
348 
349   procedure rosetta_table_copy_in_p7(t out nocopy fun_trx_pvt.line_tbl_type, a0 JTF_NUMBER_TABLE
350     , a1 JTF_NUMBER_TABLE
351     , a2 JTF_NUMBER_TABLE
352     , a3 JTF_VARCHAR2_TABLE_100
353     , a4 JTF_NUMBER_TABLE
354     , a5 JTF_NUMBER_TABLE
355     , a6 JTF_NUMBER_TABLE
356     , a7 JTF_NUMBER_TABLE
357     ) as
358     ddindx binary_integer; indx binary_integer;
359   begin
360   if a0 is not null and a0.count > 0 then
361       if a0.count > 0 then
362         indx := a0.first;
363         ddindx := 1;
364         while true loop
365           t(ddindx).line_id := a0(indx);
366           t(ddindx).trx_id := a1(indx);
367           t(ddindx).line_number := a2(indx);
368           t(ddindx).line_type := a3(indx);
369           t(ddindx).init_amount_cr := a4(indx);
370           t(ddindx).init_amount_dr := a5(indx);
371           t(ddindx).reci_amount_cr := a6(indx);
372           t(ddindx).reci_amount_dr := a7(indx);
373           ddindx := ddindx+1;
374           if a0.last =indx
375             then exit;
376           end if;
377           indx := a0.next(indx);
378         end loop;
379       end if;
380    end if;
381   end rosetta_table_copy_in_p7;
382   procedure rosetta_table_copy_out_p7(t fun_trx_pvt.line_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
383     , a1 out nocopy JTF_NUMBER_TABLE
384     , a2 out nocopy JTF_NUMBER_TABLE
385     , a3 out nocopy JTF_VARCHAR2_TABLE_100
386     , a4 out nocopy JTF_NUMBER_TABLE
387     , a5 out nocopy JTF_NUMBER_TABLE
388     , a6 out nocopy JTF_NUMBER_TABLE
389     , a7 out nocopy JTF_NUMBER_TABLE
390     ) as
391     ddindx binary_integer; indx binary_integer;
392   begin
393   if t is null or t.count = 0 then
394     a0 := JTF_NUMBER_TABLE();
395     a1 := JTF_NUMBER_TABLE();
396     a2 := JTF_NUMBER_TABLE();
397     a3 := JTF_VARCHAR2_TABLE_100();
398     a4 := JTF_NUMBER_TABLE();
399     a5 := JTF_NUMBER_TABLE();
400     a6 := JTF_NUMBER_TABLE();
401     a7 := JTF_NUMBER_TABLE();
402   else
403       a0 := JTF_NUMBER_TABLE();
404       a1 := JTF_NUMBER_TABLE();
405       a2 := JTF_NUMBER_TABLE();
406       a3 := JTF_VARCHAR2_TABLE_100();
407       a4 := JTF_NUMBER_TABLE();
408       a5 := JTF_NUMBER_TABLE();
409       a6 := JTF_NUMBER_TABLE();
410       a7 := JTF_NUMBER_TABLE();
411       if t.count > 0 then
412         a0.extend(t.count);
413         a1.extend(t.count);
414         a2.extend(t.count);
415         a3.extend(t.count);
416         a4.extend(t.count);
417         a5.extend(t.count);
418         a6.extend(t.count);
419         a7.extend(t.count);
420         ddindx := t.first;
421         indx := 1;
422         while true loop
423           a0(indx) := t(ddindx).line_id;
424           a1(indx) := t(ddindx).trx_id;
425           a2(indx) := t(ddindx).line_number;
426           a3(indx) := t(ddindx).line_type;
427           a4(indx) := t(ddindx).init_amount_cr;
428           a5(indx) := t(ddindx).init_amount_dr;
429           a6(indx) := t(ddindx).reci_amount_cr;
430           a7(indx) := t(ddindx).reci_amount_dr;
431           indx := indx+1;
432           if t.last =ddindx
433             then exit;
434           end if;
435           ddindx := t.next(ddindx);
436         end loop;
437       end if;
438    end if;
439   end rosetta_table_copy_out_p7;
440 
441   procedure rosetta_table_copy_in_p8(t out nocopy fun_trx_pvt.init_dist_tbl_type, a0 JTF_NUMBER_TABLE
442     , a1 JTF_NUMBER_TABLE
443     , a2 JTF_NUMBER_TABLE
444     , a3 JTF_NUMBER_TABLE
445     , a4 JTF_NUMBER_TABLE
446     , a5 JTF_NUMBER_TABLE
447     , a6 JTF_VARCHAR2_TABLE_300
448     ) as
449     ddindx binary_integer; indx binary_integer;
450   begin
451   if a0 is not null and a0.count > 0 then
452       if a0.count > 0 then
453         indx := a0.first;
454         ddindx := 1;
455         while true loop
456           t(ddindx).batch_dist_id := a0(indx);
457           t(ddindx).line_number := a1(indx);
458           t(ddindx).batch_id := a2(indx);
459           t(ddindx).ccid := a3(indx);
460           t(ddindx).amount_cr := a4(indx);
461           t(ddindx).amount_dr := a5(indx);
462           t(ddindx).description := a6(indx);
463           ddindx := ddindx+1;
464           if a0.last =indx
465             then exit;
466           end if;
467           indx := a0.next(indx);
468         end loop;
469       end if;
470    end if;
471   end rosetta_table_copy_in_p8;
472   procedure rosetta_table_copy_out_p8(t fun_trx_pvt.init_dist_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
473     , a1 out nocopy JTF_NUMBER_TABLE
474     , a2 out nocopy JTF_NUMBER_TABLE
475     , a3 out nocopy JTF_NUMBER_TABLE
476     , a4 out nocopy JTF_NUMBER_TABLE
477     , a5 out nocopy JTF_NUMBER_TABLE
478     , a6 out nocopy JTF_VARCHAR2_TABLE_300
479     ) as
480     ddindx binary_integer; indx binary_integer;
481   begin
482   if t is null or t.count = 0 then
483     a0 := JTF_NUMBER_TABLE();
484     a1 := JTF_NUMBER_TABLE();
485     a2 := JTF_NUMBER_TABLE();
486     a3 := JTF_NUMBER_TABLE();
487     a4 := JTF_NUMBER_TABLE();
488     a5 := JTF_NUMBER_TABLE();
489     a6 := JTF_VARCHAR2_TABLE_300();
490   else
491       a0 := JTF_NUMBER_TABLE();
492       a1 := JTF_NUMBER_TABLE();
493       a2 := JTF_NUMBER_TABLE();
494       a3 := JTF_NUMBER_TABLE();
495       a4 := JTF_NUMBER_TABLE();
496       a5 := JTF_NUMBER_TABLE();
497       a6 := JTF_VARCHAR2_TABLE_300();
498       if t.count > 0 then
499         a0.extend(t.count);
500         a1.extend(t.count);
501         a2.extend(t.count);
502         a3.extend(t.count);
503         a4.extend(t.count);
504         a5.extend(t.count);
505         a6.extend(t.count);
506         ddindx := t.first;
507         indx := 1;
508         while true loop
509           a0(indx) := t(ddindx).batch_dist_id;
510           a1(indx) := t(ddindx).line_number;
511           a2(indx) := t(ddindx).batch_id;
512           a3(indx) := t(ddindx).ccid;
513           a4(indx) := t(ddindx).amount_cr;
514           a5(indx) := t(ddindx).amount_dr;
515           a6(indx) := t(ddindx).description;
516           indx := indx+1;
517           if t.last =ddindx
518             then exit;
519           end if;
520           ddindx := t.next(ddindx);
521         end loop;
522       end if;
523    end if;
524   end rosetta_table_copy_out_p8;
525 
526   procedure rosetta_table_copy_in_p9(t out nocopy fun_trx_pvt.dist_line_tbl_type, a0 JTF_NUMBER_TABLE
527     , a1 JTF_NUMBER_TABLE
528     , a2 JTF_NUMBER_TABLE
529     , a3 JTF_NUMBER_TABLE
530     , a4 JTF_NUMBER_TABLE
531     , a5 JTF_VARCHAR2_TABLE_100
532     , a6 JTF_VARCHAR2_TABLE_100
533     , a7 JTF_NUMBER_TABLE
534     , a8 JTF_NUMBER_TABLE
535     , a9 JTF_NUMBER_TABLE
536     , a10 JTF_NUMBER_TABLE
537     , a11 JTF_VARCHAR2_TABLE_100
538     ) as
539     ddindx binary_integer; indx binary_integer;
540   begin
541   if a0 is not null and a0.count > 0 then
542       if a0.count > 0 then
543         indx := a0.first;
544         ddindx := 1;
545         while true loop
546           t(ddindx).dist_id := a0(indx);
547           t(ddindx).dist_number := a1(indx);
548           t(ddindx).trx_id := a2(indx);
549           t(ddindx).line_id := a3(indx);
550           t(ddindx).party_id := a4(indx);
551           t(ddindx).party_type := a5(indx);
552           t(ddindx).dist_type := a6(indx);
553           t(ddindx).batch_dist_id := a7(indx);
554           t(ddindx).amount_cr := a8(indx);
555           t(ddindx).amount_dr := a9(indx);
556           t(ddindx).ccid := a10(indx);
557           t(ddindx).trx_number := a11(indx);
558           ddindx := ddindx+1;
559           if a0.last =indx
560             then exit;
561           end if;
562           indx := a0.next(indx);
563         end loop;
564       end if;
565    end if;
566   end rosetta_table_copy_in_p9;
567   procedure rosetta_table_copy_out_p9(t fun_trx_pvt.dist_line_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
568     , a1 out nocopy JTF_NUMBER_TABLE
569     , a2 out nocopy JTF_NUMBER_TABLE
570     , a3 out nocopy JTF_NUMBER_TABLE
571     , a4 out nocopy JTF_NUMBER_TABLE
572     , a5 out nocopy JTF_VARCHAR2_TABLE_100
573     , a6 out nocopy JTF_VARCHAR2_TABLE_100
574     , a7 out nocopy JTF_NUMBER_TABLE
575     , a8 out nocopy JTF_NUMBER_TABLE
576     , a9 out nocopy JTF_NUMBER_TABLE
577     , a10 out nocopy JTF_NUMBER_TABLE
578     , a11 out nocopy JTF_VARCHAR2_TABLE_100
579     ) as
580     ddindx binary_integer; indx binary_integer;
581   begin
582   if t is null or t.count = 0 then
583     a0 := JTF_NUMBER_TABLE();
584     a1 := JTF_NUMBER_TABLE();
585     a2 := JTF_NUMBER_TABLE();
586     a3 := JTF_NUMBER_TABLE();
587     a4 := JTF_NUMBER_TABLE();
588     a5 := JTF_VARCHAR2_TABLE_100();
589     a6 := JTF_VARCHAR2_TABLE_100();
590     a7 := JTF_NUMBER_TABLE();
591     a8 := JTF_NUMBER_TABLE();
592     a9 := JTF_NUMBER_TABLE();
593     a10 := JTF_NUMBER_TABLE();
594     a11 := JTF_VARCHAR2_TABLE_100();
595   else
596       a0 := JTF_NUMBER_TABLE();
597       a1 := JTF_NUMBER_TABLE();
598       a2 := JTF_NUMBER_TABLE();
599       a3 := JTF_NUMBER_TABLE();
600       a4 := JTF_NUMBER_TABLE();
601       a5 := JTF_VARCHAR2_TABLE_100();
602       a6 := JTF_VARCHAR2_TABLE_100();
603       a7 := JTF_NUMBER_TABLE();
604       a8 := JTF_NUMBER_TABLE();
605       a9 := JTF_NUMBER_TABLE();
606       a10 := JTF_NUMBER_TABLE();
607       a11 := JTF_VARCHAR2_TABLE_100();
608       if t.count > 0 then
609         a0.extend(t.count);
610         a1.extend(t.count);
611         a2.extend(t.count);
612         a3.extend(t.count);
613         a4.extend(t.count);
614         a5.extend(t.count);
615         a6.extend(t.count);
616         a7.extend(t.count);
617         a8.extend(t.count);
618         a9.extend(t.count);
619         a10.extend(t.count);
620         a11.extend(t.count);
621         ddindx := t.first;
622         indx := 1;
623         while true loop
624           a0(indx) := t(ddindx).dist_id;
625           a1(indx) := t(ddindx).dist_number;
626           a2(indx) := t(ddindx).trx_id;
627           a3(indx) := t(ddindx).line_id;
628           a4(indx) := t(ddindx).party_id;
629           a5(indx) := t(ddindx).party_type;
630           a6(indx) := t(ddindx).dist_type;
631           a7(indx) := t(ddindx).batch_dist_id;
632           a8(indx) := t(ddindx).amount_cr;
633           a9(indx) := t(ddindx).amount_dr;
634           a10(indx) := t(ddindx).ccid;
635           a11(indx) := t(ddindx).trx_number;
636           indx := indx+1;
637           if t.last =ddindx
638             then exit;
639           end if;
640           ddindx := t.next(ddindx);
641         end loop;
642       end if;
643    end if;
644   end rosetta_table_copy_out_p9;
645 
646   procedure rosetta_table_copy_in_p10(t out nocopy fun_trx_pvt.number_type, a0 JTF_NUMBER_TABLE) as
647     ddindx binary_integer; indx binary_integer;
648   begin
649   if a0 is not null and a0.count > 0 then
650       if a0.count > 0 then
651         indx := a0.first;
652         ddindx := 1;
653         while true loop
654           t(ddindx) := a0(indx);
655           ddindx := ddindx+1;
656           if a0.last =indx
657             then exit;
658           end if;
659           indx := a0.next(indx);
660         end loop;
661       end if;
662    end if;
663   end rosetta_table_copy_in_p10;
664   procedure rosetta_table_copy_out_p10(t fun_trx_pvt.number_type, a0 out nocopy JTF_NUMBER_TABLE) as
665     ddindx binary_integer; indx binary_integer;
666   begin
667   if t is null or t.count = 0 then
668     a0 := JTF_NUMBER_TABLE();
669   else
670       a0 := JTF_NUMBER_TABLE();
671       if t.count > 0 then
672         a0.extend(t.count);
673         ddindx := t.first;
674         indx := 1;
675         while true loop
676           a0(indx) := t(ddindx);
677           indx := indx+1;
678           if t.last =ddindx
679             then exit;
680           end if;
681           ddindx := t.next(ddindx);
682         end loop;
683       end if;
684    end if;
685   end rosetta_table_copy_out_p10;
686 
687   procedure init_batch_validate(p_api_version  NUMBER
688     , p_init_msg_list  VARCHAR2
689     , p_validation_level  NUMBER
690     , x_return_status out nocopy  VARCHAR2
691     , x_msg_count out nocopy  NUMBER
692     , x_msg_data out nocopy  VARCHAR2
693     , p_insert  VARCHAR2
694     , p7_a0 in out nocopy  NUMBER
695     , p7_a1 in out nocopy  VARCHAR2
696     , p7_a2 in out nocopy  NUMBER
697     , p7_a3 in out nocopy  NUMBER
698     , p7_a4 in out nocopy  NUMBER
699     , p7_a5 in out nocopy  NUMBER
700     , p7_a6 in out nocopy  VARCHAR2
701     , p7_a7 in out nocopy  VARCHAR2
702     , p7_a8 in out nocopy  VARCHAR2
703     , p7_a9 in out nocopy  VARCHAR2
704     , p7_a10 in out nocopy  NUMBER
705     , p7_a11 in out nocopy  VARCHAR2
706     , p7_a12 in out nocopy  DATE
707     , p7_a13 in out nocopy  DATE
708     , p7_a14 in out nocopy  VARCHAR2
709     , p7_a15 in out nocopy  NUMBER
710     , p7_a16 in out nocopy  VARCHAR2
711     , p8_a0 in out nocopy JTF_NUMBER_TABLE
712     , p8_a1 in out nocopy JTF_NUMBER_TABLE
713     , p8_a2 in out nocopy JTF_NUMBER_TABLE
714     , p8_a3 in out nocopy JTF_NUMBER_TABLE
715     , p8_a4 in out nocopy JTF_NUMBER_TABLE
716     , p8_a5 in out nocopy JTF_NUMBER_TABLE
717     , p8_a6 in out nocopy JTF_VARCHAR2_TABLE_100
718     , p8_a7 in out nocopy JTF_NUMBER_TABLE
719     , p8_a8 in out nocopy JTF_NUMBER_TABLE
720     , p8_a9 in out nocopy JTF_NUMBER_TABLE
721     , p8_a10 in out nocopy JTF_NUMBER_TABLE
722     , p8_a11 in out nocopy JTF_VARCHAR2_TABLE_100
723     , p8_a12 in out nocopy JTF_VARCHAR2_TABLE_100
724     , p8_a13 in out nocopy JTF_NUMBER_TABLE
725     , p8_a14 in out nocopy JTF_DATE_TABLE
726     , p8_a15 in out nocopy JTF_NUMBER_TABLE
727     , p8_a16 in out nocopy JTF_NUMBER_TABLE
728     , p8_a17 in out nocopy JTF_NUMBER_TABLE
729     , p8_a18 in out nocopy JTF_VARCHAR2_TABLE_100
730     , p8_a19 in out nocopy JTF_VARCHAR2_TABLE_100
731     , p8_a20 in out nocopy JTF_VARCHAR2_TABLE_100
732     , p8_a21 in out nocopy JTF_VARCHAR2_TABLE_100
733     , p9_a0 in out nocopy JTF_NUMBER_TABLE
734     , p9_a1 in out nocopy JTF_NUMBER_TABLE
735     , p9_a2 in out nocopy JTF_NUMBER_TABLE
736     , p9_a3 in out nocopy JTF_NUMBER_TABLE
737     , p9_a4 in out nocopy JTF_NUMBER_TABLE
738     , p9_a5 in out nocopy JTF_NUMBER_TABLE
739     , p9_a6 in out nocopy JTF_VARCHAR2_TABLE_300
740     , p10_a0 in out nocopy JTF_NUMBER_TABLE
741     , p10_a1 in out nocopy JTF_NUMBER_TABLE
742     , p10_a2 in out nocopy JTF_NUMBER_TABLE
743     , p10_a3 in out nocopy JTF_NUMBER_TABLE
744     , p10_a4 in out nocopy JTF_NUMBER_TABLE
745     , p10_a5 in out nocopy JTF_VARCHAR2_TABLE_100
746     , p10_a6 in out nocopy JTF_VARCHAR2_TABLE_100
747     , p10_a7 in out nocopy JTF_NUMBER_TABLE
748     , p10_a8 in out nocopy JTF_NUMBER_TABLE
749     , p10_a9 in out nocopy JTF_NUMBER_TABLE
750     , p10_a10 in out nocopy JTF_NUMBER_TABLE
751     , p10_a11 in out nocopy JTF_VARCHAR2_TABLE_100
752   )
753 
754   as
755     ddp_batch_rec fun_trx_pvt.batch_rec_type;
756     ddp_trx_tbl fun_trx_pvt.trx_tbl_type;
757     ddp_init_dist_tbl fun_trx_pvt.init_dist_tbl_type;
758     ddp_dist_lines_tbl fun_trx_pvt.dist_line_tbl_type;
759     ddindx binary_integer; indx binary_integer;
760   begin
761 
762     -- copy data to the local IN or IN-OUT args, if any
763 
764 
765 
766 
767 
768 
769 
770     ddp_batch_rec.batch_id := p7_a0;
771     ddp_batch_rec.batch_number := p7_a1;
772     ddp_batch_rec.initiator_id := p7_a2;
773     ddp_batch_rec.from_le_id := p7_a3;
774     ddp_batch_rec.from_ledger_id := p7_a4;
775     ddp_batch_rec.control_total := p7_a5;
776     ddp_batch_rec.currency_code := p7_a6;
777     ddp_batch_rec.exchange_rate_type := p7_a7;
778     ddp_batch_rec.status := p7_a8;
779     ddp_batch_rec.description := p7_a9;
780     ddp_batch_rec.trx_type_id := p7_a10;
781     ddp_batch_rec.trx_type_code := p7_a11;
782     ddp_batch_rec.gl_date := p7_a12;
783     ddp_batch_rec.batch_date := p7_a13;
784     ddp_batch_rec.reject_allowed := p7_a14;
785     ddp_batch_rec.from_recurring_batch := p7_a15;
786     ddp_batch_rec.automatic_proration_flag := p7_a16;
787 
788     fun_trx_pvt_w.rosetta_table_copy_in_p6(ddp_trx_tbl, p8_a0
789       , p8_a1
790       , p8_a2
791       , p8_a3
792       , p8_a4
793       , p8_a5
794       , p8_a6
795       , p8_a7
796       , p8_a8
797       , p8_a9
798       , p8_a10
799       , p8_a11
800       , p8_a12
801       , p8_a13
802       , p8_a14
803       , p8_a15
804       , p8_a16
805       , p8_a17
806       , p8_a18
807       , p8_a19
808       , p8_a20
809       , p8_a21
810       );
811 
812     fun_trx_pvt_w.rosetta_table_copy_in_p8(ddp_init_dist_tbl, p9_a0
813       , p9_a1
814       , p9_a2
815       , p9_a3
816       , p9_a4
817       , p9_a5
818       , p9_a6
819       );
820 
821     fun_trx_pvt_w.rosetta_table_copy_in_p9(ddp_dist_lines_tbl, p10_a0
822       , p10_a1
823       , p10_a2
824       , p10_a3
825       , p10_a4
826       , p10_a5
827       , p10_a6
828       , p10_a7
829       , p10_a8
830       , p10_a9
831       , p10_a10
832       , p10_a11
833       );
834 
835     -- here's the delegated call to the old PL/SQL routine
836     fun_trx_pvt.init_batch_validate(p_api_version,
837       p_init_msg_list,
838       p_validation_level,
839       x_return_status,
840       x_msg_count,
841       x_msg_data,
842       p_insert,
843       ddp_batch_rec,
844       ddp_trx_tbl,
845       ddp_init_dist_tbl,
846       ddp_dist_lines_tbl);
847 
848     -- copy data back from the local variables to OUT or IN-OUT args, if any
849 
850 
851 
852 
853 
854 
855 
856     p7_a0 := ddp_batch_rec.batch_id;
857     p7_a1 := ddp_batch_rec.batch_number;
858     p7_a2 := ddp_batch_rec.initiator_id;
859     p7_a3 := ddp_batch_rec.from_le_id;
860     p7_a4 := ddp_batch_rec.from_ledger_id;
861     p7_a5 := ddp_batch_rec.control_total;
862     p7_a6 := ddp_batch_rec.currency_code;
863     p7_a7 := ddp_batch_rec.exchange_rate_type;
864     p7_a8 := ddp_batch_rec.status;
865     p7_a9 := ddp_batch_rec.description;
866     p7_a10 := ddp_batch_rec.trx_type_id;
867     p7_a11 := ddp_batch_rec.trx_type_code;
868     p7_a12 := ddp_batch_rec.gl_date;
869     p7_a13 := ddp_batch_rec.batch_date;
870     p7_a14 := ddp_batch_rec.reject_allowed;
871     p7_a15 := ddp_batch_rec.from_recurring_batch;
872     p7_a16 := ddp_batch_rec.automatic_proration_flag;
873 
874     fun_trx_pvt_w.rosetta_table_copy_out_p6(ddp_trx_tbl, p8_a0
875       , p8_a1
876       , p8_a2
877       , p8_a3
878       , p8_a4
879       , p8_a5
880       , p8_a6
881       , p8_a7
882       , p8_a8
883       , p8_a9
884       , p8_a10
885       , p8_a11
886       , p8_a12
887       , p8_a13
888       , p8_a14
889       , p8_a15
890       , p8_a16
891       , p8_a17
892       , p8_a18
893       , p8_a19
894       , p8_a20
895       , p8_a21
896       );
897 
898     fun_trx_pvt_w.rosetta_table_copy_out_p8(ddp_init_dist_tbl, p9_a0
899       , p9_a1
900       , p9_a2
901       , p9_a3
902       , p9_a4
903       , p9_a5
904       , p9_a6
905       );
906 
907     fun_trx_pvt_w.rosetta_table_copy_out_p9(ddp_dist_lines_tbl, p10_a0
908       , p10_a1
909       , p10_a2
910       , p10_a3
911       , p10_a4
912       , p10_a5
913       , p10_a6
914       , p10_a7
915       , p10_a8
916       , p10_a9
917       , p10_a10
918       , p10_a11
919       );
920   end;
921 
922   procedure init_trx_validate(p_api_version  NUMBER
923     , p_init_msg_list  VARCHAR2
924     , p_validation_level  NUMBER
925     , x_return_status out nocopy  VARCHAR2
926     , x_msg_count out nocopy  NUMBER
927     , x_msg_data out nocopy  VARCHAR2
928     , p6_a0 in out nocopy  NUMBER
929     , p6_a1 in out nocopy  NUMBER
930     , p6_a2 in out nocopy  NUMBER
931     , p6_a3 in out nocopy  NUMBER
932     , p6_a4 in out nocopy  NUMBER
933     , p6_a5 in out nocopy  NUMBER
934     , p6_a6 in out nocopy  VARCHAR2
935     , p6_a7 in out nocopy  NUMBER
936     , p6_a8 in out nocopy  NUMBER
937     , p6_a9 in out nocopy  NUMBER
938     , p6_a10 in out nocopy  NUMBER
939     , p6_a11 in out nocopy  VARCHAR2
940     , p6_a12 in out nocopy  VARCHAR2
941     , p6_a13 in out nocopy  NUMBER
942     , p6_a14 in out nocopy  DATE
943     , p6_a15 in out nocopy  NUMBER
944     , p6_a16 in out nocopy  NUMBER
945     , p6_a17 in out nocopy  NUMBER
946     , p6_a18 in out nocopy  VARCHAR2
947     , p6_a19 in out nocopy  VARCHAR2
948     , p6_a20 in out nocopy  VARCHAR2
949     , p6_a21 in out nocopy  VARCHAR2
950     , p7_a0 in out nocopy JTF_NUMBER_TABLE
951     , p7_a1 in out nocopy JTF_NUMBER_TABLE
952     , p7_a2 in out nocopy JTF_NUMBER_TABLE
953     , p7_a3 in out nocopy JTF_NUMBER_TABLE
954     , p7_a4 in out nocopy JTF_NUMBER_TABLE
955     , p7_a5 in out nocopy JTF_VARCHAR2_TABLE_100
956     , p7_a6 in out nocopy JTF_VARCHAR2_TABLE_100
957     , p7_a7 in out nocopy JTF_NUMBER_TABLE
958     , p7_a8 in out nocopy JTF_NUMBER_TABLE
959     , p7_a9 in out nocopy JTF_NUMBER_TABLE
960     , p7_a10 in out nocopy JTF_NUMBER_TABLE
961     , p7_a11 in out nocopy JTF_VARCHAR2_TABLE_100
962     , p_currency_code  VARCHAR2
963     , p_gl_date  DATE
964     , p_trx_date  DATE
965     , p_exchange_rate_type VARCHAR2
966   )
967 
968   as
969     ddp_trx_rec fun_trx_pvt.trx_rec_type;
970     ddp_dist_lines_tbl fun_trx_pvt.dist_line_tbl_type;
971     ddindx binary_integer; indx binary_integer;
972   begin
973 
974     -- copy data to the local IN or IN-OUT args, if any
975 
976 
977 
978 
979 
980 
981     ddp_trx_rec.trx_id := p6_a0;
982     ddp_trx_rec.initiator_id := p6_a1;
983     ddp_trx_rec.recipient_id := p6_a2;
984     ddp_trx_rec.to_le_id := p6_a3;
985     ddp_trx_rec.to_ledger_id := p6_a4;
986     ddp_trx_rec.batch_id := p6_a5;
987     ddp_trx_rec.status := p6_a6;
988     ddp_trx_rec.init_amount_cr := p6_a7;
989     ddp_trx_rec.init_amount_dr := p6_a8;
990     ddp_trx_rec.reci_amount_cr := p6_a9;
991     ddp_trx_rec.reci_amount_dr := p6_a10;
992     ddp_trx_rec.ar_invoice_number := p6_a11;
993     ddp_trx_rec.invoicing_rule := p6_a12;
994     ddp_trx_rec.approver_id := p6_a13;
995     ddp_trx_rec.approval_date := p6_a14;
996     ddp_trx_rec.original_trx_id := p6_a15;
997     ddp_trx_rec.reversed_trx_id := p6_a16;
998     ddp_trx_rec.from_recurring_trx_id := p6_a17;
999     ddp_trx_rec.initiator_instance := p6_a18;
1000     ddp_trx_rec.recipient_instance := p6_a19;
1001     ddp_trx_rec.automatic_proration_flag := p6_a20;
1002     ddp_trx_rec.trx_number := p6_a21;
1003 
1004     fun_trx_pvt_w.rosetta_table_copy_in_p9(ddp_dist_lines_tbl, p7_a0
1005       , p7_a1
1006       , p7_a2
1007       , p7_a3
1008       , p7_a4
1009       , p7_a5
1010       , p7_a6
1011       , p7_a7
1012       , p7_a8
1013       , p7_a9
1014       , p7_a10
1015       , p7_a11
1016       );
1017 
1018 
1019 
1020 
1021     -- here's the delegated call to the old PL/SQL routine
1022     fun_trx_pvt.init_trx_validate(p_api_version,
1023       p_init_msg_list,
1024       p_validation_level,
1025       x_return_status,
1026       x_msg_count,
1027       x_msg_data,
1028       ddp_trx_rec,
1029       ddp_dist_lines_tbl,
1030       p_currency_code,
1031       p_gl_date,
1032       p_trx_date,
1033       p_exchange_rate_type);
1034 
1035     -- copy data back from the local variables to OUT or IN-OUT args, if any
1036 
1037 
1038 
1039 
1040 
1041 
1042     p6_a0 := ddp_trx_rec.trx_id;
1043     p6_a1 := ddp_trx_rec.initiator_id;
1044     p6_a2 := ddp_trx_rec.recipient_id;
1045     p6_a3 := ddp_trx_rec.to_le_id;
1046     p6_a4 := ddp_trx_rec.to_ledger_id;
1047     p6_a5 := ddp_trx_rec.batch_id;
1048     p6_a6 := ddp_trx_rec.status;
1049     p6_a7 := ddp_trx_rec.init_amount_cr;
1050     p6_a8 := ddp_trx_rec.init_amount_dr;
1051     p6_a9 := ddp_trx_rec.reci_amount_cr;
1052     p6_a10 := ddp_trx_rec.reci_amount_dr;
1053     p6_a11 := ddp_trx_rec.ar_invoice_number;
1054     p6_a12 := ddp_trx_rec.invoicing_rule;
1055     p6_a13 := ddp_trx_rec.approver_id;
1056     p6_a14 := ddp_trx_rec.approval_date;
1057     p6_a15 := ddp_trx_rec.original_trx_id;
1058     p6_a16 := ddp_trx_rec.reversed_trx_id;
1059     p6_a17 := ddp_trx_rec.from_recurring_trx_id;
1060     p6_a18 := ddp_trx_rec.initiator_instance;
1061     p6_a19 := ddp_trx_rec.recipient_instance;
1062     p6_a20 := ddp_trx_rec.automatic_proration_flag;
1063     p6_a21 := ddp_trx_rec.trx_number;
1064 
1065     fun_trx_pvt_w.rosetta_table_copy_out_p9(ddp_dist_lines_tbl, p7_a0
1066       , p7_a1
1067       , p7_a2
1068       , p7_a3
1069       , p7_a4
1070       , p7_a5
1071       , p7_a6
1072       , p7_a7
1073       , p7_a8
1074       , p7_a9
1075       , p7_a10
1076       , p7_a11
1077       );
1078 
1079 
1080 
1081   end;
1082 
1083   procedure init_dist_validate(p_api_version  NUMBER
1084     , p_init_msg_list  VARCHAR2
1085     , p_validation_level  NUMBER
1086     , p_le_id  NUMBER
1087     , p_ledger_id  NUMBER
1088     , x_return_status out nocopy  VARCHAR2
1089     , x_msg_count out nocopy  NUMBER
1090     , x_msg_data out nocopy  VARCHAR2
1091     , p8_a0 in out nocopy  NUMBER
1092     , p8_a1 in out nocopy  NUMBER
1093     , p8_a2 in out nocopy  NUMBER
1094     , p8_a3 in out nocopy  NUMBER
1095     , p8_a4 in out nocopy  NUMBER
1096     , p8_a5 in out nocopy  NUMBER
1097     , p8_a6 in out nocopy  VARCHAR2
1098   )
1099 
1100   as
1101     ddp_init_dist_rec fun_trx_pvt.init_dist_rec_type;
1102     ddindx binary_integer; indx binary_integer;
1103   begin
1104 
1105     -- copy data to the local IN or IN-OUT args, if any
1106 
1107 
1108 
1109 
1110 
1111 
1112 
1113 
1114     ddp_init_dist_rec.batch_dist_id := p8_a0;
1115     ddp_init_dist_rec.line_number := p8_a1;
1116     ddp_init_dist_rec.batch_id := p8_a2;
1117     ddp_init_dist_rec.ccid := p8_a3;
1118     ddp_init_dist_rec.amount_cr := p8_a4;
1119     ddp_init_dist_rec.amount_dr := p8_a5;
1120     ddp_init_dist_rec.description := p8_a6;
1121 
1122     -- here's the delegated call to the old PL/SQL routine
1123     fun_trx_pvt.init_dist_validate(p_api_version,
1124       p_init_msg_list,
1125       p_validation_level,
1126       p_le_id,
1127       p_ledger_id,
1128       x_return_status,
1129       x_msg_count,
1130       x_msg_data,
1131       ddp_init_dist_rec);
1132 
1133     -- copy data back from the local variables to OUT or IN-OUT args, if any
1134 
1135 
1136 
1137 
1138 
1139 
1140 
1141 
1142     p8_a0 := ddp_init_dist_rec.batch_dist_id;
1143     p8_a1 := ddp_init_dist_rec.line_number;
1144     p8_a2 := ddp_init_dist_rec.batch_id;
1145     p8_a3 := ddp_init_dist_rec.ccid;
1146     p8_a4 := ddp_init_dist_rec.amount_cr;
1147     p8_a5 := ddp_init_dist_rec.amount_dr;
1148     p8_a6 := ddp_init_dist_rec.description;
1149   end;
1150 
1151   procedure init_ic_dist_validate(p_api_version  NUMBER
1152     , p_init_msg_list  VARCHAR2
1153     , p_validation_level  NUMBER
1154     , p_le_id  NUMBER
1155     , p_ledger_id  NUMBER
1156     , x_return_status out nocopy  VARCHAR2
1157     , x_msg_count out nocopy  NUMBER
1158     , x_msg_data out nocopy  VARCHAR2
1159     , p8_a0 in out nocopy  NUMBER
1160     , p8_a1 in out nocopy  NUMBER
1161     , p8_a2 in out nocopy  NUMBER
1162     , p8_a3 in out nocopy  NUMBER
1163     , p8_a4 in out nocopy  NUMBER
1164     , p8_a5 in out nocopy  VARCHAR2
1165     , p8_a6 in out nocopy  VARCHAR2
1166     , p8_a7 in out nocopy  NUMBER
1167     , p8_a8 in out nocopy  NUMBER
1168     , p8_a9 in out nocopy  NUMBER
1169     , p8_a10 in out nocopy  NUMBER
1170     , p8_a11 in out nocopy  VARCHAR2
1171   )
1172 
1173   as
1174     ddp_dist_line_rec fun_trx_pvt.dist_line_rec_type;
1175     ddindx binary_integer; indx binary_integer;
1176   begin
1177 
1178     -- copy data to the local IN or IN-OUT args, if any
1179 
1180 
1181 
1182 
1183 
1184 
1185 
1186 
1187     ddp_dist_line_rec.dist_id := p8_a0;
1188     ddp_dist_line_rec.dist_number := p8_a1;
1189     ddp_dist_line_rec.trx_id := p8_a2;
1190     ddp_dist_line_rec.line_id := p8_a3;
1191     ddp_dist_line_rec.party_id := p8_a4;
1192     ddp_dist_line_rec.party_type := p8_a5;
1193     ddp_dist_line_rec.dist_type := p8_a6;
1194     ddp_dist_line_rec.batch_dist_id := p8_a7;
1195     ddp_dist_line_rec.amount_cr := p8_a8;
1196     ddp_dist_line_rec.amount_dr := p8_a9;
1197     ddp_dist_line_rec.ccid := p8_a10;
1198     ddp_dist_line_rec.trx_number := p8_a11;
1199 
1200     -- here's the delegated call to the old PL/SQL routine
1201     fun_trx_pvt.init_ic_dist_validate(p_api_version,
1202       p_init_msg_list,
1203       p_validation_level,
1204       p_le_id,
1205       p_ledger_id,
1206       x_return_status,
1207       x_msg_count,
1208       x_msg_data,
1209       ddp_dist_line_rec);
1210 
1211     -- copy data back from the local variables to OUT or IN-OUT args, if any
1212 
1213 
1214 
1215 
1216 
1217 
1218 
1219 
1220     p8_a0 := ddp_dist_line_rec.dist_id;
1221     p8_a1 := ddp_dist_line_rec.dist_number;
1222     p8_a2 := ddp_dist_line_rec.trx_id;
1223     p8_a3 := ddp_dist_line_rec.line_id;
1224     p8_a4 := ddp_dist_line_rec.party_id;
1225     p8_a5 := ddp_dist_line_rec.party_type;
1226     p8_a6 := ddp_dist_line_rec.dist_type;
1227     p8_a7 := ddp_dist_line_rec.batch_dist_id;
1228     p8_a8 := ddp_dist_line_rec.amount_cr;
1229     p8_a9 := ddp_dist_line_rec.amount_dr;
1230     p8_a10 := ddp_dist_line_rec.ccid;
1231     p8_a11 := ddp_dist_line_rec.trx_number;
1232   end;
1233 
1234   procedure init_generate_distributions(p_api_version  NUMBER
1235     , p_init_msg_list  VARCHAR2
1236     , x_return_status out nocopy  VARCHAR2
1237     , x_msg_count out nocopy  NUMBER
1238     , x_msg_data out nocopy  VARCHAR2
1239     , p5_a0 in out nocopy  NUMBER
1240     , p5_a1 in out nocopy  VARCHAR2
1241     , p5_a2 in out nocopy  NUMBER
1242     , p5_a3 in out nocopy  NUMBER
1243     , p5_a4 in out nocopy  NUMBER
1244     , p5_a5 in out nocopy  NUMBER
1245     , p5_a6 in out nocopy  VARCHAR2
1246     , p5_a7 in out nocopy  VARCHAR2
1247     , p5_a8 in out nocopy  VARCHAR2
1248     , p5_a9 in out nocopy  VARCHAR2
1249     , p5_a10 in out nocopy  NUMBER
1250     , p5_a11 in out nocopy  VARCHAR2
1251     , p5_a12 in out nocopy  DATE
1252     , p5_a13 in out nocopy  DATE
1253     , p5_a14 in out nocopy  VARCHAR2
1254     , p5_a15 in out nocopy  NUMBER
1255     , p5_a16 in out nocopy  VARCHAR2
1256     , p6_a0 in out nocopy JTF_NUMBER_TABLE
1257     , p6_a1 in out nocopy JTF_NUMBER_TABLE
1258     , p6_a2 in out nocopy JTF_NUMBER_TABLE
1259     , p6_a3 in out nocopy JTF_NUMBER_TABLE
1260     , p6_a4 in out nocopy JTF_NUMBER_TABLE
1261     , p6_a5 in out nocopy JTF_NUMBER_TABLE
1262     , p6_a6 in out nocopy JTF_VARCHAR2_TABLE_100
1263     , p6_a7 in out nocopy JTF_NUMBER_TABLE
1264     , p6_a8 in out nocopy JTF_NUMBER_TABLE
1265     , p6_a9 in out nocopy JTF_NUMBER_TABLE
1266     , p6_a10 in out nocopy JTF_NUMBER_TABLE
1267     , p6_a11 in out nocopy JTF_VARCHAR2_TABLE_100
1268     , p6_a12 in out nocopy JTF_VARCHAR2_TABLE_100
1269     , p6_a13 in out nocopy JTF_NUMBER_TABLE
1270     , p6_a14 in out nocopy JTF_DATE_TABLE
1271     , p6_a15 in out nocopy JTF_NUMBER_TABLE
1272     , p6_a16 in out nocopy JTF_NUMBER_TABLE
1273     , p6_a17 in out nocopy JTF_NUMBER_TABLE
1274     , p6_a18 in out nocopy JTF_VARCHAR2_TABLE_100
1275     , p6_a19 in out nocopy JTF_VARCHAR2_TABLE_100
1276     , p6_a20 in out nocopy JTF_VARCHAR2_TABLE_100
1277     , p6_a21 in out nocopy JTF_VARCHAR2_TABLE_100
1278     , p7_a0 in out nocopy JTF_NUMBER_TABLE
1279     , p7_a1 in out nocopy JTF_NUMBER_TABLE
1280     , p7_a2 in out nocopy JTF_NUMBER_TABLE
1281     , p7_a3 in out nocopy JTF_NUMBER_TABLE
1282     , p7_a4 in out nocopy JTF_NUMBER_TABLE
1283     , p7_a5 in out nocopy JTF_NUMBER_TABLE
1284     , p7_a6 in out nocopy JTF_VARCHAR2_TABLE_300
1285     , p8_a0 in out nocopy JTF_NUMBER_TABLE
1286     , p8_a1 in out nocopy JTF_NUMBER_TABLE
1287     , p8_a2 in out nocopy JTF_NUMBER_TABLE
1288     , p8_a3 in out nocopy JTF_NUMBER_TABLE
1289     , p8_a4 in out nocopy JTF_NUMBER_TABLE
1290     , p8_a5 in out nocopy JTF_VARCHAR2_TABLE_100
1291     , p8_a6 in out nocopy JTF_VARCHAR2_TABLE_100
1292     , p8_a7 in out nocopy JTF_NUMBER_TABLE
1293     , p8_a8 in out nocopy JTF_NUMBER_TABLE
1294     , p8_a9 in out nocopy JTF_NUMBER_TABLE
1295     , p8_a10 in out nocopy JTF_NUMBER_TABLE
1296     , p8_a11 in out nocopy JTF_VARCHAR2_TABLE_100
1297   )
1298 
1299   as
1300     ddp_batch_rec fun_trx_pvt.batch_rec_type;
1301     ddp_trx_tbl fun_trx_pvt.trx_tbl_type;
1302     ddp_init_dist_tbl fun_trx_pvt.init_dist_tbl_type;
1303     ddp_dist_lines_tbl fun_trx_pvt.dist_line_tbl_type;
1304     ddindx binary_integer; indx binary_integer;
1305   begin
1306 
1307     -- copy data to the local IN or IN-OUT args, if any
1308 
1309 
1310 
1311 
1312 
1313     ddp_batch_rec.batch_id := p5_a0;
1314     ddp_batch_rec.batch_number := p5_a1;
1315     ddp_batch_rec.initiator_id := p5_a2;
1316     ddp_batch_rec.from_le_id := p5_a3;
1317     ddp_batch_rec.from_ledger_id := p5_a4;
1318     ddp_batch_rec.control_total := p5_a5;
1319     ddp_batch_rec.currency_code := p5_a6;
1320     ddp_batch_rec.exchange_rate_type := p5_a7;
1321     ddp_batch_rec.status := p5_a8;
1322     ddp_batch_rec.description := p5_a9;
1323     ddp_batch_rec.trx_type_id := p5_a10;
1324     ddp_batch_rec.trx_type_code := p5_a11;
1325     ddp_batch_rec.gl_date := p5_a12;
1326     ddp_batch_rec.batch_date := p5_a13;
1327     ddp_batch_rec.reject_allowed := p5_a14;
1328     ddp_batch_rec.from_recurring_batch := p5_a15;
1329     ddp_batch_rec.automatic_proration_flag := p5_a16;
1330 
1331     fun_trx_pvt_w.rosetta_table_copy_in_p6(ddp_trx_tbl, p6_a0
1332       , p6_a1
1333       , p6_a2
1334       , p6_a3
1335       , p6_a4
1336       , p6_a5
1337       , p6_a6
1338       , p6_a7
1339       , p6_a8
1340       , p6_a9
1341       , p6_a10
1342       , p6_a11
1343       , p6_a12
1344       , p6_a13
1345       , p6_a14
1346       , p6_a15
1347       , p6_a16
1348       , p6_a17
1349       , p6_a18
1350       , p6_a19
1351       , p6_a20
1352       , p6_a21
1353       );
1354 
1355     fun_trx_pvt_w.rosetta_table_copy_in_p8(ddp_init_dist_tbl, p7_a0
1356       , p7_a1
1357       , p7_a2
1358       , p7_a3
1359       , p7_a4
1360       , p7_a5
1361       , p7_a6
1362       );
1363 
1364     fun_trx_pvt_w.rosetta_table_copy_in_p9(ddp_dist_lines_tbl, p8_a0
1365       , p8_a1
1366       , p8_a2
1367       , p8_a3
1368       , p8_a4
1369       , p8_a5
1370       , p8_a6
1371       , p8_a7
1372       , p8_a8
1373       , p8_a9
1374       , p8_a10
1375       , p8_a11
1376       );
1377 
1378     -- here's the delegated call to the old PL/SQL routine
1379     fun_trx_pvt.init_generate_distributions(p_api_version,
1380       p_init_msg_list,
1381       x_return_status,
1382       x_msg_count,
1383       x_msg_data,
1384       ddp_batch_rec,
1385       ddp_trx_tbl,
1386       ddp_init_dist_tbl,
1387       ddp_dist_lines_tbl);
1388 
1389     -- copy data back from the local variables to OUT or IN-OUT args, if any
1390 
1391 
1392 
1393 
1394 
1395     p5_a0 := ddp_batch_rec.batch_id;
1396     p5_a1 := ddp_batch_rec.batch_number;
1397     p5_a2 := ddp_batch_rec.initiator_id;
1398     p5_a3 := ddp_batch_rec.from_le_id;
1399     p5_a4 := ddp_batch_rec.from_ledger_id;
1400     p5_a5 := ddp_batch_rec.control_total;
1401     p5_a6 := ddp_batch_rec.currency_code;
1402     p5_a7 := ddp_batch_rec.exchange_rate_type;
1403     p5_a8 := ddp_batch_rec.status;
1404     p5_a9 := ddp_batch_rec.description;
1405     p5_a10 := ddp_batch_rec.trx_type_id;
1406     p5_a11 := ddp_batch_rec.trx_type_code;
1407     p5_a12 := ddp_batch_rec.gl_date;
1408     p5_a13 := ddp_batch_rec.batch_date;
1409     p5_a14 := ddp_batch_rec.reject_allowed;
1410     p5_a15 := ddp_batch_rec.from_recurring_batch;
1411     p5_a16 := ddp_batch_rec.automatic_proration_flag;
1412 
1413     fun_trx_pvt_w.rosetta_table_copy_out_p6(ddp_trx_tbl, p6_a0
1414       , p6_a1
1415       , p6_a2
1416       , p6_a3
1417       , p6_a4
1418       , p6_a5
1419       , p6_a6
1420       , p6_a7
1421       , p6_a8
1422       , p6_a9
1423       , p6_a10
1424       , p6_a11
1425       , p6_a12
1426       , p6_a13
1427       , p6_a14
1428       , p6_a15
1429       , p6_a16
1430       , p6_a17
1431       , p6_a18
1432       , p6_a19
1433       , p6_a20
1434       , p6_a21
1435       );
1436 
1437     fun_trx_pvt_w.rosetta_table_copy_out_p8(ddp_init_dist_tbl, p7_a0
1438       , p7_a1
1439       , p7_a2
1440       , p7_a3
1441       , p7_a4
1442       , p7_a5
1443       , p7_a6
1444       );
1445 
1446     fun_trx_pvt_w.rosetta_table_copy_out_p9(ddp_dist_lines_tbl, p8_a0
1447       , p8_a1
1448       , p8_a2
1449       , p8_a3
1450       , p8_a4
1451       , p8_a5
1452       , p8_a6
1453       , p8_a7
1454       , p8_a8
1455       , p8_a9
1456       , p8_a10
1457       , p8_a11
1458       );
1459   end;
1460 
1461   procedure create_reverse_trx(p_api_version  NUMBER
1462     , p_init_msg_list  VARCHAR2
1463     , p_commit  VARCHAR2
1464     , p_validation_level  NUMBER
1465     , p_trx_tbl_id JTF_NUMBER_TABLE
1466     , p_reversed_batch_number  VARCHAR2
1467     , p_reversal_method  VARCHAR2
1468     , p_reversed_batch_date  DATE
1469     , p_reversed_gl_date  DATE
1470     , p_reversed_description  VARCHAR2
1471     , x_return_status out nocopy  VARCHAR2
1472     , x_reversed_batch_id in out nocopy  NUMBER
1473   )
1474 
1475   as
1476     ddp_trx_tbl_id fun_trx_pvt.number_type;
1477     ddindx binary_integer; indx binary_integer;
1478   begin
1479 
1480     -- copy data to the local IN or IN-OUT args, if any
1481 
1482 
1483 
1484 
1485     fun_trx_pvt_w.rosetta_table_copy_in_p10(ddp_trx_tbl_id, p_trx_tbl_id);
1486 
1487 
1488 
1489 
1490 
1491 
1492 
1493 
1494     -- here's the delegated call to the old PL/SQL routine
1495     fun_trx_pvt.create_reverse_trx(p_api_version,
1496       p_init_msg_list,
1497       p_commit,
1498       p_validation_level,
1499       ddp_trx_tbl_id,
1500       p_reversed_batch_number,
1501       p_reversal_method,
1502       p_reversed_batch_date,
1503       p_reversed_gl_date,
1504       p_reversed_description,
1505       x_return_status,
1506       x_reversed_batch_id);
1507 
1508     -- copy data back from the local variables to OUT or IN-OUT args, if any
1509 
1510 
1511 
1512 
1513 
1514 
1515 
1516 
1517 
1518 
1519 
1520   end;
1521 
1522   procedure recipient_validate(p_api_version  NUMBER
1523     , p_init_msg_list  VARCHAR2
1524     , p_validation_level  NUMBER
1525     , x_return_status out nocopy  VARCHAR2
1526     , x_msg_count out nocopy  NUMBER
1527     , x_msg_data out nocopy  VARCHAR2
1528     , p6_a0 in out nocopy  NUMBER
1529     , p6_a1 in out nocopy  VARCHAR2
1530     , p6_a2 in out nocopy  NUMBER
1531     , p6_a3 in out nocopy  NUMBER
1532     , p6_a4 in out nocopy  NUMBER
1533     , p6_a5 in out nocopy  NUMBER
1534     , p6_a6 in out nocopy  VARCHAR2
1535     , p6_a7 in out nocopy  VARCHAR2
1536     , p6_a8 in out nocopy  VARCHAR2
1537     , p6_a9 in out nocopy  VARCHAR2
1538     , p6_a10 in out nocopy  NUMBER
1539     , p6_a11 in out nocopy  VARCHAR2
1540     , p6_a12 in out nocopy  DATE
1541     , p6_a13 in out nocopy  DATE
1542     , p6_a14 in out nocopy  VARCHAR2
1543     , p6_a15 in out nocopy  NUMBER
1544     , p6_a16 in out nocopy  VARCHAR2
1545     , p7_a0 in out nocopy  NUMBER
1546     , p7_a1 in out nocopy  NUMBER
1547     , p7_a2 in out nocopy  NUMBER
1548     , p7_a3 in out nocopy  NUMBER
1549     , p7_a4 in out nocopy  NUMBER
1550     , p7_a5 in out nocopy  NUMBER
1551     , p7_a6 in out nocopy  VARCHAR2
1552     , p7_a7 in out nocopy  NUMBER
1553     , p7_a8 in out nocopy  NUMBER
1554     , p7_a9 in out nocopy  NUMBER
1555     , p7_a10 in out nocopy  NUMBER
1556     , p7_a11 in out nocopy  VARCHAR2
1557     , p7_a12 in out nocopy  VARCHAR2
1558     , p7_a13 in out nocopy  NUMBER
1559     , p7_a14 in out nocopy  DATE
1560     , p7_a15 in out nocopy  NUMBER
1561     , p7_a16 in out nocopy  NUMBER
1562     , p7_a17 in out nocopy  NUMBER
1563     , p7_a18 in out nocopy  VARCHAR2
1564     , p7_a19 in out nocopy  VARCHAR2
1565     , p7_a20 in out nocopy  VARCHAR2
1566     , p7_a21 in out nocopy  VARCHAR2
1567     , p8_a0 in out nocopy JTF_NUMBER_TABLE
1568     , p8_a1 in out nocopy JTF_NUMBER_TABLE
1569     , p8_a2 in out nocopy JTF_NUMBER_TABLE
1570     , p8_a3 in out nocopy JTF_NUMBER_TABLE
1571     , p8_a4 in out nocopy JTF_NUMBER_TABLE
1572     , p8_a5 in out nocopy JTF_VARCHAR2_TABLE_100
1573     , p8_a6 in out nocopy JTF_VARCHAR2_TABLE_100
1574     , p8_a7 in out nocopy JTF_NUMBER_TABLE
1575     , p8_a8 in out nocopy JTF_NUMBER_TABLE
1576     , p8_a9 in out nocopy JTF_NUMBER_TABLE
1577     , p8_a10 in out nocopy JTF_NUMBER_TABLE
1578     , p8_a11 in out nocopy JTF_VARCHAR2_TABLE_100
1579   )
1580 
1581   as
1582     ddp_batch_rec fun_trx_pvt.batch_rec_type;
1583     ddp_trx_rec fun_trx_pvt.trx_rec_type;
1584     ddp_dist_lines_tbl fun_trx_pvt.dist_line_tbl_type;
1585     ddindx binary_integer; indx binary_integer;
1586   begin
1587 
1588     -- copy data to the local IN or IN-OUT args, if any
1589 
1590 
1591 
1592 
1593 
1594 
1595     ddp_batch_rec.batch_id := p6_a0;
1596     ddp_batch_rec.batch_number := p6_a1;
1597     ddp_batch_rec.initiator_id := p6_a2;
1598     ddp_batch_rec.from_le_id := p6_a3;
1599     ddp_batch_rec.from_ledger_id := p6_a4;
1600     ddp_batch_rec.control_total := p6_a5;
1601     ddp_batch_rec.currency_code := p6_a6;
1602     ddp_batch_rec.exchange_rate_type := p6_a7;
1603     ddp_batch_rec.status := p6_a8;
1604     ddp_batch_rec.description := p6_a9;
1605     ddp_batch_rec.trx_type_id := p6_a10;
1606     ddp_batch_rec.trx_type_code := p6_a11;
1607     ddp_batch_rec.gl_date := p6_a12;
1608     ddp_batch_rec.batch_date := p6_a13;
1609     ddp_batch_rec.reject_allowed := p6_a14;
1610     ddp_batch_rec.from_recurring_batch := p6_a15;
1611     ddp_batch_rec.automatic_proration_flag := p6_a16;
1612 
1613     ddp_trx_rec.trx_id := p7_a0;
1614     ddp_trx_rec.initiator_id := p7_a1;
1615     ddp_trx_rec.recipient_id := p7_a2;
1616     ddp_trx_rec.to_le_id := p7_a3;
1617     ddp_trx_rec.to_ledger_id := p7_a4;
1618     ddp_trx_rec.batch_id := p7_a5;
1619     ddp_trx_rec.status := p7_a6;
1620     ddp_trx_rec.init_amount_cr := p7_a7;
1621     ddp_trx_rec.init_amount_dr := p7_a8;
1622     ddp_trx_rec.reci_amount_cr := p7_a9;
1623     ddp_trx_rec.reci_amount_dr := p7_a10;
1624     ddp_trx_rec.ar_invoice_number := p7_a11;
1625     ddp_trx_rec.invoicing_rule := p7_a12;
1626     ddp_trx_rec.approver_id := p7_a13;
1627     ddp_trx_rec.approval_date := p7_a14;
1628     ddp_trx_rec.original_trx_id := p7_a15;
1629     ddp_trx_rec.reversed_trx_id := p7_a16;
1630     ddp_trx_rec.from_recurring_trx_id := p7_a17;
1631     ddp_trx_rec.initiator_instance := p7_a18;
1632     ddp_trx_rec.recipient_instance := p7_a19;
1633     ddp_trx_rec.automatic_proration_flag := p7_a20;
1634     ddp_trx_rec.trx_number := p7_a21;
1635 
1636     fun_trx_pvt_w.rosetta_table_copy_in_p9(ddp_dist_lines_tbl, p8_a0
1637       , p8_a1
1638       , p8_a2
1639       , p8_a3
1640       , p8_a4
1641       , p8_a5
1642       , p8_a6
1643       , p8_a7
1644       , p8_a8
1645       , p8_a9
1646       , p8_a10
1647       , p8_a11
1648       );
1649 
1650     -- here's the delegated call to the old PL/SQL routine
1651     fun_trx_pvt.recipient_validate(p_api_version,
1652       p_init_msg_list,
1653       p_validation_level,
1654       x_return_status,
1655       x_msg_count,
1656       x_msg_data,
1657       ddp_batch_rec,
1658       ddp_trx_rec,
1659       ddp_dist_lines_tbl);
1660 
1661     -- copy data back from the local variables to OUT or IN-OUT args, if any
1662 
1663 
1664 
1665 
1666 
1667 
1668     p6_a0 := ddp_batch_rec.batch_id;
1669     p6_a1 := ddp_batch_rec.batch_number;
1670     p6_a2 := ddp_batch_rec.initiator_id;
1671     p6_a3 := ddp_batch_rec.from_le_id;
1672     p6_a4 := ddp_batch_rec.from_ledger_id;
1673     p6_a5 := ddp_batch_rec.control_total;
1674     p6_a6 := ddp_batch_rec.currency_code;
1675     p6_a7 := ddp_batch_rec.exchange_rate_type;
1676     p6_a8 := ddp_batch_rec.status;
1677     p6_a9 := ddp_batch_rec.description;
1678     p6_a10 := ddp_batch_rec.trx_type_id;
1679     p6_a11 := ddp_batch_rec.trx_type_code;
1680     p6_a12 := ddp_batch_rec.gl_date;
1681     p6_a13 := ddp_batch_rec.batch_date;
1682     p6_a14 := ddp_batch_rec.reject_allowed;
1683     p6_a15 := ddp_batch_rec.from_recurring_batch;
1684     p6_a16 := ddp_batch_rec.automatic_proration_flag;
1685 
1686     p7_a0 := ddp_trx_rec.trx_id;
1687     p7_a1 := ddp_trx_rec.initiator_id;
1688     p7_a2 := ddp_trx_rec.recipient_id;
1689     p7_a3 := ddp_trx_rec.to_le_id;
1690     p7_a4 := ddp_trx_rec.to_ledger_id;
1691     p7_a5 := ddp_trx_rec.batch_id;
1692     p7_a6 := ddp_trx_rec.status;
1693     p7_a7 := ddp_trx_rec.init_amount_cr;
1694     p7_a8 := ddp_trx_rec.init_amount_dr;
1695     p7_a9 := ddp_trx_rec.reci_amount_cr;
1696     p7_a10 := ddp_trx_rec.reci_amount_dr;
1697     p7_a11 := ddp_trx_rec.ar_invoice_number;
1698     p7_a12 := ddp_trx_rec.invoicing_rule;
1699     p7_a13 := ddp_trx_rec.approver_id;
1700     p7_a14 := ddp_trx_rec.approval_date;
1701     p7_a15 := ddp_trx_rec.original_trx_id;
1702     p7_a16 := ddp_trx_rec.reversed_trx_id;
1703     p7_a17 := ddp_trx_rec.from_recurring_trx_id;
1704     p7_a18 := ddp_trx_rec.initiator_instance;
1705     p7_a19 := ddp_trx_rec.recipient_instance;
1706     p7_a20 := ddp_trx_rec.automatic_proration_flag;
1707     p7_a21 := ddp_trx_rec.trx_number;
1708 
1709     fun_trx_pvt_w.rosetta_table_copy_out_p9(ddp_dist_lines_tbl, p8_a0
1710       , p8_a1
1711       , p8_a2
1712       , p8_a3
1713       , p8_a4
1714       , p8_a5
1715       , p8_a6
1716       , p8_a7
1717       , p8_a8
1718       , p8_a9
1719       , p8_a10
1720       , p8_a11
1721       );
1722   end;
1723 
1724     procedure Modified(p_api_version  NUMBER
1725     , p_init_msg_list  VARCHAR2
1726     , p_validation_level  NUMBER
1727     , x_return_status out nocopy  VARCHAR2
1728     , x_msg_count out nocopy  NUMBER
1729     , x_msg_data out nocopy  VARCHAR2
1730     , p6_a0 in out nocopy  NUMBER
1731     , p6_a1 in out nocopy  VARCHAR2
1732     , p6_a2 in out nocopy  NUMBER
1733     , p6_a3 in out nocopy  NUMBER
1734     , p6_a4 in out nocopy  NUMBER
1735     , p6_a5 in out nocopy  NUMBER
1736     , p6_a6 in out nocopy  VARCHAR2
1737     , p6_a7 in out nocopy  VARCHAR2
1738     , p6_a8 in out nocopy  VARCHAR2
1739     , p6_a9 in out nocopy  VARCHAR2
1740     , p6_a10 in out nocopy  NUMBER
1741     , p6_a11 in out nocopy  VARCHAR2
1742     , p6_a12 in out nocopy  DATE
1743     , p6_a13 in out nocopy  DATE
1744     , p6_a14 in out nocopy  VARCHAR2
1745     , p6_a15 in out nocopy  NUMBER
1746     , p6_a16 in out nocopy  VARCHAR2
1747     , p7_a0 in out nocopy  NUMBER
1748     , p7_a1 in out nocopy  NUMBER
1749     , p7_a2 in out nocopy  NUMBER
1750     , p7_a3 in out nocopy  NUMBER
1751     , p7_a4 in out nocopy  NUMBER
1752     , p7_a5 in out nocopy  NUMBER
1753     , p7_a6 in out nocopy  VARCHAR2
1754     , p7_a7 in out nocopy  NUMBER
1755     , p7_a8 in out nocopy  NUMBER
1756     , p7_a9 in out nocopy  NUMBER
1757     , p7_a10 in out nocopy  NUMBER
1758     , p7_a11 in out nocopy  VARCHAR2
1759     , p7_a12 in out nocopy  VARCHAR2
1760     , p7_a13 in out nocopy  NUMBER
1761     , p7_a14 in out nocopy  DATE
1762     , p7_a15 in out nocopy  NUMBER
1763     , p7_a16 in out nocopy  NUMBER
1764     , p7_a17 in out nocopy  NUMBER
1765     , p7_a18 in out nocopy  VARCHAR2
1766     , p7_a19 in out nocopy  VARCHAR2
1767     , p7_a20 in out nocopy  VARCHAR2
1768     , p7_a21 in out nocopy  VARCHAR2
1769     , p8_a0 in out nocopy JTF_NUMBER_TABLE
1770     , p8_a1 in out nocopy JTF_NUMBER_TABLE
1771     , p8_a2 in out nocopy JTF_NUMBER_TABLE
1772     , p8_a3 in out nocopy JTF_NUMBER_TABLE
1773     , p8_a4 in out nocopy JTF_NUMBER_TABLE
1774     , p8_a5 in out nocopy JTF_VARCHAR2_TABLE_100
1775     , p8_a6 in out nocopy JTF_VARCHAR2_TABLE_100
1776     , p8_a7 in out nocopy JTF_NUMBER_TABLE
1777     , p8_a8 in out nocopy JTF_NUMBER_TABLE
1778     , p8_a9 in out nocopy JTF_NUMBER_TABLE
1779     , p8_a10 in out nocopy JTF_NUMBER_TABLE
1780     , p8_a11 in out nocopy JTF_VARCHAR2_TABLE_100
1781   )
1782 
1783   as
1784     ddp_batch_rec fun_trx_pvt.batch_rec_type;
1785     ddp_trx_rec fun_trx_pvt.trx_rec_type;
1786     ddp_dist_lines_tbl fun_trx_pvt.dist_line_tbl_type;
1787     ddindx binary_integer; indx binary_integer;
1788     l_count Number;
1789     r_count Number;
1790     l_index NUMBER;
1791     l_approver_record	ame_util.approverRecord2;
1792     l_approver_table           ame_util.approversTable2;
1793     l_event_key     varchar2(240);
1794     --x_return_status VARCHAR2(10);
1795   begin
1796     -- copy data to the local IN or IN-OUT args, if any
1797     x_return_status:='N';
1798     ddp_batch_rec.batch_id := p6_a0;
1799     ddp_batch_rec.batch_number := p6_a1;
1800     ddp_batch_rec.initiator_id := p6_a2;
1801     ddp_batch_rec.from_le_id := p6_a3;
1802     ddp_batch_rec.from_ledger_id := p6_a4;
1803     ddp_batch_rec.control_total := p6_a5;
1804     ddp_batch_rec.currency_code := p6_a6;
1805     ddp_batch_rec.exchange_rate_type := p6_a7;
1806     ddp_batch_rec.status := p6_a8;
1807     ddp_batch_rec.description := p6_a9;
1808     ddp_batch_rec.trx_type_id := p6_a10;
1809     ddp_batch_rec.trx_type_code := p6_a11;
1810     ddp_batch_rec.gl_date := p6_a12;
1811     ddp_batch_rec.batch_date := p6_a13;
1812     ddp_batch_rec.reject_allowed := p6_a14;
1813     ddp_batch_rec.from_recurring_batch := p6_a15;
1814     ddp_batch_rec.automatic_proration_flag := p6_a16;
1815 
1816     ddp_trx_rec.trx_id := p7_a0;
1817     ddp_trx_rec.initiator_id := p7_a1;
1818     ddp_trx_rec.recipient_id := p7_a2;
1819     ddp_trx_rec.to_le_id := p7_a3;
1820     ddp_trx_rec.to_ledger_id := p7_a4;
1821     ddp_trx_rec.batch_id := p7_a5;
1822     ddp_trx_rec.status := p7_a6;
1823     ddp_trx_rec.init_amount_cr := p7_a7;
1824     ddp_trx_rec.init_amount_dr := p7_a8;
1825     ddp_trx_rec.reci_amount_cr := p7_a9;
1826     ddp_trx_rec.reci_amount_dr := p7_a10;
1827     ddp_trx_rec.ar_invoice_number := p7_a11;
1828     ddp_trx_rec.invoicing_rule := p7_a12;
1829     ddp_trx_rec.approver_id := p7_a13;
1830     ddp_trx_rec.approval_date := p7_a14;
1831     ddp_trx_rec.original_trx_id := p7_a15;
1832     ddp_trx_rec.reversed_trx_id := p7_a16;
1833     ddp_trx_rec.from_recurring_trx_id := p7_a17;
1834     ddp_trx_rec.initiator_instance := p7_a18;
1835     ddp_trx_rec.recipient_instance := p7_a19;
1836     ddp_trx_rec.automatic_proration_flag := p7_a20;
1837     ddp_trx_rec.trx_number := p7_a21;
1838 
1839     fun_trx_pvt_w.rosetta_table_copy_in_p9(ddp_dist_lines_tbl, p8_a0
1840       , p8_a1
1841       , p8_a2
1842       , p8_a3
1843       , p8_a4
1844       , p8_a5
1845       , p8_a6
1846       , p8_a7
1847       , p8_a8
1848       , p8_a9
1849       , p8_a10
1850       , p8_a11
1851       );
1852 
1853     -- here's the delegated call to the old PL/SQL routine
1854     --fun_trx_pvt.IS_MODIFIED(p_api_version,
1855       --p_init_msg_list,
1856       --p_validation_level,
1857       --x_return_status,
1858       --x_msg_count,
1859       --x_msg_data,
1860       --ddp_batch_rec,
1861       --ddp_trx_rec,
1862       --ddp_dist_lines_tbl);
1863 
1864 	--Bug: 9772478
1865       ame_api3.getOldApprovers (
1866                            applicationIdIn               => 435,
1867                            transactionIdIn               => to_char(ddp_dist_lines_tbl(1).trx_id),
1868 			   transactionTypeIn             => 'FUN_IC_RECI_TRX',
1869                            oldApproversOut              => l_approver_table);
1870 
1871       FOR l_index IN 1..l_approver_table.COUNT
1872       LOOP
1873               l_approver_record.name  := l_approver_table(l_index).name;
1874               l_approver_record.approval_status := NULL;
1875 
1876         	 ame_api2.updateApprovalStatus(
1877                         applicationIdIn     => 435,
1878                         transactionTypeIn   => 'FUN_IC_RECI_TRX',
1879                         transactionIdIn     => ddp_dist_lines_tbl(1).trx_id,
1880                         approverIn          => l_approver_record);
1881       END LOOP;
1882 
1883       l_count := ddp_dist_lines_tbl.COUNT;
1884 
1885 	IF l_count >= 1 THEN
1886               -- There should be atleast one line for recipient distribution
1887 
1888               BEGIN
1889                      ame_api2.updateApprovalStatus(
1890                         applicationIdIn     => 435,
1891                         transactionTypeIn   => 'FUN_IC_RECI_TRX',
1892                         transactionIdIn     => ddp_dist_lines_tbl(1).trx_id,
1893                         approverIn          => l_approver_record);
1894 
1895 
1896                       SELECT DISTINCT ITEM_KEY INTO l_event_key
1897                       from WF_ITEM_ACTIVITY_STATUSES WIAS
1898                       where WIAS.ITEM_TYPE = 'FUNRMAIN'
1899 		      AND ACTIVITY_STATUS  = 'ACTIVE'
1900                       AND ITEM_KEY LIKE  ddp_batch_rec.batch_id || '_' || ddp_dist_lines_tbl(1).trx_id || '%';
1901 
1902                        WF_ENGINE.HandleError(itemtype => 'FUNRMAIN',
1903 	                          itemkey  => l_event_key,
1904                             activity    => 'RECIPIENT_APPROVAL:START',
1905                             command    => 'RETRY');
1906 
1907                 EXCEPTION
1908                  	WHEN NO_DATA_FOUND THEN
1909                  		x_return_status :='E';
1910                 END;
1911 
1912   END IF;
1913 
1914     -- copy data back from the local variables to OUT or IN-OUT args, if any
1915 
1916     p6_a0 := ddp_batch_rec.batch_id;
1917     p6_a1 := ddp_batch_rec.batch_number;
1918     p6_a2 := ddp_batch_rec.initiator_id;
1919     p6_a3 := ddp_batch_rec.from_le_id;
1920     p6_a4 := ddp_batch_rec.from_ledger_id;
1921     p6_a5 := ddp_batch_rec.control_total;
1922     p6_a6 := ddp_batch_rec.currency_code;
1923     p6_a7 := ddp_batch_rec.exchange_rate_type;
1924     p6_a8 := ddp_batch_rec.status;
1925     p6_a9 := ddp_batch_rec.description;
1926     p6_a10 := ddp_batch_rec.trx_type_id;
1927     p6_a11 := ddp_batch_rec.trx_type_code;
1928     p6_a12 := ddp_batch_rec.gl_date;
1929     p6_a13 := ddp_batch_rec.batch_date;
1930     p6_a14 := ddp_batch_rec.reject_allowed;
1931     p6_a15 := ddp_batch_rec.from_recurring_batch;
1932     p6_a16 := ddp_batch_rec.automatic_proration_flag;
1933 
1934     p7_a0 := ddp_trx_rec.trx_id;
1935     p7_a1 := ddp_trx_rec.initiator_id;
1936     p7_a2 := ddp_trx_rec.recipient_id;
1937     p7_a3 := ddp_trx_rec.to_le_id;
1938     p7_a4 := ddp_trx_rec.to_ledger_id;
1939     p7_a5 := ddp_trx_rec.batch_id;
1940     p7_a6 := ddp_trx_rec.status;
1941     p7_a7 := ddp_trx_rec.init_amount_cr;
1942     p7_a8 := ddp_trx_rec.init_amount_dr;
1943     p7_a9 := ddp_trx_rec.reci_amount_cr;
1944     p7_a10 := ddp_trx_rec.reci_amount_dr;
1945     p7_a11 := ddp_trx_rec.ar_invoice_number;
1946     p7_a12 := ddp_trx_rec.invoicing_rule;
1947     p7_a13 := ddp_trx_rec.approver_id;
1948     p7_a14 := ddp_trx_rec.approval_date;
1949     p7_a15 := ddp_trx_rec.original_trx_id;
1950     p7_a16 := ddp_trx_rec.reversed_trx_id;
1951     p7_a17 := ddp_trx_rec.from_recurring_trx_id;
1952     p7_a18 := ddp_trx_rec.initiator_instance;
1953     p7_a19 := ddp_trx_rec.recipient_instance;
1954     p7_a20 := ddp_trx_rec.automatic_proration_flag;
1955     p7_a21 := ddp_trx_rec.trx_number;
1956 
1957     fun_trx_pvt_w.rosetta_table_copy_out_p9(ddp_dist_lines_tbl, p8_a0
1958       , p8_a1
1959       , p8_a2
1960       , p8_a3
1961       , p8_a4
1962       , p8_a5
1963       , p8_a6
1964       , p8_a7
1965       , p8_a8
1966       , p8_a9
1967       , p8_a10
1968       , p8_a11
1969       );
1970   end;
1971 
1972 
1973    function isOldDistId(distId number) return varchar2
1974     is
1975     begin
1976 
1977     FOR i IN 1..l_ccid.COUNT
1978         LOOP
1979         if to_char(distId) = l_ccid(i-1) then
1980         return 'Y';
1981         end if;
1982 
1983     end loop;
1984     return 'N';
1985     end isOldDistId;
1986 
1987   procedure is_Modified(p_api_version  NUMBER
1988     , p_init_msg_list  VARCHAR2
1989     , p_validation_level  NUMBER
1990     , x_return_status out nocopy  VARCHAR2
1991     , x_msg_count out nocopy  NUMBER
1992     , x_msg_data out nocopy  VARCHAR2
1993     , p6_a0 in out nocopy  NUMBER
1994     , p6_a1 in out nocopy  VARCHAR2
1995     , p6_a2 in out nocopy  NUMBER
1996     , p6_a3 in out nocopy  NUMBER
1997     , p6_a4 in out nocopy  NUMBER
1998     , p6_a5 in out nocopy  NUMBER
1999     , p6_a6 in out nocopy  VARCHAR2
2000     , p6_a7 in out nocopy  VARCHAR2
2001     , p6_a8 in out nocopy  VARCHAR2
2002     , p6_a9 in out nocopy  VARCHAR2
2003     , p6_a10 in out nocopy  NUMBER
2004     , p6_a11 in out nocopy  VARCHAR2
2005     , p6_a12 in out nocopy  DATE
2006     , p6_a13 in out nocopy  DATE
2007     , p6_a14 in out nocopy  VARCHAR2
2008     , p6_a15 in out nocopy  NUMBER
2009     , p6_a16 in out nocopy  VARCHAR2
2010     , p7_a0 in out nocopy  NUMBER
2011     , p7_a1 in out nocopy  NUMBER
2012     , p7_a2 in out nocopy  NUMBER
2013     , p7_a3 in out nocopy  NUMBER
2014     , p7_a4 in out nocopy  NUMBER
2015     , p7_a5 in out nocopy  NUMBER
2016     , p7_a6 in out nocopy  VARCHAR2
2017     , p7_a7 in out nocopy  NUMBER
2018     , p7_a8 in out nocopy  NUMBER
2019     , p7_a9 in out nocopy  NUMBER
2020     , p7_a10 in out nocopy  NUMBER
2021     , p7_a11 in out nocopy  VARCHAR2
2022     , p7_a12 in out nocopy  VARCHAR2
2023     , p7_a13 in out nocopy  NUMBER
2024     , p7_a14 in out nocopy  DATE
2025     , p7_a15 in out nocopy  NUMBER
2026     , p7_a16 in out nocopy  NUMBER
2027     , p7_a17 in out nocopy  NUMBER
2028     , p7_a18 in out nocopy  VARCHAR2
2029     , p7_a19 in out nocopy  VARCHAR2
2030     , p7_a20 in out nocopy  VARCHAR2
2031     , p7_a21 in out nocopy  VARCHAR2
2032     , p8_a0 in out nocopy JTF_NUMBER_TABLE
2033     , p8_a1 in out nocopy JTF_NUMBER_TABLE
2034     , p8_a2 in out nocopy JTF_NUMBER_TABLE
2035     , p8_a3 in out nocopy JTF_NUMBER_TABLE
2036     , p8_a4 in out nocopy JTF_NUMBER_TABLE
2037     , p8_a5 in out nocopy JTF_VARCHAR2_TABLE_100
2038     , p8_a6 in out nocopy JTF_VARCHAR2_TABLE_100
2039     , p8_a7 in out nocopy JTF_NUMBER_TABLE
2040     , p8_a8 in out nocopy JTF_NUMBER_TABLE
2041     , p8_a9 in out nocopy JTF_NUMBER_TABLE
2042     , p8_a10 in out nocopy JTF_NUMBER_TABLE
2043     , p8_a11 in out nocopy JTF_VARCHAR2_TABLE_100
2044   )
2045 
2046   as
2047     ddp_batch_rec fun_trx_pvt.batch_rec_type;
2048     ddp_trx_rec fun_trx_pvt.trx_rec_type;
2049     ddp_dist_lines_tbl fun_trx_pvt.dist_line_tbl_type;
2050     ddindx binary_integer; indx binary_integer;
2051     l_count Number;
2052     r_count Number;
2053     l_index NUMBER;
2054     --l_ccid NUMBER;
2055     TYPE numarray IS TABLE OF VARCHAR2(100) INDEX BY VARCHAR2(100);
2056     l_ccid numarray;
2057     --x_return_status VARCHAR2(10);
2058 
2059     l_transaction_type         VARCHAR2(30);
2060     l_approver_table           ame_util.approversTable2;
2061     l_application_id           NUMBER;
2062   begin
2063 
2064   l_transaction_type := 'FUN_IC_RECI_TRX';
2065   l_application_id := 435;
2066 
2067     -- copy data to the local IN or IN-OUT args, if any
2068     x_return_status:='N';
2069     ddp_batch_rec.batch_id := p6_a0;
2070     ddp_batch_rec.batch_number := p6_a1;
2071     ddp_batch_rec.initiator_id := p6_a2;
2072     ddp_batch_rec.from_le_id := p6_a3;
2073     ddp_batch_rec.from_ledger_id := p6_a4;
2074     ddp_batch_rec.control_total := p6_a5;
2075     ddp_batch_rec.currency_code := p6_a6;
2076     ddp_batch_rec.exchange_rate_type := p6_a7;
2077     ddp_batch_rec.status := p6_a8;
2078     ddp_batch_rec.description := p6_a9;
2079     ddp_batch_rec.trx_type_id := p6_a10;
2080     ddp_batch_rec.trx_type_code := p6_a11;
2081     ddp_batch_rec.gl_date := p6_a12;
2082     ddp_batch_rec.batch_date := p6_a13;
2083     ddp_batch_rec.reject_allowed := p6_a14;
2084     ddp_batch_rec.from_recurring_batch := p6_a15;
2085     ddp_batch_rec.automatic_proration_flag := p6_a16;
2086 
2087     ddp_trx_rec.trx_id := p7_a0;
2088     ddp_trx_rec.initiator_id := p7_a1;
2089     ddp_trx_rec.recipient_id := p7_a2;
2090     ddp_trx_rec.to_le_id := p7_a3;
2091     ddp_trx_rec.to_ledger_id := p7_a4;
2092     ddp_trx_rec.batch_id := p7_a5;
2093     ddp_trx_rec.status := p7_a6;
2094     ddp_trx_rec.init_amount_cr := p7_a7;
2095     ddp_trx_rec.init_amount_dr := p7_a8;
2096     ddp_trx_rec.reci_amount_cr := p7_a9;
2097     ddp_trx_rec.reci_amount_dr := p7_a10;
2098     ddp_trx_rec.ar_invoice_number := p7_a11;
2099     ddp_trx_rec.invoicing_rule := p7_a12;
2100     ddp_trx_rec.approver_id := p7_a13;
2101     ddp_trx_rec.approval_date := p7_a14;
2102     ddp_trx_rec.original_trx_id := p7_a15;
2103     ddp_trx_rec.reversed_trx_id := p7_a16;
2104     ddp_trx_rec.from_recurring_trx_id := p7_a17;
2105     ddp_trx_rec.initiator_instance := p7_a18;
2106     ddp_trx_rec.recipient_instance := p7_a19;
2107     ddp_trx_rec.automatic_proration_flag := p7_a20;
2108     ddp_trx_rec.trx_number := p7_a21;
2109 
2110     fun_trx_pvt_w.rosetta_table_copy_in_p9(ddp_dist_lines_tbl, p8_a0
2111       , p8_a1
2112       , p8_a2
2113       , p8_a3
2114       , p8_a4
2115       , p8_a5
2116       , p8_a6
2117       , p8_a7
2118       , p8_a8
2119       , p8_a9
2120       , p8_a10
2121       , p8_a11
2122       );
2123 	-- Bug: 9772478
2124       IF (ddp_trx_rec.approver_id is NULL) THEN
2125             x_return_status :='N';
2126             RETURN;
2127       END IF;
2128       ame_api3.getOldApprovers (
2129                            applicationIdIn               => l_application_id,
2130                            transactionIdIn               => to_char(ddp_trx_rec.trx_id),
2131 			   transactionTypeIn             => l_transaction_type,
2132                            oldApproversOut              => l_approver_table);
2133        IF(l_approver_table(1).name = fnd_global.user_name) THEN
2134             x_return_status :='N';
2135             RETURN;
2136        END IF;
2137 
2138       l_count := ddp_dist_lines_tbl.COUNT;
2139       l_ccid(0):='0';
2140 	IF l_count >= 1 THEN
2141          FOR  i IN 1..l_count LOOP
2142               -- There should be atleast one line for recipient distribution
2143                       --Debug('3');
2144               IF ddp_dist_lines_tbl(i).dist_type = 'L' and ddp_dist_lines_tbl(i).party_type='R' THEN
2145 
2146                 BEGIN
2147               	   SELECT ( DIST_ID )
2148                    INTO l_ccid(i)
2149                    FROM fun_dist_lines
2150 		   where TRX_ID = ddp_dist_lines_tbl(i).trx_id
2151                    AND ROWNUM=1
2152                    and PARTY_TYPE_FLAG='R'
2153 		   and DIST_TYPE_FLAG='L'
2154                    and (AMOUNT_CR=ddp_dist_lines_tbl(i).amount_cr
2155                         OR AMOUNT_DR=ddp_dist_lines_tbl(i).amount_dr )
2156                     AND 'N' = fun_trx_pvt_w.isOldDistId(dist_id);
2157 		   --and DIST_ID NOT IN (l_ccid(i-1));
2158                 EXCEPTION
2159                  	WHEN NO_DATA_FOUND THEN
2160                  		x_return_status :='Y';
2161                         EXIT;
2162 
2163                  	WHEN OTHERS THEN
2164                  		x_return_status :='Y';
2165 		 END;
2166 		 EXIT;
2167                  l_index := i;
2168 
2169               END IF;
2170           END LOOP;
2171         END IF;
2172 
2173     -- copy data back from the local variables to OUT or IN-OUT args, if any
2174 
2175     p6_a0 := ddp_batch_rec.batch_id;
2176     p6_a1 := ddp_batch_rec.batch_number;
2177     p6_a2 := ddp_batch_rec.initiator_id;
2178     p6_a3 := ddp_batch_rec.from_le_id;
2179     p6_a4 := ddp_batch_rec.from_ledger_id;
2180     p6_a5 := ddp_batch_rec.control_total;
2181     p6_a6 := ddp_batch_rec.currency_code;
2182     p6_a7 := ddp_batch_rec.exchange_rate_type;
2183     p6_a8 := ddp_batch_rec.status;
2184     p6_a9 := ddp_batch_rec.description;
2185     p6_a10 := ddp_batch_rec.trx_type_id;
2186     p6_a11 := ddp_batch_rec.trx_type_code;
2187     p6_a12 := ddp_batch_rec.gl_date;
2188     p6_a13 := ddp_batch_rec.batch_date;
2189     p6_a14 := ddp_batch_rec.reject_allowed;
2190     p6_a15 := ddp_batch_rec.from_recurring_batch;
2191     p6_a16 := ddp_batch_rec.automatic_proration_flag;
2192 
2193     p7_a0 := ddp_trx_rec.trx_id;
2194     p7_a1 := ddp_trx_rec.initiator_id;
2195     p7_a2 := ddp_trx_rec.recipient_id;
2196     p7_a3 := ddp_trx_rec.to_le_id;
2197     p7_a4 := ddp_trx_rec.to_ledger_id;
2198     p7_a5 := ddp_trx_rec.batch_id;
2199     p7_a6 := ddp_trx_rec.status;
2200     p7_a7 := ddp_trx_rec.init_amount_cr;
2201     p7_a8 := ddp_trx_rec.init_amount_dr;
2202     p7_a9 := ddp_trx_rec.reci_amount_cr;
2203     p7_a10 := ddp_trx_rec.reci_amount_dr;
2204     p7_a11 := ddp_trx_rec.ar_invoice_number;
2205     p7_a12 := ddp_trx_rec.invoicing_rule;
2206     p7_a13 := ddp_trx_rec.approver_id;
2207     p7_a14 := ddp_trx_rec.approval_date;
2208     p7_a15 := ddp_trx_rec.original_trx_id;
2209     p7_a16 := ddp_trx_rec.reversed_trx_id;
2210     p7_a17 := ddp_trx_rec.from_recurring_trx_id;
2211     p7_a18 := ddp_trx_rec.initiator_instance;
2212     p7_a19 := ddp_trx_rec.recipient_instance;
2213     p7_a20 := ddp_trx_rec.automatic_proration_flag;
2214     p7_a21 := ddp_trx_rec.trx_number;
2215 
2216     fun_trx_pvt_w.rosetta_table_copy_out_p9(ddp_dist_lines_tbl, p8_a0
2217       , p8_a1
2218       , p8_a2
2219       , p8_a3
2220       , p8_a4
2221       , p8_a5
2222       , p8_a6
2223       , p8_a7
2224       , p8_a8
2225       , p8_a9
2226       , p8_a10
2227       , p8_a11
2228       );
2229   end;
2230 
2231 
2232 
2233   procedure ini_recipient_validate(p_api_version  NUMBER
2234     , p_init_msg_list  VARCHAR2
2235     , p_validation_level  NUMBER
2236     , x_return_status out nocopy  VARCHAR2
2237     , x_msg_count out nocopy  NUMBER
2238     , x_msg_data out nocopy  VARCHAR2
2239     , p6_a0 in out nocopy  NUMBER
2240     , p6_a1 in out nocopy  VARCHAR2
2241     , p6_a2 in out nocopy  NUMBER
2242     , p6_a3 in out nocopy  NUMBER
2243     , p6_a4 in out nocopy  NUMBER
2244     , p6_a5 in out nocopy  NUMBER
2245     , p6_a6 in out nocopy  VARCHAR2
2246     , p6_a7 in out nocopy  VARCHAR2
2247     , p6_a8 in out nocopy  VARCHAR2
2248     , p6_a9 in out nocopy  VARCHAR2
2249     , p6_a10 in out nocopy  NUMBER
2250     , p6_a11 in out nocopy  VARCHAR2
2251     , p6_a12 in out nocopy  DATE
2252     , p6_a13 in out nocopy  DATE
2253     , p6_a14 in out nocopy  VARCHAR2
2254     , p6_a15 in out nocopy  NUMBER
2255     , p6_a16 in out nocopy  VARCHAR2
2256     , p7_a0 in out nocopy  NUMBER
2257     , p7_a1 in out nocopy  NUMBER
2258     , p7_a2 in out nocopy  NUMBER
2259     , p7_a3 in out nocopy  NUMBER
2260     , p7_a4 in out nocopy  NUMBER
2261     , p7_a5 in out nocopy  NUMBER
2262     , p7_a6 in out nocopy  VARCHAR2
2263     , p7_a7 in out nocopy  NUMBER
2264     , p7_a8 in out nocopy  NUMBER
2265     , p7_a9 in out nocopy  NUMBER
2266     , p7_a10 in out nocopy  NUMBER
2267     , p7_a11 in out nocopy  VARCHAR2
2268     , p7_a12 in out nocopy  VARCHAR2
2269     , p7_a13 in out nocopy  NUMBER
2270     , p7_a14 in out nocopy  DATE
2271     , p7_a15 in out nocopy  NUMBER
2272     , p7_a16 in out nocopy  NUMBER
2273     , p7_a17 in out nocopy  NUMBER
2274     , p7_a18 in out nocopy  VARCHAR2
2275     , p7_a19 in out nocopy  VARCHAR2
2276     , p7_a20 in out nocopy  VARCHAR2
2277     , p7_a21 in out nocopy  VARCHAR2
2278     , p8_a0 in out nocopy JTF_NUMBER_TABLE
2279     , p8_a1 in out nocopy JTF_NUMBER_TABLE
2280     , p8_a2 in out nocopy JTF_NUMBER_TABLE
2281     , p8_a3 in out nocopy JTF_NUMBER_TABLE
2282     , p8_a4 in out nocopy JTF_NUMBER_TABLE
2283     , p8_a5 in out nocopy JTF_VARCHAR2_TABLE_100
2284     , p8_a6 in out nocopy JTF_VARCHAR2_TABLE_100
2285     , p8_a7 in out nocopy JTF_NUMBER_TABLE
2286     , p8_a8 in out nocopy JTF_NUMBER_TABLE
2287     , p8_a9 in out nocopy JTF_NUMBER_TABLE
2288     , p8_a10 in out nocopy JTF_NUMBER_TABLE
2289     , p8_a11 in out nocopy JTF_VARCHAR2_TABLE_100
2290   )
2291 
2292   as
2293     ddp_batch_rec fun_trx_pvt.batch_rec_type;
2294     ddp_trx_rec fun_trx_pvt.trx_rec_type;
2295     ddp_dist_lines_tbl fun_trx_pvt.dist_line_tbl_type;
2296     ddindx binary_integer; indx binary_integer;
2297   begin
2298 
2299     -- copy data to the local IN or IN-OUT args, if any
2300 
2301 
2302 
2303 
2304 
2305 
2306     ddp_batch_rec.batch_id := p6_a0;
2307     ddp_batch_rec.batch_number := p6_a1;
2308     ddp_batch_rec.initiator_id := p6_a2;
2309     ddp_batch_rec.from_le_id := p6_a3;
2310     ddp_batch_rec.from_ledger_id := p6_a4;
2311     ddp_batch_rec.control_total := p6_a5;
2312     ddp_batch_rec.currency_code := p6_a6;
2313     ddp_batch_rec.exchange_rate_type := p6_a7;
2314     ddp_batch_rec.status := p6_a8;
2315     ddp_batch_rec.description := p6_a9;
2316     ddp_batch_rec.trx_type_id := p6_a10;
2317     ddp_batch_rec.trx_type_code := p6_a11;
2318     ddp_batch_rec.gl_date := p6_a12;
2319     ddp_batch_rec.batch_date := p6_a13;
2320     ddp_batch_rec.reject_allowed := p6_a14;
2321     ddp_batch_rec.from_recurring_batch := p6_a15;
2322     ddp_batch_rec.automatic_proration_flag := p6_a16;
2323 
2324     ddp_trx_rec.trx_id := p7_a0;
2325     ddp_trx_rec.initiator_id := p7_a1;
2326     ddp_trx_rec.recipient_id := p7_a2;
2327     ddp_trx_rec.to_le_id := p7_a3;
2328     ddp_trx_rec.to_ledger_id := p7_a4;
2329     ddp_trx_rec.batch_id := p7_a5;
2330     ddp_trx_rec.status := p7_a6;
2331     ddp_trx_rec.init_amount_cr := p7_a7;
2332     ddp_trx_rec.init_amount_dr := p7_a8;
2333     ddp_trx_rec.reci_amount_cr := p7_a9;
2334     ddp_trx_rec.reci_amount_dr := p7_a10;
2335     ddp_trx_rec.ar_invoice_number := p7_a11;
2336     ddp_trx_rec.invoicing_rule := p7_a12;
2337     ddp_trx_rec.approver_id := p7_a13;
2338     ddp_trx_rec.approval_date := p7_a14;
2339     ddp_trx_rec.original_trx_id := p7_a15;
2340     ddp_trx_rec.reversed_trx_id := p7_a16;
2341     ddp_trx_rec.from_recurring_trx_id := p7_a17;
2342     ddp_trx_rec.initiator_instance := p7_a18;
2343     ddp_trx_rec.recipient_instance := p7_a19;
2344     ddp_trx_rec.automatic_proration_flag := p7_a20;
2345     ddp_trx_rec.trx_number := p7_a21;
2346 
2347     fun_trx_pvt_w.rosetta_table_copy_in_p9(ddp_dist_lines_tbl, p8_a0
2348       , p8_a1
2349       , p8_a2
2350       , p8_a3
2351       , p8_a4
2352       , p8_a5
2353       , p8_a6
2354       , p8_a7
2355       , p8_a8
2356       , p8_a9
2357       , p8_a10
2358       , p8_a11
2359       );
2360 
2361     -- here's the delegated call to the old PL/SQL routine
2362     fun_trx_pvt.ini_recipient_validate(p_api_version,
2363       p_init_msg_list,
2364       p_validation_level,
2365       x_return_status,
2366       x_msg_count,
2367       x_msg_data,
2368       ddp_batch_rec,
2369       ddp_trx_rec,
2370       ddp_dist_lines_tbl);
2371 
2372     -- copy data back from the local variables to OUT or IN-OUT args, if any
2373 
2374 
2375 
2376 
2377 
2378 
2379     p6_a0 := ddp_batch_rec.batch_id;
2380     p6_a1 := ddp_batch_rec.batch_number;
2381     p6_a2 := ddp_batch_rec.initiator_id;
2382     p6_a3 := ddp_batch_rec.from_le_id;
2383     p6_a4 := ddp_batch_rec.from_ledger_id;
2384     p6_a5 := ddp_batch_rec.control_total;
2385     p6_a6 := ddp_batch_rec.currency_code;
2386     p6_a7 := ddp_batch_rec.exchange_rate_type;
2387     p6_a8 := ddp_batch_rec.status;
2388     p6_a9 := ddp_batch_rec.description;
2389     p6_a10 := ddp_batch_rec.trx_type_id;
2390     p6_a11 := ddp_batch_rec.trx_type_code;
2391     p6_a12 := ddp_batch_rec.gl_date;
2392     p6_a13 := ddp_batch_rec.batch_date;
2393     p6_a14 := ddp_batch_rec.reject_allowed;
2394     p6_a15 := ddp_batch_rec.from_recurring_batch;
2395     p6_a16 := ddp_batch_rec.automatic_proration_flag;
2396 
2397     p7_a0 := ddp_trx_rec.trx_id;
2398     p7_a1 := ddp_trx_rec.initiator_id;
2399     p7_a2 := ddp_trx_rec.recipient_id;
2400     p7_a3 := ddp_trx_rec.to_le_id;
2401     p7_a4 := ddp_trx_rec.to_ledger_id;
2402     p7_a5 := ddp_trx_rec.batch_id;
2403     p7_a6 := ddp_trx_rec.status;
2404     p7_a7 := ddp_trx_rec.init_amount_cr;
2405     p7_a8 := ddp_trx_rec.init_amount_dr;
2406     p7_a9 := ddp_trx_rec.reci_amount_cr;
2407     p7_a10 := ddp_trx_rec.reci_amount_dr;
2408     p7_a11 := ddp_trx_rec.ar_invoice_number;
2409     p7_a12 := ddp_trx_rec.invoicing_rule;
2410     p7_a13 := ddp_trx_rec.approver_id;
2411     p7_a14 := ddp_trx_rec.approval_date;
2412     p7_a15 := ddp_trx_rec.original_trx_id;
2413     p7_a16 := ddp_trx_rec.reversed_trx_id;
2414     p7_a17 := ddp_trx_rec.from_recurring_trx_id;
2415     p7_a18 := ddp_trx_rec.initiator_instance;
2416     p7_a19 := ddp_trx_rec.recipient_instance;
2417     p7_a20 := ddp_trx_rec.automatic_proration_flag;
2418     p7_a21 := ddp_trx_rec.trx_number;
2419 
2420     fun_trx_pvt_w.rosetta_table_copy_out_p9(ddp_dist_lines_tbl, p8_a0
2421       , p8_a1
2422       , p8_a2
2423       , p8_a3
2424       , p8_a4
2425       , p8_a5
2426       , p8_a6
2427       , p8_a7
2428       , p8_a8
2429       , p8_a9
2430       , p8_a10
2431       , p8_a11
2432       );
2433   end;
2434 end fun_trx_pvt_w;