[Home] [Help]
PACKAGE BODY: APPS.PV_ORDER_MGMT_PVT_W
Source
1 package body pv_order_mgmt_pvt_w as
2 /* $Header: pvxwpomb.pls 120.5 2005/12/14 12:24 dgottlie ship $ */
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 procedure rosetta_table_copy_in_p2(t out nocopy pv_order_mgmt_pvt.payment_info_tbl_type, a0 JTF_NUMBER_TABLE
14 , a1 JTF_NUMBER_TABLE
15 , a2 JTF_NUMBER_TABLE
16 , a3 JTF_NUMBER_TABLE
17 , a4 JTF_NUMBER_TABLE
18 , a5 JTF_NUMBER_TABLE
19 , a6 JTF_VARCHAR2_TABLE_100
20 ) as
21 ddindx binary_integer; indx binary_integer;
22 begin
23 if a0 is not null and a0.count > 0 then
24 if a0.count > 0 then
25 indx := a0.first;
26 ddindx := 1;
27 while true loop
28 t(ddindx).enrl_req_id := a0(indx);
29 t(ddindx).order_header_id := a1(indx);
30 t(ddindx).trxn_extension_id := a2(indx);
31 t(ddindx).invite_header_id := a3(indx);
32 t(ddindx).object_version_number := a4(indx);
33 t(ddindx).payment_amount := a5(indx);
34 t(ddindx).currency := a6(indx);
35 ddindx := ddindx+1;
36 if a0.last =indx
37 then exit;
38 end if;
39 indx := a0.next(indx);
40 end loop;
41 end if;
42 end if;
43 end rosetta_table_copy_in_p2;
44 procedure rosetta_table_copy_out_p2(t pv_order_mgmt_pvt.payment_info_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
45 , a1 out nocopy JTF_NUMBER_TABLE
46 , a2 out nocopy JTF_NUMBER_TABLE
47 , a3 out nocopy JTF_NUMBER_TABLE
48 , a4 out nocopy JTF_NUMBER_TABLE
49 , a5 out nocopy JTF_NUMBER_TABLE
50 , a6 out nocopy JTF_VARCHAR2_TABLE_100
51 ) as
52 ddindx binary_integer; indx binary_integer;
53 begin
54 if t is null or t.count = 0 then
55 a0 := JTF_NUMBER_TABLE();
56 a1 := JTF_NUMBER_TABLE();
57 a2 := JTF_NUMBER_TABLE();
58 a3 := JTF_NUMBER_TABLE();
59 a4 := JTF_NUMBER_TABLE();
60 a5 := JTF_NUMBER_TABLE();
61 a6 := JTF_VARCHAR2_TABLE_100();
62 else
63 a0 := JTF_NUMBER_TABLE();
64 a1 := JTF_NUMBER_TABLE();
65 a2 := JTF_NUMBER_TABLE();
66 a3 := JTF_NUMBER_TABLE();
67 a4 := JTF_NUMBER_TABLE();
68 a5 := JTF_NUMBER_TABLE();
69 a6 := JTF_VARCHAR2_TABLE_100();
70 if t.count > 0 then
71 a0.extend(t.count);
72 a1.extend(t.count);
73 a2.extend(t.count);
74 a3.extend(t.count);
75 a4.extend(t.count);
76 a5.extend(t.count);
77 a6.extend(t.count);
78 ddindx := t.first;
79 indx := 1;
80 while true loop
81 a0(indx) := t(ddindx).enrl_req_id;
82 a1(indx) := t(ddindx).order_header_id;
83 a2(indx) := t(ddindx).trxn_extension_id;
84 a3(indx) := t(ddindx).invite_header_id;
85 a4(indx) := t(ddindx).object_version_number;
86 a5(indx) := t(ddindx).payment_amount;
87 a6(indx) := t(ddindx).currency;
88 indx := indx+1;
89 if t.last =ddindx
90 then exit;
91 end if;
92 ddindx := t.next(ddindx);
93 end loop;
94 end if;
95 end if;
96 end rosetta_table_copy_out_p2;
97
98 procedure rosetta_table_copy_in_p4(t out nocopy pv_order_mgmt_pvt.order_tbl_type, a0 JTF_NUMBER_TABLE
99 , a1 JTF_NUMBER_TABLE
100 , a2 JTF_NUMBER_TABLE
101 , a3 JTF_NUMBER_TABLE
102 ) as
103 ddindx binary_integer; indx binary_integer;
104 begin
105 if a0 is not null and a0.count > 0 then
106 if a0.count > 0 then
107 indx := a0.first;
108 ddindx := 1;
109 while true loop
110 t(ddindx).inventory_item_id := a0(indx);
111 t(ddindx).order_header_id := a1(indx);
112 t(ddindx).enrl_request_id := a2(indx);
113 t(ddindx).invite_header_id := a3(indx);
114 ddindx := ddindx+1;
115 if a0.last =indx
116 then exit;
117 end if;
118 indx := a0.next(indx);
119 end loop;
120 end if;
121 end if;
122 end rosetta_table_copy_in_p4;
123 procedure rosetta_table_copy_out_p4(t pv_order_mgmt_pvt.order_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
124 , a1 out nocopy JTF_NUMBER_TABLE
125 , a2 out nocopy JTF_NUMBER_TABLE
126 , a3 out nocopy JTF_NUMBER_TABLE
127 ) as
128 ddindx binary_integer; indx binary_integer;
129 begin
130 if t is null or t.count = 0 then
131 a0 := JTF_NUMBER_TABLE();
132 a1 := JTF_NUMBER_TABLE();
133 a2 := JTF_NUMBER_TABLE();
134 a3 := JTF_NUMBER_TABLE();
135 else
136 a0 := JTF_NUMBER_TABLE();
137 a1 := JTF_NUMBER_TABLE();
138 a2 := JTF_NUMBER_TABLE();
139 a3 := JTF_NUMBER_TABLE();
140 if t.count > 0 then
141 a0.extend(t.count);
142 a1.extend(t.count);
143 a2.extend(t.count);
144 a3.extend(t.count);
145 ddindx := t.first;
146 indx := 1;
147 while true loop
148 a0(indx) := t(ddindx).inventory_item_id;
149 a1(indx) := t(ddindx).order_header_id;
150 a2(indx) := t(ddindx).enrl_request_id;
151 a3(indx) := t(ddindx).invite_header_id;
152 indx := indx+1;
153 if t.last =ddindx
154 then exit;
155 end if;
156 ddindx := t.next(ddindx);
157 end loop;
158 end if;
159 end if;
160 end rosetta_table_copy_out_p4;
161
162 procedure set_enrq_payment_info(p_api_version_number NUMBER
163 , p_init_msg_list VARCHAR2
164 , p_commit VARCHAR2
165 , p_contact_party_id NUMBER
166 , p4_a0 VARCHAR2
167 , p4_a1 VARCHAR2
168 , p4_a2 VARCHAR2
169 , p4_a3 VARCHAR2
170 , p4_a4 VARCHAR2
171 , p4_a5 NUMBER
172 , p4_a6 NUMBER
173 , p4_a7 VARCHAR2
174 , p4_a8 NUMBER
175 , p4_a9 VARCHAR2
176 , p4_a10 NUMBER
177 , p5_a0 JTF_NUMBER_TABLE
178 , p5_a1 JTF_NUMBER_TABLE
179 , p5_a2 JTF_NUMBER_TABLE
180 , p5_a3 JTF_NUMBER_TABLE
181 , p5_a4 JTF_NUMBER_TABLE
182 , p5_a5 JTF_NUMBER_TABLE
183 , p5_a6 JTF_VARCHAR2_TABLE_100
184 , x_return_status out nocopy VARCHAR2
185 , x_msg_count out nocopy NUMBER
186 , x_msg_data out nocopy VARCHAR2
187 , x_is_authorized out nocopy VARCHAR2
188 )
189
190 as
191 ddp_payment_method_rec pv_order_mgmt_pvt.payment_method_rec_type;
192 ddp_enrl_req_id pv_order_mgmt_pvt.payment_info_tbl_type;
193 ddindx binary_integer; indx binary_integer;
194 begin
195
196 -- copy data to the local IN or IN-OUT args, if any
197
198
199
200
201 ddp_payment_method_rec.payment_type_code := p4_a0;
202 ddp_payment_method_rec.check_number := p4_a1;
203 ddp_payment_method_rec.credit_card_code := p4_a2;
204 ddp_payment_method_rec.credit_card_holder_name := p4_a3;
205 ddp_payment_method_rec.credit_card_number := p4_a4;
206 ddp_payment_method_rec.credit_card_exp_month := p4_a5;
207 ddp_payment_method_rec.credit_card_exp_year := p4_a6;
208 ddp_payment_method_rec.cust_po_number := p4_a7;
209 ddp_payment_method_rec.instr_assignment_id := p4_a8;
210 ddp_payment_method_rec.instrument_security_code := p4_a9;
211 ddp_payment_method_rec.cc_stmt_party_site_id := p4_a10;
212
213 pv_order_mgmt_pvt_w.rosetta_table_copy_in_p2(ddp_enrl_req_id, p5_a0
214 , p5_a1
215 , p5_a2
216 , p5_a3
217 , p5_a4
218 , p5_a5
219 , p5_a6
220 );
221
222
223
224
225
226 -- here's the delegated call to the old PL/SQL routine
227 pv_order_mgmt_pvt.set_enrq_payment_info(p_api_version_number,
228 p_init_msg_list,
229 p_commit,
230 p_contact_party_id,
231 ddp_payment_method_rec,
232 ddp_enrl_req_id,
233 x_return_status,
234 x_msg_count,
235 x_msg_data,
236 x_is_authorized);
237
238 -- copy data back from the local variables to OUT or IN-OUT args, if any
239
240
241
242
243
244
245
246
247
248 end;
249
250 procedure set_vad_payment_info(p_api_version_number NUMBER
251 , p_init_msg_list VARCHAR2
252 , p_commit VARCHAR2
253 , p_contact_party_id NUMBER
254 , p4_a0 VARCHAR2
255 , p4_a1 VARCHAR2
256 , p4_a2 VARCHAR2
257 , p4_a3 VARCHAR2
258 , p4_a4 VARCHAR2
259 , p4_a5 NUMBER
260 , p4_a6 NUMBER
261 , p4_a7 VARCHAR2
262 , p4_a8 NUMBER
263 , p4_a9 VARCHAR2
264 , p4_a10 NUMBER
265 , p5_a0 JTF_NUMBER_TABLE
266 , p5_a1 JTF_NUMBER_TABLE
267 , p5_a2 JTF_NUMBER_TABLE
268 , p5_a3 JTF_NUMBER_TABLE
269 , p5_a4 JTF_NUMBER_TABLE
270 , p5_a5 JTF_NUMBER_TABLE
271 , p5_a6 JTF_VARCHAR2_TABLE_100
272 , x_return_status out nocopy VARCHAR2
273 , x_msg_count out nocopy NUMBER
274 , x_msg_data out nocopy VARCHAR2
275 )
276
277 as
278 ddp_payment_method_rec pv_order_mgmt_pvt.payment_method_rec_type;
279 ddp_order_header_id pv_order_mgmt_pvt.payment_info_tbl_type;
280 ddindx binary_integer; indx binary_integer;
281 begin
282
283 -- copy data to the local IN or IN-OUT args, if any
284
285
286
287
288 ddp_payment_method_rec.payment_type_code := p4_a0;
289 ddp_payment_method_rec.check_number := p4_a1;
290 ddp_payment_method_rec.credit_card_code := p4_a2;
291 ddp_payment_method_rec.credit_card_holder_name := p4_a3;
292 ddp_payment_method_rec.credit_card_number := p4_a4;
293 ddp_payment_method_rec.credit_card_exp_month := p4_a5;
294 ddp_payment_method_rec.credit_card_exp_year := p4_a6;
295 ddp_payment_method_rec.cust_po_number := p4_a7;
296 ddp_payment_method_rec.instr_assignment_id := p4_a8;
297 ddp_payment_method_rec.instrument_security_code := p4_a9;
298 ddp_payment_method_rec.cc_stmt_party_site_id := p4_a10;
299
300 pv_order_mgmt_pvt_w.rosetta_table_copy_in_p2(ddp_order_header_id, p5_a0
301 , p5_a1
302 , p5_a2
303 , p5_a3
304 , p5_a4
305 , p5_a5
306 , p5_a6
307 );
308
309
310
311
312 -- here's the delegated call to the old PL/SQL routine
313 pv_order_mgmt_pvt.set_vad_payment_info(p_api_version_number,
314 p_init_msg_list,
315 p_commit,
316 p_contact_party_id,
317 ddp_payment_method_rec,
318 ddp_order_header_id,
319 x_return_status,
320 x_msg_count,
321 x_msg_data);
322
323 -- copy data back from the local variables to OUT or IN-OUT args, if any
324
325
326
327
328
329
330
331
332 end;
333
334 end pv_order_mgmt_pvt_w;