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