[Home] [Help]
PACKAGE BODY: APPS.AHL_MC_PATH_POSITION_PVT_W
Source
1 package body ahl_mc_path_position_pvt_w as
2 /* $Header: AHLWPOSB.pls 120.1.12020000.2 2012/12/14 03:36:55 shnatu 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 rosetta_g_mistake_date_high date := to_date('01/01/+4710', 'MM/DD/SYYYY');
6 rosetta_g_mistake_date_low date := to_date('01/01/-4710', 'MM/DD/SYYYY');
7
8 -- this is to workaround the JDBC bug regarding IN DATE of value GMiss
9 function rosetta_g_miss_date_in_map(d date) return date as
10 begin
11 if d > rosetta_g_mistake_date_high then return fnd_api.g_miss_date; end if;
12 if d < rosetta_g_mistake_date_low then return fnd_api.g_miss_date; end if;
13 return d;
14 end;
15
16 procedure rosetta_table_copy_in_p1(t out nocopy ahl_mc_path_position_pvt.path_position_tbl_type, a0 JTF_NUMBER_TABLE
17 , a1 JTF_NUMBER_TABLE
18 , a2 JTF_DATE_TABLE
19 , a3 JTF_NUMBER_TABLE
20 , a4 JTF_DATE_TABLE
21 , a5 JTF_NUMBER_TABLE
22 , a6 JTF_NUMBER_TABLE
23 , a7 JTF_NUMBER_TABLE
24 , a8 JTF_NUMBER_TABLE
25 , a9 JTF_VARCHAR2_TABLE_100
26 , a10 JTF_VARCHAR2_TABLE_100
27 , a11 JTF_NUMBER_TABLE
28 , a12 JTF_NUMBER_TABLE
29 , a13 JTF_VARCHAR2_TABLE_100
30 , a14 JTF_VARCHAR2_TABLE_200
31 , a15 JTF_VARCHAR2_TABLE_200
32 , a16 JTF_VARCHAR2_TABLE_200
33 , a17 JTF_VARCHAR2_TABLE_200
34 , a18 JTF_VARCHAR2_TABLE_200
35 , a19 JTF_VARCHAR2_TABLE_200
36 , a20 JTF_VARCHAR2_TABLE_200
37 , a21 JTF_VARCHAR2_TABLE_200
38 , a22 JTF_VARCHAR2_TABLE_200
39 , a23 JTF_VARCHAR2_TABLE_200
40 , a24 JTF_VARCHAR2_TABLE_200
41 , a25 JTF_VARCHAR2_TABLE_200
42 , a26 JTF_VARCHAR2_TABLE_200
43 , a27 JTF_VARCHAR2_TABLE_200
44 , a28 JTF_VARCHAR2_TABLE_200
45 ) as
46 ddindx binary_integer; indx binary_integer;
47 begin
48 if a0 is not null and a0.count > 0 then
49 if a0.count > 0 then
50 indx := a0.first;
51 ddindx := 1;
52 while true loop
53 t(ddindx).path_position_id := a0(indx);
54 t(ddindx).object_version_number := a1(indx);
55 t(ddindx).last_update_date := rosetta_g_miss_date_in_map(a2(indx));
56 t(ddindx).last_updated_by := a3(indx);
57 t(ddindx).creation_date := rosetta_g_miss_date_in_map(a4(indx));
58 t(ddindx).created_by := a5(indx);
59 t(ddindx).last_update_login := a6(indx);
60 t(ddindx).sequence := a7(indx);
61 t(ddindx).mc_id := a8(indx);
62 t(ddindx).mc_name := a9(indx);
63 t(ddindx).mc_revision := a10(indx);
64 t(ddindx).version_number := a11(indx);
65 t(ddindx).position_key := a12(indx);
66 t(ddindx).attribute_category := a13(indx);
67 t(ddindx).attribute1 := a14(indx);
68 t(ddindx).attribute2 := a15(indx);
69 t(ddindx).attribute3 := a16(indx);
70 t(ddindx).attribute4 := a17(indx);
71 t(ddindx).attribute5 := a18(indx);
72 t(ddindx).attribute6 := a19(indx);
73 t(ddindx).attribute7 := a20(indx);
74 t(ddindx).attribute8 := a21(indx);
75 t(ddindx).attribute9 := a22(indx);
76 t(ddindx).attribute10 := a23(indx);
77 t(ddindx).attribute11 := a24(indx);
78 t(ddindx).attribute12 := a25(indx);
79 t(ddindx).attribute13 := a26(indx);
80 t(ddindx).attribute14 := a27(indx);
81 t(ddindx).attribute15 := a28(indx);
82 ddindx := ddindx+1;
83 if a0.last =indx
84 then exit;
85 end if;
86 indx := a0.next(indx);
87 end loop;
88 end if;
89 end if;
90 end rosetta_table_copy_in_p1;
91 procedure rosetta_table_copy_out_p1(t ahl_mc_path_position_pvt.path_position_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
92 , a1 out nocopy JTF_NUMBER_TABLE
93 , a2 out nocopy JTF_DATE_TABLE
94 , a3 out nocopy JTF_NUMBER_TABLE
95 , a4 out nocopy JTF_DATE_TABLE
96 , a5 out nocopy JTF_NUMBER_TABLE
97 , a6 out nocopy JTF_NUMBER_TABLE
98 , a7 out nocopy JTF_NUMBER_TABLE
99 , a8 out nocopy JTF_NUMBER_TABLE
100 , a9 out nocopy JTF_VARCHAR2_TABLE_100
101 , a10 out nocopy JTF_VARCHAR2_TABLE_100
102 , a11 out nocopy JTF_NUMBER_TABLE
103 , a12 out nocopy JTF_NUMBER_TABLE
104 , a13 out nocopy JTF_VARCHAR2_TABLE_100
105 , a14 out nocopy JTF_VARCHAR2_TABLE_200
106 , a15 out nocopy JTF_VARCHAR2_TABLE_200
107 , a16 out nocopy JTF_VARCHAR2_TABLE_200
108 , a17 out nocopy JTF_VARCHAR2_TABLE_200
109 , a18 out nocopy JTF_VARCHAR2_TABLE_200
110 , a19 out nocopy JTF_VARCHAR2_TABLE_200
111 , a20 out nocopy JTF_VARCHAR2_TABLE_200
112 , a21 out nocopy JTF_VARCHAR2_TABLE_200
113 , a22 out nocopy JTF_VARCHAR2_TABLE_200
114 , a23 out nocopy JTF_VARCHAR2_TABLE_200
115 , a24 out nocopy JTF_VARCHAR2_TABLE_200
116 , a25 out nocopy JTF_VARCHAR2_TABLE_200
117 , a26 out nocopy JTF_VARCHAR2_TABLE_200
118 , a27 out nocopy JTF_VARCHAR2_TABLE_200
119 , a28 out nocopy JTF_VARCHAR2_TABLE_200
120 ) as
121 ddindx binary_integer; indx binary_integer;
122 begin
123 if t is null or t.count = 0 then
124 a0 := JTF_NUMBER_TABLE();
125 a1 := JTF_NUMBER_TABLE();
126 a2 := JTF_DATE_TABLE();
127 a3 := JTF_NUMBER_TABLE();
128 a4 := JTF_DATE_TABLE();
129 a5 := JTF_NUMBER_TABLE();
130 a6 := JTF_NUMBER_TABLE();
131 a7 := JTF_NUMBER_TABLE();
132 a8 := JTF_NUMBER_TABLE();
133 a9 := JTF_VARCHAR2_TABLE_100();
134 a10 := JTF_VARCHAR2_TABLE_100();
135 a11 := JTF_NUMBER_TABLE();
136 a12 := JTF_NUMBER_TABLE();
137 a13 := JTF_VARCHAR2_TABLE_100();
138 a14 := JTF_VARCHAR2_TABLE_200();
139 a15 := JTF_VARCHAR2_TABLE_200();
140 a16 := JTF_VARCHAR2_TABLE_200();
141 a17 := JTF_VARCHAR2_TABLE_200();
142 a18 := JTF_VARCHAR2_TABLE_200();
143 a19 := JTF_VARCHAR2_TABLE_200();
144 a20 := JTF_VARCHAR2_TABLE_200();
145 a21 := JTF_VARCHAR2_TABLE_200();
146 a22 := JTF_VARCHAR2_TABLE_200();
147 a23 := JTF_VARCHAR2_TABLE_200();
148 a24 := JTF_VARCHAR2_TABLE_200();
149 a25 := JTF_VARCHAR2_TABLE_200();
150 a26 := JTF_VARCHAR2_TABLE_200();
151 a27 := JTF_VARCHAR2_TABLE_200();
152 a28 := JTF_VARCHAR2_TABLE_200();
153 else
154 a0 := JTF_NUMBER_TABLE();
155 a1 := JTF_NUMBER_TABLE();
156 a2 := JTF_DATE_TABLE();
157 a3 := JTF_NUMBER_TABLE();
158 a4 := JTF_DATE_TABLE();
159 a5 := JTF_NUMBER_TABLE();
160 a6 := JTF_NUMBER_TABLE();
161 a7 := JTF_NUMBER_TABLE();
162 a8 := JTF_NUMBER_TABLE();
163 a9 := JTF_VARCHAR2_TABLE_100();
164 a10 := JTF_VARCHAR2_TABLE_100();
165 a11 := JTF_NUMBER_TABLE();
166 a12 := JTF_NUMBER_TABLE();
167 a13 := JTF_VARCHAR2_TABLE_100();
168 a14 := JTF_VARCHAR2_TABLE_200();
169 a15 := JTF_VARCHAR2_TABLE_200();
170 a16 := JTF_VARCHAR2_TABLE_200();
171 a17 := JTF_VARCHAR2_TABLE_200();
172 a18 := JTF_VARCHAR2_TABLE_200();
173 a19 := JTF_VARCHAR2_TABLE_200();
174 a20 := JTF_VARCHAR2_TABLE_200();
175 a21 := JTF_VARCHAR2_TABLE_200();
176 a22 := JTF_VARCHAR2_TABLE_200();
177 a23 := JTF_VARCHAR2_TABLE_200();
178 a24 := JTF_VARCHAR2_TABLE_200();
179 a25 := JTF_VARCHAR2_TABLE_200();
180 a26 := JTF_VARCHAR2_TABLE_200();
181 a27 := JTF_VARCHAR2_TABLE_200();
182 a28 := JTF_VARCHAR2_TABLE_200();
183 if t.count > 0 then
184 a0.extend(t.count);
185 a1.extend(t.count);
186 a2.extend(t.count);
187 a3.extend(t.count);
188 a4.extend(t.count);
189 a5.extend(t.count);
190 a6.extend(t.count);
191 a7.extend(t.count);
192 a8.extend(t.count);
193 a9.extend(t.count);
194 a10.extend(t.count);
195 a11.extend(t.count);
196 a12.extend(t.count);
197 a13.extend(t.count);
198 a14.extend(t.count);
199 a15.extend(t.count);
200 a16.extend(t.count);
201 a17.extend(t.count);
202 a18.extend(t.count);
203 a19.extend(t.count);
204 a20.extend(t.count);
205 a21.extend(t.count);
206 a22.extend(t.count);
207 a23.extend(t.count);
208 a24.extend(t.count);
209 a25.extend(t.count);
210 a26.extend(t.count);
211 a27.extend(t.count);
212 a28.extend(t.count);
213 ddindx := t.first;
214 indx := 1;
215 while true loop
216 a0(indx) := t(ddindx).path_position_id;
217 a1(indx) := t(ddindx).object_version_number;
218 a2(indx) := t(ddindx).last_update_date;
219 a3(indx) := t(ddindx).last_updated_by;
220 a4(indx) := t(ddindx).creation_date;
221 a5(indx) := t(ddindx).created_by;
222 a6(indx) := t(ddindx).last_update_login;
223 a7(indx) := t(ddindx).sequence;
224 a8(indx) := t(ddindx).mc_id;
225 a9(indx) := t(ddindx).mc_name;
226 a10(indx) := t(ddindx).mc_revision;
227 a11(indx) := t(ddindx).version_number;
228 a12(indx) := t(ddindx).position_key;
229 a13(indx) := t(ddindx).attribute_category;
230 a14(indx) := t(ddindx).attribute1;
231 a15(indx) := t(ddindx).attribute2;
232 a16(indx) := t(ddindx).attribute3;
233 a17(indx) := t(ddindx).attribute4;
234 a18(indx) := t(ddindx).attribute5;
235 a19(indx) := t(ddindx).attribute6;
236 a20(indx) := t(ddindx).attribute7;
237 a21(indx) := t(ddindx).attribute8;
238 a22(indx) := t(ddindx).attribute9;
239 a23(indx) := t(ddindx).attribute10;
240 a24(indx) := t(ddindx).attribute11;
241 a25(indx) := t(ddindx).attribute12;
242 a26(indx) := t(ddindx).attribute13;
243 a27(indx) := t(ddindx).attribute14;
244 a28(indx) := t(ddindx).attribute15;
245 indx := indx+1;
246 if t.last =ddindx
247 then exit;
248 end if;
249 ddindx := t.next(ddindx);
250 end loop;
251 end if;
252 end if;
253 end rosetta_table_copy_out_p1;
254
255 procedure create_position_id(p_api_version NUMBER
256 , p_init_msg_list VARCHAR2
257 , p_commit VARCHAR2
258 , p_validation_level NUMBER
259 , x_return_status out nocopy VARCHAR2
260 , x_msg_count out nocopy NUMBER
261 , x_msg_data out nocopy VARCHAR2
262 , p7_a0 JTF_NUMBER_TABLE
263 , p7_a1 JTF_NUMBER_TABLE
264 , p7_a2 JTF_DATE_TABLE
265 , p7_a3 JTF_NUMBER_TABLE
266 , p7_a4 JTF_DATE_TABLE
267 , p7_a5 JTF_NUMBER_TABLE
268 , p7_a6 JTF_NUMBER_TABLE
269 , p7_a7 JTF_NUMBER_TABLE
270 , p7_a8 JTF_NUMBER_TABLE
271 , p7_a9 JTF_VARCHAR2_TABLE_100
272 , p7_a10 JTF_VARCHAR2_TABLE_100
273 , p7_a11 JTF_NUMBER_TABLE
274 , p7_a12 JTF_NUMBER_TABLE
275 , p7_a13 JTF_VARCHAR2_TABLE_100
276 , p7_a14 JTF_VARCHAR2_TABLE_200
277 , p7_a15 JTF_VARCHAR2_TABLE_200
278 , p7_a16 JTF_VARCHAR2_TABLE_200
279 , p7_a17 JTF_VARCHAR2_TABLE_200
280 , p7_a18 JTF_VARCHAR2_TABLE_200
281 , p7_a19 JTF_VARCHAR2_TABLE_200
282 , p7_a20 JTF_VARCHAR2_TABLE_200
283 , p7_a21 JTF_VARCHAR2_TABLE_200
284 , p7_a22 JTF_VARCHAR2_TABLE_200
285 , p7_a23 JTF_VARCHAR2_TABLE_200
286 , p7_a24 JTF_VARCHAR2_TABLE_200
287 , p7_a25 JTF_VARCHAR2_TABLE_200
288 , p7_a26 JTF_VARCHAR2_TABLE_200
289 , p7_a27 JTF_VARCHAR2_TABLE_200
290 , p7_a28 JTF_VARCHAR2_TABLE_200
291 , p_position_ref_meaning VARCHAR2
292 , p_position_ref_code VARCHAR2
293 , x_position_id out nocopy NUMBER
294 )
295
296 as
297 ddp_path_position_tbl ahl_mc_path_position_pvt.path_position_tbl_type;
298 ddindx binary_integer; indx binary_integer;
299 begin
300
301 -- copy data to the local IN or IN-OUT args, if any
302
303
304
305
306
307
308
309 ahl_mc_path_position_pvt_w.rosetta_table_copy_in_p1(ddp_path_position_tbl, p7_a0
310 , p7_a1
311 , p7_a2
312 , p7_a3
313 , p7_a4
314 , p7_a5
315 , p7_a6
316 , p7_a7
317 , p7_a8
318 , p7_a9
319 , p7_a10
320 , p7_a11
321 , p7_a12
322 , p7_a13
323 , p7_a14
324 , p7_a15
325 , p7_a16
326 , p7_a17
327 , p7_a18
328 , p7_a19
329 , p7_a20
330 , p7_a21
331 , p7_a22
332 , p7_a23
333 , p7_a24
334 , p7_a25
335 , p7_a26
336 , p7_a27
337 , p7_a28
338 );
339
340
341
342
343 -- here's the delegated call to the old PL/SQL routine
344 ahl_mc_path_position_pvt.create_position_id(p_api_version,
345 p_init_msg_list,
346 p_commit,
347 p_validation_level,
348 x_return_status,
349 x_msg_count,
350 x_msg_data,
351 ddp_path_position_tbl,
352 p_position_ref_meaning,
353 p_position_ref_code,
354 x_position_id);
355
356 -- copy data back from the local variables to OUT or IN-OUT args, if any
357
358
359
360
361
362
363
364
365
366
367 end;
368
369 function get_posref_by_path(p0_a0 JTF_NUMBER_TABLE
370 , p0_a1 JTF_NUMBER_TABLE
371 , p0_a2 JTF_DATE_TABLE
372 , p0_a3 JTF_NUMBER_TABLE
373 , p0_a4 JTF_DATE_TABLE
374 , p0_a5 JTF_NUMBER_TABLE
375 , p0_a6 JTF_NUMBER_TABLE
376 , p0_a7 JTF_NUMBER_TABLE
377 , p0_a8 JTF_NUMBER_TABLE
378 , p0_a9 JTF_VARCHAR2_TABLE_100
379 , p0_a10 JTF_VARCHAR2_TABLE_100
380 , p0_a11 JTF_NUMBER_TABLE
381 , p0_a12 JTF_NUMBER_TABLE
382 , p0_a13 JTF_VARCHAR2_TABLE_100
383 , p0_a14 JTF_VARCHAR2_TABLE_200
384 , p0_a15 JTF_VARCHAR2_TABLE_200
385 , p0_a16 JTF_VARCHAR2_TABLE_200
386 , p0_a17 JTF_VARCHAR2_TABLE_200
387 , p0_a18 JTF_VARCHAR2_TABLE_200
388 , p0_a19 JTF_VARCHAR2_TABLE_200
389 , p0_a20 JTF_VARCHAR2_TABLE_200
390 , p0_a21 JTF_VARCHAR2_TABLE_200
391 , p0_a22 JTF_VARCHAR2_TABLE_200
392 , p0_a23 JTF_VARCHAR2_TABLE_200
393 , p0_a24 JTF_VARCHAR2_TABLE_200
394 , p0_a25 JTF_VARCHAR2_TABLE_200
395 , p0_a26 JTF_VARCHAR2_TABLE_200
396 , p0_a27 JTF_VARCHAR2_TABLE_200
397 , p0_a28 JTF_VARCHAR2_TABLE_200
398 , p_code_flag VARCHAR2
399 ) return varchar2
400
401 as
402 ddp_path_position_tbl ahl_mc_path_position_pvt.path_position_tbl_type;
403 ddindx binary_integer; indx binary_integer;
404 ddrosetta_retval varchar2(4000);
405 begin
406
407 -- copy data to the local IN or IN-OUT args, if any
408 ahl_mc_path_position_pvt_w.rosetta_table_copy_in_p1(ddp_path_position_tbl, p0_a0
409 , p0_a1
410 , p0_a2
411 , p0_a3
412 , p0_a4
413 , p0_a5
414 , p0_a6
415 , p0_a7
416 , p0_a8
417 , p0_a9
418 , p0_a10
419 , p0_a11
420 , p0_a12
421 , p0_a13
422 , p0_a14
423 , p0_a15
424 , p0_a16
425 , p0_a17
426 , p0_a18
427 , p0_a19
428 , p0_a20
429 , p0_a21
430 , p0_a22
431 , p0_a23
432 , p0_a24
433 , p0_a25
434 , p0_a26
435 , p0_a27
436 , p0_a28
437 );
438
439
440 -- here's the delegated call to the old PL/SQL routine
441 ddrosetta_retval := ahl_mc_path_position_pvt.get_posref_by_path(ddp_path_position_tbl,
442 p_code_flag);
443
444 -- copy data back from the local variables to OUT or IN-OUT args, if any
445
446
447 return ddrosetta_retval;
448 end;
449
450 procedure check_pos_ref_path(p_from_csi_id NUMBER
451 , p_to_csi_id NUMBER
452 , ddrosetta_retval_bool OUT NOCOPY NUMBER
453 )
454
455 as
456 ddindx binary_integer; indx binary_integer;
457 ddrosetta_retval boolean;
458 begin
459
460 -- copy data to the local IN or IN-OUT args, if any
461
462
463 -- here's the delegated call to the old PL/SQL routine
464 ddrosetta_retval := ahl_mc_path_position_pvt.check_pos_ref_path(p_from_csi_id,
465 p_to_csi_id);
466
467 -- copy data back from the local variables to OUT or IN-OUT args, if any
468 if ddrosetta_retval is null
469 then ddrosetta_retval_bool := null;
470 elsif ddrosetta_retval
471 then ddrosetta_retval_bool := 1;
472 else ddrosetta_retval_bool := 0;
473 end if;
474
475 end;
476
477 function encode(p0_a0 JTF_NUMBER_TABLE
478 , p0_a1 JTF_NUMBER_TABLE
479 , p0_a2 JTF_DATE_TABLE
480 , p0_a3 JTF_NUMBER_TABLE
481 , p0_a4 JTF_DATE_TABLE
482 , p0_a5 JTF_NUMBER_TABLE
483 , p0_a6 JTF_NUMBER_TABLE
484 , p0_a7 JTF_NUMBER_TABLE
485 , p0_a8 JTF_NUMBER_TABLE
486 , p0_a9 JTF_VARCHAR2_TABLE_100
487 , p0_a10 JTF_VARCHAR2_TABLE_100
488 , p0_a11 JTF_NUMBER_TABLE
489 , p0_a12 JTF_NUMBER_TABLE
490 , p0_a13 JTF_VARCHAR2_TABLE_100
491 , p0_a14 JTF_VARCHAR2_TABLE_200
492 , p0_a15 JTF_VARCHAR2_TABLE_200
493 , p0_a16 JTF_VARCHAR2_TABLE_200
494 , p0_a17 JTF_VARCHAR2_TABLE_200
495 , p0_a18 JTF_VARCHAR2_TABLE_200
496 , p0_a19 JTF_VARCHAR2_TABLE_200
497 , p0_a20 JTF_VARCHAR2_TABLE_200
498 , p0_a21 JTF_VARCHAR2_TABLE_200
499 , p0_a22 JTF_VARCHAR2_TABLE_200
500 , p0_a23 JTF_VARCHAR2_TABLE_200
501 , p0_a24 JTF_VARCHAR2_TABLE_200
502 , p0_a25 JTF_VARCHAR2_TABLE_200
503 , p0_a26 JTF_VARCHAR2_TABLE_200
504 , p0_a27 JTF_VARCHAR2_TABLE_200
505 , p0_a28 JTF_VARCHAR2_TABLE_200
506 ) return varchar2
507
508 as
509 ddp_path_position_tbl ahl_mc_path_position_pvt.path_position_tbl_type;
510 ddindx binary_integer; indx binary_integer;
511 ddrosetta_retval varchar2(4000);
512 begin
513
514 -- copy data to the local IN or IN-OUT args, if any
515 ahl_mc_path_position_pvt_w.rosetta_table_copy_in_p1(ddp_path_position_tbl, p0_a0
516 , p0_a1
517 , p0_a2
518 , p0_a3
519 , p0_a4
520 , p0_a5
521 , p0_a6
522 , p0_a7
523 , p0_a8
524 , p0_a9
525 , p0_a10
526 , p0_a11
527 , p0_a12
528 , p0_a13
529 , p0_a14
530 , p0_a15
531 , p0_a16
532 , p0_a17
533 , p0_a18
534 , p0_a19
535 , p0_a20
536 , p0_a21
537 , p0_a22
538 , p0_a23
539 , p0_a24
540 , p0_a25
541 , p0_a26
542 , p0_a27
543 , p0_a28
544 );
545
546 -- here's the delegated call to the old PL/SQL routine
547 ddrosetta_retval := ahl_mc_path_position_pvt.encode(ddp_path_position_tbl);
548
549 -- copy data back from the local variables to OUT or IN-OUT args, if any
550
551 return ddrosetta_retval;
552 end;
553
554 end ahl_mc_path_position_pvt_w;