[Home] [Help]
PACKAGE BODY: APPS.OKL_BPD_CAP_PURPOSE_PVT_W
Source
1 package body okl_bpd_cap_purpose_pvt_w as
2 /* $Header: OKLECPUB.pls 120.2 2005/10/30 03:16:40 appldev 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_p4(t out nocopy okl_bpd_cap_purpose_pvt.okl_cash_dtls_tbl_type, a0 JTF_NUMBER_TABLE
23 , a1 JTF_NUMBER_TABLE
24 , a2 JTF_NUMBER_TABLE
25 , a3 JTF_NUMBER_TABLE
26 , a4 JTF_NUMBER_TABLE
27 , a5 JTF_NUMBER_TABLE
28 ) as
29 ddindx binary_integer; indx binary_integer;
30 begin
31 if a0 is not null and a0.count > 0 then
32 if a0.count > 0 then
33 indx := a0.first;
34 ddindx := 1;
35 while true loop
36 t(ddindx).id := rosetta_g_miss_num_map(a0(indx));
37 t(ddindx).customer_id := rosetta_g_miss_num_map(a1(indx));
38 t(ddindx).contract_id := rosetta_g_miss_num_map(a2(indx));
39 t(ddindx).receipt_id := rosetta_g_miss_num_map(a3(indx));
40 t(ddindx).sty_id := rosetta_g_miss_num_map(a4(indx));
41 t(ddindx).amount := rosetta_g_miss_num_map(a5(indx));
42 ddindx := ddindx+1;
43 if a0.last =indx
44 then exit;
45 end if;
46 indx := a0.next(indx);
47 end loop;
48 end if;
49 end if;
50 end rosetta_table_copy_in_p4;
51 procedure rosetta_table_copy_out_p4(t okl_bpd_cap_purpose_pvt.okl_cash_dtls_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
52 , a1 out nocopy JTF_NUMBER_TABLE
53 , a2 out nocopy JTF_NUMBER_TABLE
54 , a3 out nocopy JTF_NUMBER_TABLE
55 , a4 out nocopy JTF_NUMBER_TABLE
56 , a5 out nocopy JTF_NUMBER_TABLE
57 ) as
58 ddindx binary_integer; indx binary_integer;
59 begin
60 if t is null or t.count = 0 then
61 a0 := JTF_NUMBER_TABLE();
62 a1 := JTF_NUMBER_TABLE();
63 a2 := JTF_NUMBER_TABLE();
64 a3 := JTF_NUMBER_TABLE();
65 a4 := JTF_NUMBER_TABLE();
66 a5 := JTF_NUMBER_TABLE();
67 else
68 a0 := JTF_NUMBER_TABLE();
69 a1 := JTF_NUMBER_TABLE();
70 a2 := JTF_NUMBER_TABLE();
71 a3 := JTF_NUMBER_TABLE();
72 a4 := JTF_NUMBER_TABLE();
73 a5 := JTF_NUMBER_TABLE();
74 if t.count > 0 then
75 a0.extend(t.count);
76 a1.extend(t.count);
77 a2.extend(t.count);
78 a3.extend(t.count);
79 a4.extend(t.count);
80 a5.extend(t.count);
81 ddindx := t.first;
82 indx := 1;
83 while true loop
84 a0(indx) := rosetta_g_miss_num_map(t(ddindx).id);
85 a1(indx) := rosetta_g_miss_num_map(t(ddindx).customer_id);
86 a2(indx) := rosetta_g_miss_num_map(t(ddindx).contract_id);
87 a3(indx) := rosetta_g_miss_num_map(t(ddindx).receipt_id);
88 a4(indx) := rosetta_g_miss_num_map(t(ddindx).sty_id);
89 a5(indx) := rosetta_g_miss_num_map(t(ddindx).amount);
90 indx := indx+1;
91 if t.last =ddindx
92 then exit;
93 end if;
94 ddindx := t.next(ddindx);
95 end loop;
96 end if;
97 end if;
98 end rosetta_table_copy_out_p4;
99
100 procedure create_purpose(p_api_version NUMBER
101 , p_init_msg_list VARCHAR2
102 , x_return_status out nocopy VARCHAR2
103 , x_msg_count out nocopy NUMBER
104 , x_msg_data out nocopy VARCHAR2
105 , p5_a0 JTF_NUMBER_TABLE
106 , p5_a1 JTF_NUMBER_TABLE
107 , p5_a2 JTF_NUMBER_TABLE
108 , p5_a3 JTF_NUMBER_TABLE
109 , p5_a4 JTF_NUMBER_TABLE
110 , p5_a5 JTF_NUMBER_TABLE
111 , p6_a0 out nocopy JTF_NUMBER_TABLE
112 , p6_a1 out nocopy JTF_NUMBER_TABLE
113 , p6_a2 out nocopy JTF_NUMBER_TABLE
114 , p6_a3 out nocopy JTF_NUMBER_TABLE
115 , p6_a4 out nocopy JTF_NUMBER_TABLE
116 , p6_a5 out nocopy JTF_NUMBER_TABLE
117 )
118
119 as
120 ddp_strm_tbl okl_bpd_cap_purpose_pvt.okl_cash_dtls_tbl_type;
121 ddx_strm_tbl okl_bpd_cap_purpose_pvt.okl_cash_dtls_tbl_type;
122 ddindx binary_integer; indx binary_integer;
123 begin
124
125 -- copy data to the local IN or IN-OUT args, if any
126
127
128
129
130
131 okl_bpd_cap_purpose_pvt_w.rosetta_table_copy_in_p4(ddp_strm_tbl, p5_a0
132 , p5_a1
133 , p5_a2
134 , p5_a3
135 , p5_a4
136 , p5_a5
137 );
138
139
140 -- here's the delegated call to the old PL/SQL routine
141 okl_bpd_cap_purpose_pvt.create_purpose(p_api_version,
142 p_init_msg_list,
143 x_return_status,
144 x_msg_count,
145 x_msg_data,
146 ddp_strm_tbl,
147 ddx_strm_tbl);
148
149 -- copy data back from the local variables to OUT or IN-OUT args, if any
150
151
152
153
154
155
156 okl_bpd_cap_purpose_pvt_w.rosetta_table_copy_out_p4(ddx_strm_tbl, p6_a0
157 , p6_a1
158 , p6_a2
159 , p6_a3
160 , p6_a4
161 , p6_a5
162 );
163 end;
164
165 procedure update_purpose(p_api_version NUMBER
166 , p_init_msg_list VARCHAR2
167 , x_return_status out nocopy VARCHAR2
168 , x_msg_count out nocopy NUMBER
169 , x_msg_data out nocopy VARCHAR2
170 , p5_a0 JTF_NUMBER_TABLE
171 , p5_a1 JTF_NUMBER_TABLE
172 , p5_a2 JTF_NUMBER_TABLE
173 , p5_a3 JTF_NUMBER_TABLE
174 , p5_a4 JTF_NUMBER_TABLE
175 , p5_a5 JTF_NUMBER_TABLE
176 , p6_a0 out nocopy JTF_NUMBER_TABLE
177 , p6_a1 out nocopy JTF_NUMBER_TABLE
178 , p6_a2 out nocopy JTF_NUMBER_TABLE
179 , p6_a3 out nocopy JTF_NUMBER_TABLE
180 , p6_a4 out nocopy JTF_NUMBER_TABLE
181 , p6_a5 out nocopy JTF_NUMBER_TABLE
182 )
183
184 as
185 ddp_strm_tbl okl_bpd_cap_purpose_pvt.okl_cash_dtls_tbl_type;
186 ddx_strm_tbl okl_bpd_cap_purpose_pvt.okl_cash_dtls_tbl_type;
187 ddindx binary_integer; indx binary_integer;
188 begin
189
190 -- copy data to the local IN or IN-OUT args, if any
191
192
193
194
195
196 okl_bpd_cap_purpose_pvt_w.rosetta_table_copy_in_p4(ddp_strm_tbl, p5_a0
197 , p5_a1
198 , p5_a2
199 , p5_a3
200 , p5_a4
201 , p5_a5
202 );
203
204
205 -- here's the delegated call to the old PL/SQL routine
206 okl_bpd_cap_purpose_pvt.update_purpose(p_api_version,
207 p_init_msg_list,
208 x_return_status,
209 x_msg_count,
210 x_msg_data,
211 ddp_strm_tbl,
212 ddx_strm_tbl);
213
214 -- copy data back from the local variables to OUT or IN-OUT args, if any
215
216
217
218
219
220
221 okl_bpd_cap_purpose_pvt_w.rosetta_table_copy_out_p4(ddx_strm_tbl, p6_a0
222 , p6_a1
223 , p6_a2
224 , p6_a3
225 , p6_a4
226 , p6_a5
227 );
228 end;
229
230 procedure delete_purpose(p_api_version NUMBER
231 , p_init_msg_list VARCHAR2
232 , x_return_status out nocopy VARCHAR2
233 , x_msg_count out nocopy NUMBER
234 , x_msg_data out nocopy VARCHAR2
235 , p5_a0 JTF_NUMBER_TABLE
236 , p5_a1 JTF_NUMBER_TABLE
237 , p5_a2 JTF_NUMBER_TABLE
238 , p5_a3 JTF_NUMBER_TABLE
239 , p5_a4 JTF_NUMBER_TABLE
240 , p5_a5 JTF_NUMBER_TABLE
241 , p6_a0 out nocopy JTF_NUMBER_TABLE
242 , p6_a1 out nocopy JTF_NUMBER_TABLE
243 , p6_a2 out nocopy JTF_NUMBER_TABLE
244 , p6_a3 out nocopy JTF_NUMBER_TABLE
245 , p6_a4 out nocopy JTF_NUMBER_TABLE
246 , p6_a5 out nocopy JTF_NUMBER_TABLE
247 )
248
249 as
250 ddp_strm_tbl okl_bpd_cap_purpose_pvt.okl_cash_dtls_tbl_type;
251 ddx_strm_tbl okl_bpd_cap_purpose_pvt.okl_cash_dtls_tbl_type;
252 ddindx binary_integer; indx binary_integer;
253 begin
254
255 -- copy data to the local IN or IN-OUT args, if any
256
257
258
259
260
261 okl_bpd_cap_purpose_pvt_w.rosetta_table_copy_in_p4(ddp_strm_tbl, p5_a0
262 , p5_a1
263 , p5_a2
264 , p5_a3
265 , p5_a4
266 , p5_a5
267 );
268
269
270 -- here's the delegated call to the old PL/SQL routine
271 okl_bpd_cap_purpose_pvt.delete_purpose(p_api_version,
272 p_init_msg_list,
273 x_return_status,
274 x_msg_count,
275 x_msg_data,
276 ddp_strm_tbl,
277 ddx_strm_tbl);
278
279 -- copy data back from the local variables to OUT or IN-OUT args, if any
280
281
282
283
284
285
286 okl_bpd_cap_purpose_pvt_w.rosetta_table_copy_out_p4(ddx_strm_tbl, p6_a0
287 , p6_a1
288 , p6_a2
289 , p6_a3
290 , p6_a4
291 , p6_a5
292 );
293 end;
294
295 end okl_bpd_cap_purpose_pvt_w;