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