[Home] [Help]
PACKAGE BODY: APPS.CN_PSUM_PVT_W
Source
1 package body cn_psum_pvt_w as
2 /* $Header: cnwpsumb.pls 115.4 2002/11/25 22:25:59 nkodkani 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 -- 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 procedure rosetta_table_copy_in_p1(t out nocopy cn_psum_pvt.psum_tbl_type, a0 JTF_NUMBER_TABLE
14 , a1 JTF_VARCHAR2_TABLE_400
15 , a2 JTF_NUMBER_TABLE
16 , a3 JTF_NUMBER_TABLE
17 , a4 JTF_VARCHAR2_TABLE_100
18 , a5 JTF_VARCHAR2_TABLE_100
19 , a6 JTF_NUMBER_TABLE
20 , a7 JTF_VARCHAR2_TABLE_100
21 , a8 JTF_NUMBER_TABLE
22 , a9 JTF_VARCHAR2_TABLE_100
23 , a10 JTF_VARCHAR2_TABLE_100
24 , a11 JTF_VARCHAR2_TABLE_100
25 , a12 JTF_VARCHAR2_TABLE_100
26 , a13 JTF_VARCHAR2_TABLE_100
27 , a14 JTF_DATE_TABLE
28 , a15 JTF_DATE_TABLE
29 , a16 JTF_NUMBER_TABLE
30 ) as
31 ddindx binary_integer; indx binary_integer;
32 begin
33 if a0 is not null and a0.count > 0 then
34 if a0.count > 0 then
35 indx := a0.first;
36 ddindx := 1;
37 while true loop
38 t(ddindx).mgr_id := a0(indx);
39 t(ddindx).mgr_name := a1(indx);
40 t(ddindx).srp_role_id := a2(indx);
41 t(ddindx).srp_id := a3(indx);
42 t(ddindx).overlay_flag := a4(indx);
43 t(ddindx).non_std_flag := a5(indx);
44 t(ddindx).role_id := a6(indx);
45 t(ddindx).role_name := a7(indx);
46 t(ddindx).job_title_id := a8(indx);
47 t(ddindx).job_discretion := a9(indx);
48 t(ddindx).status := a10(indx);
49 t(ddindx).plan_activate_status := a11(indx);
50 t(ddindx).club_eligible_flag := a12(indx);
51 t(ddindx).org_code := a13(indx);
52 t(ddindx).start_date := rosetta_g_miss_date_in_map(a14(indx));
53 t(ddindx).end_date := rosetta_g_miss_date_in_map(a15(indx));
54 t(ddindx).group_id := a16(indx);
55 ddindx := ddindx+1;
56 if a0.last =indx
57 then exit;
58 end if;
59 indx := a0.next(indx);
60 end loop;
61 end if;
62 end if;
63 end rosetta_table_copy_in_p1;
64 procedure rosetta_table_copy_out_p1(t cn_psum_pvt.psum_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
65 , a1 out nocopy JTF_VARCHAR2_TABLE_400
66 , a2 out nocopy JTF_NUMBER_TABLE
67 , a3 out nocopy JTF_NUMBER_TABLE
68 , a4 out nocopy JTF_VARCHAR2_TABLE_100
69 , a5 out nocopy JTF_VARCHAR2_TABLE_100
70 , a6 out nocopy JTF_NUMBER_TABLE
71 , a7 out nocopy JTF_VARCHAR2_TABLE_100
72 , a8 out nocopy JTF_NUMBER_TABLE
73 , a9 out nocopy JTF_VARCHAR2_TABLE_100
74 , a10 out nocopy JTF_VARCHAR2_TABLE_100
75 , a11 out nocopy JTF_VARCHAR2_TABLE_100
76 , a12 out nocopy JTF_VARCHAR2_TABLE_100
77 , a13 out nocopy JTF_VARCHAR2_TABLE_100
78 , a14 out nocopy JTF_DATE_TABLE
79 , a15 out nocopy JTF_DATE_TABLE
80 , a16 out nocopy JTF_NUMBER_TABLE
81 ) as
82 ddindx binary_integer; indx binary_integer;
83 begin
84 if t is null or t.count = 0 then
85 a0 := JTF_NUMBER_TABLE();
86 a1 := JTF_VARCHAR2_TABLE_400();
87 a2 := JTF_NUMBER_TABLE();
88 a3 := JTF_NUMBER_TABLE();
89 a4 := JTF_VARCHAR2_TABLE_100();
90 a5 := JTF_VARCHAR2_TABLE_100();
91 a6 := JTF_NUMBER_TABLE();
92 a7 := JTF_VARCHAR2_TABLE_100();
93 a8 := JTF_NUMBER_TABLE();
94 a9 := JTF_VARCHAR2_TABLE_100();
95 a10 := JTF_VARCHAR2_TABLE_100();
96 a11 := JTF_VARCHAR2_TABLE_100();
97 a12 := JTF_VARCHAR2_TABLE_100();
98 a13 := JTF_VARCHAR2_TABLE_100();
99 a14 := JTF_DATE_TABLE();
100 a15 := JTF_DATE_TABLE();
101 a16 := JTF_NUMBER_TABLE();
102 else
103 a0 := JTF_NUMBER_TABLE();
104 a1 := JTF_VARCHAR2_TABLE_400();
105 a2 := JTF_NUMBER_TABLE();
106 a3 := JTF_NUMBER_TABLE();
107 a4 := JTF_VARCHAR2_TABLE_100();
108 a5 := JTF_VARCHAR2_TABLE_100();
109 a6 := JTF_NUMBER_TABLE();
110 a7 := JTF_VARCHAR2_TABLE_100();
111 a8 := JTF_NUMBER_TABLE();
112 a9 := JTF_VARCHAR2_TABLE_100();
113 a10 := JTF_VARCHAR2_TABLE_100();
114 a11 := JTF_VARCHAR2_TABLE_100();
115 a12 := JTF_VARCHAR2_TABLE_100();
116 a13 := JTF_VARCHAR2_TABLE_100();
117 a14 := JTF_DATE_TABLE();
118 a15 := JTF_DATE_TABLE();
119 a16 := JTF_NUMBER_TABLE();
120 if t.count > 0 then
121 a0.extend(t.count);
122 a1.extend(t.count);
123 a2.extend(t.count);
124 a3.extend(t.count);
125 a4.extend(t.count);
126 a5.extend(t.count);
127 a6.extend(t.count);
128 a7.extend(t.count);
129 a8.extend(t.count);
130 a9.extend(t.count);
131 a10.extend(t.count);
132 a11.extend(t.count);
133 a12.extend(t.count);
134 a13.extend(t.count);
135 a14.extend(t.count);
136 a15.extend(t.count);
137 a16.extend(t.count);
138 ddindx := t.first;
139 indx := 1;
140 while true loop
141 a0(indx) := t(ddindx).mgr_id;
142 a1(indx) := t(ddindx).mgr_name;
143 a2(indx) := t(ddindx).srp_role_id;
144 a3(indx) := t(ddindx).srp_id;
145 a4(indx) := t(ddindx).overlay_flag;
146 a5(indx) := t(ddindx).non_std_flag;
147 a6(indx) := t(ddindx).role_id;
148 a7(indx) := t(ddindx).role_name;
149 a8(indx) := t(ddindx).job_title_id;
150 a9(indx) := t(ddindx).job_discretion;
151 a10(indx) := t(ddindx).status;
152 a11(indx) := t(ddindx).plan_activate_status;
153 a12(indx) := t(ddindx).club_eligible_flag;
154 a13(indx) := t(ddindx).org_code;
155 a14(indx) := t(ddindx).start_date;
156 a15(indx) := t(ddindx).end_date;
157 a16(indx) := t(ddindx).group_id;
158 indx := indx+1;
159 if t.last =ddindx
160 then exit;
161 end if;
162 ddindx := t.next(ddindx);
163 end loop;
164 end if;
165 end if;
166 end rosetta_table_copy_out_p1;
167
168 procedure get_psum_data(p_api_version NUMBER
169 , p_init_msg_list VARCHAR2
170 , p_commit VARCHAR2
171 , p_validation_level NUMBER
172 , x_return_status out nocopy VARCHAR2
173 , x_msg_count out nocopy NUMBER
174 , x_msg_data out nocopy VARCHAR2
175 , p_mgr_id NUMBER
176 , p_comp_group_id NUMBER
177 , p_mgr_dtl_flag VARCHAR2
178 , p_effective_date date
179 , p11_a0 out nocopy JTF_NUMBER_TABLE
180 , p11_a1 out nocopy JTF_VARCHAR2_TABLE_400
181 , p11_a2 out nocopy JTF_NUMBER_TABLE
182 , p11_a3 out nocopy JTF_NUMBER_TABLE
183 , p11_a4 out nocopy JTF_VARCHAR2_TABLE_100
184 , p11_a5 out nocopy JTF_VARCHAR2_TABLE_100
185 , p11_a6 out nocopy JTF_NUMBER_TABLE
186 , p11_a7 out nocopy JTF_VARCHAR2_TABLE_100
187 , p11_a8 out nocopy JTF_NUMBER_TABLE
188 , p11_a9 out nocopy JTF_VARCHAR2_TABLE_100
189 , p11_a10 out nocopy JTF_VARCHAR2_TABLE_100
190 , p11_a11 out nocopy JTF_VARCHAR2_TABLE_100
191 , p11_a12 out nocopy JTF_VARCHAR2_TABLE_100
192 , p11_a13 out nocopy JTF_VARCHAR2_TABLE_100
193 , p11_a14 out nocopy JTF_DATE_TABLE
194 , p11_a15 out nocopy JTF_DATE_TABLE
195 , p11_a16 out nocopy JTF_NUMBER_TABLE
196 , x_total_rows out nocopy NUMBER
197 )
198
199 as
200 ddp_effective_date date;
201 ddx_psum_data cn_psum_pvt.psum_tbl_type;
202 ddindx binary_integer; indx binary_integer;
203 begin
204
205 -- copy data to the local IN or IN-OUT args, if any
206
207
208
209
210
211
212
213
214
215
216 ddp_effective_date := rosetta_g_miss_date_in_map(p_effective_date);
217
218
219
220 -- here's the delegated call to the old PL/SQL routine
221 cn_psum_pvt.get_psum_data(p_api_version,
222 p_init_msg_list,
223 p_commit,
224 p_validation_level,
225 x_return_status,
226 x_msg_count,
227 x_msg_data,
228 p_mgr_id,
229 p_comp_group_id,
230 p_mgr_dtl_flag,
231 ddp_effective_date,
232 ddx_psum_data,
233 x_total_rows);
234
235 -- copy data back from the local variables to OUT or IN-OUT args, if any
236
237
238
239
240
241
242
243
244
245
246
247 cn_psum_pvt_w.rosetta_table_copy_out_p1(ddx_psum_data, p11_a0
248 , p11_a1
249 , p11_a2
250 , p11_a3
251 , p11_a4
252 , p11_a5
253 , p11_a6
254 , p11_a7
255 , p11_a8
256 , p11_a9
257 , p11_a10
258 , p11_a11
259 , p11_a12
260 , p11_a13
261 , p11_a14
262 , p11_a15
263 , p11_a16
264 );
265
266 end;
267
268 procedure get_mo_psum_data(p_api_version NUMBER
269 , p_init_msg_list VARCHAR2
270 , p_commit VARCHAR2
271 , p_validation_level NUMBER
272 , x_return_status out nocopy VARCHAR2
273 , x_msg_count out nocopy NUMBER
274 , x_msg_data out nocopy VARCHAR2
275 , p_mgr_id NUMBER
276 , p_comp_group_id NUMBER
277 , p_mgr_dtl_flag VARCHAR2
278 , p_effective_date date
279 , p_is_multiorg VARCHAR2
280 , p12_a0 out nocopy JTF_NUMBER_TABLE
281 , p12_a1 out nocopy JTF_VARCHAR2_TABLE_400
282 , p12_a2 out nocopy JTF_NUMBER_TABLE
283 , p12_a3 out nocopy JTF_NUMBER_TABLE
284 , p12_a4 out nocopy JTF_VARCHAR2_TABLE_100
285 , p12_a5 out nocopy JTF_VARCHAR2_TABLE_100
286 , p12_a6 out nocopy JTF_NUMBER_TABLE
287 , p12_a7 out nocopy JTF_VARCHAR2_TABLE_100
288 , p12_a8 out nocopy JTF_NUMBER_TABLE
289 , p12_a9 out nocopy JTF_VARCHAR2_TABLE_100
290 , p12_a10 out nocopy JTF_VARCHAR2_TABLE_100
291 , p12_a11 out nocopy JTF_VARCHAR2_TABLE_100
292 , p12_a12 out nocopy JTF_VARCHAR2_TABLE_100
293 , p12_a13 out nocopy JTF_VARCHAR2_TABLE_100
294 , p12_a14 out nocopy JTF_DATE_TABLE
295 , p12_a15 out nocopy JTF_DATE_TABLE
296 , p12_a16 out nocopy JTF_NUMBER_TABLE
297 , x_total_rows out nocopy NUMBER
298 )
299
300 as
301 ddp_effective_date date;
302 ddx_psum_data cn_psum_pvt.psum_tbl_type;
303 ddindx binary_integer; indx binary_integer;
304 begin
305
306 -- copy data to the local IN or IN-OUT args, if any
307
308
309
310
311
312
313
314
315
316
317 ddp_effective_date := rosetta_g_miss_date_in_map(p_effective_date);
318
319
320
321
322 -- here's the delegated call to the old PL/SQL routine
323 cn_psum_pvt.get_mo_psum_data(p_api_version,
324 p_init_msg_list,
325 p_commit,
326 p_validation_level,
327 x_return_status,
328 x_msg_count,
329 x_msg_data,
330 p_mgr_id,
331 p_comp_group_id,
332 p_mgr_dtl_flag,
333 ddp_effective_date,
334 p_is_multiorg,
335 ddx_psum_data,
336 x_total_rows);
337
338 -- copy data back from the local variables to OUT or IN-OUT args, if any
339
340
341
342
343
344
345
346
347
348
349
350
351 cn_psum_pvt_w.rosetta_table_copy_out_p1(ddx_psum_data, p12_a0
352 , p12_a1
353 , p12_a2
354 , p12_a3
355 , p12_a4
356 , p12_a5
357 , p12_a6
358 , p12_a7
359 , p12_a8
360 , p12_a9
361 , p12_a10
362 , p12_a11
363 , p12_a12
364 , p12_a13
365 , p12_a14
366 , p12_a15
367 , p12_a16
368 );
369
370 end;
371
372 end cn_psum_pvt_w;