DBA Data[Home] [Help]

PACKAGE BODY: APPS.AMS_SCRIPTING_PUB_W

Source


1 package body ams_scripting_pub_w as
2   /* $Header: amswscrb.pls 115.4 2002/12/27 15:48:06 mayjain 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   procedure rosetta_table_copy_in_p2(t out nocopy ams_scripting_pub.ams_party_tbl_type, a0 JTF_VARCHAR2_TABLE_400
14     , a1 JTF_VARCHAR2_TABLE_100
15     , a2 JTF_VARCHAR2_TABLE_300
16     , a3 JTF_VARCHAR2_TABLE_300
17     , a4 JTF_VARCHAR2_TABLE_300
18     , a5 JTF_VARCHAR2_TABLE_300
19     , a6 JTF_VARCHAR2_TABLE_100
20     , a7 JTF_VARCHAR2_TABLE_100
21     , a8 JTF_VARCHAR2_TABLE_100
22     , a9 JTF_VARCHAR2_TABLE_100
23     , a10 JTF_VARCHAR2_TABLE_200
24     , a11 JTF_VARCHAR2_TABLE_100
25     , a12 JTF_VARCHAR2_TABLE_200
26     , a13 JTF_VARCHAR2_TABLE_2000
27     , a14 JTF_VARCHAR2_TABLE_100
28     , a15 JTF_VARCHAR2_TABLE_100
29     , a16 JTF_VARCHAR2_TABLE_100
30     , a17 JTF_VARCHAR2_TABLE_100
31     , a18 JTF_VARCHAR2_TABLE_100
32     , a19 JTF_VARCHAR2_TABLE_100
33     , a20 JTF_VARCHAR2_TABLE_100
34     , a21 JTF_VARCHAR2_TABLE_100
35     , a22 JTF_VARCHAR2_TABLE_100
36     , a23 JTF_VARCHAR2_TABLE_100
37     , a24 JTF_VARCHAR2_TABLE_100
38     , a25 JTF_VARCHAR2_TABLE_100
39     ) as
40     ddindx binary_integer; indx binary_integer;
41   begin
42   if a0 is not null and a0.count > 0 then
43       if a0.count > 0 then
44         indx := a0.first;
45         ddindx := 1;
46         while true loop
47           t(ddindx).organization := a0(indx);
48           t(ddindx).country := a1(indx);
49           t(ddindx).address1 := a2(indx);
50           t(ddindx).address2 := a3(indx);
51           t(ddindx).address3 := a4(indx);
52           t(ddindx).address4 := a5(indx);
53           t(ddindx).city := a6(indx);
54           t(ddindx).county := a7(indx);
55           t(ddindx).state := a8(indx);
56           t(ddindx).postal_code := a9(indx);
57           t(ddindx).firstname := a10(indx);
58           t(ddindx).middlename := a11(indx);
59           t(ddindx).lastname := a12(indx);
60           t(ddindx).email := a13(indx);
61           t(ddindx).dayareacode := a14(indx);
62           t(ddindx).daycountrycode := a15(indx);
63           t(ddindx).daynumber := a16(indx);
64           t(ddindx).dayextension := a17(indx);
65           t(ddindx).eveningareacode := a18(indx);
66           t(ddindx).eveningcountrycode := a19(indx);
67           t(ddindx).eveningnumber := a20(indx);
68           t(ddindx).eveningextension := a21(indx);
69           t(ddindx).faxareacode := a22(indx);
70           t(ddindx).faxcountrycode := a23(indx);
71           t(ddindx).faxnumber := a24(indx);
72           t(ddindx).faxextension := a25(indx);
73           ddindx := ddindx+1;
74           if a0.last =indx
75             then exit;
76           end if;
77           indx := a0.next(indx);
78         end loop;
79       end if;
80    end if;
81   end rosetta_table_copy_in_p2;
82   procedure rosetta_table_copy_out_p2(t ams_scripting_pub.ams_party_tbl_type, a0 out nocopy JTF_VARCHAR2_TABLE_400
83     , a1 out nocopy JTF_VARCHAR2_TABLE_100
84     , a2 out nocopy JTF_VARCHAR2_TABLE_300
85     , a3 out nocopy JTF_VARCHAR2_TABLE_300
86     , a4 out nocopy JTF_VARCHAR2_TABLE_300
87     , a5 out nocopy JTF_VARCHAR2_TABLE_300
88     , a6 out nocopy JTF_VARCHAR2_TABLE_100
89     , a7 out nocopy JTF_VARCHAR2_TABLE_100
90     , a8 out nocopy JTF_VARCHAR2_TABLE_100
91     , a9 out nocopy JTF_VARCHAR2_TABLE_100
92     , a10 out nocopy JTF_VARCHAR2_TABLE_200
93     , a11 out nocopy JTF_VARCHAR2_TABLE_100
94     , a12 out nocopy JTF_VARCHAR2_TABLE_200
95     , a13 out nocopy JTF_VARCHAR2_TABLE_2000
96     , a14 out nocopy JTF_VARCHAR2_TABLE_100
97     , a15 out nocopy JTF_VARCHAR2_TABLE_100
98     , a16 out nocopy JTF_VARCHAR2_TABLE_100
99     , a17 out nocopy JTF_VARCHAR2_TABLE_100
100     , a18 out nocopy JTF_VARCHAR2_TABLE_100
101     , a19 out nocopy JTF_VARCHAR2_TABLE_100
102     , a20 out nocopy JTF_VARCHAR2_TABLE_100
103     , a21 out nocopy JTF_VARCHAR2_TABLE_100
104     , a22 out nocopy JTF_VARCHAR2_TABLE_100
105     , a23 out nocopy JTF_VARCHAR2_TABLE_100
106     , a24 out nocopy JTF_VARCHAR2_TABLE_100
107     , a25 out nocopy JTF_VARCHAR2_TABLE_100
108     ) as
109     ddindx binary_integer; indx binary_integer;
110   begin
111   if t is null or t.count = 0 then
112     a0 := JTF_VARCHAR2_TABLE_400();
113     a1 := JTF_VARCHAR2_TABLE_100();
114     a2 := JTF_VARCHAR2_TABLE_300();
115     a3 := JTF_VARCHAR2_TABLE_300();
116     a4 := JTF_VARCHAR2_TABLE_300();
117     a5 := JTF_VARCHAR2_TABLE_300();
118     a6 := JTF_VARCHAR2_TABLE_100();
119     a7 := JTF_VARCHAR2_TABLE_100();
120     a8 := JTF_VARCHAR2_TABLE_100();
121     a9 := JTF_VARCHAR2_TABLE_100();
122     a10 := JTF_VARCHAR2_TABLE_200();
123     a11 := JTF_VARCHAR2_TABLE_100();
124     a12 := JTF_VARCHAR2_TABLE_200();
125     a13 := JTF_VARCHAR2_TABLE_2000();
126     a14 := JTF_VARCHAR2_TABLE_100();
127     a15 := JTF_VARCHAR2_TABLE_100();
128     a16 := JTF_VARCHAR2_TABLE_100();
129     a17 := JTF_VARCHAR2_TABLE_100();
130     a18 := JTF_VARCHAR2_TABLE_100();
131     a19 := JTF_VARCHAR2_TABLE_100();
132     a20 := JTF_VARCHAR2_TABLE_100();
133     a21 := JTF_VARCHAR2_TABLE_100();
134     a22 := JTF_VARCHAR2_TABLE_100();
135     a23 := JTF_VARCHAR2_TABLE_100();
136     a24 := JTF_VARCHAR2_TABLE_100();
137     a25 := JTF_VARCHAR2_TABLE_100();
138   else
139       a0 := JTF_VARCHAR2_TABLE_400();
140       a1 := JTF_VARCHAR2_TABLE_100();
141       a2 := JTF_VARCHAR2_TABLE_300();
142       a3 := JTF_VARCHAR2_TABLE_300();
143       a4 := JTF_VARCHAR2_TABLE_300();
144       a5 := JTF_VARCHAR2_TABLE_300();
145       a6 := JTF_VARCHAR2_TABLE_100();
146       a7 := JTF_VARCHAR2_TABLE_100();
147       a8 := JTF_VARCHAR2_TABLE_100();
148       a9 := JTF_VARCHAR2_TABLE_100();
149       a10 := JTF_VARCHAR2_TABLE_200();
150       a11 := JTF_VARCHAR2_TABLE_100();
151       a12 := JTF_VARCHAR2_TABLE_200();
152       a13 := JTF_VARCHAR2_TABLE_2000();
153       a14 := JTF_VARCHAR2_TABLE_100();
154       a15 := JTF_VARCHAR2_TABLE_100();
155       a16 := JTF_VARCHAR2_TABLE_100();
156       a17 := JTF_VARCHAR2_TABLE_100();
157       a18 := JTF_VARCHAR2_TABLE_100();
158       a19 := JTF_VARCHAR2_TABLE_100();
159       a20 := JTF_VARCHAR2_TABLE_100();
160       a21 := JTF_VARCHAR2_TABLE_100();
161       a22 := JTF_VARCHAR2_TABLE_100();
162       a23 := JTF_VARCHAR2_TABLE_100();
163       a24 := JTF_VARCHAR2_TABLE_100();
164       a25 := JTF_VARCHAR2_TABLE_100();
165       if t.count > 0 then
166         a0.extend(t.count);
167         a1.extend(t.count);
168         a2.extend(t.count);
169         a3.extend(t.count);
170         a4.extend(t.count);
171         a5.extend(t.count);
172         a6.extend(t.count);
173         a7.extend(t.count);
174         a8.extend(t.count);
175         a9.extend(t.count);
176         a10.extend(t.count);
177         a11.extend(t.count);
178         a12.extend(t.count);
179         a13.extend(t.count);
180         a14.extend(t.count);
181         a15.extend(t.count);
182         a16.extend(t.count);
183         a17.extend(t.count);
184         a18.extend(t.count);
185         a19.extend(t.count);
186         a20.extend(t.count);
187         a21.extend(t.count);
188         a22.extend(t.count);
189         a23.extend(t.count);
190         a24.extend(t.count);
191         a25.extend(t.count);
192         ddindx := t.first;
193         indx := 1;
194         while true loop
195           a0(indx) := t(ddindx).organization;
196           a1(indx) := t(ddindx).country;
197           a2(indx) := t(ddindx).address1;
198           a3(indx) := t(ddindx).address2;
199           a4(indx) := t(ddindx).address3;
200           a5(indx) := t(ddindx).address4;
201           a6(indx) := t(ddindx).city;
202           a7(indx) := t(ddindx).county;
203           a8(indx) := t(ddindx).state;
204           a9(indx) := t(ddindx).postal_code;
205           a10(indx) := t(ddindx).firstname;
206           a11(indx) := t(ddindx).middlename;
207           a12(indx) := t(ddindx).lastname;
208           a13(indx) := t(ddindx).email;
209           a14(indx) := t(ddindx).dayareacode;
210           a15(indx) := t(ddindx).daycountrycode;
211           a16(indx) := t(ddindx).daynumber;
212           a17(indx) := t(ddindx).dayextension;
213           a18(indx) := t(ddindx).eveningareacode;
214           a19(indx) := t(ddindx).eveningcountrycode;
215           a20(indx) := t(ddindx).eveningnumber;
216           a21(indx) := t(ddindx).eveningextension;
217           a22(indx) := t(ddindx).faxareacode;
218           a23(indx) := t(ddindx).faxcountrycode;
219           a24(indx) := t(ddindx).faxnumber;
220           a25(indx) := t(ddindx).faxextension;
221           indx := indx+1;
222           if t.last =ddindx
223             then exit;
224           end if;
225           ddindx := t.next(ddindx);
226         end loop;
227       end if;
228    end if;
229   end rosetta_table_copy_out_p2;
230 
231   procedure rosetta_table_copy_in_p6(t out nocopy ams_scripting_pub.ams_person_profile_tbl_type, a0 JTF_DATE_TABLE
232     , a1 JTF_VARCHAR2_TABLE_100
233     , a2 JTF_VARCHAR2_TABLE_100
234     , a3 JTF_VARCHAR2_TABLE_100
235     , a4 JTF_DATE_TABLE
236     , a5 JTF_NUMBER_TABLE
237     , a6 JTF_VARCHAR2_TABLE_100
238     , a7 JTF_NUMBER_TABLE
239     , a8 JTF_NUMBER_TABLE
240     , a9 JTF_VARCHAR2_TABLE_100
241     ) as
242     ddindx binary_integer; indx binary_integer;
243   begin
244   if a0 is not null and a0.count > 0 then
245       if a0.count > 0 then
246         indx := a0.first;
247         ddindx := 1;
248         while true loop
249           t(ddindx).date_of_birth := rosetta_g_miss_date_in_map(a0(indx));
250           t(ddindx).place_of_birth := a1(indx);
251           t(ddindx).gender := a2(indx);
252           t(ddindx).marital_status := a3(indx);
253           t(ddindx).marital_status_effective_date := rosetta_g_miss_date_in_map(a4(indx));
254           t(ddindx).personal_income := a5(indx);
255           t(ddindx).head_of_household_flag := a6(indx);
256           t(ddindx).household_income := a7(indx);
257           t(ddindx).household_size := a8(indx);
258           t(ddindx).rent_own_ind := a9(indx);
259           ddindx := ddindx+1;
260           if a0.last =indx
261             then exit;
262           end if;
263           indx := a0.next(indx);
264         end loop;
265       end if;
266    end if;
267   end rosetta_table_copy_in_p6;
268   procedure rosetta_table_copy_out_p6(t ams_scripting_pub.ams_person_profile_tbl_type, a0 out nocopy JTF_DATE_TABLE
269     , a1 out nocopy JTF_VARCHAR2_TABLE_100
270     , a2 out nocopy JTF_VARCHAR2_TABLE_100
271     , a3 out nocopy JTF_VARCHAR2_TABLE_100
272     , a4 out nocopy JTF_DATE_TABLE
273     , a5 out nocopy JTF_NUMBER_TABLE
274     , a6 out nocopy JTF_VARCHAR2_TABLE_100
275     , a7 out nocopy JTF_NUMBER_TABLE
276     , a8 out nocopy JTF_NUMBER_TABLE
277     , a9 out nocopy JTF_VARCHAR2_TABLE_100
278     ) as
279     ddindx binary_integer; indx binary_integer;
280   begin
281   if t is null or t.count = 0 then
282     a0 := JTF_DATE_TABLE();
283     a1 := JTF_VARCHAR2_TABLE_100();
284     a2 := JTF_VARCHAR2_TABLE_100();
285     a3 := JTF_VARCHAR2_TABLE_100();
286     a4 := JTF_DATE_TABLE();
287     a5 := JTF_NUMBER_TABLE();
288     a6 := JTF_VARCHAR2_TABLE_100();
289     a7 := JTF_NUMBER_TABLE();
290     a8 := JTF_NUMBER_TABLE();
291     a9 := JTF_VARCHAR2_TABLE_100();
292   else
293       a0 := JTF_DATE_TABLE();
294       a1 := JTF_VARCHAR2_TABLE_100();
295       a2 := JTF_VARCHAR2_TABLE_100();
296       a3 := JTF_VARCHAR2_TABLE_100();
297       a4 := JTF_DATE_TABLE();
298       a5 := JTF_NUMBER_TABLE();
299       a6 := JTF_VARCHAR2_TABLE_100();
300       a7 := JTF_NUMBER_TABLE();
301       a8 := JTF_NUMBER_TABLE();
302       a9 := JTF_VARCHAR2_TABLE_100();
303       if t.count > 0 then
304         a0.extend(t.count);
305         a1.extend(t.count);
306         a2.extend(t.count);
307         a3.extend(t.count);
308         a4.extend(t.count);
309         a5.extend(t.count);
310         a6.extend(t.count);
311         a7.extend(t.count);
312         a8.extend(t.count);
313         a9.extend(t.count);
314         ddindx := t.first;
315         indx := 1;
316         while true loop
317           a0(indx) := t(ddindx).date_of_birth;
318           a1(indx) := t(ddindx).place_of_birth;
319           a2(indx) := t(ddindx).gender;
320           a3(indx) := t(ddindx).marital_status;
321           a4(indx) := t(ddindx).marital_status_effective_date;
322           a5(indx) := t(ddindx).personal_income;
323           a6(indx) := t(ddindx).head_of_household_flag;
324           a7(indx) := t(ddindx).household_income;
325           a8(indx) := t(ddindx).household_size;
326           a9(indx) := t(ddindx).rent_own_ind;
327           indx := indx+1;
328           if t.last =ddindx
329             then exit;
330           end if;
331           ddindx := t.next(ddindx);
332         end loop;
333       end if;
334    end if;
335   end rosetta_table_copy_out_p6;
336 
337   procedure create_customer(p_api_version_number  NUMBER
338     , p_init_msg_list  VARCHAR2
339     , p_commit  VARCHAR2
340     , p_validation_level  NUMBER
341     , x_return_status out nocopy  VARCHAR2
342     , x_msg_count out nocopy  NUMBER
343     , x_msg_data out nocopy  VARCHAR2
344     , p_party_id in out nocopy  NUMBER
345     , p_b2b_flag  VARCHAR2
346     , p_import_list_header_id  NUMBER
347     , p10_a0  VARCHAR2
348     , p10_a1  VARCHAR2
349     , p10_a2  VARCHAR2
350     , p10_a3  VARCHAR2
351     , p10_a4  VARCHAR2
352     , p10_a5  VARCHAR2
353     , p10_a6  VARCHAR2
354     , p10_a7  VARCHAR2
355     , p10_a8  VARCHAR2
356     , p10_a9  VARCHAR2
357     , p10_a10  VARCHAR2
358     , p10_a11  VARCHAR2
359     , p10_a12  VARCHAR2
360     , p10_a13  VARCHAR2
361     , p10_a14  VARCHAR2
362     , p10_a15  VARCHAR2
363     , p10_a16  VARCHAR2
364     , p10_a17  VARCHAR2
365     , p10_a18  VARCHAR2
366     , p10_a19  VARCHAR2
367     , p10_a20  VARCHAR2
368     , p10_a21  VARCHAR2
369     , p10_a22  VARCHAR2
370     , p10_a23  VARCHAR2
371     , p10_a24  VARCHAR2
372     , p10_a25  VARCHAR2
373     , x_new_party out nocopy  VARCHAR2
374     , p_component_name out nocopy  VARCHAR2
375   )
376 
377   as
378     ddp_ams_party_rec ams_scripting_pub.ams_party_rec_type;
379     ddindx binary_integer; indx binary_integer;
380   begin
381 
382     -- copy data to the local IN or IN-OUT args, if any
383 
384 
385 
386 
387 
388 
389 
390 
391 
392 
393     ddp_ams_party_rec.organization := p10_a0;
394     ddp_ams_party_rec.country := p10_a1;
395     ddp_ams_party_rec.address1 := p10_a2;
396     ddp_ams_party_rec.address2 := p10_a3;
397     ddp_ams_party_rec.address3 := p10_a4;
398     ddp_ams_party_rec.address4 := p10_a5;
399     ddp_ams_party_rec.city := p10_a6;
400     ddp_ams_party_rec.county := p10_a7;
401     ddp_ams_party_rec.state := p10_a8;
402     ddp_ams_party_rec.postal_code := p10_a9;
403     ddp_ams_party_rec.firstname := p10_a10;
404     ddp_ams_party_rec.middlename := p10_a11;
405     ddp_ams_party_rec.lastname := p10_a12;
406     ddp_ams_party_rec.email := p10_a13;
407     ddp_ams_party_rec.dayareacode := p10_a14;
408     ddp_ams_party_rec.daycountrycode := p10_a15;
409     ddp_ams_party_rec.daynumber := p10_a16;
410     ddp_ams_party_rec.dayextension := p10_a17;
411     ddp_ams_party_rec.eveningareacode := p10_a18;
412     ddp_ams_party_rec.eveningcountrycode := p10_a19;
413     ddp_ams_party_rec.eveningnumber := p10_a20;
414     ddp_ams_party_rec.eveningextension := p10_a21;
415     ddp_ams_party_rec.faxareacode := p10_a22;
416     ddp_ams_party_rec.faxcountrycode := p10_a23;
417     ddp_ams_party_rec.faxnumber := p10_a24;
418     ddp_ams_party_rec.faxextension := p10_a25;
419 
420 
421 
422     -- here's the delegated call to the old PL/SQL routine
423     ams_scripting_pub.create_customer(p_api_version_number,
424       p_init_msg_list,
425       p_commit,
426       p_validation_level,
427       x_return_status,
428       x_msg_count,
429       x_msg_data,
430       p_party_id,
431       p_b2b_flag,
432       p_import_list_header_id,
433       ddp_ams_party_rec,
434       x_new_party,
435       p_component_name);
436 
437     -- copy data back from the local variables to OUT or IN-OUT args, if any
438 
439 
440 
441 
442 
443 
444 
445 
446 
447 
448 
449 
450   end;
451 
452   procedure update_person_profile(p_api_version_number  NUMBER
453     , p_init_msg_list  VARCHAR2
454     , p_commit  VARCHAR2
455     , p_validation_level  NUMBER
456     , x_return_status out nocopy  VARCHAR2
457     , x_msg_count out nocopy  NUMBER
458     , x_msg_data out nocopy  VARCHAR2
459     , p_party_id  NUMBER
460     , p_profile_id in out nocopy  NUMBER
461     , p9_a0  DATE
462     , p9_a1  VARCHAR2
463     , p9_a2  VARCHAR2
464     , p9_a3  VARCHAR2
465     , p9_a4  DATE
466     , p9_a5  NUMBER
467     , p9_a6  VARCHAR2
468     , p9_a7  NUMBER
469     , p9_a8  NUMBER
470     , p9_a9  VARCHAR2
471     , p_party_object_version_number in out nocopy  NUMBER
472   )
473 
474   as
475     ddp_person_profile_rec ams_scripting_pub.ams_person_profile_rec_type;
476     ddindx binary_integer; indx binary_integer;
477   begin
478 
479     -- copy data to the local IN or IN-OUT args, if any
480 
481 
482 
483 
484 
485 
486 
487 
488 
489     ddp_person_profile_rec.date_of_birth := rosetta_g_miss_date_in_map(p9_a0);
490     ddp_person_profile_rec.place_of_birth := p9_a1;
491     ddp_person_profile_rec.gender := p9_a2;
492     ddp_person_profile_rec.marital_status := p9_a3;
493     ddp_person_profile_rec.marital_status_effective_date := rosetta_g_miss_date_in_map(p9_a4);
494     ddp_person_profile_rec.personal_income := p9_a5;
495     ddp_person_profile_rec.head_of_household_flag := p9_a6;
496     ddp_person_profile_rec.household_income := p9_a7;
497     ddp_person_profile_rec.household_size := p9_a8;
498     ddp_person_profile_rec.rent_own_ind := p9_a9;
499 
500 
501     -- here's the delegated call to the old PL/SQL routine
502     ams_scripting_pub.update_person_profile(p_api_version_number,
503       p_init_msg_list,
504       p_commit,
505       p_validation_level,
506       x_return_status,
507       x_msg_count,
508       x_msg_data,
509       p_party_id,
510       p_profile_id,
511       ddp_person_profile_rec,
512       p_party_object_version_number);
513 
514     -- copy data back from the local variables to OUT or IN-OUT args, if any
515 
516 
517 
518 
519 
520 
521 
522 
523 
524 
525   end;
526 
527 end ams_scripting_pub_w;