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