DBA Data[Home] [Help]

PACKAGE BODY: APPS.CN_GET_SRP_DATA_PVT_W

Source


1 package body cn_get_srp_data_pvt_w as
2   /* $Header: cnwsfgtb.pls 115.6 2002/11/25 22:30:34 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_get_srp_data_pvt.srp_data_tbl_type, a0 JTF_NUMBER_TABLE
14     , a1 JTF_VARCHAR2_TABLE_400
15     , a2 JTF_VARCHAR2_TABLE_100
16     , a3 JTF_DATE_TABLE
17     , a4 JTF_DATE_TABLE
18     , a5 JTF_VARCHAR2_TABLE_100
19     , a6 JTF_NUMBER_TABLE
20     , a7 JTF_VARCHAR2_TABLE_100
21     , a8 JTF_VARCHAR2_TABLE_300
22     , a9 JTF_VARCHAR2_TABLE_300
23     , a10 JTF_VARCHAR2_TABLE_100
24     , a11 JTF_NUMBER_TABLE
25     , a12 JTF_VARCHAR2_TABLE_100
26     ) as
27     ddindx binary_integer; indx binary_integer;
28   begin
29   if a0 is not null and a0.count > 0 then
30       if a0.count > 0 then
31         indx := a0.first;
32         ddindx := 1;
33         while true loop
34           t(ddindx).srp_id := a0(indx);
35           t(ddindx).name := a1(indx);
36           t(ddindx).emp_num := a2(indx);
37           t(ddindx).start_date := rosetta_g_miss_date_in_map(a3(indx));
38           t(ddindx).end_date := rosetta_g_miss_date_in_map(a4(indx));
39           t(ddindx).cost_center := a5(indx);
40           t(ddindx).comp_group_id := a6(indx);
41           t(ddindx).comp_group_name := a7(indx);
42           t(ddindx).job_code := a8(indx);
43           t(ddindx).job_title := a9(indx);
44           t(ddindx).disc_job_title := a10(indx);
45           t(ddindx).role_id := a11(indx);
46           t(ddindx).role_name := a12(indx);
47           ddindx := ddindx+1;
48           if a0.last =indx
49             then exit;
50           end if;
51           indx := a0.next(indx);
52         end loop;
53       end if;
54    end if;
55   end rosetta_table_copy_in_p1;
56   procedure rosetta_table_copy_out_p1(t cn_get_srp_data_pvt.srp_data_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
57     , a1 out nocopy JTF_VARCHAR2_TABLE_400
58     , a2 out nocopy JTF_VARCHAR2_TABLE_100
59     , a3 out nocopy JTF_DATE_TABLE
60     , a4 out nocopy JTF_DATE_TABLE
61     , a5 out nocopy JTF_VARCHAR2_TABLE_100
62     , a6 out nocopy JTF_NUMBER_TABLE
63     , a7 out nocopy JTF_VARCHAR2_TABLE_100
64     , a8 out nocopy JTF_VARCHAR2_TABLE_300
65     , a9 out nocopy JTF_VARCHAR2_TABLE_300
66     , a10 out nocopy JTF_VARCHAR2_TABLE_100
67     , a11 out nocopy JTF_NUMBER_TABLE
68     , a12 out nocopy JTF_VARCHAR2_TABLE_100
69     ) as
70     ddindx binary_integer; indx binary_integer;
71   begin
72   if t is null or t.count = 0 then
73     a0 := JTF_NUMBER_TABLE();
74     a1 := JTF_VARCHAR2_TABLE_400();
75     a2 := JTF_VARCHAR2_TABLE_100();
76     a3 := JTF_DATE_TABLE();
77     a4 := JTF_DATE_TABLE();
78     a5 := JTF_VARCHAR2_TABLE_100();
79     a6 := JTF_NUMBER_TABLE();
80     a7 := JTF_VARCHAR2_TABLE_100();
81     a8 := JTF_VARCHAR2_TABLE_300();
82     a9 := JTF_VARCHAR2_TABLE_300();
83     a10 := JTF_VARCHAR2_TABLE_100();
84     a11 := JTF_NUMBER_TABLE();
85     a12 := JTF_VARCHAR2_TABLE_100();
86   else
87       a0 := JTF_NUMBER_TABLE();
88       a1 := JTF_VARCHAR2_TABLE_400();
89       a2 := JTF_VARCHAR2_TABLE_100();
90       a3 := JTF_DATE_TABLE();
91       a4 := JTF_DATE_TABLE();
92       a5 := JTF_VARCHAR2_TABLE_100();
93       a6 := JTF_NUMBER_TABLE();
94       a7 := JTF_VARCHAR2_TABLE_100();
95       a8 := JTF_VARCHAR2_TABLE_300();
96       a9 := JTF_VARCHAR2_TABLE_300();
97       a10 := JTF_VARCHAR2_TABLE_100();
98       a11 := JTF_NUMBER_TABLE();
99       a12 := JTF_VARCHAR2_TABLE_100();
100       if t.count > 0 then
101         a0.extend(t.count);
102         a1.extend(t.count);
103         a2.extend(t.count);
104         a3.extend(t.count);
105         a4.extend(t.count);
106         a5.extend(t.count);
107         a6.extend(t.count);
108         a7.extend(t.count);
109         a8.extend(t.count);
110         a9.extend(t.count);
111         a10.extend(t.count);
112         a11.extend(t.count);
113         a12.extend(t.count);
114         ddindx := t.first;
115         indx := 1;
116         while true loop
117           a0(indx) := t(ddindx).srp_id;
118           a1(indx) := t(ddindx).name;
119           a2(indx) := t(ddindx).emp_num;
120           a3(indx) := t(ddindx).start_date;
121           a4(indx) := t(ddindx).end_date;
122           a5(indx) := t(ddindx).cost_center;
123           a6(indx) := t(ddindx).comp_group_id;
124           a7(indx) := t(ddindx).comp_group_name;
125           a8(indx) := t(ddindx).job_code;
126           a9(indx) := t(ddindx).job_title;
127           a10(indx) := t(ddindx).disc_job_title;
128           a11(indx) := t(ddindx).role_id;
129           a12(indx) := t(ddindx).role_name;
130           indx := indx+1;
131           if t.last =ddindx
132             then exit;
133           end if;
134           ddindx := t.next(ddindx);
135         end loop;
136       end if;
137    end if;
138   end rosetta_table_copy_out_p1;
139 
140   procedure get_srp_list(p0_a0 out nocopy JTF_NUMBER_TABLE
141     , p0_a1 out nocopy JTF_VARCHAR2_TABLE_400
142     , p0_a2 out nocopy JTF_VARCHAR2_TABLE_100
143     , p0_a3 out nocopy JTF_DATE_TABLE
144     , p0_a4 out nocopy JTF_DATE_TABLE
145     , p0_a5 out nocopy JTF_VARCHAR2_TABLE_100
146     , p0_a6 out nocopy JTF_NUMBER_TABLE
147     , p0_a7 out nocopy JTF_VARCHAR2_TABLE_100
148     , p0_a8 out nocopy JTF_VARCHAR2_TABLE_300
149     , p0_a9 out nocopy JTF_VARCHAR2_TABLE_300
150     , p0_a10 out nocopy JTF_VARCHAR2_TABLE_100
151     , p0_a11 out nocopy JTF_NUMBER_TABLE
152     , p0_a12 out nocopy JTF_VARCHAR2_TABLE_100
153   )
154 
155   as
156     ddx_srp_data cn_get_srp_data_pvt.srp_data_tbl_type;
157     ddindx binary_integer; indx binary_integer;
158   begin
159 
160     -- copy data to the local IN or IN-OUT args, if any
161 
162     -- here's the delegated call to the old PL/SQL routine
163     cn_get_srp_data_pvt.get_srp_list(ddx_srp_data);
164 
165     -- copy data back from the local variables to OUT or IN-OUT args, if any
166     cn_get_srp_data_pvt_w.rosetta_table_copy_out_p1(ddx_srp_data, p0_a0
167       , p0_a1
168       , p0_a2
169       , p0_a3
170       , p0_a4
171       , p0_a5
172       , p0_a6
173       , p0_a7
174       , p0_a8
175       , p0_a9
176       , p0_a10
177       , p0_a11
178       , p0_a12
179       );
180   end;
181 
182   procedure search_srp_data(p_range_low  NUMBER
183     , p_range_high  NUMBER
184     , p_date  date
185     , p_search_name  VARCHAR2
186     , p_search_job  VARCHAR2
187     , p_search_emp_num  VARCHAR2
188     , p_search_group  VARCHAR2
189     , p_order_by  NUMBER
190     , p_order_dir  VARCHAR2
191     , x_total_rows out nocopy  NUMBER
192     , p10_a0 out nocopy JTF_NUMBER_TABLE
193     , p10_a1 out nocopy JTF_VARCHAR2_TABLE_400
194     , p10_a2 out nocopy JTF_VARCHAR2_TABLE_100
195     , p10_a3 out nocopy JTF_DATE_TABLE
196     , p10_a4 out nocopy JTF_DATE_TABLE
197     , p10_a5 out nocopy JTF_VARCHAR2_TABLE_100
198     , p10_a6 out nocopy JTF_NUMBER_TABLE
199     , p10_a7 out nocopy JTF_VARCHAR2_TABLE_100
200     , p10_a8 out nocopy JTF_VARCHAR2_TABLE_300
201     , p10_a9 out nocopy JTF_VARCHAR2_TABLE_300
202     , p10_a10 out nocopy JTF_VARCHAR2_TABLE_100
203     , p10_a11 out nocopy JTF_NUMBER_TABLE
204     , p10_a12 out nocopy JTF_VARCHAR2_TABLE_100
205   )
206 
207   as
208     ddp_date date;
209     ddx_srp_data cn_get_srp_data_pvt.srp_data_tbl_type;
210     ddindx binary_integer; indx binary_integer;
211   begin
212 
213     -- copy data to the local IN or IN-OUT args, if any
214 
215 
216     ddp_date := rosetta_g_miss_date_in_map(p_date);
217 
218 
219 
220 
221 
222 
223 
224 
225 
226     -- here's the delegated call to the old PL/SQL routine
227     cn_get_srp_data_pvt.search_srp_data(p_range_low,
228       p_range_high,
229       ddp_date,
230       p_search_name,
231       p_search_job,
232       p_search_emp_num,
233       p_search_group,
234       p_order_by,
235       p_order_dir,
236       x_total_rows,
237       ddx_srp_data);
238 
239     -- copy data back from the local variables to OUT or IN-OUT args, if any
240 
241 
242 
243 
244 
245 
246 
247 
248 
249 
250     cn_get_srp_data_pvt_w.rosetta_table_copy_out_p1(ddx_srp_data, p10_a0
251       , p10_a1
252       , p10_a2
253       , p10_a3
254       , p10_a4
255       , p10_a5
256       , p10_a6
257       , p10_a7
258       , p10_a8
259       , p10_a9
260       , p10_a10
261       , p10_a11
262       , p10_a12
263       );
264   end;
265 
266   procedure get_srp_data(p_srp_id  NUMBER
267     , p1_a0 out nocopy JTF_NUMBER_TABLE
268     , p1_a1 out nocopy JTF_VARCHAR2_TABLE_400
269     , p1_a2 out nocopy JTF_VARCHAR2_TABLE_100
270     , p1_a3 out nocopy JTF_DATE_TABLE
271     , p1_a4 out nocopy JTF_DATE_TABLE
272     , p1_a5 out nocopy JTF_VARCHAR2_TABLE_100
273     , p1_a6 out nocopy JTF_NUMBER_TABLE
274     , p1_a7 out nocopy JTF_VARCHAR2_TABLE_100
275     , p1_a8 out nocopy JTF_VARCHAR2_TABLE_300
276     , p1_a9 out nocopy JTF_VARCHAR2_TABLE_300
277     , p1_a10 out nocopy JTF_VARCHAR2_TABLE_100
278     , p1_a11 out nocopy JTF_NUMBER_TABLE
279     , p1_a12 out nocopy JTF_VARCHAR2_TABLE_100
280   )
281 
282   as
283     ddx_srp_data cn_get_srp_data_pvt.srp_data_tbl_type;
284     ddindx binary_integer; indx binary_integer;
285   begin
286 
287     -- copy data to the local IN or IN-OUT args, if any
288 
289 
290     -- here's the delegated call to the old PL/SQL routine
291     cn_get_srp_data_pvt.get_srp_data(p_srp_id,
292       ddx_srp_data);
293 
294     -- copy data back from the local variables to OUT or IN-OUT args, if any
295 
296     cn_get_srp_data_pvt_w.rosetta_table_copy_out_p1(ddx_srp_data, p1_a0
297       , p1_a1
298       , p1_a2
299       , p1_a3
300       , p1_a4
301       , p1_a5
302       , p1_a6
303       , p1_a7
304       , p1_a8
305       , p1_a9
306       , p1_a10
307       , p1_a11
308       , p1_a12
309       );
310   end;
311 
312   procedure get_managers(p_srp_id  NUMBER
313     , p_date  date
314     , p_comp_group_id  NUMBER
315     , p3_a0 out nocopy JTF_NUMBER_TABLE
316     , p3_a1 out nocopy JTF_VARCHAR2_TABLE_400
317     , p3_a2 out nocopy JTF_VARCHAR2_TABLE_100
318     , p3_a3 out nocopy JTF_DATE_TABLE
319     , p3_a4 out nocopy JTF_DATE_TABLE
320     , p3_a5 out nocopy JTF_VARCHAR2_TABLE_100
321     , p3_a6 out nocopy JTF_NUMBER_TABLE
322     , p3_a7 out nocopy JTF_VARCHAR2_TABLE_100
323     , p3_a8 out nocopy JTF_VARCHAR2_TABLE_300
324     , p3_a9 out nocopy JTF_VARCHAR2_TABLE_300
325     , p3_a10 out nocopy JTF_VARCHAR2_TABLE_100
326     , p3_a11 out nocopy JTF_NUMBER_TABLE
327     , p3_a12 out nocopy JTF_VARCHAR2_TABLE_100
328   )
329 
330   as
331     ddp_date date;
332     ddx_srp_data cn_get_srp_data_pvt.srp_data_tbl_type;
333     ddindx binary_integer; indx binary_integer;
334   begin
335 
336     -- copy data to the local IN or IN-OUT args, if any
337 
338     ddp_date := rosetta_g_miss_date_in_map(p_date);
339 
340 
341 
342     -- here's the delegated call to the old PL/SQL routine
343     cn_get_srp_data_pvt.get_managers(p_srp_id,
344       ddp_date,
345       p_comp_group_id,
346       ddx_srp_data);
347 
348     -- copy data back from the local variables to OUT or IN-OUT args, if any
349 
350 
351 
352     cn_get_srp_data_pvt_w.rosetta_table_copy_out_p1(ddx_srp_data, p3_a0
353       , p3_a1
354       , p3_a2
355       , p3_a3
356       , p3_a4
357       , p3_a5
358       , p3_a6
359       , p3_a7
360       , p3_a8
361       , p3_a9
362       , p3_a10
363       , p3_a11
364       , p3_a12
365       );
366   end;
367 
368 end cn_get_srp_data_pvt_w;