[Home] [Help]
PACKAGE BODY: APPS.AHL_FMP_MR_EFFECTIVITY_PVT_W
Source
1 package body ahl_fmp_mr_effectivity_pvt_w as
2 /* $Header: AHLWMREB.pls 120.0.12020000.2 2012/12/13 06:11:07 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_fmp_mr_effectivity_pvt.effectivity_tbl_type, a0 JTF_NUMBER_TABLE
17 , a1 JTF_VARCHAR2_TABLE_100
18 , a2 JTF_NUMBER_TABLE
19 , a3 JTF_VARCHAR2_TABLE_1000
20 , a4 JTF_NUMBER_TABLE
21 , a5 JTF_VARCHAR2_TABLE_100
22 , a6 JTF_NUMBER_TABLE
23 , a7 JTF_VARCHAR2_TABLE_1000
24 , a8 JTF_NUMBER_TABLE
25 , a9 JTF_NUMBER_TABLE
26 , a10 JTF_VARCHAR2_TABLE_300
27 , a11 JTF_NUMBER_TABLE
28 , a12 JTF_VARCHAR2_TABLE_300
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 , a29 JTF_DATE_TABLE
46 , a30 JTF_NUMBER_TABLE
47 , a31 JTF_DATE_TABLE
48 , a32 JTF_NUMBER_TABLE
49 , a33 JTF_NUMBER_TABLE
50 , a34 JTF_VARCHAR2_TABLE_100
51 ) as
52 ddindx binary_integer; indx binary_integer;
53 begin
54 if a0 is not null and a0.count > 0 then
55 if a0.count > 0 then
56 indx := a0.first;
57 ddindx := 1;
58 while true loop
59 t(ddindx).mr_effectivity_id := a0(indx);
60 t(ddindx).name := a1(indx);
61 t(ddindx).object_version_number := a2(indx);
62 t(ddindx).item_number := a3(indx);
63 t(ddindx).inventory_item_id := a4(indx);
64 t(ddindx).position_ref_meaning := a5(indx);
65 t(ddindx).relationship_id := a6(indx);
66 t(ddindx).position_item_number := a7(indx);
67 t(ddindx).position_inventory_item_id := a8(indx);
68 t(ddindx).pc_node_id := a9(indx);
69 t(ddindx).pc_node_name := a10(indx);
70 t(ddindx).fleet_header_id := a11(indx);
71 t(ddindx).fleet_name := a12(indx);
72 t(ddindx).attribute_category := a13(indx);
73 t(ddindx).attribute1 := a14(indx);
74 t(ddindx).attribute2 := a15(indx);
75 t(ddindx).attribute3 := a16(indx);
76 t(ddindx).attribute4 := a17(indx);
77 t(ddindx).attribute5 := a18(indx);
78 t(ddindx).attribute6 := a19(indx);
79 t(ddindx).attribute7 := a20(indx);
80 t(ddindx).attribute8 := a21(indx);
81 t(ddindx).attribute9 := a22(indx);
82 t(ddindx).attribute10 := a23(indx);
83 t(ddindx).attribute11 := a24(indx);
84 t(ddindx).attribute12 := a25(indx);
85 t(ddindx).attribute13 := a26(indx);
86 t(ddindx).attribute14 := a27(indx);
87 t(ddindx).attribute15 := a28(indx);
88 t(ddindx).last_update_date := rosetta_g_miss_date_in_map(a29(indx));
89 t(ddindx).last_updated_by := a30(indx);
90 t(ddindx).creation_date := rosetta_g_miss_date_in_map(a31(indx));
91 t(ddindx).created_by := a32(indx);
92 t(ddindx).last_update_login := a33(indx);
93 t(ddindx).dml_operation := a34(indx);
94 ddindx := ddindx+1;
95 if a0.last =indx
96 then exit;
97 end if;
98 indx := a0.next(indx);
99 end loop;
100 end if;
101 end if;
102 end rosetta_table_copy_in_p1;
103 procedure rosetta_table_copy_out_p1(t ahl_fmp_mr_effectivity_pvt.effectivity_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
104 , a1 out nocopy JTF_VARCHAR2_TABLE_100
105 , a2 out nocopy JTF_NUMBER_TABLE
106 , a3 out nocopy JTF_VARCHAR2_TABLE_1000
107 , a4 out nocopy JTF_NUMBER_TABLE
108 , a5 out nocopy JTF_VARCHAR2_TABLE_100
109 , a6 out nocopy JTF_NUMBER_TABLE
110 , a7 out nocopy JTF_VARCHAR2_TABLE_1000
111 , a8 out nocopy JTF_NUMBER_TABLE
112 , a9 out nocopy JTF_NUMBER_TABLE
113 , a10 out nocopy JTF_VARCHAR2_TABLE_300
114 , a11 out nocopy JTF_NUMBER_TABLE
115 , a12 out nocopy JTF_VARCHAR2_TABLE_300
116 , a13 out nocopy JTF_VARCHAR2_TABLE_100
117 , a14 out nocopy JTF_VARCHAR2_TABLE_200
118 , a15 out nocopy JTF_VARCHAR2_TABLE_200
119 , a16 out nocopy JTF_VARCHAR2_TABLE_200
120 , a17 out nocopy JTF_VARCHAR2_TABLE_200
121 , a18 out nocopy JTF_VARCHAR2_TABLE_200
122 , a19 out nocopy JTF_VARCHAR2_TABLE_200
123 , a20 out nocopy JTF_VARCHAR2_TABLE_200
124 , a21 out nocopy JTF_VARCHAR2_TABLE_200
125 , a22 out nocopy JTF_VARCHAR2_TABLE_200
126 , a23 out nocopy JTF_VARCHAR2_TABLE_200
127 , a24 out nocopy JTF_VARCHAR2_TABLE_200
128 , a25 out nocopy JTF_VARCHAR2_TABLE_200
129 , a26 out nocopy JTF_VARCHAR2_TABLE_200
130 , a27 out nocopy JTF_VARCHAR2_TABLE_200
131 , a28 out nocopy JTF_VARCHAR2_TABLE_200
132 , a29 out nocopy JTF_DATE_TABLE
133 , a30 out nocopy JTF_NUMBER_TABLE
134 , a31 out nocopy JTF_DATE_TABLE
135 , a32 out nocopy JTF_NUMBER_TABLE
136 , a33 out nocopy JTF_NUMBER_TABLE
137 , a34 out nocopy JTF_VARCHAR2_TABLE_100
138 ) as
139 ddindx binary_integer; indx binary_integer;
140 begin
141 if t is null or t.count = 0 then
142 a0 := JTF_NUMBER_TABLE();
143 a1 := JTF_VARCHAR2_TABLE_100();
144 a2 := JTF_NUMBER_TABLE();
145 a3 := JTF_VARCHAR2_TABLE_1000();
146 a4 := JTF_NUMBER_TABLE();
147 a5 := JTF_VARCHAR2_TABLE_100();
148 a6 := JTF_NUMBER_TABLE();
149 a7 := JTF_VARCHAR2_TABLE_1000();
150 a8 := JTF_NUMBER_TABLE();
151 a9 := JTF_NUMBER_TABLE();
152 a10 := JTF_VARCHAR2_TABLE_300();
153 a11 := JTF_NUMBER_TABLE();
154 a12 := JTF_VARCHAR2_TABLE_300();
155 a13 := JTF_VARCHAR2_TABLE_100();
156 a14 := JTF_VARCHAR2_TABLE_200();
157 a15 := JTF_VARCHAR2_TABLE_200();
158 a16 := JTF_VARCHAR2_TABLE_200();
159 a17 := JTF_VARCHAR2_TABLE_200();
160 a18 := JTF_VARCHAR2_TABLE_200();
161 a19 := JTF_VARCHAR2_TABLE_200();
162 a20 := JTF_VARCHAR2_TABLE_200();
163 a21 := JTF_VARCHAR2_TABLE_200();
164 a22 := JTF_VARCHAR2_TABLE_200();
165 a23 := JTF_VARCHAR2_TABLE_200();
166 a24 := JTF_VARCHAR2_TABLE_200();
167 a25 := JTF_VARCHAR2_TABLE_200();
168 a26 := JTF_VARCHAR2_TABLE_200();
169 a27 := JTF_VARCHAR2_TABLE_200();
170 a28 := JTF_VARCHAR2_TABLE_200();
171 a29 := JTF_DATE_TABLE();
172 a30 := JTF_NUMBER_TABLE();
173 a31 := JTF_DATE_TABLE();
174 a32 := JTF_NUMBER_TABLE();
175 a33 := JTF_NUMBER_TABLE();
176 a34 := JTF_VARCHAR2_TABLE_100();
177 else
178 a0 := JTF_NUMBER_TABLE();
179 a1 := JTF_VARCHAR2_TABLE_100();
180 a2 := JTF_NUMBER_TABLE();
181 a3 := JTF_VARCHAR2_TABLE_1000();
182 a4 := JTF_NUMBER_TABLE();
183 a5 := JTF_VARCHAR2_TABLE_100();
184 a6 := JTF_NUMBER_TABLE();
185 a7 := JTF_VARCHAR2_TABLE_1000();
186 a8 := JTF_NUMBER_TABLE();
187 a9 := JTF_NUMBER_TABLE();
188 a10 := JTF_VARCHAR2_TABLE_300();
189 a11 := JTF_NUMBER_TABLE();
190 a12 := JTF_VARCHAR2_TABLE_300();
191 a13 := JTF_VARCHAR2_TABLE_100();
192 a14 := JTF_VARCHAR2_TABLE_200();
193 a15 := JTF_VARCHAR2_TABLE_200();
194 a16 := JTF_VARCHAR2_TABLE_200();
195 a17 := JTF_VARCHAR2_TABLE_200();
196 a18 := JTF_VARCHAR2_TABLE_200();
197 a19 := JTF_VARCHAR2_TABLE_200();
198 a20 := JTF_VARCHAR2_TABLE_200();
199 a21 := JTF_VARCHAR2_TABLE_200();
200 a22 := JTF_VARCHAR2_TABLE_200();
201 a23 := JTF_VARCHAR2_TABLE_200();
202 a24 := JTF_VARCHAR2_TABLE_200();
203 a25 := JTF_VARCHAR2_TABLE_200();
204 a26 := JTF_VARCHAR2_TABLE_200();
205 a27 := JTF_VARCHAR2_TABLE_200();
206 a28 := JTF_VARCHAR2_TABLE_200();
207 a29 := JTF_DATE_TABLE();
208 a30 := JTF_NUMBER_TABLE();
209 a31 := JTF_DATE_TABLE();
210 a32 := JTF_NUMBER_TABLE();
211 a33 := JTF_NUMBER_TABLE();
212 a34 := JTF_VARCHAR2_TABLE_100();
213 if t.count > 0 then
214 a0.extend(t.count);
215 a1.extend(t.count);
216 a2.extend(t.count);
217 a3.extend(t.count);
218 a4.extend(t.count);
219 a5.extend(t.count);
220 a6.extend(t.count);
221 a7.extend(t.count);
222 a8.extend(t.count);
223 a9.extend(t.count);
224 a10.extend(t.count);
225 a11.extend(t.count);
226 a12.extend(t.count);
227 a13.extend(t.count);
228 a14.extend(t.count);
229 a15.extend(t.count);
230 a16.extend(t.count);
231 a17.extend(t.count);
232 a18.extend(t.count);
233 a19.extend(t.count);
234 a20.extend(t.count);
235 a21.extend(t.count);
236 a22.extend(t.count);
237 a23.extend(t.count);
238 a24.extend(t.count);
239 a25.extend(t.count);
240 a26.extend(t.count);
241 a27.extend(t.count);
242 a28.extend(t.count);
243 a29.extend(t.count);
244 a30.extend(t.count);
245 a31.extend(t.count);
246 a32.extend(t.count);
247 a33.extend(t.count);
248 a34.extend(t.count);
249 ddindx := t.first;
250 indx := 1;
251 while true loop
252 a0(indx) := t(ddindx).mr_effectivity_id;
253 a1(indx) := t(ddindx).name;
254 a2(indx) := t(ddindx).object_version_number;
255 a3(indx) := t(ddindx).item_number;
256 a4(indx) := t(ddindx).inventory_item_id;
257 a5(indx) := t(ddindx).position_ref_meaning;
258 a6(indx) := t(ddindx).relationship_id;
259 a7(indx) := t(ddindx).position_item_number;
260 a8(indx) := t(ddindx).position_inventory_item_id;
261 a9(indx) := t(ddindx).pc_node_id;
262 a10(indx) := t(ddindx).pc_node_name;
263 a11(indx) := t(ddindx).fleet_header_id;
264 a12(indx) := t(ddindx).fleet_name;
265 a13(indx) := t(ddindx).attribute_category;
266 a14(indx) := t(ddindx).attribute1;
267 a15(indx) := t(ddindx).attribute2;
268 a16(indx) := t(ddindx).attribute3;
269 a17(indx) := t(ddindx).attribute4;
270 a18(indx) := t(ddindx).attribute5;
271 a19(indx) := t(ddindx).attribute6;
272 a20(indx) := t(ddindx).attribute7;
273 a21(indx) := t(ddindx).attribute8;
274 a22(indx) := t(ddindx).attribute9;
275 a23(indx) := t(ddindx).attribute10;
276 a24(indx) := t(ddindx).attribute11;
277 a25(indx) := t(ddindx).attribute12;
278 a26(indx) := t(ddindx).attribute13;
279 a27(indx) := t(ddindx).attribute14;
280 a28(indx) := t(ddindx).attribute15;
281 a29(indx) := t(ddindx).last_update_date;
282 a30(indx) := t(ddindx).last_updated_by;
283 a31(indx) := t(ddindx).creation_date;
284 a32(indx) := t(ddindx).created_by;
285 a33(indx) := t(ddindx).last_update_login;
286 a34(indx) := t(ddindx).dml_operation;
287 indx := indx+1;
288 if t.last =ddindx
289 then exit;
290 end if;
291 ddindx := t.next(ddindx);
292 end loop;
293 end if;
294 end if;
295 end rosetta_table_copy_out_p1;
296
297 procedure process_effectivity(p_api_version NUMBER
298 , p_init_msg_list VARCHAR2
299 , p_commit VARCHAR2
300 , p_validation_level NUMBER
301 , p_default VARCHAR2
302 , p_module_type VARCHAR2
303 , x_return_status out nocopy VARCHAR2
304 , x_msg_count out nocopy NUMBER
305 , x_msg_data out nocopy VARCHAR2
306 , p9_a0 in out nocopy JTF_NUMBER_TABLE
307 , p9_a1 in out nocopy JTF_VARCHAR2_TABLE_100
308 , p9_a2 in out nocopy JTF_NUMBER_TABLE
309 , p9_a3 in out nocopy JTF_VARCHAR2_TABLE_1000
310 , p9_a4 in out nocopy JTF_NUMBER_TABLE
311 , p9_a5 in out nocopy JTF_VARCHAR2_TABLE_100
312 , p9_a6 in out nocopy JTF_NUMBER_TABLE
313 , p9_a7 in out nocopy JTF_VARCHAR2_TABLE_1000
317 , p9_a11 in out nocopy JTF_NUMBER_TABLE
314 , p9_a8 in out nocopy JTF_NUMBER_TABLE
315 , p9_a9 in out nocopy JTF_NUMBER_TABLE
316 , p9_a10 in out nocopy JTF_VARCHAR2_TABLE_300
318 , p9_a12 in out nocopy JTF_VARCHAR2_TABLE_300
319 , p9_a13 in out nocopy JTF_VARCHAR2_TABLE_100
320 , p9_a14 in out nocopy JTF_VARCHAR2_TABLE_200
321 , p9_a15 in out nocopy JTF_VARCHAR2_TABLE_200
322 , p9_a16 in out nocopy JTF_VARCHAR2_TABLE_200
323 , p9_a17 in out nocopy JTF_VARCHAR2_TABLE_200
324 , p9_a18 in out nocopy JTF_VARCHAR2_TABLE_200
325 , p9_a19 in out nocopy JTF_VARCHAR2_TABLE_200
326 , p9_a20 in out nocopy JTF_VARCHAR2_TABLE_200
327 , p9_a21 in out nocopy JTF_VARCHAR2_TABLE_200
328 , p9_a22 in out nocopy JTF_VARCHAR2_TABLE_200
329 , p9_a23 in out nocopy JTF_VARCHAR2_TABLE_200
330 , p9_a24 in out nocopy JTF_VARCHAR2_TABLE_200
331 , p9_a25 in out nocopy JTF_VARCHAR2_TABLE_200
332 , p9_a26 in out nocopy JTF_VARCHAR2_TABLE_200
333 , p9_a27 in out nocopy JTF_VARCHAR2_TABLE_200
334 , p9_a28 in out nocopy JTF_VARCHAR2_TABLE_200
335 , p9_a29 in out nocopy JTF_DATE_TABLE
336 , p9_a30 in out nocopy JTF_NUMBER_TABLE
337 , p9_a31 in out nocopy JTF_DATE_TABLE
338 , p9_a32 in out nocopy JTF_NUMBER_TABLE
339 , p9_a33 in out nocopy JTF_NUMBER_TABLE
340 , p9_a34 in out nocopy JTF_VARCHAR2_TABLE_100
341 , p_mr_header_id NUMBER
342 , p_super_user VARCHAR2
343 )
344
345 as
346 ddp_x_effectivity_tbl ahl_fmp_mr_effectivity_pvt.effectivity_tbl_type;
347 ddindx binary_integer; indx binary_integer;
348 begin
349
350 -- copy data to the local IN or IN-OUT args, if any
351
352
353
354
355
356
357
358
359
360 ahl_fmp_mr_effectivity_pvt_w.rosetta_table_copy_in_p1(ddp_x_effectivity_tbl, p9_a0
361 , p9_a1
362 , p9_a2
363 , p9_a3
364 , p9_a4
365 , p9_a5
366 , p9_a6
367 , p9_a7
368 , p9_a8
369 , p9_a9
370 , p9_a10
371 , p9_a11
372 , p9_a12
373 , p9_a13
374 , p9_a14
375 , p9_a15
376 , p9_a16
377 , p9_a17
378 , p9_a18
379 , p9_a19
380 , p9_a20
381 , p9_a21
382 , p9_a22
383 , p9_a23
384 , p9_a24
385 , p9_a25
386 , p9_a26
387 , p9_a27
388 , p9_a28
389 , p9_a29
390 , p9_a30
391 , p9_a31
392 , p9_a32
393 , p9_a33
394 , p9_a34
395 );
396
397
398
399 -- here's the delegated call to the old PL/SQL routine
400 ahl_fmp_mr_effectivity_pvt.process_effectivity(p_api_version,
401 p_init_msg_list,
402 p_commit,
403 p_validation_level,
404 p_default,
405 p_module_type,
406 x_return_status,
407 x_msg_count,
408 x_msg_data,
409 ddp_x_effectivity_tbl,
410 p_mr_header_id,
411 p_super_user);
412
413 -- copy data back from the local variables to OUT or IN-OUT args, if any
414
415
416
417
418
419
420
421
422
423 ahl_fmp_mr_effectivity_pvt_w.rosetta_table_copy_out_p1(ddp_x_effectivity_tbl, p9_a0
424 , p9_a1
425 , p9_a2
426 , p9_a3
427 , p9_a4
428 , p9_a5
429 , p9_a6
430 , p9_a7
431 , p9_a8
432 , p9_a9
433 , p9_a10
434 , p9_a11
435 , p9_a12
436 , p9_a13
437 , p9_a14
438 , p9_a15
439 , p9_a16
440 , p9_a17
441 , p9_a18
442 , p9_a19
443 , p9_a20
444 , p9_a21
445 , p9_a22
446 , p9_a23
447 , p9_a24
448 , p9_a25
449 , p9_a26
450 , p9_a27
451 , p9_a28
452 , p9_a29
453 , p9_a30
454 , p9_a31
455 , p9_a32
456 , p9_a33
457 , p9_a34
458 );
459
460
461 end;
462
463 end ahl_fmp_mr_effectivity_pvt_w;