[Home] [Help]
PACKAGE BODY: APPS.AHL_VWP_VISITS_STAGES_PVT_W
Source
1 package body ahl_vwp_visits_stages_pvt_w as
2 /* $Header: AHLWSTGB.pls 120.0 2005/05/25 23:53:15 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 procedure rosetta_table_copy_in_p2(t out nocopy ahl_vwp_visits_stages_pvt.visit_stages_tbl_type, a0 JTF_NUMBER_TABLE
14 , a1 JTF_NUMBER_TABLE
15 , a2 JTF_VARCHAR2_TABLE_100
16 , a3 JTF_NUMBER_TABLE
17 , a4 JTF_DATE_TABLE
18 , a5 JTF_DATE_TABLE
19 , a6 JTF_DATE_TABLE
20 , a7 JTF_NUMBER_TABLE
21 , a8 JTF_VARCHAR2_TABLE_100
22 , a9 JTF_VARCHAR2_TABLE_200
23 , a10 JTF_VARCHAR2_TABLE_200
24 , a11 JTF_VARCHAR2_TABLE_200
25 , a12 JTF_VARCHAR2_TABLE_200
26 , a13 JTF_VARCHAR2_TABLE_200
27 , a14 JTF_VARCHAR2_TABLE_200
28 , a15 JTF_VARCHAR2_TABLE_200
29 , a16 JTF_VARCHAR2_TABLE_200
30 , a17 JTF_VARCHAR2_TABLE_200
31 , a18 JTF_VARCHAR2_TABLE_200
32 , a19 JTF_VARCHAR2_TABLE_200
33 , a20 JTF_VARCHAR2_TABLE_200
34 , a21 JTF_VARCHAR2_TABLE_200
35 , a22 JTF_VARCHAR2_TABLE_200
36 , a23 JTF_VARCHAR2_TABLE_200
37 ) as
38 ddindx binary_integer; indx binary_integer;
39 begin
40 if a0 is not null and a0.count > 0 then
41 if a0.count > 0 then
42 indx := a0.first;
43 ddindx := 1;
44 while true loop
45 t(ddindx).stage_id := a0(indx);
46 t(ddindx).stage_num := a1(indx);
47 t(ddindx).stage_name := a2(indx);
48 t(ddindx).duration := a3(indx);
49 t(ddindx).stage_planned_start_time := rosetta_g_miss_date_in_map(a4(indx));
50 t(ddindx).stage_planned_end_time := rosetta_g_miss_date_in_map(a5(indx));
51 t(ddindx).stage_actual_end_time := rosetta_g_miss_date_in_map(a6(indx));
52 t(ddindx).object_version_number := a7(indx);
53 t(ddindx).attribute_category := a8(indx);
54 t(ddindx).attribute1 := a9(indx);
55 t(ddindx).attribute2 := a10(indx);
56 t(ddindx).attribute3 := a11(indx);
57 t(ddindx).attribute4 := a12(indx);
58 t(ddindx).attribute5 := a13(indx);
59 t(ddindx).attribute6 := a14(indx);
60 t(ddindx).attribute7 := a15(indx);
61 t(ddindx).attribute8 := a16(indx);
62 t(ddindx).attribute9 := a17(indx);
63 t(ddindx).attribute10 := a18(indx);
64 t(ddindx).attribute11 := a19(indx);
65 t(ddindx).attribute12 := a20(indx);
66 t(ddindx).attribute13 := a21(indx);
67 t(ddindx).attribute14 := a22(indx);
68 t(ddindx).attribute15 := a23(indx);
69 ddindx := ddindx+1;
70 if a0.last =indx
71 then exit;
72 end if;
73 indx := a0.next(indx);
74 end loop;
75 end if;
76 end if;
77 end rosetta_table_copy_in_p2;
78 procedure rosetta_table_copy_out_p2(t ahl_vwp_visits_stages_pvt.visit_stages_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
79 , a1 out nocopy JTF_NUMBER_TABLE
80 , a2 out nocopy JTF_VARCHAR2_TABLE_100
81 , a3 out nocopy JTF_NUMBER_TABLE
82 , a4 out nocopy JTF_DATE_TABLE
83 , a5 out nocopy JTF_DATE_TABLE
84 , a6 out nocopy JTF_DATE_TABLE
85 , a7 out nocopy JTF_NUMBER_TABLE
86 , a8 out nocopy JTF_VARCHAR2_TABLE_100
87 , a9 out nocopy JTF_VARCHAR2_TABLE_200
88 , a10 out nocopy JTF_VARCHAR2_TABLE_200
89 , a11 out nocopy JTF_VARCHAR2_TABLE_200
90 , a12 out nocopy JTF_VARCHAR2_TABLE_200
91 , a13 out nocopy JTF_VARCHAR2_TABLE_200
92 , a14 out nocopy JTF_VARCHAR2_TABLE_200
93 , a15 out nocopy JTF_VARCHAR2_TABLE_200
94 , a16 out nocopy JTF_VARCHAR2_TABLE_200
95 , a17 out nocopy JTF_VARCHAR2_TABLE_200
96 , a18 out nocopy JTF_VARCHAR2_TABLE_200
97 , a19 out nocopy JTF_VARCHAR2_TABLE_200
98 , a20 out nocopy JTF_VARCHAR2_TABLE_200
99 , a21 out nocopy JTF_VARCHAR2_TABLE_200
100 , a22 out nocopy JTF_VARCHAR2_TABLE_200
101 , a23 out nocopy JTF_VARCHAR2_TABLE_200
102 ) as
103 ddindx binary_integer; indx binary_integer;
104 begin
105 if t is null or t.count = 0 then
106 a0 := JTF_NUMBER_TABLE();
107 a1 := JTF_NUMBER_TABLE();
108 a2 := JTF_VARCHAR2_TABLE_100();
109 a3 := JTF_NUMBER_TABLE();
110 a4 := JTF_DATE_TABLE();
111 a5 := JTF_DATE_TABLE();
112 a6 := JTF_DATE_TABLE();
113 a7 := JTF_NUMBER_TABLE();
114 a8 := JTF_VARCHAR2_TABLE_100();
115 a9 := JTF_VARCHAR2_TABLE_200();
116 a10 := JTF_VARCHAR2_TABLE_200();
117 a11 := JTF_VARCHAR2_TABLE_200();
118 a12 := JTF_VARCHAR2_TABLE_200();
119 a13 := JTF_VARCHAR2_TABLE_200();
120 a14 := JTF_VARCHAR2_TABLE_200();
121 a15 := JTF_VARCHAR2_TABLE_200();
122 a16 := JTF_VARCHAR2_TABLE_200();
123 a17 := JTF_VARCHAR2_TABLE_200();
124 a18 := JTF_VARCHAR2_TABLE_200();
125 a19 := JTF_VARCHAR2_TABLE_200();
126 a20 := JTF_VARCHAR2_TABLE_200();
127 a21 := JTF_VARCHAR2_TABLE_200();
128 a22 := JTF_VARCHAR2_TABLE_200();
129 a23 := JTF_VARCHAR2_TABLE_200();
130 else
131 a0 := JTF_NUMBER_TABLE();
132 a1 := JTF_NUMBER_TABLE();
133 a2 := JTF_VARCHAR2_TABLE_100();
134 a3 := JTF_NUMBER_TABLE();
135 a4 := JTF_DATE_TABLE();
136 a5 := JTF_DATE_TABLE();
137 a6 := JTF_DATE_TABLE();
138 a7 := JTF_NUMBER_TABLE();
139 a8 := JTF_VARCHAR2_TABLE_100();
140 a9 := JTF_VARCHAR2_TABLE_200();
141 a10 := JTF_VARCHAR2_TABLE_200();
142 a11 := JTF_VARCHAR2_TABLE_200();
143 a12 := JTF_VARCHAR2_TABLE_200();
144 a13 := JTF_VARCHAR2_TABLE_200();
145 a14 := JTF_VARCHAR2_TABLE_200();
146 a15 := JTF_VARCHAR2_TABLE_200();
147 a16 := JTF_VARCHAR2_TABLE_200();
148 a17 := JTF_VARCHAR2_TABLE_200();
149 a18 := JTF_VARCHAR2_TABLE_200();
150 a19 := JTF_VARCHAR2_TABLE_200();
151 a20 := JTF_VARCHAR2_TABLE_200();
152 a21 := JTF_VARCHAR2_TABLE_200();
153 a22 := JTF_VARCHAR2_TABLE_200();
154 a23 := JTF_VARCHAR2_TABLE_200();
155 if t.count > 0 then
156 a0.extend(t.count);
157 a1.extend(t.count);
158 a2.extend(t.count);
159 a3.extend(t.count);
160 a4.extend(t.count);
161 a5.extend(t.count);
162 a6.extend(t.count);
163 a7.extend(t.count);
164 a8.extend(t.count);
165 a9.extend(t.count);
166 a10.extend(t.count);
167 a11.extend(t.count);
168 a12.extend(t.count);
169 a13.extend(t.count);
170 a14.extend(t.count);
171 a15.extend(t.count);
172 a16.extend(t.count);
173 a17.extend(t.count);
174 a18.extend(t.count);
175 a19.extend(t.count);
176 a20.extend(t.count);
177 a21.extend(t.count);
178 a22.extend(t.count);
179 a23.extend(t.count);
180 ddindx := t.first;
181 indx := 1;
182 while true loop
183 a0(indx) := t(ddindx).stage_id;
184 a1(indx) := t(ddindx).stage_num;
185 a2(indx) := t(ddindx).stage_name;
186 a3(indx) := t(ddindx).duration;
187 a4(indx) := t(ddindx).stage_planned_start_time;
188 a5(indx) := t(ddindx).stage_planned_end_time;
189 a6(indx) := t(ddindx).stage_actual_end_time;
190 a7(indx) := t(ddindx).object_version_number;
191 a8(indx) := t(ddindx).attribute_category;
192 a9(indx) := t(ddindx).attribute1;
193 a10(indx) := t(ddindx).attribute2;
194 a11(indx) := t(ddindx).attribute3;
195 a12(indx) := t(ddindx).attribute4;
196 a13(indx) := t(ddindx).attribute5;
197 a14(indx) := t(ddindx).attribute6;
198 a15(indx) := t(ddindx).attribute7;
199 a16(indx) := t(ddindx).attribute8;
200 a17(indx) := t(ddindx).attribute9;
201 a18(indx) := t(ddindx).attribute10;
202 a19(indx) := t(ddindx).attribute11;
203 a20(indx) := t(ddindx).attribute12;
204 a21(indx) := t(ddindx).attribute13;
205 a22(indx) := t(ddindx).attribute14;
206 a23(indx) := t(ddindx).attribute15;
207 indx := indx+1;
208 if t.last =ddindx
209 then exit;
210 end if;
211 ddindx := t.next(ddindx);
212 end loop;
213 end if;
214 end if;
215 end rosetta_table_copy_out_p2;
216
217 procedure rosetta_table_copy_in_p3(t out nocopy ahl_vwp_visits_stages_pvt.visit_stages_times_tbl_type, a0 JTF_NUMBER_TABLE
218 , a1 JTF_NUMBER_TABLE
219 , a2 JTF_VARCHAR2_TABLE_100
220 , a3 JTF_NUMBER_TABLE
221 , a4 JTF_NUMBER_TABLE
222 , a5 JTF_NUMBER_TABLE
223 , a6 JTF_DATE_TABLE
224 , a7 JTF_DATE_TABLE
225 , a8 JTF_DATE_TABLE
226 ) as
227 ddindx binary_integer; indx binary_integer;
228 begin
229 if a0 is not null and a0.count > 0 then
230 if a0.count > 0 then
231 indx := a0.first;
232 ddindx := 1;
233 while true loop
234 t(ddindx).stage_id := a0(indx);
235 t(ddindx).stage_num := a1(indx);
236 t(ddindx).stage_name := a2(indx);
237 t(ddindx).duration := a3(indx);
238 t(ddindx).stage_start_hour := a4(indx);
239 t(ddindx).stage_end_hour := a5(indx);
240 t(ddindx).planned_start_time := rosetta_g_miss_date_in_map(a6(indx));
241 t(ddindx).planned_end_time := rosetta_g_miss_date_in_map(a7(indx));
242 t(ddindx).actual_end_time := rosetta_g_miss_date_in_map(a8(indx));
243 ddindx := ddindx+1;
244 if a0.last =indx
245 then exit;
246 end if;
247 indx := a0.next(indx);
248 end loop;
249 end if;
250 end if;
251 end rosetta_table_copy_in_p3;
252 procedure rosetta_table_copy_out_p3(t ahl_vwp_visits_stages_pvt.visit_stages_times_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
253 , a1 out nocopy JTF_NUMBER_TABLE
254 , a2 out nocopy JTF_VARCHAR2_TABLE_100
255 , a3 out nocopy JTF_NUMBER_TABLE
256 , a4 out nocopy JTF_NUMBER_TABLE
257 , a5 out nocopy JTF_NUMBER_TABLE
258 , a6 out nocopy JTF_DATE_TABLE
259 , a7 out nocopy JTF_DATE_TABLE
260 , a8 out nocopy JTF_DATE_TABLE
261 ) as
262 ddindx binary_integer; indx binary_integer;
263 begin
264 if t is null or t.count = 0 then
265 a0 := JTF_NUMBER_TABLE();
266 a1 := JTF_NUMBER_TABLE();
267 a2 := JTF_VARCHAR2_TABLE_100();
268 a3 := JTF_NUMBER_TABLE();
269 a4 := JTF_NUMBER_TABLE();
270 a5 := JTF_NUMBER_TABLE();
271 a6 := JTF_DATE_TABLE();
272 a7 := JTF_DATE_TABLE();
273 a8 := JTF_DATE_TABLE();
274 else
275 a0 := JTF_NUMBER_TABLE();
276 a1 := JTF_NUMBER_TABLE();
277 a2 := JTF_VARCHAR2_TABLE_100();
278 a3 := JTF_NUMBER_TABLE();
279 a4 := JTF_NUMBER_TABLE();
280 a5 := JTF_NUMBER_TABLE();
281 a6 := JTF_DATE_TABLE();
282 a7 := JTF_DATE_TABLE();
283 a8 := JTF_DATE_TABLE();
284 if t.count > 0 then
285 a0.extend(t.count);
286 a1.extend(t.count);
287 a2.extend(t.count);
288 a3.extend(t.count);
289 a4.extend(t.count);
290 a5.extend(t.count);
291 a6.extend(t.count);
292 a7.extend(t.count);
293 a8.extend(t.count);
294 ddindx := t.first;
295 indx := 1;
296 while true loop
297 a0(indx) := t(ddindx).stage_id;
298 a1(indx) := t(ddindx).stage_num;
299 a2(indx) := t(ddindx).stage_name;
300 a3(indx) := t(ddindx).duration;
301 a4(indx) := t(ddindx).stage_start_hour;
302 a5(indx) := t(ddindx).stage_end_hour;
303 a6(indx) := t(ddindx).planned_start_time;
304 a7(indx) := t(ddindx).planned_end_time;
305 a8(indx) := t(ddindx).actual_end_time;
306 indx := indx+1;
307 if t.last =ddindx
308 then exit;
309 end if;
310 ddindx := t.next(ddindx);
311 end loop;
312 end if;
313 end if;
314 end rosetta_table_copy_out_p3;
315
316 procedure update_stages(p_api_version NUMBER
317 , p_init_msg_list VARCHAR2
318 , p_commit VARCHAR2
319 , p_validation_level NUMBER
323 , p6_a1 in out nocopy JTF_NUMBER_TABLE
320 , p_module_type VARCHAR2
321 , p_visit_id NUMBER
322 , p6_a0 in out nocopy JTF_NUMBER_TABLE
324 , p6_a2 in out nocopy JTF_VARCHAR2_TABLE_100
325 , p6_a3 in out nocopy JTF_NUMBER_TABLE
326 , p6_a4 in out nocopy JTF_DATE_TABLE
327 , p6_a5 in out nocopy JTF_DATE_TABLE
328 , p6_a6 in out nocopy JTF_DATE_TABLE
329 , p6_a7 in out nocopy JTF_NUMBER_TABLE
330 , p6_a8 in out nocopy JTF_VARCHAR2_TABLE_100
331 , p6_a9 in out nocopy JTF_VARCHAR2_TABLE_200
332 , p6_a10 in out nocopy JTF_VARCHAR2_TABLE_200
333 , p6_a11 in out nocopy JTF_VARCHAR2_TABLE_200
334 , p6_a12 in out nocopy JTF_VARCHAR2_TABLE_200
335 , p6_a13 in out nocopy JTF_VARCHAR2_TABLE_200
336 , p6_a14 in out nocopy JTF_VARCHAR2_TABLE_200
337 , p6_a15 in out nocopy JTF_VARCHAR2_TABLE_200
338 , p6_a16 in out nocopy JTF_VARCHAR2_TABLE_200
339 , p6_a17 in out nocopy JTF_VARCHAR2_TABLE_200
340 , p6_a18 in out nocopy JTF_VARCHAR2_TABLE_200
341 , p6_a19 in out nocopy JTF_VARCHAR2_TABLE_200
342 , p6_a20 in out nocopy JTF_VARCHAR2_TABLE_200
343 , p6_a21 in out nocopy JTF_VARCHAR2_TABLE_200
344 , p6_a22 in out nocopy JTF_VARCHAR2_TABLE_200
345 , p6_a23 in out nocopy JTF_VARCHAR2_TABLE_200
346 , x_return_status out nocopy VARCHAR2
347 , x_msg_count out nocopy NUMBER
348 , x_msg_data out nocopy VARCHAR2
349 )
350
351 as
352 ddp_x_stages_tbl ahl_vwp_visits_stages_pvt.visit_stages_tbl_type;
353 ddindx binary_integer; indx binary_integer;
354 begin
355
356 -- copy data to the local IN or IN-OUT args, if any
357
358
359
360
361
362
363 ahl_vwp_visits_stages_pvt_w.rosetta_table_copy_in_p2(ddp_x_stages_tbl, p6_a0
364 , p6_a1
365 , p6_a2
366 , p6_a3
367 , p6_a4
368 , p6_a5
369 , p6_a6
370 , p6_a7
371 , p6_a8
372 , p6_a9
373 , p6_a10
374 , p6_a11
375 , p6_a12
376 , p6_a13
377 , p6_a14
378 , p6_a15
379 , p6_a16
380 , p6_a17
381 , p6_a18
382 , p6_a19
383 , p6_a20
384 , p6_a21
385 , p6_a22
386 , p6_a23
387 );
388
389
390
391
392 -- here's the delegated call to the old PL/SQL routine
393 ahl_vwp_visits_stages_pvt.update_stages(p_api_version,
394 p_init_msg_list,
395 p_commit,
396 p_validation_level,
397 p_module_type,
398 p_visit_id,
399 ddp_x_stages_tbl,
400 x_return_status,
401 x_msg_count,
402 x_msg_data);
403
404 -- copy data back from the local variables to OUT or IN-OUT args, if any
405
406
407
408
409
410
411 ahl_vwp_visits_stages_pvt_w.rosetta_table_copy_out_p2(ddp_x_stages_tbl, p6_a0
412 , p6_a1
413 , p6_a2
414 , p6_a3
415 , p6_a4
416 , p6_a5
417 , p6_a6
418 , p6_a7
419 , p6_a8
420 , p6_a9
421 , p6_a10
422 , p6_a11
423 , p6_a12
424 , p6_a13
425 , p6_a14
426 , p6_a15
427 , p6_a16
428 , p6_a17
429 , p6_a18
430 , p6_a19
431 , p6_a20
432 , p6_a21
433 , p6_a22
434 , p6_a23
435 );
436
437
438
439 end;
440
441 procedure get_stages_details(p_api_version NUMBER
442 , p_init_msg_list VARCHAR2
443 , p_commit VARCHAR2
444 , p_validation_level NUMBER
445 , p_module_type VARCHAR2
446 , p_visit_id NUMBER
447 , p_start_row NUMBER
448 , p_rows_per_page NUMBER
449 , p8_a0 out nocopy JTF_NUMBER_TABLE
450 , p8_a1 out nocopy JTF_NUMBER_TABLE
451 , p8_a2 out nocopy JTF_VARCHAR2_TABLE_100
452 , p8_a3 out nocopy JTF_NUMBER_TABLE
453 , p8_a4 out nocopy JTF_DATE_TABLE
454 , p8_a5 out nocopy JTF_DATE_TABLE
455 , p8_a6 out nocopy JTF_DATE_TABLE
456 , p8_a7 out nocopy JTF_NUMBER_TABLE
457 , p8_a8 out nocopy JTF_VARCHAR2_TABLE_100
458 , p8_a9 out nocopy JTF_VARCHAR2_TABLE_200
459 , p8_a10 out nocopy JTF_VARCHAR2_TABLE_200
460 , p8_a11 out nocopy JTF_VARCHAR2_TABLE_200
461 , p8_a12 out nocopy JTF_VARCHAR2_TABLE_200
462 , p8_a13 out nocopy JTF_VARCHAR2_TABLE_200
463 , p8_a14 out nocopy JTF_VARCHAR2_TABLE_200
464 , p8_a15 out nocopy JTF_VARCHAR2_TABLE_200
465 , p8_a16 out nocopy JTF_VARCHAR2_TABLE_200
466 , p8_a17 out nocopy JTF_VARCHAR2_TABLE_200
467 , p8_a18 out nocopy JTF_VARCHAR2_TABLE_200
468 , p8_a19 out nocopy JTF_VARCHAR2_TABLE_200
469 , p8_a20 out nocopy JTF_VARCHAR2_TABLE_200
470 , p8_a21 out nocopy JTF_VARCHAR2_TABLE_200
471 , p8_a22 out nocopy JTF_VARCHAR2_TABLE_200
472 , p8_a23 out nocopy JTF_VARCHAR2_TABLE_200
473 , x_row_count out nocopy NUMBER
474 , x_return_status out nocopy VARCHAR2
475 , x_msg_count out nocopy NUMBER
476 , x_msg_data out nocopy VARCHAR2
477 )
478
479 as
480 ddx_stages_tbl ahl_vwp_visits_stages_pvt.visit_stages_tbl_type;
481 ddindx binary_integer; indx binary_integer;
482 begin
483
484 -- copy data to the local IN or IN-OUT args, if any
485
486
487
488
489
490
491
492
493
494
495
496
497
498 -- here's the delegated call to the old PL/SQL routine
499 ahl_vwp_visits_stages_pvt.get_stages_details(p_api_version,
500 p_init_msg_list,
501 p_commit,
502 p_validation_level,
503 p_module_type,
504 p_visit_id,
505 p_start_row,
506 p_rows_per_page,
507 ddx_stages_tbl,
508 x_row_count,
509 x_return_status,
510 x_msg_count,
511 x_msg_data);
512
513 -- copy data back from the local variables to OUT or IN-OUT args, if any
514
515
516
517
518
519
520
521
522 ahl_vwp_visits_stages_pvt_w.rosetta_table_copy_out_p2(ddx_stages_tbl, p8_a0
523 , p8_a1
524 , p8_a2
525 , p8_a3
526 , p8_a4
527 , p8_a5
528 , p8_a6
529 , p8_a7
530 , p8_a8
531 , p8_a9
532 , p8_a10
533 , p8_a11
534 , p8_a12
535 , p8_a13
536 , p8_a14
537 , p8_a15
538 , p8_a16
539 , p8_a17
540 , p8_a18
541 , p8_a19
542 , p8_a20
543 , p8_a21
544 , p8_a22
545 , p8_a23
546 );
547
548
549
550
551 end;
552
553 end ahl_vwp_visits_stages_pvt_w;