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