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