DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_TERMS_AND_CONDS_PVT_W

Source


1 package body okl_terms_and_conds_pvt_w as
2   /* $Header: OKLUSZTB.pls 120.1 2005/07/20 10:12:08 dkagrawa 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_p1(t out nocopy okl_terms_and_conds_pvt.trm_tbl_type, a0 JTF_NUMBER_TABLE
23     , a1 JTF_VARCHAR2_TABLE_300
24     , a2 JTF_VARCHAR2_TABLE_300
25     , a3 JTF_VARCHAR2_TABLE_100
26     , a4 JTF_VARCHAR2_TABLE_300
27     , a5 JTF_VARCHAR2_TABLE_100
28     , a6 JTF_VARCHAR2_TABLE_100
29     , a7 JTF_VARCHAR2_TABLE_100
30     , a8 JTF_VARCHAR2_TABLE_100
31     , a9 JTF_VARCHAR2_TABLE_100
32     , a10 JTF_VARCHAR2_TABLE_100
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).id := rosetta_g_miss_num_map(a0(indx));
42           t(ddindx).group_title := a1(indx);
43           t(ddindx).description := a2(indx);
44           t(ddindx).rule_group := a3(indx);
45           t(ddindx).rule_sequence := a4(indx);
46           t(ddindx).title_style := a5(indx);
47           t(ddindx).pagetitle := a6(indx);
48           t(ddindx).region := a7(indx);
49           t(ddindx).currency := a8(indx);
50           t(ddindx).disabled := a9(indx);
51           t(ddindx).jsp := 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_p1;
61   procedure rosetta_table_copy_out_p1(t okl_terms_and_conds_pvt.trm_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
62     , a1 out nocopy JTF_VARCHAR2_TABLE_300
63     , a2 out nocopy JTF_VARCHAR2_TABLE_300
64     , a3 out nocopy JTF_VARCHAR2_TABLE_100
65     , a4 out nocopy JTF_VARCHAR2_TABLE_300
66     , a5 out nocopy JTF_VARCHAR2_TABLE_100
67     , a6 out nocopy JTF_VARCHAR2_TABLE_100
68     , a7 out nocopy JTF_VARCHAR2_TABLE_100
69     , a8 out nocopy JTF_VARCHAR2_TABLE_100
70     , a9 out nocopy JTF_VARCHAR2_TABLE_100
71     , a10 out nocopy JTF_VARCHAR2_TABLE_100
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_VARCHAR2_TABLE_300();
78     a2 := JTF_VARCHAR2_TABLE_300();
79     a3 := JTF_VARCHAR2_TABLE_100();
80     a4 := JTF_VARCHAR2_TABLE_300();
81     a5 := JTF_VARCHAR2_TABLE_100();
82     a6 := JTF_VARCHAR2_TABLE_100();
83     a7 := JTF_VARCHAR2_TABLE_100();
84     a8 := JTF_VARCHAR2_TABLE_100();
85     a9 := JTF_VARCHAR2_TABLE_100();
86     a10 := JTF_VARCHAR2_TABLE_100();
87   else
88       a0 := JTF_NUMBER_TABLE();
89       a1 := JTF_VARCHAR2_TABLE_300();
90       a2 := JTF_VARCHAR2_TABLE_300();
91       a3 := JTF_VARCHAR2_TABLE_100();
92       a4 := JTF_VARCHAR2_TABLE_300();
93       a5 := JTF_VARCHAR2_TABLE_100();
94       a6 := JTF_VARCHAR2_TABLE_100();
95       a7 := JTF_VARCHAR2_TABLE_100();
96       a8 := JTF_VARCHAR2_TABLE_100();
97       a9 := JTF_VARCHAR2_TABLE_100();
98       a10 := JTF_VARCHAR2_TABLE_100();
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).id);
115           a1(indx) := t(ddindx).group_title;
116           a2(indx) := t(ddindx).description;
117           a3(indx) := t(ddindx).rule_group;
118           a4(indx) := t(ddindx).rule_sequence;
119           a5(indx) := t(ddindx).title_style;
120           a6(indx) := t(ddindx).pagetitle;
121           a7(indx) := t(ddindx).region;
122           a8(indx) := t(ddindx).currency;
123           a9(indx) := t(ddindx).disabled;
124           a10(indx) := t(ddindx).jsp;
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_p1;
134 
135   procedure get_terms_conditions(p_api_version  NUMBER
136     , p_init_msg_list  VARCHAR2
137     , x_return_status out nocopy  VARCHAR2
138     , x_msg_count out nocopy  NUMBER
139     , x_msg_data out nocopy  VARCHAR2
140     , p_type  VARCHAR2
141     , p6_a0 out nocopy JTF_NUMBER_TABLE
142     , p6_a1 out nocopy JTF_VARCHAR2_TABLE_300
143     , p6_a2 out nocopy JTF_VARCHAR2_TABLE_300
144     , p6_a3 out nocopy JTF_VARCHAR2_TABLE_100
145     , p6_a4 out nocopy JTF_VARCHAR2_TABLE_300
146     , p6_a5 out nocopy JTF_VARCHAR2_TABLE_100
147     , p6_a6 out nocopy JTF_VARCHAR2_TABLE_100
148     , p6_a7 out nocopy JTF_VARCHAR2_TABLE_100
149     , p6_a8 out nocopy JTF_VARCHAR2_TABLE_100
150     , p6_a9 out nocopy JTF_VARCHAR2_TABLE_100
151     , p6_a10 out nocopy JTF_VARCHAR2_TABLE_100
152   )
153 
154   as
155     ddx_trm_tbl okl_terms_and_conds_pvt.trm_tbl_type;
156     ddindx binary_integer; indx binary_integer;
157   begin
158 
159     -- copy data to the local IN or IN-OUT args, if any
160 
161 
162 
163 
164 
165 
166 
167     -- here's the delegated call to the old PL/SQL routine
168     okl_terms_and_conds_pvt.get_terms_conditions(p_api_version,
169       p_init_msg_list,
170       x_return_status,
171       x_msg_count,
172       x_msg_data,
173       p_type,
174       ddx_trm_tbl);
175 
176     -- copy data back from the local variables to OUT or IN-OUT args, if any
177 
178 
179 
180 
181 
182 
183     okl_terms_and_conds_pvt_w.rosetta_table_copy_out_p1(ddx_trm_tbl, p6_a0
184       , p6_a1
185       , p6_a2
186       , p6_a3
187       , p6_a4
188       , p6_a5
189       , p6_a6
190       , p6_a7
191       , p6_a8
192       , p6_a9
193       , p6_a10
194       );
195   end;
196 
197 end okl_terms_and_conds_pvt_w;