[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;