[Home] [Help]
PACKAGE BODY: APPS.CN_IMP_MAPS_PVT_W
Source
1 package body cn_imp_maps_pvt_w as
2 /* $Header: cnwimmpb.pls 120.4 2006/03/23 00:42 hanaraya 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_p0(t out nocopy cn_imp_maps_pvt.v_tbl_type, a0 JTF_VARCHAR2_TABLE_200) as
17 ddindx binary_integer; indx binary_integer;
18 begin
19 if a0 is not null and a0.count > 0 then
20 if a0.count > 0 then
21 indx := a0.first;
22 ddindx := 1;
23 while true loop
24 t(ddindx) := a0(indx);
25 ddindx := ddindx+1;
26 if a0.last =indx
27 then exit;
28 end if;
29 indx := a0.next(indx);
30 end loop;
31 end if;
32 end if;
33 end rosetta_table_copy_in_p0;
34 procedure rosetta_table_copy_out_p0(t cn_imp_maps_pvt.v_tbl_type, a0 out nocopy JTF_VARCHAR2_TABLE_200) as
35 ddindx binary_integer; indx binary_integer;
36 begin
37 if t is null or t.count = 0 then
38 a0 := JTF_VARCHAR2_TABLE_200();
39 else
40 a0 := JTF_VARCHAR2_TABLE_200();
41 if t.count > 0 then
42 a0.extend(t.count);
43 ddindx := t.first;
44 indx := 1;
45 while true loop
46 a0(indx) := t(ddindx);
47 indx := indx+1;
48 if t.last =ddindx
49 then exit;
50 end if;
51 ddindx := t.next(ddindx);
52 end loop;
53 end if;
54 end if;
55 end rosetta_table_copy_out_p0;
56
57 procedure rosetta_table_copy_in_p6(t out nocopy cn_imp_maps_pvt.map_field_tbl_type, a0 JTF_VARCHAR2_TABLE_200
58 , a1 JTF_VARCHAR2_TABLE_200
59 , a2 JTF_VARCHAR2_TABLE_200
60 ) as
61 ddindx binary_integer; indx binary_integer;
62 begin
63 if a0 is not null and a0.count > 0 then
64 if a0.count > 0 then
65 indx := a0.first;
66 ddindx := 1;
67 while true loop
68 t(ddindx).value := a0(indx);
69 t(ddindx).text := a1(indx);
70 t(ddindx).colname := a2(indx);
71 ddindx := ddindx+1;
72 if a0.last =indx
73 then exit;
74 end if;
75 indx := a0.next(indx);
76 end loop;
77 end if;
78 end if;
79 end rosetta_table_copy_in_p6;
80 procedure rosetta_table_copy_out_p6(t cn_imp_maps_pvt.map_field_tbl_type, a0 out nocopy JTF_VARCHAR2_TABLE_200
81 , a1 out nocopy JTF_VARCHAR2_TABLE_200
82 , a2 out nocopy JTF_VARCHAR2_TABLE_200
83 ) as
84 ddindx binary_integer; indx binary_integer;
85 begin
86 if t is null or t.count = 0 then
87 a0 := JTF_VARCHAR2_TABLE_200();
88 a1 := JTF_VARCHAR2_TABLE_200();
89 a2 := JTF_VARCHAR2_TABLE_200();
90 else
91 a0 := JTF_VARCHAR2_TABLE_200();
92 a1 := JTF_VARCHAR2_TABLE_200();
93 a2 := JTF_VARCHAR2_TABLE_200();
94 if t.count > 0 then
95 a0.extend(t.count);
96 a1.extend(t.count);
97 a2.extend(t.count);
98 ddindx := t.first;
99 indx := 1;
100 while true loop
101 a0(indx) := t(ddindx).value;
102 a1(indx) := t(ddindx).text;
103 a2(indx) := t(ddindx).colname;
104 indx := indx+1;
105 if t.last =ddindx
106 then exit;
107 end if;
108 ddindx := t.next(ddindx);
109 end loop;
110 end if;
111 end if;
112 end rosetta_table_copy_out_p6;
113
114 procedure create_mapping(p_api_version NUMBER
115 , p_init_msg_list VARCHAR2
116 , p_commit VARCHAR2
117 , p_validation_level NUMBER
118 , x_return_status out nocopy VARCHAR2
119 , x_msg_count out nocopy NUMBER
120 , x_msg_data out nocopy VARCHAR2
121 , p_imp_header_id NUMBER
122 , p_src_column_num NUMBER
123 , p9_a0 NUMBER
124 , p9_a1 VARCHAR2
125 , p9_a2 VARCHAR2
126 , p9_a3 NUMBER
127 , p9_a4 VARCHAR2
128 , p9_a5 VARCHAR2
129 , p9_a6 VARCHAR2
130 , p9_a7 VARCHAR2
131 , p9_a8 VARCHAR2
132 , p9_a9 VARCHAR2
133 , p9_a10 VARCHAR2
134 , p9_a11 VARCHAR2
135 , p9_a12 VARCHAR2
136 , p9_a13 VARCHAR2
137 , p9_a14 VARCHAR2
138 , p9_a15 VARCHAR2
139 , p9_a16 VARCHAR2
140 , p9_a17 VARCHAR2
141 , p9_a18 VARCHAR2
142 , p9_a19 VARCHAR2
143 , p9_a20 DATE
144 , p9_a21 NUMBER
145 , p9_a22 DATE
146 , p9_a23 NUMBER
147 , p9_a24 NUMBER
148 , p10_a0 JTF_VARCHAR2_TABLE_200
149 , p10_a1 JTF_VARCHAR2_TABLE_200
150 , p10_a2 JTF_VARCHAR2_TABLE_200
151 , p_target_fields JTF_VARCHAR2_TABLE_200
152 , x_imp_map_id out nocopy NUMBER
153 , p_org_id NUMBER
154 )
155
156 as
157 ddp_imp_map cn_imp_maps_pvt.imp_maps_rec_type;
158 ddp_source_fields cn_imp_maps_pvt.map_field_tbl_type;
159 ddp_target_fields cn_imp_maps_pvt.v_tbl_type;
160 ddindx binary_integer; indx binary_integer;
161 begin
162
163 -- copy data to the local IN or IN-OUT args, if any
164
165
166
167
168
169
170
171
172
173 ddp_imp_map.imp_map_id := p9_a0;
174 ddp_imp_map.name := p9_a1;
175 ddp_imp_map.import_type_code := p9_a2;
176 ddp_imp_map.object_version_number := p9_a3;
177 ddp_imp_map.attribute_category := p9_a4;
178 ddp_imp_map.attribute1 := p9_a5;
179 ddp_imp_map.attribute2 := p9_a6;
180 ddp_imp_map.attribute3 := p9_a7;
181 ddp_imp_map.attribute4 := p9_a8;
182 ddp_imp_map.attribute5 := p9_a9;
183 ddp_imp_map.attribute6 := p9_a10;
184 ddp_imp_map.attribute7 := p9_a11;
185 ddp_imp_map.attribute8 := p9_a12;
186 ddp_imp_map.attribute9 := p9_a13;
187 ddp_imp_map.attribute10 := p9_a14;
188 ddp_imp_map.attribute11 := p9_a15;
189 ddp_imp_map.attribute12 := p9_a16;
190 ddp_imp_map.attribute13 := p9_a17;
191 ddp_imp_map.attribute14 := p9_a18;
192 ddp_imp_map.attribute15 := p9_a19;
193 ddp_imp_map.creation_date := rosetta_g_miss_date_in_map(p9_a20);
194 ddp_imp_map.created_by := p9_a21;
195 ddp_imp_map.last_update_date := rosetta_g_miss_date_in_map(p9_a22);
196 ddp_imp_map.last_updated_by := p9_a23;
197 ddp_imp_map.last_update_login := p9_a24;
198
199 cn_imp_maps_pvt_w.rosetta_table_copy_in_p6(ddp_source_fields, p10_a0
200 , p10_a1
201 , p10_a2
202 );
203
204 cn_imp_maps_pvt_w.rosetta_table_copy_in_p0(ddp_target_fields, p_target_fields);
205
206
207
208 -- here's the delegated call to the old PL/SQL routine
209 cn_imp_maps_pvt.create_mapping(p_api_version,
210 p_init_msg_list,
211 p_commit,
212 p_validation_level,
213 x_return_status,
214 x_msg_count,
215 x_msg_data,
216 p_imp_header_id,
217 p_src_column_num,
218 ddp_imp_map,
219 ddp_source_fields,
220 ddp_target_fields,
221 x_imp_map_id,
222 p_org_id);
223
224 -- copy data back from the local variables to OUT or IN-OUT args, if any
225
226
227
228
229
230
231
232
233
234
235
236
237
238 end;
239
240 procedure retrieve_fields(p_api_version NUMBER
241 , p_init_msg_list VARCHAR2
242 , p_commit VARCHAR2
243 , p_validation_level NUMBER
244 , x_return_status out nocopy VARCHAR2
245 , x_msg_count out nocopy NUMBER
246 , x_msg_data out nocopy VARCHAR2
247 , p_imp_map_id NUMBER
248 , p_import_type_code VARCHAR2
249 , p9_a0 out nocopy JTF_VARCHAR2_TABLE_200
250 , p9_a1 out nocopy JTF_VARCHAR2_TABLE_200
251 , p9_a2 out nocopy JTF_VARCHAR2_TABLE_200
252 , p10_a0 out nocopy JTF_VARCHAR2_TABLE_200
253 , p10_a1 out nocopy JTF_VARCHAR2_TABLE_200
254 , p10_a2 out nocopy JTF_VARCHAR2_TABLE_200
255 , p11_a0 out nocopy JTF_VARCHAR2_TABLE_200
256 , p11_a1 out nocopy JTF_VARCHAR2_TABLE_200
257 , p11_a2 out nocopy JTF_VARCHAR2_TABLE_200
258 , x_map_obj_num out nocopy NUMBER
259 , p_org_id NUMBER
260 )
261
262 as
263 ddx_source_fields cn_imp_maps_pvt.map_field_tbl_type;
264 ddx_target_fields cn_imp_maps_pvt.map_field_tbl_type;
265 ddx_mapped_fields cn_imp_maps_pvt.map_field_tbl_type;
266 ddindx binary_integer; indx binary_integer;
267 begin
268
269 -- copy data to the local IN or IN-OUT args, if any
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284 -- here's the delegated call to the old PL/SQL routine
285 cn_imp_maps_pvt.retrieve_fields(p_api_version,
286 p_init_msg_list,
287 p_commit,
288 p_validation_level,
289 x_return_status,
290 x_msg_count,
291 x_msg_data,
292 p_imp_map_id,
293 p_import_type_code,
294 ddx_source_fields,
295 ddx_target_fields,
296 ddx_mapped_fields,
297 x_map_obj_num,
298 p_org_id);
299
300 -- copy data back from the local variables to OUT or IN-OUT args, if any
301
302
303
304
305
306
307
308
309
310 cn_imp_maps_pvt_w.rosetta_table_copy_out_p6(ddx_source_fields, p9_a0
311 , p9_a1
312 , p9_a2
313 );
314
315 cn_imp_maps_pvt_w.rosetta_table_copy_out_p6(ddx_target_fields, p10_a0
316 , p10_a1
317 , p10_a2
318 );
319
320 cn_imp_maps_pvt_w.rosetta_table_copy_out_p6(ddx_mapped_fields, p11_a0
321 , p11_a1
322 , p11_a2
323 );
324
325
326 end;
327
328 procedure create_imp_map(p_api_version NUMBER
329 , p_init_msg_list VARCHAR2
330 , p_commit VARCHAR2
331 , p_validation_level NUMBER
332 , x_return_status out nocopy VARCHAR2
333 , x_msg_count out nocopy NUMBER
334 , x_msg_data out nocopy VARCHAR2
335 , p7_a0 NUMBER
336 , p7_a1 VARCHAR2
337 , p7_a2 VARCHAR2
338 , p7_a3 NUMBER
339 , p7_a4 VARCHAR2
340 , p7_a5 VARCHAR2
341 , p7_a6 VARCHAR2
342 , p7_a7 VARCHAR2
343 , p7_a8 VARCHAR2
344 , p7_a9 VARCHAR2
345 , p7_a10 VARCHAR2
346 , p7_a11 VARCHAR2
347 , p7_a12 VARCHAR2
348 , p7_a13 VARCHAR2
349 , p7_a14 VARCHAR2
350 , p7_a15 VARCHAR2
351 , p7_a16 VARCHAR2
352 , p7_a17 VARCHAR2
353 , p7_a18 VARCHAR2
354 , p7_a19 VARCHAR2
355 , p7_a20 DATE
356 , p7_a21 NUMBER
357 , p7_a22 DATE
358 , p7_a23 NUMBER
359 , p7_a24 NUMBER
360 , x_imp_map_id out nocopy NUMBER
361 )
362
363 as
364 ddp_imp_map cn_imp_maps_pvt.imp_maps_rec_type;
365 ddindx binary_integer; indx binary_integer;
366 begin
367
368 -- copy data to the local IN or IN-OUT args, if any
369
370
371
372
373
374
375
376 ddp_imp_map.imp_map_id := p7_a0;
377 ddp_imp_map.name := p7_a1;
378 ddp_imp_map.import_type_code := p7_a2;
379 ddp_imp_map.object_version_number := p7_a3;
380 ddp_imp_map.attribute_category := p7_a4;
381 ddp_imp_map.attribute1 := p7_a5;
382 ddp_imp_map.attribute2 := p7_a6;
383 ddp_imp_map.attribute3 := p7_a7;
384 ddp_imp_map.attribute4 := p7_a8;
385 ddp_imp_map.attribute5 := p7_a9;
386 ddp_imp_map.attribute6 := p7_a10;
387 ddp_imp_map.attribute7 := p7_a11;
388 ddp_imp_map.attribute8 := p7_a12;
389 ddp_imp_map.attribute9 := p7_a13;
390 ddp_imp_map.attribute10 := p7_a14;
391 ddp_imp_map.attribute11 := p7_a15;
392 ddp_imp_map.attribute12 := p7_a16;
393 ddp_imp_map.attribute13 := p7_a17;
394 ddp_imp_map.attribute14 := p7_a18;
395 ddp_imp_map.attribute15 := p7_a19;
396 ddp_imp_map.creation_date := rosetta_g_miss_date_in_map(p7_a20);
397 ddp_imp_map.created_by := p7_a21;
398 ddp_imp_map.last_update_date := rosetta_g_miss_date_in_map(p7_a22);
399 ddp_imp_map.last_updated_by := p7_a23;
400 ddp_imp_map.last_update_login := p7_a24;
401
402
403 -- here's the delegated call to the old PL/SQL routine
404 cn_imp_maps_pvt.create_imp_map(p_api_version,
405 p_init_msg_list,
406 p_commit,
407 p_validation_level,
408 x_return_status,
409 x_msg_count,
410 x_msg_data,
411 ddp_imp_map,
412 x_imp_map_id);
413
414 -- copy data back from the local variables to OUT or IN-OUT args, if any
415
416
417
418
419
420
421
422
423 end;
424
425 procedure delete_imp_map(p_api_version NUMBER
426 , p_init_msg_list VARCHAR2
427 , p_commit VARCHAR2
428 , p_validation_level NUMBER
429 , x_return_status out nocopy VARCHAR2
430 , x_msg_count out nocopy NUMBER
431 , x_msg_data out nocopy VARCHAR2
432 , p7_a0 NUMBER
433 , p7_a1 VARCHAR2
434 , p7_a2 VARCHAR2
435 , p7_a3 NUMBER
436 , p7_a4 VARCHAR2
437 , p7_a5 VARCHAR2
438 , p7_a6 VARCHAR2
439 , p7_a7 VARCHAR2
440 , p7_a8 VARCHAR2
441 , p7_a9 VARCHAR2
442 , p7_a10 VARCHAR2
443 , p7_a11 VARCHAR2
444 , p7_a12 VARCHAR2
445 , p7_a13 VARCHAR2
446 , p7_a14 VARCHAR2
447 , p7_a15 VARCHAR2
448 , p7_a16 VARCHAR2
449 , p7_a17 VARCHAR2
450 , p7_a18 VARCHAR2
451 , p7_a19 VARCHAR2
452 , p7_a20 DATE
453 , p7_a21 NUMBER
454 , p7_a22 DATE
455 , p7_a23 NUMBER
456 , p7_a24 NUMBER
457 )
458
459 as
460 ddp_imp_map cn_imp_maps_pvt.imp_maps_rec_type;
461 ddindx binary_integer; indx binary_integer;
462 begin
463
464 -- copy data to the local IN or IN-OUT args, if any
465
466
467
468
469
470
471
472 ddp_imp_map.imp_map_id := p7_a0;
473 ddp_imp_map.name := p7_a1;
474 ddp_imp_map.import_type_code := p7_a2;
475 ddp_imp_map.object_version_number := p7_a3;
476 ddp_imp_map.attribute_category := p7_a4;
477 ddp_imp_map.attribute1 := p7_a5;
478 ddp_imp_map.attribute2 := p7_a6;
479 ddp_imp_map.attribute3 := p7_a7;
480 ddp_imp_map.attribute4 := p7_a8;
481 ddp_imp_map.attribute5 := p7_a9;
482 ddp_imp_map.attribute6 := p7_a10;
483 ddp_imp_map.attribute7 := p7_a11;
484 ddp_imp_map.attribute8 := p7_a12;
485 ddp_imp_map.attribute9 := p7_a13;
486 ddp_imp_map.attribute10 := p7_a14;
487 ddp_imp_map.attribute11 := p7_a15;
488 ddp_imp_map.attribute12 := p7_a16;
489 ddp_imp_map.attribute13 := p7_a17;
490 ddp_imp_map.attribute14 := p7_a18;
491 ddp_imp_map.attribute15 := p7_a19;
492 ddp_imp_map.creation_date := rosetta_g_miss_date_in_map(p7_a20);
493 ddp_imp_map.created_by := p7_a21;
494 ddp_imp_map.last_update_date := rosetta_g_miss_date_in_map(p7_a22);
495 ddp_imp_map.last_updated_by := p7_a23;
496 ddp_imp_map.last_update_login := p7_a24;
497
498 -- here's the delegated call to the old PL/SQL routine
499 cn_imp_maps_pvt.delete_imp_map(p_api_version,
500 p_init_msg_list,
501 p_commit,
502 p_validation_level,
503 x_return_status,
504 x_msg_count,
505 x_msg_data,
506 ddp_imp_map);
507
508 -- copy data back from the local variables to OUT or IN-OUT args, if any
509
510
511
512
513
514
515
516 end;
517
518 end cn_imp_maps_pvt_w;