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