DBA Data[Home] [Help]

PACKAGE BODY: APPS.IBY_DBCCARD_PVT_W

Source


1 package body iby_dbccard_pvt_w as
2   /* $Header: ibyrdmnb.pls 115.1 2002/11/20 01:21:04 jleybovi noship $ */
3   rosetta_g_mistake_date date := to_date('01/01/+4713', 'MM/DD/SYYYY');
4   rosetta_g_miss_date date := to_date('01/01/-4712', 'MM/DD/SYYYY');
5 
6   function rosetta_g_miss_num_map(n number) return number as
7     a number := fnd_api.g_miss_num;
8     b number := 0-1962.0724;
9   begin
10     if n=a then return b; end if;
11     if n=b then return a; end if;
12     return n;
13   end;
14 
15   -- this is to workaround the JDBC bug regarding IN DATE of value GMiss
16   function rosetta_g_miss_date_in_map(d date) return date as
17   begin
18     if d = rosetta_g_mistake_date then return fnd_api.g_miss_date; end if;
19     return d;
20   end;
21 
22   procedure rosetta_table_copy_in_p13(t out nocopy iby_dbccard_pvt.summary_tbl_type, a0 JTF_NUMBER_TABLE
23     , a1 JTF_NUMBER_TABLE
24     , a2 JTF_NUMBER_TABLE
25     ) as
26     ddindx binary_integer; indx binary_integer;
27   begin
28   if a0 is not null and a0.count > 0 then
29       if a0.count > 0 then
30         indx := a0.first;
31         ddindx := 1;
32         while true loop
33           t(ddindx).columnid := rosetta_g_miss_num_map(a0(indx));
34           t(ddindx).totaltrxn := rosetta_g_miss_num_map(a1(indx));
35           t(ddindx).totalamt := rosetta_g_miss_num_map(a2(indx));
36           ddindx := ddindx+1;
37           if a0.last =indx
38             then exit;
39           end if;
40           indx := a0.next(indx);
41         end loop;
42       end if;
43    end if;
44   end rosetta_table_copy_in_p13;
45   procedure rosetta_table_copy_out_p13(t iby_dbccard_pvt.summary_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
46     , a1 out nocopy JTF_NUMBER_TABLE
47     , a2 out nocopy JTF_NUMBER_TABLE
48     ) as
49     ddindx binary_integer; indx binary_integer;
50   begin
51   if t is null or t.count = 0 then
52     a0 := JTF_NUMBER_TABLE();
53     a1 := JTF_NUMBER_TABLE();
54     a2 := JTF_NUMBER_TABLE();
55   else
56       a0 := JTF_NUMBER_TABLE();
57       a1 := JTF_NUMBER_TABLE();
58       a2 := JTF_NUMBER_TABLE();
59       if t.count > 0 then
60         a0.extend(t.count);
61         a1.extend(t.count);
62         a2.extend(t.count);
63         ddindx := t.first;
64         indx := 1;
65         while true loop
66           a0(indx) := rosetta_g_miss_num_map(t(ddindx).columnid);
67           a1(indx) := rosetta_g_miss_num_map(t(ddindx).totaltrxn);
68           a2(indx) := rosetta_g_miss_num_map(t(ddindx).totalamt);
69           indx := indx+1;
70           if t.last =ddindx
71             then exit;
72           end if;
73           ddindx := t.next(ddindx);
74         end loop;
75       end if;
76    end if;
77   end rosetta_table_copy_out_p13;
78 
79   procedure rosetta_table_copy_in_p14(t out nocopy iby_dbccard_pvt.trxnsum_tbl_type, a0 JTF_NUMBER_TABLE
80     , a1 JTF_NUMBER_TABLE
81     , a2 JTF_NUMBER_TABLE
82     , a3 JTF_NUMBER_TABLE
83     , a4 JTF_NUMBER_TABLE
84     ) as
85     ddindx binary_integer; indx binary_integer;
86   begin
87   if a0 is not null and a0.count > 0 then
88       if a0.count > 0 then
89         indx := a0.first;
90         ddindx := 1;
91         while true loop
92           t(ddindx).columnid := rosetta_g_miss_num_map(a0(indx));
93           t(ddindx).totalreq := rosetta_g_miss_num_map(a1(indx));
94           t(ddindx).totalsuc := rosetta_g_miss_num_map(a2(indx));
95           t(ddindx).totalfail := rosetta_g_miss_num_map(a3(indx));
96           t(ddindx).totalpend := rosetta_g_miss_num_map(a4(indx));
97           ddindx := ddindx+1;
98           if a0.last =indx
99             then exit;
100           end if;
101           indx := a0.next(indx);
102         end loop;
103       end if;
104    end if;
105   end rosetta_table_copy_in_p14;
106   procedure rosetta_table_copy_out_p14(t iby_dbccard_pvt.trxnsum_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
107     , a1 out nocopy JTF_NUMBER_TABLE
108     , a2 out nocopy JTF_NUMBER_TABLE
109     , a3 out nocopy JTF_NUMBER_TABLE
110     , a4 out nocopy JTF_NUMBER_TABLE
111     ) as
112     ddindx binary_integer; indx binary_integer;
113   begin
114   if t is null or t.count = 0 then
115     a0 := JTF_NUMBER_TABLE();
116     a1 := JTF_NUMBER_TABLE();
117     a2 := JTF_NUMBER_TABLE();
118     a3 := JTF_NUMBER_TABLE();
119     a4 := JTF_NUMBER_TABLE();
120   else
121       a0 := JTF_NUMBER_TABLE();
122       a1 := JTF_NUMBER_TABLE();
123       a2 := JTF_NUMBER_TABLE();
124       a3 := JTF_NUMBER_TABLE();
125       a4 := JTF_NUMBER_TABLE();
126       if t.count > 0 then
127         a0.extend(t.count);
128         a1.extend(t.count);
129         a2.extend(t.count);
130         a3.extend(t.count);
131         a4.extend(t.count);
132         ddindx := t.first;
133         indx := 1;
134         while true loop
135           a0(indx) := rosetta_g_miss_num_map(t(ddindx).columnid);
136           a1(indx) := rosetta_g_miss_num_map(t(ddindx).totalreq);
137           a2(indx) := rosetta_g_miss_num_map(t(ddindx).totalsuc);
138           a3(indx) := rosetta_g_miss_num_map(t(ddindx).totalfail);
139           a4(indx) := rosetta_g_miss_num_map(t(ddindx).totalpend);
140           indx := indx+1;
141           if t.last =ddindx
142             then exit;
143           end if;
144           ddindx := t.next(ddindx);
145         end loop;
146       end if;
147    end if;
148   end rosetta_table_copy_out_p14;
149 
150   procedure rosetta_table_copy_in_p15(t out nocopy iby_dbccard_pvt.trxnfail_tbl_type, a0 JTF_NUMBER_TABLE
151     , a1 JTF_NUMBER_TABLE
152     , a2 JTF_VARCHAR2_TABLE_100
153     , a3 JTF_NUMBER_TABLE
154     , a4 JTF_NUMBER_TABLE
155     ) as
156     ddindx binary_integer; indx binary_integer;
157   begin
158   if a0 is not null and a0.count > 0 then
159       if a0.count > 0 then
160         indx := a0.first;
161         ddindx := 1;
162         while true loop
163           t(ddindx).columnid := rosetta_g_miss_num_map(a0(indx));
164           t(ddindx).status := rosetta_g_miss_num_map(a1(indx));
165           t(ddindx).cause := a2(indx);
166           t(ddindx).totaltrxn := rosetta_g_miss_num_map(a3(indx));
167           t(ddindx).totalamt := rosetta_g_miss_num_map(a4(indx));
168           ddindx := ddindx+1;
169           if a0.last =indx
170             then exit;
171           end if;
172           indx := a0.next(indx);
173         end loop;
174       end if;
175    end if;
176   end rosetta_table_copy_in_p15;
177   procedure rosetta_table_copy_out_p15(t iby_dbccard_pvt.trxnfail_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
178     , a1 out nocopy JTF_NUMBER_TABLE
179     , a2 out nocopy JTF_VARCHAR2_TABLE_100
180     , a3 out nocopy JTF_NUMBER_TABLE
181     , a4 out nocopy JTF_NUMBER_TABLE
182     ) as
183     ddindx binary_integer; indx binary_integer;
184   begin
185   if t is null or t.count = 0 then
186     a0 := JTF_NUMBER_TABLE();
187     a1 := JTF_NUMBER_TABLE();
188     a2 := JTF_VARCHAR2_TABLE_100();
189     a3 := JTF_NUMBER_TABLE();
190     a4 := JTF_NUMBER_TABLE();
191   else
192       a0 := JTF_NUMBER_TABLE();
193       a1 := JTF_NUMBER_TABLE();
194       a2 := JTF_VARCHAR2_TABLE_100();
195       a3 := JTF_NUMBER_TABLE();
196       a4 := JTF_NUMBER_TABLE();
197       if t.count > 0 then
198         a0.extend(t.count);
199         a1.extend(t.count);
200         a2.extend(t.count);
201         a3.extend(t.count);
202         a4.extend(t.count);
203         ddindx := t.first;
204         indx := 1;
205         while true loop
206           a0(indx) := rosetta_g_miss_num_map(t(ddindx).columnid);
207           a1(indx) := rosetta_g_miss_num_map(t(ddindx).status);
208           a2(indx) := t(ddindx).cause;
209           a3(indx) := rosetta_g_miss_num_map(t(ddindx).totaltrxn);
210           a4(indx) := rosetta_g_miss_num_map(t(ddindx).totalamt);
211           indx := indx+1;
212           if t.last =ddindx
213             then exit;
214           end if;
215           ddindx := t.next(ddindx);
216         end loop;
217       end if;
218    end if;
219   end rosetta_table_copy_out_p15;
220 
221   procedure get_trxn_summary(payee_id  VARCHAR2
222     , period  VARCHAR2
223     , p2_a0 out nocopy JTF_NUMBER_TABLE
224     , p2_a1 out nocopy JTF_NUMBER_TABLE
225     , p2_a2 out nocopy JTF_NUMBER_TABLE
226     , p3_a0 out nocopy JTF_NUMBER_TABLE
227     , p3_a1 out nocopy JTF_NUMBER_TABLE
228     , p3_a2 out nocopy JTF_NUMBER_TABLE
229     , p3_a3 out nocopy JTF_NUMBER_TABLE
230     , p3_a4 out nocopy JTF_NUMBER_TABLE
231   )
232   as
233     ddsummary_tbl iby_dbccard_pvt.summary_tbl_type;
234     ddtrxnsum_tbl iby_dbccard_pvt.trxnsum_tbl_type;
235     ddindx binary_integer; indx binary_integer;
236   begin
237 
238     -- copy data to the local IN or IN-OUT args, if any
239 
240 
241 
242 
243     -- here's the delegated call to the old PL/SQL routine
244     iby_dbccard_pvt.get_trxn_summary(payee_id,
245       period,
246       ddsummary_tbl,
247       ddtrxnsum_tbl);
248 
249     -- copy data back from the local OUT or IN-OUT args, if any
250 
251 
252     iby_dbccard_pvt_w.rosetta_table_copy_out_p13(ddsummary_tbl, p2_a0
253       , p2_a1
254       , p2_a2
255       );
256 
257     iby_dbccard_pvt_w.rosetta_table_copy_out_p14(ddtrxnsum_tbl, p3_a0
258       , p3_a1
259       , p3_a2
260       , p3_a3
261       , p3_a4
262       );
263   end;
264 
265   procedure get_failure_summary(payee_id  VARCHAR2
266     , period  VARCHAR2
267     , p2_a0 out nocopy JTF_NUMBER_TABLE
268     , p2_a1 out nocopy JTF_NUMBER_TABLE
269     , p2_a2 out nocopy JTF_VARCHAR2_TABLE_100
270     , p2_a3 out nocopy JTF_NUMBER_TABLE
271     , p2_a4 out nocopy JTF_NUMBER_TABLE
272     , p3_a0 out nocopy JTF_NUMBER_TABLE
273     , p3_a1 out nocopy JTF_NUMBER_TABLE
274     , p3_a2 out nocopy JTF_VARCHAR2_TABLE_100
275     , p3_a3 out nocopy JTF_NUMBER_TABLE
276     , p3_a4 out nocopy JTF_NUMBER_TABLE
277   )
278   as
279     ddauthfail_tbl iby_dbccard_pvt.trxnfail_tbl_type;
280     ddsettfail_tbl iby_dbccard_pvt.trxnfail_tbl_type;
281     ddindx binary_integer; indx binary_integer;
282   begin
283 
284     -- copy data to the local IN or IN-OUT args, if any
285 
286 
287 
288 
289     -- here's the delegated call to the old PL/SQL routine
290     iby_dbccard_pvt.get_failure_summary(payee_id,
291       period,
292       ddauthfail_tbl,
293       ddsettfail_tbl);
294 
295     -- copy data back from the local OUT or IN-OUT args, if any
296 
297 
298     iby_dbccard_pvt_w.rosetta_table_copy_out_p15(ddauthfail_tbl, p2_a0
299       , p2_a1
300       , p2_a2
301       , p2_a3
302       , p2_a4
303       );
304 
305     iby_dbccard_pvt_w.rosetta_table_copy_out_p15(ddsettfail_tbl, p3_a0
306       , p3_a1
307       , p3_a2
308       , p3_a3
309       , p3_a4
310       );
311   end;
312 
313   procedure get_cardtype_summary(payee_id  VARCHAR2
314     , period  VARCHAR2
315     , p2_a0 out nocopy JTF_NUMBER_TABLE
316     , p2_a1 out nocopy JTF_NUMBER_TABLE
317     , p2_a2 out nocopy JTF_VARCHAR2_TABLE_100
318     , p2_a3 out nocopy JTF_NUMBER_TABLE
319     , p2_a4 out nocopy JTF_NUMBER_TABLE
320   )
321   as
322     ddcardtype_tbl iby_dbccard_pvt.trxnfail_tbl_type;
323     ddindx binary_integer; indx binary_integer;
324   begin
325 
326     -- copy data to the local IN or IN-OUT args, if any
327 
328 
329 
330     -- here's the delegated call to the old PL/SQL routine
331     iby_dbccard_pvt.get_cardtype_summary(payee_id,
332       period,
333       ddcardtype_tbl);
334 
335     -- copy data back from the local OUT or IN-OUT args, if any
336 
337 
338     iby_dbccard_pvt_w.rosetta_table_copy_out_p15(ddcardtype_tbl, p2_a0
339       , p2_a1
340       , p2_a2
341       , p2_a3
342       , p2_a4
343       );
344   end;
345 
346   procedure get_processor_summary(payee_id  VARCHAR2
347     , period  VARCHAR2
348     , p2_a0 out nocopy JTF_NUMBER_TABLE
349     , p2_a1 out nocopy JTF_NUMBER_TABLE
350     , p2_a2 out nocopy JTF_VARCHAR2_TABLE_100
351     , p2_a3 out nocopy JTF_NUMBER_TABLE
352     , p2_a4 out nocopy JTF_NUMBER_TABLE
353   )
354   as
355     ddprocessor_tbl iby_dbccard_pvt.trxnfail_tbl_type;
356     ddindx binary_integer; indx binary_integer;
357   begin
358 
359     -- copy data to the local IN or IN-OUT args, if any
360 
361 
362 
363     -- here's the delegated call to the old PL/SQL routine
364     iby_dbccard_pvt.get_processor_summary(payee_id,
365       period,
366       ddprocessor_tbl);
367 
368     -- copy data back from the local OUT or IN-OUT args, if any
369 
370 
371     iby_dbccard_pvt_w.rosetta_table_copy_out_p15(ddprocessor_tbl, p2_a0
372       , p2_a1
373       , p2_a2
374       , p2_a3
375       , p2_a4
376       );
377   end;
378 
379 end iby_dbccard_pvt_w;