DBA Data[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;