[Home] [Help]
PACKAGE BODY: APPS.AMS_LIST_ASSOC_PVT_W
Source
1 package body ams_list_assoc_pvt_w as
2 /* $Header: amswascb.pls 115.8 2002/11/22 08:56:47 jieli 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 function rosetta_g_miss_num_map(n number) return number as
7 a number := fnd_api.g_miss_num;
8 b number := 0-1962.0724;
9 begin
10 if n=a then return b; end if;
11 if n=b then return a; end if;
12 return n;
13 end;
14
15 -- this is to workaround the JDBC bug regarding IN DATE of value GMiss
16 function rosetta_g_miss_date_in_map(d date) return date as
17 begin
18 if d = rosetta_g_mistake_date then return fnd_api.g_miss_date; end if;
19 return d;
20 end;
21
22 procedure rosetta_table_copy_in_p3(t OUT NOCOPY ams_list_assoc_pvt.list_assoc_tbl_type, a0 JTF_NUMBER_TABLE
23 , a1 JTF_NUMBER_TABLE
24 , a2 JTF_DATE_TABLE
25 , a3 JTF_NUMBER_TABLE
26 , a4 JTF_DATE_TABLE
27 , a5 JTF_NUMBER_TABLE
28 , a6 JTF_NUMBER_TABLE
29 , a7 JTF_NUMBER_TABLE
30 , a8 JTF_VARCHAR2_TABLE_100
31 , a9 JTF_NUMBER_TABLE
32 , a10 JTF_VARCHAR2_TABLE_100
33 , a11 JTF_NUMBER_TABLE
34 ) as
35 ddindx binary_integer; indx binary_integer;
36 begin
37 if a0 is not null and a0.count > 0 then
38 if a0.count > 0 then
39 indx := a0.first;
40 ddindx := 1;
41 while true loop
42 t(ddindx).list_cont_restrictions_id := rosetta_g_miss_num_map(a0(indx));
43 t(ddindx).list_header_id := rosetta_g_miss_num_map(a1(indx));
44 t(ddindx).last_update_date := rosetta_g_miss_date_in_map(a2(indx));
45 t(ddindx).last_updated_by := rosetta_g_miss_num_map(a3(indx));
46 t(ddindx).creation_date := rosetta_g_miss_date_in_map(a4(indx));
47 t(ddindx).created_by := rosetta_g_miss_num_map(a5(indx));
48 t(ddindx).last_update_login := rosetta_g_miss_num_map(a6(indx));
49 t(ddindx).object_version_number := rosetta_g_miss_num_map(a7(indx));
50 t(ddindx).do_not_contact_flag := a8(indx);
51 t(ddindx).media_id := rosetta_g_miss_num_map(a9(indx));
52 t(ddindx).list_used_by := a10(indx);
53 t(ddindx).list_used_by_id := rosetta_g_miss_num_map(a11(indx));
54 ddindx := ddindx+1;
55 if a0.last =indx
56 then exit;
57 end if;
58 indx := a0.next(indx);
59 end loop;
60 end if;
61 end if;
62 end rosetta_table_copy_in_p3;
63 procedure rosetta_table_copy_out_p3(t ams_list_assoc_pvt.list_assoc_tbl_type, a0 OUT NOCOPY JTF_NUMBER_TABLE
64 , a1 OUT NOCOPY JTF_NUMBER_TABLE
65 , a2 OUT NOCOPY JTF_DATE_TABLE
66 , a3 OUT NOCOPY JTF_NUMBER_TABLE
67 , a4 OUT NOCOPY JTF_DATE_TABLE
68 , a5 OUT NOCOPY JTF_NUMBER_TABLE
69 , a6 OUT NOCOPY JTF_NUMBER_TABLE
70 , a7 OUT NOCOPY JTF_NUMBER_TABLE
71 , a8 OUT NOCOPY JTF_VARCHAR2_TABLE_100
72 , a9 OUT NOCOPY JTF_NUMBER_TABLE
73 , a10 OUT NOCOPY JTF_VARCHAR2_TABLE_100
74 , a11 OUT NOCOPY JTF_NUMBER_TABLE
75 ) as
76 ddindx binary_integer; indx binary_integer;
77 begin
78 if t is null or t.count = 0 then
79 a0 := JTF_NUMBER_TABLE();
80 a1 := JTF_NUMBER_TABLE();
81 a2 := JTF_DATE_TABLE();
82 a3 := JTF_NUMBER_TABLE();
83 a4 := JTF_DATE_TABLE();
84 a5 := JTF_NUMBER_TABLE();
85 a6 := JTF_NUMBER_TABLE();
86 a7 := JTF_NUMBER_TABLE();
87 a8 := JTF_VARCHAR2_TABLE_100();
88 a9 := JTF_NUMBER_TABLE();
89 a10 := JTF_VARCHAR2_TABLE_100();
90 a11 := JTF_NUMBER_TABLE();
91 else
92 a0 := JTF_NUMBER_TABLE();
93 a1 := JTF_NUMBER_TABLE();
94 a2 := JTF_DATE_TABLE();
95 a3 := JTF_NUMBER_TABLE();
96 a4 := JTF_DATE_TABLE();
97 a5 := JTF_NUMBER_TABLE();
98 a6 := JTF_NUMBER_TABLE();
99 a7 := JTF_NUMBER_TABLE();
100 a8 := JTF_VARCHAR2_TABLE_100();
101 a9 := JTF_NUMBER_TABLE();
102 a10 := JTF_VARCHAR2_TABLE_100();
103 a11 := JTF_NUMBER_TABLE();
104 if t.count > 0 then
105 a0.extend(t.count);
106 a1.extend(t.count);
107 a2.extend(t.count);
108 a3.extend(t.count);
109 a4.extend(t.count);
110 a5.extend(t.count);
111 a6.extend(t.count);
112 a7.extend(t.count);
113 a8.extend(t.count);
114 a9.extend(t.count);
115 a10.extend(t.count);
116 a11.extend(t.count);
117 ddindx := t.first;
118 indx := 1;
119 while true loop
120 a0(indx) := rosetta_g_miss_num_map(t(ddindx).list_cont_restrictions_id);
121 a1(indx) := rosetta_g_miss_num_map(t(ddindx).list_header_id);
122 a2(indx) := t(ddindx).last_update_date;
123 a3(indx) := rosetta_g_miss_num_map(t(ddindx).last_updated_by);
124 a4(indx) := t(ddindx).creation_date;
125 a5(indx) := rosetta_g_miss_num_map(t(ddindx).created_by);
126 a6(indx) := rosetta_g_miss_num_map(t(ddindx).last_update_login);
127 a7(indx) := rosetta_g_miss_num_map(t(ddindx).object_version_number);
128 a8(indx) := t(ddindx).do_not_contact_flag;
129 a9(indx) := rosetta_g_miss_num_map(t(ddindx).media_id);
130 a10(indx) := t(ddindx).list_used_by;
131 a11(indx) := rosetta_g_miss_num_map(t(ddindx).list_used_by_id);
132 indx := indx+1;
133 if t.last =ddindx
134 then exit;
135 end if;
136 ddindx := t.next(ddindx);
137 end loop;
138 end if;
139 end if;
140 end rosetta_table_copy_out_p3;
141
142 procedure create_list_assoc(p_api_version_number NUMBER
143 , p_init_msg_list VARCHAR2
144 , p_commit VARCHAR2
145 , p_validation_level NUMBER
146 , x_return_status OUT NOCOPY VARCHAR2
147 , x_msg_count OUT NOCOPY NUMBER
148 , x_msg_data OUT NOCOPY VARCHAR2
149 , x_list_cont_restrictions_id OUT NOCOPY NUMBER
150 , p7_a0 NUMBER := 0-1962.0724
151 , p7_a1 NUMBER := 0-1962.0724
152 , p7_a2 DATE := fnd_api.g_miss_date
153 , p7_a3 NUMBER := 0-1962.0724
154 , p7_a4 DATE := fnd_api.g_miss_date
155 , p7_a5 NUMBER := 0-1962.0724
156 , p7_a6 NUMBER := 0-1962.0724
157 , p7_a7 NUMBER := 0-1962.0724
158 , p7_a8 VARCHAR2 := fnd_api.g_miss_char
159 , p7_a9 NUMBER := 0-1962.0724
160 , p7_a10 VARCHAR2 := fnd_api.g_miss_char
161 , p7_a11 NUMBER := 0-1962.0724
162 )
163 as
164 ddp_list_assoc_rec ams_list_assoc_pvt.list_assoc_rec_type;
165 ddindx binary_integer; indx binary_integer;
166 begin
167
168 -- copy data to the local IN or IN-OUT args, if any
169
170
171
172
173
174
175
176 ddp_list_assoc_rec.list_cont_restrictions_id := rosetta_g_miss_num_map(p7_a0);
177 ddp_list_assoc_rec.list_header_id := rosetta_g_miss_num_map(p7_a1);
178 ddp_list_assoc_rec.last_update_date := rosetta_g_miss_date_in_map(p7_a2);
179 ddp_list_assoc_rec.last_updated_by := rosetta_g_miss_num_map(p7_a3);
180 ddp_list_assoc_rec.creation_date := rosetta_g_miss_date_in_map(p7_a4);
181 ddp_list_assoc_rec.created_by := rosetta_g_miss_num_map(p7_a5);
182 ddp_list_assoc_rec.last_update_login := rosetta_g_miss_num_map(p7_a6);
183 ddp_list_assoc_rec.object_version_number := rosetta_g_miss_num_map(p7_a7);
184 ddp_list_assoc_rec.do_not_contact_flag := p7_a8;
185 ddp_list_assoc_rec.media_id := rosetta_g_miss_num_map(p7_a9);
186 ddp_list_assoc_rec.list_used_by := p7_a10;
187 ddp_list_assoc_rec.list_used_by_id := rosetta_g_miss_num_map(p7_a11);
188
189
190 -- here's the delegated call to the old PL/SQL routine
191 ams_list_assoc_pvt.create_list_assoc(p_api_version_number,
192 p_init_msg_list,
193 p_commit,
194 p_validation_level,
195 x_return_status,
196 x_msg_count,
197 x_msg_data,
198 ddp_list_assoc_rec,
199 x_list_cont_restrictions_id);
200
201 -- copy data back from the local OUT or IN-OUT args, if any
202
203
204
205
206
207
208
209
210 end;
211
212 procedure update_list_assoc(p_api_version_number NUMBER
213 , p_init_msg_list VARCHAR2
214 , p_commit VARCHAR2
215 , p_validation_level NUMBER
216 , x_return_status OUT NOCOPY VARCHAR2
217 , x_msg_count OUT NOCOPY NUMBER
218 , x_msg_data OUT NOCOPY VARCHAR2
219 , x_object_version_number OUT NOCOPY NUMBER
220 , p7_a0 NUMBER := 0-1962.0724
221 , p7_a1 NUMBER := 0-1962.0724
222 , p7_a2 DATE := fnd_api.g_miss_date
223 , p7_a3 NUMBER := 0-1962.0724
224 , p7_a4 DATE := fnd_api.g_miss_date
225 , p7_a5 NUMBER := 0-1962.0724
226 , p7_a6 NUMBER := 0-1962.0724
227 , p7_a7 NUMBER := 0-1962.0724
228 , p7_a8 VARCHAR2 := fnd_api.g_miss_char
229 , p7_a9 NUMBER := 0-1962.0724
230 , p7_a10 VARCHAR2 := fnd_api.g_miss_char
231 , p7_a11 NUMBER := 0-1962.0724
232 )
233 as
234 ddp_list_assoc_rec ams_list_assoc_pvt.list_assoc_rec_type;
235 ddindx binary_integer; indx binary_integer;
236 begin
237
238 -- copy data to the local IN or IN-OUT args, if any
239
240
241
242
243
244
245
246 ddp_list_assoc_rec.list_cont_restrictions_id := rosetta_g_miss_num_map(p7_a0);
247 ddp_list_assoc_rec.list_header_id := rosetta_g_miss_num_map(p7_a1);
248 ddp_list_assoc_rec.last_update_date := rosetta_g_miss_date_in_map(p7_a2);
249 ddp_list_assoc_rec.last_updated_by := rosetta_g_miss_num_map(p7_a3);
250 ddp_list_assoc_rec.creation_date := rosetta_g_miss_date_in_map(p7_a4);
251 ddp_list_assoc_rec.created_by := rosetta_g_miss_num_map(p7_a5);
252 ddp_list_assoc_rec.last_update_login := rosetta_g_miss_num_map(p7_a6);
253 ddp_list_assoc_rec.object_version_number := rosetta_g_miss_num_map(p7_a7);
254 ddp_list_assoc_rec.do_not_contact_flag := p7_a8;
255 ddp_list_assoc_rec.media_id := rosetta_g_miss_num_map(p7_a9);
256 ddp_list_assoc_rec.list_used_by := p7_a10;
257 ddp_list_assoc_rec.list_used_by_id := rosetta_g_miss_num_map(p7_a11);
258
259
260 -- here's the delegated call to the old PL/SQL routine
261 ams_list_assoc_pvt.update_list_assoc(p_api_version_number,
262 p_init_msg_list,
263 p_commit,
264 p_validation_level,
265 x_return_status,
266 x_msg_count,
267 x_msg_data,
268 ddp_list_assoc_rec,
269 x_object_version_number);
270
271 -- copy data back from the local OUT or IN-OUT args, if any
272
273
274
275
276
277
278
279
280 end;
281
282 procedure validate_list_assoc(p_api_version_number NUMBER
283 , p_init_msg_list VARCHAR2
284 , p_validation_level NUMBER
285 , x_return_status OUT NOCOPY VARCHAR2
286 , x_msg_count OUT NOCOPY NUMBER
287 , x_msg_data OUT NOCOPY VARCHAR2
288 , p3_a0 NUMBER := 0-1962.0724
289 , p3_a1 NUMBER := 0-1962.0724
290 , p3_a2 DATE := fnd_api.g_miss_date
291 , p3_a3 NUMBER := 0-1962.0724
292 , p3_a4 DATE := fnd_api.g_miss_date
293 , p3_a5 NUMBER := 0-1962.0724
294 , p3_a6 NUMBER := 0-1962.0724
295 , p3_a7 NUMBER := 0-1962.0724
296 , p3_a8 VARCHAR2 := fnd_api.g_miss_char
297 , p3_a9 NUMBER := 0-1962.0724
298 , p3_a10 VARCHAR2 := fnd_api.g_miss_char
299 , p3_a11 NUMBER := 0-1962.0724
300 )
301 as
302 ddp_list_assoc_rec ams_list_assoc_pvt.list_assoc_rec_type;
303 ddindx binary_integer; indx binary_integer;
304 begin
305
306 -- copy data to the local IN or IN-OUT args, if any
307
308
309
310 ddp_list_assoc_rec.list_cont_restrictions_id := rosetta_g_miss_num_map(p3_a0);
311 ddp_list_assoc_rec.list_header_id := rosetta_g_miss_num_map(p3_a1);
312 ddp_list_assoc_rec.last_update_date := rosetta_g_miss_date_in_map(p3_a2);
313 ddp_list_assoc_rec.last_updated_by := rosetta_g_miss_num_map(p3_a3);
314 ddp_list_assoc_rec.creation_date := rosetta_g_miss_date_in_map(p3_a4);
315 ddp_list_assoc_rec.created_by := rosetta_g_miss_num_map(p3_a5);
316 ddp_list_assoc_rec.last_update_login := rosetta_g_miss_num_map(p3_a6);
317 ddp_list_assoc_rec.object_version_number := rosetta_g_miss_num_map(p3_a7);
318 ddp_list_assoc_rec.do_not_contact_flag := p3_a8;
319 ddp_list_assoc_rec.media_id := rosetta_g_miss_num_map(p3_a9);
320 ddp_list_assoc_rec.list_used_by := p3_a10;
321 ddp_list_assoc_rec.list_used_by_id := rosetta_g_miss_num_map(p3_a11);
322
323
324
325
326 -- here's the delegated call to the old PL/SQL routine
327 ams_list_assoc_pvt.validate_list_assoc(p_api_version_number,
328 p_init_msg_list,
329 p_validation_level,
330 ddp_list_assoc_rec,
331 x_return_status,
332 x_msg_count,
333 x_msg_data);
334
335 -- copy data back from the local OUT or IN-OUT args, if any
336
337
338
339
340
341
342 end;
343
344 procedure check_list_assoc_items(p_validation_mode VARCHAR2
345 , x_return_status OUT NOCOPY VARCHAR2
346 , p0_a0 NUMBER := 0-1962.0724
347 , p0_a1 NUMBER := 0-1962.0724
348 , p0_a2 DATE := fnd_api.g_miss_date
349 , p0_a3 NUMBER := 0-1962.0724
350 , p0_a4 DATE := fnd_api.g_miss_date
351 , p0_a5 NUMBER := 0-1962.0724
352 , p0_a6 NUMBER := 0-1962.0724
353 , p0_a7 NUMBER := 0-1962.0724
354 , p0_a8 VARCHAR2 := fnd_api.g_miss_char
355 , p0_a9 NUMBER := 0-1962.0724
356 , p0_a10 VARCHAR2 := fnd_api.g_miss_char
357 , p0_a11 NUMBER := 0-1962.0724
358 )
359 as
360 ddp_list_assoc_rec ams_list_assoc_pvt.list_assoc_rec_type;
361 ddindx binary_integer; indx binary_integer;
362 begin
363
364 -- copy data to the local IN or IN-OUT args, if any
365 ddp_list_assoc_rec.list_cont_restrictions_id := rosetta_g_miss_num_map(p0_a0);
366 ddp_list_assoc_rec.list_header_id := rosetta_g_miss_num_map(p0_a1);
367 ddp_list_assoc_rec.last_update_date := rosetta_g_miss_date_in_map(p0_a2);
368 ddp_list_assoc_rec.last_updated_by := rosetta_g_miss_num_map(p0_a3);
369 ddp_list_assoc_rec.creation_date := rosetta_g_miss_date_in_map(p0_a4);
370 ddp_list_assoc_rec.created_by := rosetta_g_miss_num_map(p0_a5);
371 ddp_list_assoc_rec.last_update_login := rosetta_g_miss_num_map(p0_a6);
372 ddp_list_assoc_rec.object_version_number := rosetta_g_miss_num_map(p0_a7);
373 ddp_list_assoc_rec.do_not_contact_flag := p0_a8;
374 ddp_list_assoc_rec.media_id := rosetta_g_miss_num_map(p0_a9);
375 ddp_list_assoc_rec.list_used_by := p0_a10;
376 ddp_list_assoc_rec.list_used_by_id := rosetta_g_miss_num_map(p0_a11);
377
378
379
380 -- here's the delegated call to the old PL/SQL routine
381 ams_list_assoc_pvt.check_list_assoc_items(ddp_list_assoc_rec,
382 p_validation_mode,
383 x_return_status);
384
385 -- copy data back from the local OUT or IN-OUT args, if any
386
387
388 end;
389
390 procedure validate_list_assoc_rec(p_api_version_number NUMBER
391 , p_init_msg_list VARCHAR2
392 , x_return_status OUT NOCOPY VARCHAR2
393 , x_msg_count OUT NOCOPY NUMBER
394 , x_msg_data OUT NOCOPY VARCHAR2
395 , p5_a0 NUMBER := 0-1962.0724
396 , p5_a1 NUMBER := 0-1962.0724
397 , p5_a2 DATE := fnd_api.g_miss_date
398 , p5_a3 NUMBER := 0-1962.0724
399 , p5_a4 DATE := fnd_api.g_miss_date
400 , p5_a5 NUMBER := 0-1962.0724
401 , p5_a6 NUMBER := 0-1962.0724
402 , p5_a7 NUMBER := 0-1962.0724
403 , p5_a8 VARCHAR2 := fnd_api.g_miss_char
404 , p5_a9 NUMBER := 0-1962.0724
405 , p5_a10 VARCHAR2 := fnd_api.g_miss_char
406 , p5_a11 NUMBER := 0-1962.0724
407 )
408 as
409 ddp_list_assoc_rec ams_list_assoc_pvt.list_assoc_rec_type;
410 ddindx binary_integer; indx binary_integer;
411 begin
412
413 -- copy data to the local IN or IN-OUT args, if any
414
415
416
417
418
419 ddp_list_assoc_rec.list_cont_restrictions_id := rosetta_g_miss_num_map(p5_a0);
420 ddp_list_assoc_rec.list_header_id := rosetta_g_miss_num_map(p5_a1);
421 ddp_list_assoc_rec.last_update_date := rosetta_g_miss_date_in_map(p5_a2);
422 ddp_list_assoc_rec.last_updated_by := rosetta_g_miss_num_map(p5_a3);
423 ddp_list_assoc_rec.creation_date := rosetta_g_miss_date_in_map(p5_a4);
424 ddp_list_assoc_rec.created_by := rosetta_g_miss_num_map(p5_a5);
425 ddp_list_assoc_rec.last_update_login := rosetta_g_miss_num_map(p5_a6);
426 ddp_list_assoc_rec.object_version_number := rosetta_g_miss_num_map(p5_a7);
427 ddp_list_assoc_rec.do_not_contact_flag := p5_a8;
428 ddp_list_assoc_rec.media_id := rosetta_g_miss_num_map(p5_a9);
429 ddp_list_assoc_rec.list_used_by := p5_a10;
430 ddp_list_assoc_rec.list_used_by_id := rosetta_g_miss_num_map(p5_a11);
431
432 -- here's the delegated call to the old PL/SQL routine
433 ams_list_assoc_pvt.validate_list_assoc_rec(p_api_version_number,
434 p_init_msg_list,
435 x_return_status,
436 x_msg_count,
437 x_msg_data,
438 ddp_list_assoc_rec);
439
440 -- copy data back from the local OUT or IN-OUT args, if any
441
442
443
444
445
446 end;
447
448 end ams_list_assoc_pvt_w;