[Home] [Help]
PACKAGE BODY: APPS.OKL_PAY_INVOICES_MAN_PVT_W
Source
1 package body okl_pay_invoices_man_pvt_w as
2 /* $Header: OKLIPIMB.pls 115.2 2003/01/28 23:03:20 pjgomes noship $ */
3 rosetta_g_mistake_date date := to_date('01/01/+4713', 'MM/DD/SYYYY');
4 rosetta_g_miss_date date := to_date('01/01/-4712', 'MM/DD/SYYYY');
5
6 -- this is to workaround the JDBC bug regarding IN DATE of value GMiss
7 function rosetta_g_miss_date_in_map(d date) return date as
8 begin
9 if d = rosetta_g_mistake_date then return fnd_api.g_miss_date; end if;
10 return d;
11 end;
12
13 function rosetta_g_miss_num_map(n number) return number as
14 a number := fnd_api.g_miss_num;
15 b number := 0-1962.0724;
16 begin
17 if n=a then return b; end if;
18 if n=b then return a; end if;
19 return n;
20 end;
21
22 procedure rosetta_table_copy_in_p7(t out nocopy okl_pay_invoices_man_pvt.man_inv_tbl_type, a0 JTF_NUMBER_TABLE
23 , a1 JTF_NUMBER_TABLE
24 , a2 JTF_VARCHAR2_TABLE_100
25 , a3 JTF_NUMBER_TABLE
26 , a4 JTF_VARCHAR2_TABLE_100
27 , a5 JTF_DATE_TABLE
28 , a6 JTF_NUMBER_TABLE
29 , a7 JTF_VARCHAR2_TABLE_100
30 , a8 JTF_VARCHAR2_TABLE_100
31 , a9 JTF_VARCHAR2_TABLE_300
32 , a10 JTF_NUMBER_TABLE
33 , a11 JTF_NUMBER_TABLE
34 , a12 JTF_VARCHAR2_TABLE_100
35 , a13 JTF_VARCHAR2_TABLE_300
36 ) as
37 ddindx binary_integer; indx binary_integer;
38 begin
39 if a0 is not null and a0.count > 0 then
40 if a0.count > 0 then
41 indx := a0.first;
42 ddindx := 1;
43 while true loop
44 t(ddindx).ipvs_id := rosetta_g_miss_num_map(a0(indx));
45 t(ddindx).khr_id := rosetta_g_miss_num_map(a1(indx));
46 t(ddindx).currency := a2(indx);
47 t(ddindx).vendor_id := rosetta_g_miss_num_map(a3(indx));
48 t(ddindx).payment_method_code := a4(indx);
49 t(ddindx).invoice_date := rosetta_g_miss_date_in_map(a5(indx));
50 t(ddindx).pay_terms := rosetta_g_miss_num_map(a6(indx));
51 t(ddindx).invoice_number := a7(indx);
52 t(ddindx).invoice_category_code := a8(indx);
53 t(ddindx).invoice_type := a9(indx);
54 t(ddindx).amount := rosetta_g_miss_num_map(a10(indx));
55 t(ddindx).sty_id := rosetta_g_miss_num_map(a11(indx));
56 t(ddindx).pay_group_lookup_code := a12(indx);
57 t(ddindx).vendor_invoice_number := a13(indx);
58 ddindx := ddindx+1;
59 if a0.last =indx
60 then exit;
61 end if;
62 indx := a0.next(indx);
63 end loop;
64 end if;
65 end if;
66 end rosetta_table_copy_in_p7;
67 procedure rosetta_table_copy_out_p7(t okl_pay_invoices_man_pvt.man_inv_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
68 , a1 out nocopy JTF_NUMBER_TABLE
69 , a2 out nocopy JTF_VARCHAR2_TABLE_100
70 , a3 out nocopy JTF_NUMBER_TABLE
71 , a4 out nocopy JTF_VARCHAR2_TABLE_100
72 , a5 out nocopy JTF_DATE_TABLE
73 , a6 out nocopy JTF_NUMBER_TABLE
74 , a7 out nocopy JTF_VARCHAR2_TABLE_100
75 , a8 out nocopy JTF_VARCHAR2_TABLE_100
76 , a9 out nocopy JTF_VARCHAR2_TABLE_300
77 , a10 out nocopy JTF_NUMBER_TABLE
78 , a11 out nocopy JTF_NUMBER_TABLE
79 , a12 out nocopy JTF_VARCHAR2_TABLE_100
80 , a13 out nocopy JTF_VARCHAR2_TABLE_300
81 ) as
82 ddindx binary_integer; indx binary_integer;
83 begin
84 if t is null or t.count = 0 then
85 a0 := JTF_NUMBER_TABLE();
86 a1 := JTF_NUMBER_TABLE();
87 a2 := JTF_VARCHAR2_TABLE_100();
88 a3 := JTF_NUMBER_TABLE();
89 a4 := JTF_VARCHAR2_TABLE_100();
90 a5 := JTF_DATE_TABLE();
91 a6 := JTF_NUMBER_TABLE();
92 a7 := JTF_VARCHAR2_TABLE_100();
93 a8 := JTF_VARCHAR2_TABLE_100();
94 a9 := JTF_VARCHAR2_TABLE_300();
95 a10 := JTF_NUMBER_TABLE();
96 a11 := JTF_NUMBER_TABLE();
97 a12 := JTF_VARCHAR2_TABLE_100();
98 a13 := JTF_VARCHAR2_TABLE_300();
99 else
100 a0 := JTF_NUMBER_TABLE();
101 a1 := JTF_NUMBER_TABLE();
102 a2 := JTF_VARCHAR2_TABLE_100();
103 a3 := JTF_NUMBER_TABLE();
104 a4 := JTF_VARCHAR2_TABLE_100();
105 a5 := JTF_DATE_TABLE();
106 a6 := JTF_NUMBER_TABLE();
107 a7 := JTF_VARCHAR2_TABLE_100();
108 a8 := JTF_VARCHAR2_TABLE_100();
109 a9 := JTF_VARCHAR2_TABLE_300();
110 a10 := JTF_NUMBER_TABLE();
111 a11 := JTF_NUMBER_TABLE();
112 a12 := JTF_VARCHAR2_TABLE_100();
113 a13 := JTF_VARCHAR2_TABLE_300();
114 if t.count > 0 then
115 a0.extend(t.count);
116 a1.extend(t.count);
117 a2.extend(t.count);
118 a3.extend(t.count);
119 a4.extend(t.count);
120 a5.extend(t.count);
121 a6.extend(t.count);
122 a7.extend(t.count);
123 a8.extend(t.count);
124 a9.extend(t.count);
125 a10.extend(t.count);
126 a11.extend(t.count);
127 a12.extend(t.count);
128 a13.extend(t.count);
129 ddindx := t.first;
130 indx := 1;
131 while true loop
132 a0(indx) := rosetta_g_miss_num_map(t(ddindx).ipvs_id);
133 a1(indx) := rosetta_g_miss_num_map(t(ddindx).khr_id);
134 a2(indx) := t(ddindx).currency;
135 a3(indx) := rosetta_g_miss_num_map(t(ddindx).vendor_id);
136 a4(indx) := t(ddindx).payment_method_code;
137 a5(indx) := t(ddindx).invoice_date;
138 a6(indx) := rosetta_g_miss_num_map(t(ddindx).pay_terms);
139 a7(indx) := t(ddindx).invoice_number;
140 a8(indx) := t(ddindx).invoice_category_code;
141 a9(indx) := t(ddindx).invoice_type;
142 a10(indx) := rosetta_g_miss_num_map(t(ddindx).amount);
143 a11(indx) := rosetta_g_miss_num_map(t(ddindx).sty_id);
144 a12(indx) := t(ddindx).pay_group_lookup_code;
145 a13(indx) := t(ddindx).vendor_invoice_number;
146 indx := indx+1;
147 if t.last =ddindx
148 then exit;
149 end if;
150 ddindx := t.next(ddindx);
151 end loop;
152 end if;
153 end if;
154 end rosetta_table_copy_out_p7;
155
156 procedure manual_entry(p_api_version NUMBER
157 , p_init_msg_list VARCHAR2
158 , x_return_status out nocopy VARCHAR2
159 , x_msg_count out nocopy NUMBER
160 , x_msg_data out nocopy VARCHAR2
161 , p6_a0 out nocopy NUMBER
162 , p6_a1 out nocopy NUMBER
163 , p6_a2 out nocopy VARCHAR2
164 , p6_a3 out nocopy NUMBER
165 , p6_a4 out nocopy VARCHAR2
166 , p6_a5 out nocopy DATE
167 , p6_a6 out nocopy NUMBER
168 , p6_a7 out nocopy VARCHAR2
169 , p6_a8 out nocopy VARCHAR2
170 , p6_a9 out nocopy VARCHAR2
171 , p6_a10 out nocopy NUMBER
172 , p6_a11 out nocopy NUMBER
173 , p6_a12 out nocopy VARCHAR2
174 , p6_a13 out nocopy VARCHAR2
175 , p5_a0 NUMBER := 0-1962.0724
176 , p5_a1 NUMBER := 0-1962.0724
177 , p5_a2 VARCHAR2 := fnd_api.g_miss_char
178 , p5_a3 NUMBER := 0-1962.0724
179 , p5_a4 VARCHAR2 := fnd_api.g_miss_char
180 , p5_a5 DATE := fnd_api.g_miss_date
181 , p5_a6 NUMBER := 0-1962.0724
182 , p5_a7 VARCHAR2 := fnd_api.g_miss_char
183 , p5_a8 VARCHAR2 := fnd_api.g_miss_char
184 , p5_a9 VARCHAR2 := fnd_api.g_miss_char
185 , p5_a10 NUMBER := 0-1962.0724
186 , p5_a11 NUMBER := 0-1962.0724
187 , p5_a12 VARCHAR2 := fnd_api.g_miss_char
188 , p5_a13 VARCHAR2 := fnd_api.g_miss_char
189 )
190
191 as
192 ddp_man_inv_rec okl_pay_invoices_man_pvt.man_inv_rec_type;
193 ddx_man_inv_rec okl_pay_invoices_man_pvt.man_inv_rec_type;
194 ddindx binary_integer; indx binary_integer;
195 begin
196
197 -- copy data to the local IN or IN-OUT args, if any
198
199
200
201
202
203 ddp_man_inv_rec.ipvs_id := rosetta_g_miss_num_map(p5_a0);
204 ddp_man_inv_rec.khr_id := rosetta_g_miss_num_map(p5_a1);
205 ddp_man_inv_rec.currency := p5_a2;
206 ddp_man_inv_rec.vendor_id := rosetta_g_miss_num_map(p5_a3);
207 ddp_man_inv_rec.payment_method_code := p5_a4;
208 ddp_man_inv_rec.invoice_date := rosetta_g_miss_date_in_map(p5_a5);
209 ddp_man_inv_rec.pay_terms := rosetta_g_miss_num_map(p5_a6);
210 ddp_man_inv_rec.invoice_number := p5_a7;
211 ddp_man_inv_rec.invoice_category_code := p5_a8;
212 ddp_man_inv_rec.invoice_type := p5_a9;
213 ddp_man_inv_rec.amount := rosetta_g_miss_num_map(p5_a10);
214 ddp_man_inv_rec.sty_id := rosetta_g_miss_num_map(p5_a11);
215 ddp_man_inv_rec.pay_group_lookup_code := p5_a12;
216 ddp_man_inv_rec.vendor_invoice_number := p5_a13;
217
218
219 -- here's the delegated call to the old PL/SQL routine
220 okl_pay_invoices_man_pvt.manual_entry(p_api_version,
221 p_init_msg_list,
222 x_return_status,
223 x_msg_count,
224 x_msg_data,
225 ddp_man_inv_rec,
226 ddx_man_inv_rec);
227
228 -- copy data back from the local variables to OUT or IN-OUT args, if any
229
230
231
232
233
234
235 p6_a0 := rosetta_g_miss_num_map(ddx_man_inv_rec.ipvs_id);
236 p6_a1 := rosetta_g_miss_num_map(ddx_man_inv_rec.khr_id);
237 p6_a2 := ddx_man_inv_rec.currency;
238 p6_a3 := rosetta_g_miss_num_map(ddx_man_inv_rec.vendor_id);
239 p6_a4 := ddx_man_inv_rec.payment_method_code;
240 p6_a5 := ddx_man_inv_rec.invoice_date;
241 p6_a6 := rosetta_g_miss_num_map(ddx_man_inv_rec.pay_terms);
242 p6_a7 := ddx_man_inv_rec.invoice_number;
243 p6_a8 := ddx_man_inv_rec.invoice_category_code;
244 p6_a9 := ddx_man_inv_rec.invoice_type;
245 p6_a10 := rosetta_g_miss_num_map(ddx_man_inv_rec.amount);
246 p6_a11 := rosetta_g_miss_num_map(ddx_man_inv_rec.sty_id);
247 p6_a12 := ddx_man_inv_rec.pay_group_lookup_code;
248 p6_a13 := ddx_man_inv_rec.vendor_invoice_number;
249 end;
250
251 procedure manual_entry(p_api_version NUMBER
252 , p_init_msg_list VARCHAR2
253 , x_return_status out nocopy VARCHAR2
254 , x_msg_count out nocopy NUMBER
255 , x_msg_data out nocopy VARCHAR2
256 , p5_a0 JTF_NUMBER_TABLE
257 , p5_a1 JTF_NUMBER_TABLE
258 , p5_a2 JTF_VARCHAR2_TABLE_100
259 , p5_a3 JTF_NUMBER_TABLE
260 , p5_a4 JTF_VARCHAR2_TABLE_100
261 , p5_a5 JTF_DATE_TABLE
262 , p5_a6 JTF_NUMBER_TABLE
263 , p5_a7 JTF_VARCHAR2_TABLE_100
264 , p5_a8 JTF_VARCHAR2_TABLE_100
265 , p5_a9 JTF_VARCHAR2_TABLE_300
266 , p5_a10 JTF_NUMBER_TABLE
267 , p5_a11 JTF_NUMBER_TABLE
268 , p5_a12 JTF_VARCHAR2_TABLE_100
269 , p5_a13 JTF_VARCHAR2_TABLE_300
270 , p6_a0 out nocopy JTF_NUMBER_TABLE
271 , p6_a1 out nocopy JTF_NUMBER_TABLE
272 , p6_a2 out nocopy JTF_VARCHAR2_TABLE_100
273 , p6_a3 out nocopy JTF_NUMBER_TABLE
274 , p6_a4 out nocopy JTF_VARCHAR2_TABLE_100
275 , p6_a5 out nocopy JTF_DATE_TABLE
276 , p6_a6 out nocopy JTF_NUMBER_TABLE
277 , p6_a7 out nocopy JTF_VARCHAR2_TABLE_100
278 , p6_a8 out nocopy JTF_VARCHAR2_TABLE_100
279 , p6_a9 out nocopy JTF_VARCHAR2_TABLE_300
280 , p6_a10 out nocopy JTF_NUMBER_TABLE
281 , p6_a11 out nocopy JTF_NUMBER_TABLE
282 , p6_a12 out nocopy JTF_VARCHAR2_TABLE_100
283 , p6_a13 out nocopy JTF_VARCHAR2_TABLE_300
284 )
285
286 as
287 ddp_man_inv_tbl okl_pay_invoices_man_pvt.man_inv_tbl_type;
288 ddx_man_inv_tbl okl_pay_invoices_man_pvt.man_inv_tbl_type;
289 ddindx binary_integer; indx binary_integer;
290 begin
291
292 -- copy data to the local IN or IN-OUT args, if any
293
294
295
296
297
298 okl_pay_invoices_man_pvt_w.rosetta_table_copy_in_p7(ddp_man_inv_tbl, p5_a0
299 , p5_a1
300 , p5_a2
301 , p5_a3
302 , p5_a4
303 , p5_a5
304 , p5_a6
305 , p5_a7
306 , p5_a8
307 , p5_a9
308 , p5_a10
309 , p5_a11
310 , p5_a12
311 , p5_a13
312 );
313
314
315 -- here's the delegated call to the old PL/SQL routine
316 okl_pay_invoices_man_pvt.manual_entry(p_api_version,
317 p_init_msg_list,
318 x_return_status,
319 x_msg_count,
320 x_msg_data,
321 ddp_man_inv_tbl,
322 ddx_man_inv_tbl);
323
324 -- copy data back from the local variables to OUT or IN-OUT args, if any
325
326
327
328
329
330
331 okl_pay_invoices_man_pvt_w.rosetta_table_copy_out_p7(ddx_man_inv_tbl, p6_a0
332 , p6_a1
333 , p6_a2
334 , p6_a3
335 , p6_a4
336 , p6_a5
337 , p6_a6
338 , p6_a7
339 , p6_a8
340 , p6_a9
341 , p6_a10
342 , p6_a11
343 , p6_a12
344 , p6_a13
345 );
346 end;
347
348 end okl_pay_invoices_man_pvt_w;