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