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