DBA Data[Home] [Help]

PACKAGE BODY: APPS.OZF_VOLUME_OFFER_DISC_PVT_W

Source


1 package body ozf_volume_offer_disc_pvt_w as
2   /* $Header: ozfwvodb.pls 120.3 2006/05/05 11:05 julou 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   function rosetta_g_miss_num_map(n number) return number as
14     a number := fnd_api.g_miss_num;
15     b number := 0-1962.0724;
16   begin
17     if n=a then return b; end if;
18     if n=b then return a; end if;
19     return n;
20   end;
21 
22   procedure rosetta_table_copy_in_p2(t out nocopy ozf_volume_offer_disc_pvt.ozf_vo_disc_tbl_type, a0 JTF_NUMBER_TABLE
23     , a1 JTF_NUMBER_TABLE
24     , a2 JTF_NUMBER_TABLE
25     , a3 JTF_NUMBER_TABLE
26     , a4 JTF_VARCHAR2_TABLE_100
27     , a5 JTF_VARCHAR2_TABLE_100
28     , a6 JTF_VARCHAR2_TABLE_100
29     , a7 JTF_NUMBER_TABLE
30     , a8 JTF_VARCHAR2_TABLE_100
31     , a9 JTF_VARCHAR2_TABLE_100
32     , a10 JTF_VARCHAR2_TABLE_100
33     , a11 JTF_VARCHAR2_TABLE_100
34     , a12 JTF_NUMBER_TABLE
35     , a13 JTF_VARCHAR2_TABLE_100
36     , a14 JTF_NUMBER_TABLE
37     , a15 JTF_NUMBER_TABLE
38     , a16 JTF_NUMBER_TABLE
39     , a17 JTF_NUMBER_TABLE
40     , a18 JTF_VARCHAR2_TABLE_100
41     , a19 JTF_DATE_TABLE
42     , a20 JTF_DATE_TABLE
43     , a21 JTF_VARCHAR2_TABLE_100
44     , a22 JTF_DATE_TABLE
45     , a23 JTF_NUMBER_TABLE
46     , a24 JTF_DATE_TABLE
47     , a25 JTF_NUMBER_TABLE
48     , a26 JTF_NUMBER_TABLE
49     , a27 JTF_NUMBER_TABLE
50     , a28 JTF_NUMBER_TABLE
51     , a29 JTF_VARCHAR2_TABLE_100
52     , a30 JTF_NUMBER_TABLE
53     , a31 JTF_NUMBER_TABLE
54     , a32 JTF_VARCHAR2_TABLE_300
55     , a33 JTF_VARCHAR2_TABLE_2000
56     , a34 JTF_VARCHAR2_TABLE_100
57     , a35 JTF_VARCHAR2_TABLE_300
58     , a36 JTF_VARCHAR2_TABLE_300
59     , a37 JTF_VARCHAR2_TABLE_300
60     , a38 JTF_VARCHAR2_TABLE_300
61     , a39 JTF_VARCHAR2_TABLE_300
62     , a40 JTF_VARCHAR2_TABLE_300
63     , a41 JTF_VARCHAR2_TABLE_300
64     , a42 JTF_VARCHAR2_TABLE_300
65     , a43 JTF_VARCHAR2_TABLE_300
66     , a44 JTF_VARCHAR2_TABLE_300
67     , a45 JTF_VARCHAR2_TABLE_300
68     , a46 JTF_VARCHAR2_TABLE_300
69     , a47 JTF_VARCHAR2_TABLE_300
70     , a48 JTF_VARCHAR2_TABLE_300
71     , a49 JTF_VARCHAR2_TABLE_300
72     ) as
73     ddindx binary_integer; indx binary_integer;
74   begin
75   if a0 is not null and a0.count > 0 then
76       if a0.count > 0 then
77         indx := a0.first;
78         ddindx := 1;
79         while true loop
80           t(ddindx).offer_discount_line_id := rosetta_g_miss_num_map(a0(indx));
81           t(ddindx).parent_discount_line_id := rosetta_g_miss_num_map(a1(indx));
82           t(ddindx).volume_from := rosetta_g_miss_num_map(a2(indx));
83           t(ddindx).volume_to := rosetta_g_miss_num_map(a3(indx));
84           t(ddindx).volume_operator := a4(indx);
85           t(ddindx).volume_type := a5(indx);
86           t(ddindx).volume_break_type := a6(indx);
87           t(ddindx).discount := rosetta_g_miss_num_map(a7(indx));
88           t(ddindx).discount_type := a8(indx);
89           t(ddindx).tier_type := a9(indx);
90           t(ddindx).tier_level := a10(indx);
91           t(ddindx).incompatibility_group := a11(indx);
92           t(ddindx).precedence := rosetta_g_miss_num_map(a12(indx));
93           t(ddindx).bucket := a13(indx);
94           t(ddindx).scan_value := rosetta_g_miss_num_map(a14(indx));
95           t(ddindx).scan_data_quantity := rosetta_g_miss_num_map(a15(indx));
96           t(ddindx).scan_unit_forecast := rosetta_g_miss_num_map(a16(indx));
97           t(ddindx).channel_id := rosetta_g_miss_num_map(a17(indx));
98           t(ddindx).adjustment_flag := a18(indx);
99           t(ddindx).start_date_active := rosetta_g_miss_date_in_map(a19(indx));
100           t(ddindx).end_date_active := rosetta_g_miss_date_in_map(a20(indx));
101           t(ddindx).uom_code := a21(indx);
102           t(ddindx).creation_date := rosetta_g_miss_date_in_map(a22(indx));
103           t(ddindx).created_by := rosetta_g_miss_num_map(a23(indx));
104           t(ddindx).last_update_date := rosetta_g_miss_date_in_map(a24(indx));
105           t(ddindx).last_updated_by := rosetta_g_miss_num_map(a25(indx));
106           t(ddindx).last_update_login := rosetta_g_miss_num_map(a26(indx));
107           t(ddindx).object_version_number := rosetta_g_miss_num_map(a27(indx));
108           t(ddindx).offer_id := rosetta_g_miss_num_map(a28(indx));
109           t(ddindx).discount_by_code := a29(indx);
110           t(ddindx).formula_id := rosetta_g_miss_num_map(a30(indx));
111           t(ddindx).offr_disc_struct_name_id := rosetta_g_miss_num_map(a31(indx));
112           t(ddindx).name := a32(indx);
113           t(ddindx).description := a33(indx);
114           t(ddindx).context := a34(indx);
115           t(ddindx).attribute1 := a35(indx);
116           t(ddindx).attribute2 := a36(indx);
117           t(ddindx).attribute3 := a37(indx);
118           t(ddindx).attribute4 := a38(indx);
119           t(ddindx).attribute5 := a39(indx);
120           t(ddindx).attribute6 := a40(indx);
121           t(ddindx).attribute7 := a41(indx);
122           t(ddindx).attribute8 := a42(indx);
123           t(ddindx).attribute9 := a43(indx);
124           t(ddindx).attribute10 := a44(indx);
125           t(ddindx).attribute11 := a45(indx);
126           t(ddindx).attribute12 := a46(indx);
127           t(ddindx).attribute13 := a47(indx);
128           t(ddindx).attribute14 := a48(indx);
129           t(ddindx).attribute15 := a49(indx);
130           ddindx := ddindx+1;
131           if a0.last =indx
132             then exit;
133           end if;
134           indx := a0.next(indx);
135         end loop;
136       end if;
137    end if;
138   end rosetta_table_copy_in_p2;
139   procedure rosetta_table_copy_out_p2(t ozf_volume_offer_disc_pvt.ozf_vo_disc_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
140     , a1 out nocopy JTF_NUMBER_TABLE
141     , a2 out nocopy JTF_NUMBER_TABLE
142     , a3 out nocopy JTF_NUMBER_TABLE
143     , a4 out nocopy JTF_VARCHAR2_TABLE_100
144     , a5 out nocopy JTF_VARCHAR2_TABLE_100
145     , a6 out nocopy JTF_VARCHAR2_TABLE_100
146     , a7 out nocopy JTF_NUMBER_TABLE
147     , a8 out nocopy JTF_VARCHAR2_TABLE_100
148     , a9 out nocopy JTF_VARCHAR2_TABLE_100
149     , a10 out nocopy JTF_VARCHAR2_TABLE_100
150     , a11 out nocopy JTF_VARCHAR2_TABLE_100
151     , a12 out nocopy JTF_NUMBER_TABLE
152     , a13 out nocopy JTF_VARCHAR2_TABLE_100
153     , a14 out nocopy JTF_NUMBER_TABLE
154     , a15 out nocopy JTF_NUMBER_TABLE
155     , a16 out nocopy JTF_NUMBER_TABLE
156     , a17 out nocopy JTF_NUMBER_TABLE
157     , a18 out nocopy JTF_VARCHAR2_TABLE_100
158     , a19 out nocopy JTF_DATE_TABLE
159     , a20 out nocopy JTF_DATE_TABLE
160     , a21 out nocopy JTF_VARCHAR2_TABLE_100
161     , a22 out nocopy JTF_DATE_TABLE
162     , a23 out nocopy JTF_NUMBER_TABLE
163     , a24 out nocopy JTF_DATE_TABLE
164     , a25 out nocopy JTF_NUMBER_TABLE
165     , a26 out nocopy JTF_NUMBER_TABLE
166     , a27 out nocopy JTF_NUMBER_TABLE
167     , a28 out nocopy JTF_NUMBER_TABLE
168     , a29 out nocopy JTF_VARCHAR2_TABLE_100
169     , a30 out nocopy JTF_NUMBER_TABLE
170     , a31 out nocopy JTF_NUMBER_TABLE
171     , a32 out nocopy JTF_VARCHAR2_TABLE_300
172     , a33 out nocopy JTF_VARCHAR2_TABLE_2000
173     , a34 out nocopy JTF_VARCHAR2_TABLE_100
174     , a35 out nocopy JTF_VARCHAR2_TABLE_300
175     , a36 out nocopy JTF_VARCHAR2_TABLE_300
176     , a37 out nocopy JTF_VARCHAR2_TABLE_300
177     , a38 out nocopy JTF_VARCHAR2_TABLE_300
178     , a39 out nocopy JTF_VARCHAR2_TABLE_300
179     , a40 out nocopy JTF_VARCHAR2_TABLE_300
180     , a41 out nocopy JTF_VARCHAR2_TABLE_300
181     , a42 out nocopy JTF_VARCHAR2_TABLE_300
182     , a43 out nocopy JTF_VARCHAR2_TABLE_300
183     , a44 out nocopy JTF_VARCHAR2_TABLE_300
184     , a45 out nocopy JTF_VARCHAR2_TABLE_300
185     , a46 out nocopy JTF_VARCHAR2_TABLE_300
186     , a47 out nocopy JTF_VARCHAR2_TABLE_300
187     , a48 out nocopy JTF_VARCHAR2_TABLE_300
188     , a49 out nocopy JTF_VARCHAR2_TABLE_300
189     ) as
190     ddindx binary_integer; indx binary_integer;
191   begin
192   if t is null or t.count = 0 then
193     a0 := JTF_NUMBER_TABLE();
194     a1 := JTF_NUMBER_TABLE();
195     a2 := JTF_NUMBER_TABLE();
196     a3 := JTF_NUMBER_TABLE();
197     a4 := JTF_VARCHAR2_TABLE_100();
198     a5 := JTF_VARCHAR2_TABLE_100();
199     a6 := JTF_VARCHAR2_TABLE_100();
200     a7 := JTF_NUMBER_TABLE();
201     a8 := JTF_VARCHAR2_TABLE_100();
202     a9 := JTF_VARCHAR2_TABLE_100();
203     a10 := JTF_VARCHAR2_TABLE_100();
204     a11 := JTF_VARCHAR2_TABLE_100();
205     a12 := JTF_NUMBER_TABLE();
206     a13 := JTF_VARCHAR2_TABLE_100();
207     a14 := JTF_NUMBER_TABLE();
208     a15 := JTF_NUMBER_TABLE();
209     a16 := JTF_NUMBER_TABLE();
210     a17 := JTF_NUMBER_TABLE();
211     a18 := JTF_VARCHAR2_TABLE_100();
212     a19 := JTF_DATE_TABLE();
213     a20 := JTF_DATE_TABLE();
214     a21 := JTF_VARCHAR2_TABLE_100();
215     a22 := JTF_DATE_TABLE();
216     a23 := JTF_NUMBER_TABLE();
217     a24 := JTF_DATE_TABLE();
218     a25 := JTF_NUMBER_TABLE();
219     a26 := JTF_NUMBER_TABLE();
220     a27 := JTF_NUMBER_TABLE();
221     a28 := JTF_NUMBER_TABLE();
222     a29 := JTF_VARCHAR2_TABLE_100();
223     a30 := JTF_NUMBER_TABLE();
224     a31 := JTF_NUMBER_TABLE();
225     a32 := JTF_VARCHAR2_TABLE_300();
226     a33 := JTF_VARCHAR2_TABLE_2000();
227     a34 := JTF_VARCHAR2_TABLE_100();
228     a35 := JTF_VARCHAR2_TABLE_300();
229     a36 := JTF_VARCHAR2_TABLE_300();
230     a37 := JTF_VARCHAR2_TABLE_300();
231     a38 := JTF_VARCHAR2_TABLE_300();
232     a39 := JTF_VARCHAR2_TABLE_300();
233     a40 := JTF_VARCHAR2_TABLE_300();
234     a41 := JTF_VARCHAR2_TABLE_300();
235     a42 := JTF_VARCHAR2_TABLE_300();
236     a43 := JTF_VARCHAR2_TABLE_300();
237     a44 := JTF_VARCHAR2_TABLE_300();
238     a45 := JTF_VARCHAR2_TABLE_300();
239     a46 := JTF_VARCHAR2_TABLE_300();
240     a47 := JTF_VARCHAR2_TABLE_300();
241     a48 := JTF_VARCHAR2_TABLE_300();
242     a49 := JTF_VARCHAR2_TABLE_300();
243   else
244       a0 := JTF_NUMBER_TABLE();
245       a1 := JTF_NUMBER_TABLE();
246       a2 := JTF_NUMBER_TABLE();
247       a3 := JTF_NUMBER_TABLE();
248       a4 := JTF_VARCHAR2_TABLE_100();
249       a5 := JTF_VARCHAR2_TABLE_100();
250       a6 := JTF_VARCHAR2_TABLE_100();
251       a7 := JTF_NUMBER_TABLE();
252       a8 := JTF_VARCHAR2_TABLE_100();
253       a9 := JTF_VARCHAR2_TABLE_100();
254       a10 := JTF_VARCHAR2_TABLE_100();
255       a11 := JTF_VARCHAR2_TABLE_100();
256       a12 := JTF_NUMBER_TABLE();
257       a13 := JTF_VARCHAR2_TABLE_100();
258       a14 := JTF_NUMBER_TABLE();
259       a15 := JTF_NUMBER_TABLE();
260       a16 := JTF_NUMBER_TABLE();
261       a17 := JTF_NUMBER_TABLE();
262       a18 := JTF_VARCHAR2_TABLE_100();
263       a19 := JTF_DATE_TABLE();
264       a20 := JTF_DATE_TABLE();
265       a21 := JTF_VARCHAR2_TABLE_100();
266       a22 := JTF_DATE_TABLE();
267       a23 := JTF_NUMBER_TABLE();
268       a24 := JTF_DATE_TABLE();
269       a25 := JTF_NUMBER_TABLE();
270       a26 := JTF_NUMBER_TABLE();
271       a27 := JTF_NUMBER_TABLE();
272       a28 := JTF_NUMBER_TABLE();
273       a29 := JTF_VARCHAR2_TABLE_100();
274       a30 := JTF_NUMBER_TABLE();
275       a31 := JTF_NUMBER_TABLE();
276       a32 := JTF_VARCHAR2_TABLE_300();
277       a33 := JTF_VARCHAR2_TABLE_2000();
278       a34 := JTF_VARCHAR2_TABLE_100();
279       a35 := JTF_VARCHAR2_TABLE_300();
280       a36 := JTF_VARCHAR2_TABLE_300();
281       a37 := JTF_VARCHAR2_TABLE_300();
282       a38 := JTF_VARCHAR2_TABLE_300();
283       a39 := JTF_VARCHAR2_TABLE_300();
284       a40 := JTF_VARCHAR2_TABLE_300();
285       a41 := JTF_VARCHAR2_TABLE_300();
286       a42 := JTF_VARCHAR2_TABLE_300();
287       a43 := JTF_VARCHAR2_TABLE_300();
288       a44 := JTF_VARCHAR2_TABLE_300();
289       a45 := JTF_VARCHAR2_TABLE_300();
290       a46 := JTF_VARCHAR2_TABLE_300();
291       a47 := JTF_VARCHAR2_TABLE_300();
292       a48 := JTF_VARCHAR2_TABLE_300();
293       a49 := JTF_VARCHAR2_TABLE_300();
294       if t.count > 0 then
295         a0.extend(t.count);
296         a1.extend(t.count);
297         a2.extend(t.count);
298         a3.extend(t.count);
299         a4.extend(t.count);
300         a5.extend(t.count);
301         a6.extend(t.count);
302         a7.extend(t.count);
303         a8.extend(t.count);
304         a9.extend(t.count);
305         a10.extend(t.count);
306         a11.extend(t.count);
307         a12.extend(t.count);
308         a13.extend(t.count);
309         a14.extend(t.count);
310         a15.extend(t.count);
311         a16.extend(t.count);
312         a17.extend(t.count);
313         a18.extend(t.count);
314         a19.extend(t.count);
315         a20.extend(t.count);
316         a21.extend(t.count);
317         a22.extend(t.count);
318         a23.extend(t.count);
319         a24.extend(t.count);
320         a25.extend(t.count);
321         a26.extend(t.count);
322         a27.extend(t.count);
323         a28.extend(t.count);
324         a29.extend(t.count);
325         a30.extend(t.count);
326         a31.extend(t.count);
327         a32.extend(t.count);
328         a33.extend(t.count);
329         a34.extend(t.count);
330         a35.extend(t.count);
331         a36.extend(t.count);
332         a37.extend(t.count);
333         a38.extend(t.count);
334         a39.extend(t.count);
335         a40.extend(t.count);
336         a41.extend(t.count);
337         a42.extend(t.count);
338         a43.extend(t.count);
339         a44.extend(t.count);
340         a45.extend(t.count);
341         a46.extend(t.count);
342         a47.extend(t.count);
343         a48.extend(t.count);
344         a49.extend(t.count);
345         ddindx := t.first;
346         indx := 1;
347         while true loop
348           a0(indx) := rosetta_g_miss_num_map(t(ddindx).offer_discount_line_id);
349           a1(indx) := rosetta_g_miss_num_map(t(ddindx).parent_discount_line_id);
350           a2(indx) := rosetta_g_miss_num_map(t(ddindx).volume_from);
351           a3(indx) := rosetta_g_miss_num_map(t(ddindx).volume_to);
352           a4(indx) := t(ddindx).volume_operator;
353           a5(indx) := t(ddindx).volume_type;
354           a6(indx) := t(ddindx).volume_break_type;
355           a7(indx) := rosetta_g_miss_num_map(t(ddindx).discount);
356           a8(indx) := t(ddindx).discount_type;
357           a9(indx) := t(ddindx).tier_type;
358           a10(indx) := t(ddindx).tier_level;
359           a11(indx) := t(ddindx).incompatibility_group;
360           a12(indx) := rosetta_g_miss_num_map(t(ddindx).precedence);
361           a13(indx) := t(ddindx).bucket;
362           a14(indx) := rosetta_g_miss_num_map(t(ddindx).scan_value);
363           a15(indx) := rosetta_g_miss_num_map(t(ddindx).scan_data_quantity);
364           a16(indx) := rosetta_g_miss_num_map(t(ddindx).scan_unit_forecast);
368           a20(indx) := t(ddindx).end_date_active;
365           a17(indx) := rosetta_g_miss_num_map(t(ddindx).channel_id);
366           a18(indx) := t(ddindx).adjustment_flag;
367           a19(indx) := t(ddindx).start_date_active;
369           a21(indx) := t(ddindx).uom_code;
370           a22(indx) := t(ddindx).creation_date;
371           a23(indx) := rosetta_g_miss_num_map(t(ddindx).created_by);
372           a24(indx) := t(ddindx).last_update_date;
373           a25(indx) := rosetta_g_miss_num_map(t(ddindx).last_updated_by);
374           a26(indx) := rosetta_g_miss_num_map(t(ddindx).last_update_login);
375           a27(indx) := rosetta_g_miss_num_map(t(ddindx).object_version_number);
376           a28(indx) := rosetta_g_miss_num_map(t(ddindx).offer_id);
377           a29(indx) := t(ddindx).discount_by_code;
378           a30(indx) := rosetta_g_miss_num_map(t(ddindx).formula_id);
379           a31(indx) := rosetta_g_miss_num_map(t(ddindx).offr_disc_struct_name_id);
380           a32(indx) := t(ddindx).name;
381           a33(indx) := t(ddindx).description;
382           a34(indx) := t(ddindx).context;
383           a35(indx) := t(ddindx).attribute1;
384           a36(indx) := t(ddindx).attribute2;
385           a37(indx) := t(ddindx).attribute3;
386           a38(indx) := t(ddindx).attribute4;
387           a39(indx) := t(ddindx).attribute5;
388           a40(indx) := t(ddindx).attribute6;
389           a41(indx) := t(ddindx).attribute7;
390           a42(indx) := t(ddindx).attribute8;
391           a43(indx) := t(ddindx).attribute9;
392           a44(indx) := t(ddindx).attribute10;
393           a45(indx) := t(ddindx).attribute11;
394           a46(indx) := t(ddindx).attribute12;
395           a47(indx) := t(ddindx).attribute13;
396           a48(indx) := t(ddindx).attribute14;
397           a49(indx) := t(ddindx).attribute15;
398           indx := indx+1;
399           if t.last =ddindx
400             then exit;
401           end if;
402           ddindx := t.next(ddindx);
403         end loop;
404       end if;
405    end if;
406   end rosetta_table_copy_out_p2;
407 
408   procedure rosetta_table_copy_in_p6(t out nocopy ozf_volume_offer_disc_pvt.vo_prod_rec_tbl_type, a0 JTF_NUMBER_TABLE
409     , a1 JTF_VARCHAR2_TABLE_100
410     , a2 JTF_NUMBER_TABLE
411     , a3 JTF_VARCHAR2_TABLE_100
412     , a4 JTF_VARCHAR2_TABLE_100
413     , a5 JTF_DATE_TABLE
414     , a6 JTF_DATE_TABLE
415     , a7 JTF_NUMBER_TABLE
416     , a8 JTF_NUMBER_TABLE
417     , a9 JTF_DATE_TABLE
418     , a10 JTF_NUMBER_TABLE
419     , a11 JTF_DATE_TABLE
420     , a12 JTF_NUMBER_TABLE
421     , a13 JTF_NUMBER_TABLE
422     , a14 JTF_NUMBER_TABLE
423     , a15 JTF_NUMBER_TABLE
424     , a16 JTF_VARCHAR2_TABLE_100
425     , a17 JTF_VARCHAR2_TABLE_100
426     , a18 JTF_VARCHAR2_TABLE_300
427     , a19 JTF_VARCHAR2_TABLE_100
428     , a20 JTF_VARCHAR2_TABLE_100
429     ) as
430     ddindx binary_integer; indx binary_integer;
431   begin
432   if a0 is not null and a0.count > 0 then
433       if a0.count > 0 then
434         indx := a0.first;
435         ddindx := 1;
436         while true loop
437           t(ddindx).off_discount_product_id := rosetta_g_miss_num_map(a0(indx));
438           t(ddindx).product_level := a1(indx);
439           t(ddindx).product_id := rosetta_g_miss_num_map(a2(indx));
440           t(ddindx).excluder_flag := a3(indx);
441           t(ddindx).uom_code := a4(indx);
442           t(ddindx).start_date_active := rosetta_g_miss_date_in_map(a5(indx));
443           t(ddindx).end_date_active := rosetta_g_miss_date_in_map(a6(indx));
444           t(ddindx).offer_discount_line_id := rosetta_g_miss_num_map(a7(indx));
445           t(ddindx).offer_id := rosetta_g_miss_num_map(a8(indx));
446           t(ddindx).creation_date := rosetta_g_miss_date_in_map(a9(indx));
447           t(ddindx).created_by := rosetta_g_miss_num_map(a10(indx));
448           t(ddindx).last_update_date := rosetta_g_miss_date_in_map(a11(indx));
449           t(ddindx).last_updated_by := rosetta_g_miss_num_map(a12(indx));
450           t(ddindx).last_update_login := rosetta_g_miss_num_map(a13(indx));
451           t(ddindx).object_version_number := rosetta_g_miss_num_map(a14(indx));
452           t(ddindx).parent_off_disc_prod_id := rosetta_g_miss_num_map(a15(indx));
453           t(ddindx).product_context := a16(indx);
454           t(ddindx).product_attribute := a17(indx);
455           t(ddindx).product_attr_value := a18(indx);
456           t(ddindx).apply_discount_flag := a19(indx);
457           t(ddindx).include_volume_flag := a20(indx);
458           ddindx := ddindx+1;
459           if a0.last =indx
460             then exit;
461           end if;
462           indx := a0.next(indx);
463         end loop;
464       end if;
465    end if;
466   end rosetta_table_copy_in_p6;
467   procedure rosetta_table_copy_out_p6(t ozf_volume_offer_disc_pvt.vo_prod_rec_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
468     , a1 out nocopy JTF_VARCHAR2_TABLE_100
469     , a2 out nocopy JTF_NUMBER_TABLE
470     , a3 out nocopy JTF_VARCHAR2_TABLE_100
471     , a4 out nocopy JTF_VARCHAR2_TABLE_100
472     , a5 out nocopy JTF_DATE_TABLE
473     , a6 out nocopy JTF_DATE_TABLE
474     , a7 out nocopy JTF_NUMBER_TABLE
475     , a8 out nocopy JTF_NUMBER_TABLE
476     , a9 out nocopy JTF_DATE_TABLE
477     , a10 out nocopy JTF_NUMBER_TABLE
478     , a11 out nocopy JTF_DATE_TABLE
479     , a12 out nocopy JTF_NUMBER_TABLE
480     , a13 out nocopy JTF_NUMBER_TABLE
481     , a14 out nocopy JTF_NUMBER_TABLE
482     , a15 out nocopy JTF_NUMBER_TABLE
483     , a16 out nocopy JTF_VARCHAR2_TABLE_100
484     , a17 out nocopy JTF_VARCHAR2_TABLE_100
485     , a18 out nocopy JTF_VARCHAR2_TABLE_300
486     , a19 out nocopy JTF_VARCHAR2_TABLE_100
487     , a20 out nocopy JTF_VARCHAR2_TABLE_100
488     ) as
489     ddindx binary_integer; indx binary_integer;
493     a1 := JTF_VARCHAR2_TABLE_100();
490   begin
491   if t is null or t.count = 0 then
492     a0 := JTF_NUMBER_TABLE();
494     a2 := JTF_NUMBER_TABLE();
495     a3 := JTF_VARCHAR2_TABLE_100();
496     a4 := JTF_VARCHAR2_TABLE_100();
497     a5 := JTF_DATE_TABLE();
498     a6 := JTF_DATE_TABLE();
499     a7 := JTF_NUMBER_TABLE();
500     a8 := JTF_NUMBER_TABLE();
501     a9 := JTF_DATE_TABLE();
502     a10 := JTF_NUMBER_TABLE();
503     a11 := JTF_DATE_TABLE();
504     a12 := JTF_NUMBER_TABLE();
505     a13 := JTF_NUMBER_TABLE();
506     a14 := JTF_NUMBER_TABLE();
507     a15 := JTF_NUMBER_TABLE();
508     a16 := JTF_VARCHAR2_TABLE_100();
509     a17 := JTF_VARCHAR2_TABLE_100();
510     a18 := JTF_VARCHAR2_TABLE_300();
511     a19 := JTF_VARCHAR2_TABLE_100();
512     a20 := JTF_VARCHAR2_TABLE_100();
513   else
514       a0 := JTF_NUMBER_TABLE();
515       a1 := JTF_VARCHAR2_TABLE_100();
516       a2 := JTF_NUMBER_TABLE();
517       a3 := JTF_VARCHAR2_TABLE_100();
518       a4 := JTF_VARCHAR2_TABLE_100();
519       a5 := JTF_DATE_TABLE();
520       a6 := JTF_DATE_TABLE();
521       a7 := JTF_NUMBER_TABLE();
522       a8 := JTF_NUMBER_TABLE();
523       a9 := JTF_DATE_TABLE();
524       a10 := JTF_NUMBER_TABLE();
525       a11 := JTF_DATE_TABLE();
526       a12 := JTF_NUMBER_TABLE();
527       a13 := JTF_NUMBER_TABLE();
528       a14 := JTF_NUMBER_TABLE();
529       a15 := JTF_NUMBER_TABLE();
530       a16 := JTF_VARCHAR2_TABLE_100();
531       a17 := JTF_VARCHAR2_TABLE_100();
532       a18 := JTF_VARCHAR2_TABLE_300();
533       a19 := JTF_VARCHAR2_TABLE_100();
534       a20 := JTF_VARCHAR2_TABLE_100();
535       if t.count > 0 then
536         a0.extend(t.count);
537         a1.extend(t.count);
538         a2.extend(t.count);
539         a3.extend(t.count);
540         a4.extend(t.count);
541         a5.extend(t.count);
542         a6.extend(t.count);
543         a7.extend(t.count);
544         a8.extend(t.count);
545         a9.extend(t.count);
546         a10.extend(t.count);
547         a11.extend(t.count);
548         a12.extend(t.count);
549         a13.extend(t.count);
550         a14.extend(t.count);
551         a15.extend(t.count);
552         a16.extend(t.count);
553         a17.extend(t.count);
554         a18.extend(t.count);
555         a19.extend(t.count);
556         a20.extend(t.count);
557         ddindx := t.first;
558         indx := 1;
559         while true loop
560           a0(indx) := rosetta_g_miss_num_map(t(ddindx).off_discount_product_id);
561           a1(indx) := t(ddindx).product_level;
562           a2(indx) := rosetta_g_miss_num_map(t(ddindx).product_id);
563           a3(indx) := t(ddindx).excluder_flag;
564           a4(indx) := t(ddindx).uom_code;
565           a5(indx) := t(ddindx).start_date_active;
566           a6(indx) := t(ddindx).end_date_active;
567           a7(indx) := rosetta_g_miss_num_map(t(ddindx).offer_discount_line_id);
568           a8(indx) := rosetta_g_miss_num_map(t(ddindx).offer_id);
569           a9(indx) := t(ddindx).creation_date;
570           a10(indx) := rosetta_g_miss_num_map(t(ddindx).created_by);
571           a11(indx) := t(ddindx).last_update_date;
572           a12(indx) := rosetta_g_miss_num_map(t(ddindx).last_updated_by);
573           a13(indx) := rosetta_g_miss_num_map(t(ddindx).last_update_login);
574           a14(indx) := rosetta_g_miss_num_map(t(ddindx).object_version_number);
575           a15(indx) := rosetta_g_miss_num_map(t(ddindx).parent_off_disc_prod_id);
576           a16(indx) := t(ddindx).product_context;
577           a17(indx) := t(ddindx).product_attribute;
578           a18(indx) := t(ddindx).product_attr_value;
579           a19(indx) := t(ddindx).apply_discount_flag;
580           a20(indx) := t(ddindx).include_volume_flag;
581           indx := indx+1;
582           if t.last =ddindx
583             then exit;
584           end if;
585           ddindx := t.next(ddindx);
586         end loop;
587       end if;
588    end if;
589   end rosetta_table_copy_out_p6;
590 
591   procedure create_vo_discount(p_api_version_number  NUMBER
592     , p_init_msg_list  VARCHAR2
593     , p_commit  VARCHAR2
594     , p_validation_level  NUMBER
595     , x_return_status out nocopy  VARCHAR2
596     , x_msg_count out nocopy  NUMBER
597     , x_msg_data out nocopy  VARCHAR2
598     , x_vo_discount_line_id out nocopy  NUMBER
599     , p7_a0  NUMBER := 0-1962.0724
600     , p7_a1  NUMBER := 0-1962.0724
601     , p7_a2  NUMBER := 0-1962.0724
602     , p7_a3  NUMBER := 0-1962.0724
603     , p7_a4  VARCHAR2 := fnd_api.g_miss_char
604     , p7_a5  VARCHAR2 := fnd_api.g_miss_char
605     , p7_a6  VARCHAR2 := fnd_api.g_miss_char
606     , p7_a7  NUMBER := 0-1962.0724
607     , p7_a8  VARCHAR2 := fnd_api.g_miss_char
608     , p7_a9  VARCHAR2 := fnd_api.g_miss_char
609     , p7_a10  VARCHAR2 := fnd_api.g_miss_char
610     , p7_a11  VARCHAR2 := fnd_api.g_miss_char
611     , p7_a12  NUMBER := 0-1962.0724
612     , p7_a13  VARCHAR2 := fnd_api.g_miss_char
613     , p7_a14  NUMBER := 0-1962.0724
614     , p7_a15  NUMBER := 0-1962.0724
615     , p7_a16  NUMBER := 0-1962.0724
616     , p7_a17  NUMBER := 0-1962.0724
617     , p7_a18  VARCHAR2 := fnd_api.g_miss_char
618     , p7_a19  DATE := fnd_api.g_miss_date
619     , p7_a20  DATE := fnd_api.g_miss_date
620     , p7_a21  VARCHAR2 := fnd_api.g_miss_char
621     , p7_a22  DATE := fnd_api.g_miss_date
622     , p7_a23  NUMBER := 0-1962.0724
623     , p7_a24  DATE := fnd_api.g_miss_date
624     , p7_a25  NUMBER := 0-1962.0724
625     , p7_a26  NUMBER := 0-1962.0724
626     , p7_a27  NUMBER := 0-1962.0724
627     , p7_a28  NUMBER := 0-1962.0724
628     , p7_a29  VARCHAR2 := fnd_api.g_miss_char
629     , p7_a30  NUMBER := 0-1962.0724
633     , p7_a34  VARCHAR2 := fnd_api.g_miss_char
630     , p7_a31  NUMBER := 0-1962.0724
631     , p7_a32  VARCHAR2 := fnd_api.g_miss_char
632     , p7_a33  VARCHAR2 := fnd_api.g_miss_char
634     , p7_a35  VARCHAR2 := fnd_api.g_miss_char
635     , p7_a36  VARCHAR2 := fnd_api.g_miss_char
636     , p7_a37  VARCHAR2 := fnd_api.g_miss_char
637     , p7_a38  VARCHAR2 := fnd_api.g_miss_char
638     , p7_a39  VARCHAR2 := fnd_api.g_miss_char
639     , p7_a40  VARCHAR2 := fnd_api.g_miss_char
640     , p7_a41  VARCHAR2 := fnd_api.g_miss_char
641     , p7_a42  VARCHAR2 := fnd_api.g_miss_char
642     , p7_a43  VARCHAR2 := fnd_api.g_miss_char
643     , p7_a44  VARCHAR2 := fnd_api.g_miss_char
644     , p7_a45  VARCHAR2 := fnd_api.g_miss_char
645     , p7_a46  VARCHAR2 := fnd_api.g_miss_char
646     , p7_a47  VARCHAR2 := fnd_api.g_miss_char
647     , p7_a48  VARCHAR2 := fnd_api.g_miss_char
648     , p7_a49  VARCHAR2 := fnd_api.g_miss_char
649   )
650 
651   as
652     ddp_vo_disc_rec ozf_volume_offer_disc_pvt.vo_disc_rec_type;
653     ddindx binary_integer; indx binary_integer;
654   begin
655 
656     -- copy data to the local IN or IN-OUT args, if any
657 
658 
659 
660 
661 
662 
663 
664     ddp_vo_disc_rec.offer_discount_line_id := rosetta_g_miss_num_map(p7_a0);
665     ddp_vo_disc_rec.parent_discount_line_id := rosetta_g_miss_num_map(p7_a1);
666     ddp_vo_disc_rec.volume_from := rosetta_g_miss_num_map(p7_a2);
667     ddp_vo_disc_rec.volume_to := rosetta_g_miss_num_map(p7_a3);
668     ddp_vo_disc_rec.volume_operator := p7_a4;
669     ddp_vo_disc_rec.volume_type := p7_a5;
670     ddp_vo_disc_rec.volume_break_type := p7_a6;
671     ddp_vo_disc_rec.discount := rosetta_g_miss_num_map(p7_a7);
672     ddp_vo_disc_rec.discount_type := p7_a8;
673     ddp_vo_disc_rec.tier_type := p7_a9;
674     ddp_vo_disc_rec.tier_level := p7_a10;
675     ddp_vo_disc_rec.incompatibility_group := p7_a11;
676     ddp_vo_disc_rec.precedence := rosetta_g_miss_num_map(p7_a12);
677     ddp_vo_disc_rec.bucket := p7_a13;
678     ddp_vo_disc_rec.scan_value := rosetta_g_miss_num_map(p7_a14);
679     ddp_vo_disc_rec.scan_data_quantity := rosetta_g_miss_num_map(p7_a15);
680     ddp_vo_disc_rec.scan_unit_forecast := rosetta_g_miss_num_map(p7_a16);
681     ddp_vo_disc_rec.channel_id := rosetta_g_miss_num_map(p7_a17);
682     ddp_vo_disc_rec.adjustment_flag := p7_a18;
683     ddp_vo_disc_rec.start_date_active := rosetta_g_miss_date_in_map(p7_a19);
684     ddp_vo_disc_rec.end_date_active := rosetta_g_miss_date_in_map(p7_a20);
685     ddp_vo_disc_rec.uom_code := p7_a21;
686     ddp_vo_disc_rec.creation_date := rosetta_g_miss_date_in_map(p7_a22);
687     ddp_vo_disc_rec.created_by := rosetta_g_miss_num_map(p7_a23);
688     ddp_vo_disc_rec.last_update_date := rosetta_g_miss_date_in_map(p7_a24);
689     ddp_vo_disc_rec.last_updated_by := rosetta_g_miss_num_map(p7_a25);
690     ddp_vo_disc_rec.last_update_login := rosetta_g_miss_num_map(p7_a26);
691     ddp_vo_disc_rec.object_version_number := rosetta_g_miss_num_map(p7_a27);
692     ddp_vo_disc_rec.offer_id := rosetta_g_miss_num_map(p7_a28);
693     ddp_vo_disc_rec.discount_by_code := p7_a29;
694     ddp_vo_disc_rec.formula_id := rosetta_g_miss_num_map(p7_a30);
695     ddp_vo_disc_rec.offr_disc_struct_name_id := rosetta_g_miss_num_map(p7_a31);
696     ddp_vo_disc_rec.name := p7_a32;
697     ddp_vo_disc_rec.description := p7_a33;
698     ddp_vo_disc_rec.context := p7_a34;
699     ddp_vo_disc_rec.attribute1 := p7_a35;
700     ddp_vo_disc_rec.attribute2 := p7_a36;
701     ddp_vo_disc_rec.attribute3 := p7_a37;
702     ddp_vo_disc_rec.attribute4 := p7_a38;
703     ddp_vo_disc_rec.attribute5 := p7_a39;
704     ddp_vo_disc_rec.attribute6 := p7_a40;
705     ddp_vo_disc_rec.attribute7 := p7_a41;
706     ddp_vo_disc_rec.attribute8 := p7_a42;
707     ddp_vo_disc_rec.attribute9 := p7_a43;
708     ddp_vo_disc_rec.attribute10 := p7_a44;
709     ddp_vo_disc_rec.attribute11 := p7_a45;
710     ddp_vo_disc_rec.attribute12 := p7_a46;
711     ddp_vo_disc_rec.attribute13 := p7_a47;
712     ddp_vo_disc_rec.attribute14 := p7_a48;
713     ddp_vo_disc_rec.attribute15 := p7_a49;
714 
715 
716     -- here's the delegated call to the old PL/SQL routine
717     ozf_volume_offer_disc_pvt.create_vo_discount(p_api_version_number,
718       p_init_msg_list,
719       p_commit,
720       p_validation_level,
721       x_return_status,
722       x_msg_count,
723       x_msg_data,
724       ddp_vo_disc_rec,
725       x_vo_discount_line_id);
726 
727     -- copy data back from the local variables to OUT or IN-OUT args, if any
728 
729 
730 
731 
732 
733 
734 
735 
736   end;
737 
738   procedure update_vo_discount(p_api_version_number  NUMBER
739     , p_init_msg_list  VARCHAR2
740     , p_commit  VARCHAR2
741     , p_validation_level  NUMBER
742     , x_return_status out nocopy  VARCHAR2
743     , x_msg_count out nocopy  NUMBER
744     , x_msg_data out nocopy  VARCHAR2
745     , p7_a0  NUMBER := 0-1962.0724
746     , p7_a1  NUMBER := 0-1962.0724
747     , p7_a2  NUMBER := 0-1962.0724
748     , p7_a3  NUMBER := 0-1962.0724
749     , p7_a4  VARCHAR2 := fnd_api.g_miss_char
750     , p7_a5  VARCHAR2 := fnd_api.g_miss_char
751     , p7_a6  VARCHAR2 := fnd_api.g_miss_char
752     , p7_a7  NUMBER := 0-1962.0724
753     , p7_a8  VARCHAR2 := fnd_api.g_miss_char
754     , p7_a9  VARCHAR2 := fnd_api.g_miss_char
755     , p7_a10  VARCHAR2 := fnd_api.g_miss_char
756     , p7_a11  VARCHAR2 := fnd_api.g_miss_char
757     , p7_a12  NUMBER := 0-1962.0724
758     , p7_a13  VARCHAR2 := fnd_api.g_miss_char
759     , p7_a14  NUMBER := 0-1962.0724
760     , p7_a15  NUMBER := 0-1962.0724
761     , p7_a16  NUMBER := 0-1962.0724
762     , p7_a17  NUMBER := 0-1962.0724
763     , p7_a18  VARCHAR2 := fnd_api.g_miss_char
767     , p7_a22  DATE := fnd_api.g_miss_date
764     , p7_a19  DATE := fnd_api.g_miss_date
765     , p7_a20  DATE := fnd_api.g_miss_date
766     , p7_a21  VARCHAR2 := fnd_api.g_miss_char
768     , p7_a23  NUMBER := 0-1962.0724
769     , p7_a24  DATE := fnd_api.g_miss_date
770     , p7_a25  NUMBER := 0-1962.0724
771     , p7_a26  NUMBER := 0-1962.0724
772     , p7_a27  NUMBER := 0-1962.0724
773     , p7_a28  NUMBER := 0-1962.0724
774     , p7_a29  VARCHAR2 := fnd_api.g_miss_char
775     , p7_a30  NUMBER := 0-1962.0724
776     , p7_a31  NUMBER := 0-1962.0724
777     , p7_a32  VARCHAR2 := fnd_api.g_miss_char
778     , p7_a33  VARCHAR2 := fnd_api.g_miss_char
779     , p7_a34  VARCHAR2 := fnd_api.g_miss_char
780     , p7_a35  VARCHAR2 := fnd_api.g_miss_char
781     , p7_a36  VARCHAR2 := fnd_api.g_miss_char
782     , p7_a37  VARCHAR2 := fnd_api.g_miss_char
783     , p7_a38  VARCHAR2 := fnd_api.g_miss_char
784     , p7_a39  VARCHAR2 := fnd_api.g_miss_char
785     , p7_a40  VARCHAR2 := fnd_api.g_miss_char
786     , p7_a41  VARCHAR2 := fnd_api.g_miss_char
787     , p7_a42  VARCHAR2 := fnd_api.g_miss_char
788     , p7_a43  VARCHAR2 := fnd_api.g_miss_char
789     , p7_a44  VARCHAR2 := fnd_api.g_miss_char
790     , p7_a45  VARCHAR2 := fnd_api.g_miss_char
791     , p7_a46  VARCHAR2 := fnd_api.g_miss_char
792     , p7_a47  VARCHAR2 := fnd_api.g_miss_char
793     , p7_a48  VARCHAR2 := fnd_api.g_miss_char
794     , p7_a49  VARCHAR2 := fnd_api.g_miss_char
795   )
796 
797   as
798     ddp_vo_disc_rec ozf_volume_offer_disc_pvt.vo_disc_rec_type;
799     ddindx binary_integer; indx binary_integer;
800   begin
801 
802     -- copy data to the local IN or IN-OUT args, if any
803 
804 
805 
806 
807 
808 
809 
810     ddp_vo_disc_rec.offer_discount_line_id := rosetta_g_miss_num_map(p7_a0);
811     ddp_vo_disc_rec.parent_discount_line_id := rosetta_g_miss_num_map(p7_a1);
812     ddp_vo_disc_rec.volume_from := rosetta_g_miss_num_map(p7_a2);
813     ddp_vo_disc_rec.volume_to := rosetta_g_miss_num_map(p7_a3);
814     ddp_vo_disc_rec.volume_operator := p7_a4;
815     ddp_vo_disc_rec.volume_type := p7_a5;
816     ddp_vo_disc_rec.volume_break_type := p7_a6;
817     ddp_vo_disc_rec.discount := rosetta_g_miss_num_map(p7_a7);
818     ddp_vo_disc_rec.discount_type := p7_a8;
819     ddp_vo_disc_rec.tier_type := p7_a9;
820     ddp_vo_disc_rec.tier_level := p7_a10;
821     ddp_vo_disc_rec.incompatibility_group := p7_a11;
822     ddp_vo_disc_rec.precedence := rosetta_g_miss_num_map(p7_a12);
823     ddp_vo_disc_rec.bucket := p7_a13;
824     ddp_vo_disc_rec.scan_value := rosetta_g_miss_num_map(p7_a14);
825     ddp_vo_disc_rec.scan_data_quantity := rosetta_g_miss_num_map(p7_a15);
826     ddp_vo_disc_rec.scan_unit_forecast := rosetta_g_miss_num_map(p7_a16);
827     ddp_vo_disc_rec.channel_id := rosetta_g_miss_num_map(p7_a17);
828     ddp_vo_disc_rec.adjustment_flag := p7_a18;
829     ddp_vo_disc_rec.start_date_active := rosetta_g_miss_date_in_map(p7_a19);
830     ddp_vo_disc_rec.end_date_active := rosetta_g_miss_date_in_map(p7_a20);
831     ddp_vo_disc_rec.uom_code := p7_a21;
832     ddp_vo_disc_rec.creation_date := rosetta_g_miss_date_in_map(p7_a22);
833     ddp_vo_disc_rec.created_by := rosetta_g_miss_num_map(p7_a23);
834     ddp_vo_disc_rec.last_update_date := rosetta_g_miss_date_in_map(p7_a24);
835     ddp_vo_disc_rec.last_updated_by := rosetta_g_miss_num_map(p7_a25);
836     ddp_vo_disc_rec.last_update_login := rosetta_g_miss_num_map(p7_a26);
837     ddp_vo_disc_rec.object_version_number := rosetta_g_miss_num_map(p7_a27);
838     ddp_vo_disc_rec.offer_id := rosetta_g_miss_num_map(p7_a28);
839     ddp_vo_disc_rec.discount_by_code := p7_a29;
840     ddp_vo_disc_rec.formula_id := rosetta_g_miss_num_map(p7_a30);
841     ddp_vo_disc_rec.offr_disc_struct_name_id := rosetta_g_miss_num_map(p7_a31);
842     ddp_vo_disc_rec.name := p7_a32;
843     ddp_vo_disc_rec.description := p7_a33;
844     ddp_vo_disc_rec.context := p7_a34;
845     ddp_vo_disc_rec.attribute1 := p7_a35;
846     ddp_vo_disc_rec.attribute2 := p7_a36;
847     ddp_vo_disc_rec.attribute3 := p7_a37;
848     ddp_vo_disc_rec.attribute4 := p7_a38;
849     ddp_vo_disc_rec.attribute5 := p7_a39;
850     ddp_vo_disc_rec.attribute6 := p7_a40;
851     ddp_vo_disc_rec.attribute7 := p7_a41;
852     ddp_vo_disc_rec.attribute8 := p7_a42;
853     ddp_vo_disc_rec.attribute9 := p7_a43;
854     ddp_vo_disc_rec.attribute10 := p7_a44;
855     ddp_vo_disc_rec.attribute11 := p7_a45;
856     ddp_vo_disc_rec.attribute12 := p7_a46;
857     ddp_vo_disc_rec.attribute13 := p7_a47;
858     ddp_vo_disc_rec.attribute14 := p7_a48;
859     ddp_vo_disc_rec.attribute15 := p7_a49;
860 
861     -- here's the delegated call to the old PL/SQL routine
862     ozf_volume_offer_disc_pvt.update_vo_discount(p_api_version_number,
863       p_init_msg_list,
864       p_commit,
865       p_validation_level,
866       x_return_status,
867       x_msg_count,
868       x_msg_data,
869       ddp_vo_disc_rec);
870 
871     -- copy data back from the local variables to OUT or IN-OUT args, if any
872 
873 
874 
875 
876 
877 
878 
879   end;
880 
881   procedure create_vo_product(p_api_version_number  NUMBER
882     , p_init_msg_list  VARCHAR2
883     , p_commit  VARCHAR2
884     , p_validation_level  NUMBER
885     , x_return_status out nocopy  VARCHAR2
886     , x_msg_count out nocopy  NUMBER
887     , x_msg_data out nocopy  VARCHAR2
888     , x_off_discount_product_id out nocopy  NUMBER
889     , p7_a0  NUMBER := 0-1962.0724
890     , p7_a1  VARCHAR2 := fnd_api.g_miss_char
891     , p7_a2  NUMBER := 0-1962.0724
892     , p7_a3  VARCHAR2 := fnd_api.g_miss_char
893     , p7_a4  VARCHAR2 := fnd_api.g_miss_char
894     , p7_a5  DATE := fnd_api.g_miss_date
895     , p7_a6  DATE := fnd_api.g_miss_date
896     , p7_a7  NUMBER := 0-1962.0724
900     , p7_a11  DATE := fnd_api.g_miss_date
897     , p7_a8  NUMBER := 0-1962.0724
898     , p7_a9  DATE := fnd_api.g_miss_date
899     , p7_a10  NUMBER := 0-1962.0724
901     , p7_a12  NUMBER := 0-1962.0724
902     , p7_a13  NUMBER := 0-1962.0724
903     , p7_a14  NUMBER := 0-1962.0724
904     , p7_a15  NUMBER := 0-1962.0724
905     , p7_a16  VARCHAR2 := fnd_api.g_miss_char
906     , p7_a17  VARCHAR2 := fnd_api.g_miss_char
907     , p7_a18  VARCHAR2 := fnd_api.g_miss_char
908     , p7_a19  VARCHAR2 := fnd_api.g_miss_char
909     , p7_a20  VARCHAR2 := fnd_api.g_miss_char
910   )
911 
912   as
913     ddp_vo_prod_rec ozf_volume_offer_disc_pvt.vo_prod_rec_type;
914     ddindx binary_integer; indx binary_integer;
915   begin
916 
917     -- copy data to the local IN or IN-OUT args, if any
918 
919 
920 
921 
922 
923 
924 
925     ddp_vo_prod_rec.off_discount_product_id := rosetta_g_miss_num_map(p7_a0);
926     ddp_vo_prod_rec.product_level := p7_a1;
927     ddp_vo_prod_rec.product_id := rosetta_g_miss_num_map(p7_a2);
928     ddp_vo_prod_rec.excluder_flag := p7_a3;
929     ddp_vo_prod_rec.uom_code := p7_a4;
930     ddp_vo_prod_rec.start_date_active := rosetta_g_miss_date_in_map(p7_a5);
931     ddp_vo_prod_rec.end_date_active := rosetta_g_miss_date_in_map(p7_a6);
932     ddp_vo_prod_rec.offer_discount_line_id := rosetta_g_miss_num_map(p7_a7);
933     ddp_vo_prod_rec.offer_id := rosetta_g_miss_num_map(p7_a8);
934     ddp_vo_prod_rec.creation_date := rosetta_g_miss_date_in_map(p7_a9);
935     ddp_vo_prod_rec.created_by := rosetta_g_miss_num_map(p7_a10);
936     ddp_vo_prod_rec.last_update_date := rosetta_g_miss_date_in_map(p7_a11);
937     ddp_vo_prod_rec.last_updated_by := rosetta_g_miss_num_map(p7_a12);
938     ddp_vo_prod_rec.last_update_login := rosetta_g_miss_num_map(p7_a13);
939     ddp_vo_prod_rec.object_version_number := rosetta_g_miss_num_map(p7_a14);
940     ddp_vo_prod_rec.parent_off_disc_prod_id := rosetta_g_miss_num_map(p7_a15);
941     ddp_vo_prod_rec.product_context := p7_a16;
942     ddp_vo_prod_rec.product_attribute := p7_a17;
943     ddp_vo_prod_rec.product_attr_value := p7_a18;
944     ddp_vo_prod_rec.apply_discount_flag := p7_a19;
945     ddp_vo_prod_rec.include_volume_flag := p7_a20;
946 
947 
948     -- here's the delegated call to the old PL/SQL routine
949     ozf_volume_offer_disc_pvt.create_vo_product(p_api_version_number,
950       p_init_msg_list,
951       p_commit,
952       p_validation_level,
953       x_return_status,
954       x_msg_count,
955       x_msg_data,
956       ddp_vo_prod_rec,
957       x_off_discount_product_id);
958 
959     -- copy data back from the local variables to OUT or IN-OUT args, if any
960 
961 
962 
963 
964 
965 
966 
967 
968   end;
969 
970   procedure update_vo_product(p_api_version_number  NUMBER
971     , p_init_msg_list  VARCHAR2
972     , p_commit  VARCHAR2
973     , p_validation_level  NUMBER
974     , x_return_status out nocopy  VARCHAR2
975     , x_msg_count out nocopy  NUMBER
976     , x_msg_data out nocopy  VARCHAR2
977     , p7_a0  NUMBER := 0-1962.0724
978     , p7_a1  VARCHAR2 := fnd_api.g_miss_char
979     , p7_a2  NUMBER := 0-1962.0724
980     , p7_a3  VARCHAR2 := fnd_api.g_miss_char
981     , p7_a4  VARCHAR2 := fnd_api.g_miss_char
982     , p7_a5  DATE := fnd_api.g_miss_date
983     , p7_a6  DATE := fnd_api.g_miss_date
984     , p7_a7  NUMBER := 0-1962.0724
985     , p7_a8  NUMBER := 0-1962.0724
986     , p7_a9  DATE := fnd_api.g_miss_date
987     , p7_a10  NUMBER := 0-1962.0724
988     , p7_a11  DATE := fnd_api.g_miss_date
989     , p7_a12  NUMBER := 0-1962.0724
990     , p7_a13  NUMBER := 0-1962.0724
991     , p7_a14  NUMBER := 0-1962.0724
992     , p7_a15  NUMBER := 0-1962.0724
993     , p7_a16  VARCHAR2 := fnd_api.g_miss_char
994     , p7_a17  VARCHAR2 := fnd_api.g_miss_char
995     , p7_a18  VARCHAR2 := fnd_api.g_miss_char
996     , p7_a19  VARCHAR2 := fnd_api.g_miss_char
997     , p7_a20  VARCHAR2 := fnd_api.g_miss_char
998   )
999 
1000   as
1001     ddp_vo_prod_rec ozf_volume_offer_disc_pvt.vo_prod_rec_type;
1002     ddindx binary_integer; indx binary_integer;
1003   begin
1004 
1005     -- copy data to the local IN or IN-OUT args, if any
1006 
1007 
1008 
1009 
1010 
1011 
1012 
1013     ddp_vo_prod_rec.off_discount_product_id := rosetta_g_miss_num_map(p7_a0);
1014     ddp_vo_prod_rec.product_level := p7_a1;
1015     ddp_vo_prod_rec.product_id := rosetta_g_miss_num_map(p7_a2);
1016     ddp_vo_prod_rec.excluder_flag := p7_a3;
1017     ddp_vo_prod_rec.uom_code := p7_a4;
1018     ddp_vo_prod_rec.start_date_active := rosetta_g_miss_date_in_map(p7_a5);
1019     ddp_vo_prod_rec.end_date_active := rosetta_g_miss_date_in_map(p7_a6);
1020     ddp_vo_prod_rec.offer_discount_line_id := rosetta_g_miss_num_map(p7_a7);
1021     ddp_vo_prod_rec.offer_id := rosetta_g_miss_num_map(p7_a8);
1022     ddp_vo_prod_rec.creation_date := rosetta_g_miss_date_in_map(p7_a9);
1023     ddp_vo_prod_rec.created_by := rosetta_g_miss_num_map(p7_a10);
1024     ddp_vo_prod_rec.last_update_date := rosetta_g_miss_date_in_map(p7_a11);
1025     ddp_vo_prod_rec.last_updated_by := rosetta_g_miss_num_map(p7_a12);
1026     ddp_vo_prod_rec.last_update_login := rosetta_g_miss_num_map(p7_a13);
1027     ddp_vo_prod_rec.object_version_number := rosetta_g_miss_num_map(p7_a14);
1028     ddp_vo_prod_rec.parent_off_disc_prod_id := rosetta_g_miss_num_map(p7_a15);
1029     ddp_vo_prod_rec.product_context := p7_a16;
1030     ddp_vo_prod_rec.product_attribute := p7_a17;
1031     ddp_vo_prod_rec.product_attr_value := p7_a18;
1032     ddp_vo_prod_rec.apply_discount_flag := p7_a19;
1033     ddp_vo_prod_rec.include_volume_flag := p7_a20;
1034 
1035     -- here's the delegated call to the old PL/SQL routine
1039       p_validation_level,
1036     ozf_volume_offer_disc_pvt.update_vo_product(p_api_version_number,
1037       p_init_msg_list,
1038       p_commit,
1040       x_return_status,
1041       x_msg_count,
1042       x_msg_data,
1043       ddp_vo_prod_rec);
1044 
1045     -- copy data back from the local variables to OUT or IN-OUT args, if any
1046 
1047 
1048 
1049 
1050 
1051 
1052 
1053   end;
1054 
1055   procedure copy_vo_discounts(p_api_version_number  NUMBER
1056     , p_init_msg_list  VARCHAR2
1057     , p_commit  VARCHAR2
1058     , p_validation_level  NUMBER
1059     , x_return_status out nocopy  VARCHAR2
1060     , x_msg_count out nocopy  NUMBER
1061     , x_msg_data out nocopy  VARCHAR2
1062     , p_discount_line_id  NUMBER
1063     , x_vo_discount_line_id out nocopy  NUMBER
1064     , p8_a0  NUMBER := 0-1962.0724
1065     , p8_a1  NUMBER := 0-1962.0724
1066     , p8_a2  NUMBER := 0-1962.0724
1067     , p8_a3  NUMBER := 0-1962.0724
1068     , p8_a4  VARCHAR2 := fnd_api.g_miss_char
1069     , p8_a5  VARCHAR2 := fnd_api.g_miss_char
1070     , p8_a6  VARCHAR2 := fnd_api.g_miss_char
1071     , p8_a7  NUMBER := 0-1962.0724
1072     , p8_a8  VARCHAR2 := fnd_api.g_miss_char
1073     , p8_a9  VARCHAR2 := fnd_api.g_miss_char
1074     , p8_a10  VARCHAR2 := fnd_api.g_miss_char
1075     , p8_a11  VARCHAR2 := fnd_api.g_miss_char
1076     , p8_a12  NUMBER := 0-1962.0724
1077     , p8_a13  VARCHAR2 := fnd_api.g_miss_char
1078     , p8_a14  NUMBER := 0-1962.0724
1079     , p8_a15  NUMBER := 0-1962.0724
1080     , p8_a16  NUMBER := 0-1962.0724
1081     , p8_a17  NUMBER := 0-1962.0724
1082     , p8_a18  VARCHAR2 := fnd_api.g_miss_char
1083     , p8_a19  DATE := fnd_api.g_miss_date
1084     , p8_a20  DATE := fnd_api.g_miss_date
1085     , p8_a21  VARCHAR2 := fnd_api.g_miss_char
1086     , p8_a22  DATE := fnd_api.g_miss_date
1087     , p8_a23  NUMBER := 0-1962.0724
1088     , p8_a24  DATE := fnd_api.g_miss_date
1089     , p8_a25  NUMBER := 0-1962.0724
1090     , p8_a26  NUMBER := 0-1962.0724
1091     , p8_a27  NUMBER := 0-1962.0724
1092     , p8_a28  NUMBER := 0-1962.0724
1093     , p8_a29  VARCHAR2 := fnd_api.g_miss_char
1094     , p8_a30  NUMBER := 0-1962.0724
1095     , p8_a31  NUMBER := 0-1962.0724
1096     , p8_a32  VARCHAR2 := fnd_api.g_miss_char
1097     , p8_a33  VARCHAR2 := fnd_api.g_miss_char
1098     , p8_a34  VARCHAR2 := fnd_api.g_miss_char
1099     , p8_a35  VARCHAR2 := fnd_api.g_miss_char
1100     , p8_a36  VARCHAR2 := fnd_api.g_miss_char
1101     , p8_a37  VARCHAR2 := fnd_api.g_miss_char
1102     , p8_a38  VARCHAR2 := fnd_api.g_miss_char
1103     , p8_a39  VARCHAR2 := fnd_api.g_miss_char
1104     , p8_a40  VARCHAR2 := fnd_api.g_miss_char
1105     , p8_a41  VARCHAR2 := fnd_api.g_miss_char
1106     , p8_a42  VARCHAR2 := fnd_api.g_miss_char
1107     , p8_a43  VARCHAR2 := fnd_api.g_miss_char
1108     , p8_a44  VARCHAR2 := fnd_api.g_miss_char
1109     , p8_a45  VARCHAR2 := fnd_api.g_miss_char
1110     , p8_a46  VARCHAR2 := fnd_api.g_miss_char
1111     , p8_a47  VARCHAR2 := fnd_api.g_miss_char
1112     , p8_a48  VARCHAR2 := fnd_api.g_miss_char
1113     , p8_a49  VARCHAR2 := fnd_api.g_miss_char
1114   )
1115 
1116   as
1117     ddp_vo_disc_rec ozf_volume_offer_disc_pvt.vo_disc_rec_type;
1118     ddindx binary_integer; indx binary_integer;
1119   begin
1120 
1121     -- copy data to the local IN or IN-OUT args, if any
1122 
1123 
1124 
1125 
1126 
1127 
1128 
1129 
1130     ddp_vo_disc_rec.offer_discount_line_id := rosetta_g_miss_num_map(p8_a0);
1131     ddp_vo_disc_rec.parent_discount_line_id := rosetta_g_miss_num_map(p8_a1);
1132     ddp_vo_disc_rec.volume_from := rosetta_g_miss_num_map(p8_a2);
1133     ddp_vo_disc_rec.volume_to := rosetta_g_miss_num_map(p8_a3);
1134     ddp_vo_disc_rec.volume_operator := p8_a4;
1135     ddp_vo_disc_rec.volume_type := p8_a5;
1136     ddp_vo_disc_rec.volume_break_type := p8_a6;
1137     ddp_vo_disc_rec.discount := rosetta_g_miss_num_map(p8_a7);
1138     ddp_vo_disc_rec.discount_type := p8_a8;
1139     ddp_vo_disc_rec.tier_type := p8_a9;
1140     ddp_vo_disc_rec.tier_level := p8_a10;
1141     ddp_vo_disc_rec.incompatibility_group := p8_a11;
1142     ddp_vo_disc_rec.precedence := rosetta_g_miss_num_map(p8_a12);
1143     ddp_vo_disc_rec.bucket := p8_a13;
1144     ddp_vo_disc_rec.scan_value := rosetta_g_miss_num_map(p8_a14);
1145     ddp_vo_disc_rec.scan_data_quantity := rosetta_g_miss_num_map(p8_a15);
1146     ddp_vo_disc_rec.scan_unit_forecast := rosetta_g_miss_num_map(p8_a16);
1147     ddp_vo_disc_rec.channel_id := rosetta_g_miss_num_map(p8_a17);
1148     ddp_vo_disc_rec.adjustment_flag := p8_a18;
1149     ddp_vo_disc_rec.start_date_active := rosetta_g_miss_date_in_map(p8_a19);
1150     ddp_vo_disc_rec.end_date_active := rosetta_g_miss_date_in_map(p8_a20);
1151     ddp_vo_disc_rec.uom_code := p8_a21;
1152     ddp_vo_disc_rec.creation_date := rosetta_g_miss_date_in_map(p8_a22);
1153     ddp_vo_disc_rec.created_by := rosetta_g_miss_num_map(p8_a23);
1154     ddp_vo_disc_rec.last_update_date := rosetta_g_miss_date_in_map(p8_a24);
1155     ddp_vo_disc_rec.last_updated_by := rosetta_g_miss_num_map(p8_a25);
1156     ddp_vo_disc_rec.last_update_login := rosetta_g_miss_num_map(p8_a26);
1157     ddp_vo_disc_rec.object_version_number := rosetta_g_miss_num_map(p8_a27);
1158     ddp_vo_disc_rec.offer_id := rosetta_g_miss_num_map(p8_a28);
1159     ddp_vo_disc_rec.discount_by_code := p8_a29;
1160     ddp_vo_disc_rec.formula_id := rosetta_g_miss_num_map(p8_a30);
1161     ddp_vo_disc_rec.offr_disc_struct_name_id := rosetta_g_miss_num_map(p8_a31);
1162     ddp_vo_disc_rec.name := p8_a32;
1163     ddp_vo_disc_rec.description := p8_a33;
1164     ddp_vo_disc_rec.context := p8_a34;
1165     ddp_vo_disc_rec.attribute1 := p8_a35;
1166     ddp_vo_disc_rec.attribute2 := p8_a36;
1167     ddp_vo_disc_rec.attribute3 := p8_a37;
1168     ddp_vo_disc_rec.attribute4 := p8_a38;
1169     ddp_vo_disc_rec.attribute5 := p8_a39;
1173     ddp_vo_disc_rec.attribute9 := p8_a43;
1170     ddp_vo_disc_rec.attribute6 := p8_a40;
1171     ddp_vo_disc_rec.attribute7 := p8_a41;
1172     ddp_vo_disc_rec.attribute8 := p8_a42;
1174     ddp_vo_disc_rec.attribute10 := p8_a44;
1175     ddp_vo_disc_rec.attribute11 := p8_a45;
1176     ddp_vo_disc_rec.attribute12 := p8_a46;
1177     ddp_vo_disc_rec.attribute13 := p8_a47;
1178     ddp_vo_disc_rec.attribute14 := p8_a48;
1179     ddp_vo_disc_rec.attribute15 := p8_a49;
1180 
1181 
1182     -- here's the delegated call to the old PL/SQL routine
1183     ozf_volume_offer_disc_pvt.copy_vo_discounts(p_api_version_number,
1184       p_init_msg_list,
1185       p_commit,
1186       p_validation_level,
1187       x_return_status,
1188       x_msg_count,
1189       x_msg_data,
1190       p_discount_line_id,
1191       ddp_vo_disc_rec,
1192       x_vo_discount_line_id);
1193 
1194     -- copy data back from the local variables to OUT or IN-OUT args, if any
1195 
1196 
1197 
1198 
1199 
1200 
1201 
1202 
1203 
1204   end;
1205 
1206   procedure check_vo_product_attr(x_return_status out nocopy  VARCHAR2
1207     , p0_a0  NUMBER := 0-1962.0724
1208     , p0_a1  VARCHAR2 := fnd_api.g_miss_char
1209     , p0_a2  NUMBER := 0-1962.0724
1210     , p0_a3  VARCHAR2 := fnd_api.g_miss_char
1211     , p0_a4  VARCHAR2 := fnd_api.g_miss_char
1212     , p0_a5  DATE := fnd_api.g_miss_date
1213     , p0_a6  DATE := fnd_api.g_miss_date
1214     , p0_a7  NUMBER := 0-1962.0724
1215     , p0_a8  NUMBER := 0-1962.0724
1216     , p0_a9  DATE := fnd_api.g_miss_date
1217     , p0_a10  NUMBER := 0-1962.0724
1218     , p0_a11  DATE := fnd_api.g_miss_date
1219     , p0_a12  NUMBER := 0-1962.0724
1220     , p0_a13  NUMBER := 0-1962.0724
1221     , p0_a14  NUMBER := 0-1962.0724
1222     , p0_a15  NUMBER := 0-1962.0724
1223     , p0_a16  VARCHAR2 := fnd_api.g_miss_char
1224     , p0_a17  VARCHAR2 := fnd_api.g_miss_char
1225     , p0_a18  VARCHAR2 := fnd_api.g_miss_char
1226     , p0_a19  VARCHAR2 := fnd_api.g_miss_char
1227     , p0_a20  VARCHAR2 := fnd_api.g_miss_char
1228   )
1229 
1230   as
1231     ddp_vo_prod_rec ozf_volume_offer_disc_pvt.vo_prod_rec_type;
1232     ddindx binary_integer; indx binary_integer;
1233   begin
1234 
1235     -- copy data to the local IN or IN-OUT args, if any
1236     ddp_vo_prod_rec.off_discount_product_id := rosetta_g_miss_num_map(p0_a0);
1237     ddp_vo_prod_rec.product_level := p0_a1;
1238     ddp_vo_prod_rec.product_id := rosetta_g_miss_num_map(p0_a2);
1239     ddp_vo_prod_rec.excluder_flag := p0_a3;
1240     ddp_vo_prod_rec.uom_code := p0_a4;
1241     ddp_vo_prod_rec.start_date_active := rosetta_g_miss_date_in_map(p0_a5);
1242     ddp_vo_prod_rec.end_date_active := rosetta_g_miss_date_in_map(p0_a6);
1243     ddp_vo_prod_rec.offer_discount_line_id := rosetta_g_miss_num_map(p0_a7);
1244     ddp_vo_prod_rec.offer_id := rosetta_g_miss_num_map(p0_a8);
1245     ddp_vo_prod_rec.creation_date := rosetta_g_miss_date_in_map(p0_a9);
1246     ddp_vo_prod_rec.created_by := rosetta_g_miss_num_map(p0_a10);
1247     ddp_vo_prod_rec.last_update_date := rosetta_g_miss_date_in_map(p0_a11);
1248     ddp_vo_prod_rec.last_updated_by := rosetta_g_miss_num_map(p0_a12);
1249     ddp_vo_prod_rec.last_update_login := rosetta_g_miss_num_map(p0_a13);
1250     ddp_vo_prod_rec.object_version_number := rosetta_g_miss_num_map(p0_a14);
1251     ddp_vo_prod_rec.parent_off_disc_prod_id := rosetta_g_miss_num_map(p0_a15);
1252     ddp_vo_prod_rec.product_context := p0_a16;
1253     ddp_vo_prod_rec.product_attribute := p0_a17;
1254     ddp_vo_prod_rec.product_attr_value := p0_a18;
1255     ddp_vo_prod_rec.apply_discount_flag := p0_a19;
1256     ddp_vo_prod_rec.include_volume_flag := p0_a20;
1257 
1258 
1259     -- here's the delegated call to the old PL/SQL routine
1260     ozf_volume_offer_disc_pvt.check_vo_product_attr(ddp_vo_prod_rec,
1261       x_return_status);
1262 
1263     -- copy data back from the local variables to OUT or IN-OUT args, if any
1264 
1265   end;
1266 
1267 end ozf_volume_offer_disc_pvt_w;