DBA Data[Home] [Help]

PACKAGE BODY: APPS.EAM_CONSTRUCTION_UNIT_PUB_W

Source


1 package body eam_construction_unit_pub_w as
2   /* $Header: EAMPCUWB.pls 120.0.12010000.2 2008/11/20 04:37:58 dsingire 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   function rosetta_g_miss_num_map(n number) return number as
17     a number := fnd_api.g_miss_num;
18     b number := 0-1962.0724;
19   begin
20     if n=a then return b; end if;
21     if n=b then return a; end if;
22     return n;
23   end;
24 
25   procedure rosetta_table_copy_in_p2(t out nocopy eam_construction_unit_pub.cu_activity_tbl, a0 JTF_NUMBER_TABLE
26     , a1 JTF_NUMBER_TABLE
27     , a2 JTF_VARCHAR2_TABLE_100
28     , a3 JTF_NUMBER_TABLE
29     , a4 JTF_NUMBER_TABLE
30     , a5 JTF_DATE_TABLE
31     , a6 JTF_DATE_TABLE
32     , a7 JTF_VARCHAR2_TABLE_100
33     ) as
34     ddindx binary_integer; indx binary_integer;
35   begin
36   if a0 is not null and a0.count > 0 then
37       if a0.count > 0 then
38         indx := a0.first;
39         ddindx := 1;
40         while true loop
41           t(ddindx).cu_detail_id := rosetta_g_miss_num_map(a0(indx));
42           t(ddindx).cu_id := rosetta_g_miss_num_map(a1(indx));
43           t(ddindx).acct_class_code := a2(indx);
44           t(ddindx).activity_id := rosetta_g_miss_num_map(a3(indx));
45           t(ddindx).cu_activity_qty := rosetta_g_miss_num_map(a4(indx));
46           t(ddindx).cu_activity_effective_from := rosetta_g_miss_date_in_map(a5(indx));
47           t(ddindx).cu_activity_effective_to := rosetta_g_miss_date_in_map(a6(indx));
48           t(ddindx).cu_assign_to_org := a7(indx);
49           ddindx := ddindx+1;
50           if a0.last =indx
51             then exit;
52           end if;
53           indx := a0.next(indx);
54         end loop;
55       end if;
56    end if;
57   end rosetta_table_copy_in_p2;
58   procedure rosetta_table_copy_out_p2(t eam_construction_unit_pub.cu_activity_tbl, a0 out nocopy JTF_NUMBER_TABLE
59     , a1 out nocopy JTF_NUMBER_TABLE
60     , a2 out nocopy JTF_VARCHAR2_TABLE_100
61     , a3 out nocopy JTF_NUMBER_TABLE
62     , a4 out nocopy JTF_NUMBER_TABLE
63     , a5 out nocopy JTF_DATE_TABLE
64     , a6 out nocopy JTF_DATE_TABLE
65     , a7 out nocopy JTF_VARCHAR2_TABLE_100
66     ) as
67     ddindx binary_integer; indx binary_integer;
68   begin
69   if t is null or t.count = 0 then
70     a0 := JTF_NUMBER_TABLE();
71     a1 := JTF_NUMBER_TABLE();
72     a2 := JTF_VARCHAR2_TABLE_100();
73     a3 := JTF_NUMBER_TABLE();
74     a4 := JTF_NUMBER_TABLE();
75     a5 := JTF_DATE_TABLE();
76     a6 := JTF_DATE_TABLE();
77     a7 := JTF_VARCHAR2_TABLE_100();
78   else
79       a0 := JTF_NUMBER_TABLE();
80       a1 := JTF_NUMBER_TABLE();
81       a2 := JTF_VARCHAR2_TABLE_100();
82       a3 := JTF_NUMBER_TABLE();
83       a4 := JTF_NUMBER_TABLE();
84       a5 := JTF_DATE_TABLE();
85       a6 := JTF_DATE_TABLE();
86       a7 := JTF_VARCHAR2_TABLE_100();
87       if t.count > 0 then
88         a0.extend(t.count);
89         a1.extend(t.count);
90         a2.extend(t.count);
91         a3.extend(t.count);
92         a4.extend(t.count);
93         a5.extend(t.count);
94         a6.extend(t.count);
95         a7.extend(t.count);
96         ddindx := t.first;
97         indx := 1;
98         while true loop
99           a0(indx) := rosetta_g_miss_num_map(t(ddindx).cu_detail_id);
100           a1(indx) := rosetta_g_miss_num_map(t(ddindx).cu_id);
101           a2(indx) := t(ddindx).acct_class_code;
102           a3(indx) := rosetta_g_miss_num_map(t(ddindx).activity_id);
103           a4(indx) := rosetta_g_miss_num_map(t(ddindx).cu_activity_qty);
104           a5(indx) := t(ddindx).cu_activity_effective_from;
105           a6(indx) := t(ddindx).cu_activity_effective_to;
106           a7(indx) := t(ddindx).cu_assign_to_org;
107           indx := indx+1;
108           if t.last =ddindx
109             then exit;
110           end if;
111           ddindx := t.next(ddindx);
112         end loop;
113       end if;
114    end if;
115   end rosetta_table_copy_out_p2;
116 
117   procedure rosetta_table_copy_in_p4(t out nocopy eam_construction_unit_pub.cu_id_tbl, a0 JTF_NUMBER_TABLE
118     ) as
119     ddindx binary_integer; indx binary_integer;
120   begin
121   if a0 is not null and a0.count > 0 then
122       if a0.count > 0 then
123         indx := a0.first;
124         ddindx := 1;
125         while true loop
126           t(ddindx).cu_id := rosetta_g_miss_num_map(a0(indx));
127           ddindx := ddindx+1;
128           if a0.last =indx
129             then exit;
130           end if;
131           indx := a0.next(indx);
132         end loop;
133       end if;
134    end if;
135   end rosetta_table_copy_in_p4;
136   procedure rosetta_table_copy_out_p4(t eam_construction_unit_pub.cu_id_tbl, a0 out nocopy JTF_NUMBER_TABLE
137     ) as
138     ddindx binary_integer; indx binary_integer;
139   begin
140   if t is null or t.count = 0 then
141     a0 := JTF_NUMBER_TABLE();
142   else
143       a0 := JTF_NUMBER_TABLE();
144       if t.count > 0 then
145         a0.extend(t.count);
146         ddindx := t.first;
147         indx := 1;
148         while true loop
149           a0(indx) := rosetta_g_miss_num_map(t(ddindx).cu_id);
150           indx := indx+1;
151           if t.last =ddindx
152             then exit;
153           end if;
154           ddindx := t.next(ddindx);
155         end loop;
156       end if;
157    end if;
158   end rosetta_table_copy_out_p4;
159 
160   procedure create_construction_unit(p_api_version  NUMBER
161     , p_commit  VARCHAR2
162     , p3_a0 JTF_NUMBER_TABLE
163     , p3_a1 JTF_NUMBER_TABLE
164     , p3_a2 JTF_VARCHAR2_TABLE_100
165     , p3_a3 JTF_NUMBER_TABLE
166     , p3_a4 JTF_NUMBER_TABLE
167     , p3_a5 JTF_DATE_TABLE
168     , p3_a6 JTF_DATE_TABLE
169     , p3_a7 JTF_VARCHAR2_TABLE_100
170     , x_cu_id out nocopy  NUMBER
171     , x_return_status out nocopy  VARCHAR2
172     , x_msg_count out nocopy  NUMBER
173     , x_msg_data out nocopy  VARCHAR2
174     , p2_a0  NUMBER := 0-1962.0724
175     , p2_a1  VARCHAR2 := fnd_api.g_miss_char
176     , p2_a2  VARCHAR2 := fnd_api.g_miss_char
177     , p2_a3  NUMBER := 0-1962.0724
178     , p2_a4  DATE := fnd_api.g_miss_date
179     , p2_a5  DATE := fnd_api.g_miss_date
180     , p2_a6  VARCHAR2 := fnd_api.g_miss_char
181     , p2_a7  VARCHAR2 := fnd_api.g_miss_char
182     , p2_a8  VARCHAR2 := fnd_api.g_miss_char
183     , p2_a9  VARCHAR2 := fnd_api.g_miss_char
184     , p2_a10  VARCHAR2 := fnd_api.g_miss_char
185     , p2_a11  VARCHAR2 := fnd_api.g_miss_char
186     , p2_a12  VARCHAR2 := fnd_api.g_miss_char
187     , p2_a13  VARCHAR2 := fnd_api.g_miss_char
188     , p2_a14  VARCHAR2 := fnd_api.g_miss_char
189     , p2_a15  VARCHAR2 := fnd_api.g_miss_char
190     , p2_a16  VARCHAR2 := fnd_api.g_miss_char
191     , p2_a17  VARCHAR2 := fnd_api.g_miss_char
192     , p2_a18  VARCHAR2 := fnd_api.g_miss_char
193     , p2_a19  VARCHAR2 := fnd_api.g_miss_char
194     , p2_a20  VARCHAR2 := fnd_api.g_miss_char
195     , p2_a21  VARCHAR2 := fnd_api.g_miss_char
196   )
197 
198   as
199     ddp_cu_rec eam_construction_unit_pub.cu_rec;
200     ddp_cu_activity_tbl eam_construction_unit_pub.cu_activity_tbl;
201     ddindx binary_integer; indx binary_integer;
202   begin
203 
204     -- copy data to the local IN or IN-OUT args, if any
205 
206 
207     ddp_cu_rec.cu_id := rosetta_g_miss_num_map(p2_a0);
208     ddp_cu_rec.cu_name := p2_a1;
209     ddp_cu_rec.description := p2_a2;
210     ddp_cu_rec.organization_id := rosetta_g_miss_num_map(p2_a3);
211     ddp_cu_rec.cu_effective_from := rosetta_g_miss_date_in_map(p2_a4);
212     ddp_cu_rec.cu_effective_to := rosetta_g_miss_date_in_map(p2_a5);
213     ddp_cu_rec.attribute_category := p2_a6;
214     ddp_cu_rec.attribute1 := p2_a7;
215     ddp_cu_rec.attribute2 := p2_a8;
216     ddp_cu_rec.attribute3 := p2_a9;
217     ddp_cu_rec.attribute4 := p2_a10;
218     ddp_cu_rec.attribute5 := p2_a11;
219     ddp_cu_rec.attribute6 := p2_a12;
220     ddp_cu_rec.attribute7 := p2_a13;
221     ddp_cu_rec.attribute8 := p2_a14;
222     ddp_cu_rec.attribute9 := p2_a15;
223     ddp_cu_rec.attribute10 := p2_a16;
224     ddp_cu_rec.attribute11 := p2_a17;
225     ddp_cu_rec.attribute12 := p2_a18;
226     ddp_cu_rec.attribute13 := p2_a19;
227     ddp_cu_rec.attribute14 := p2_a20;
228     ddp_cu_rec.attribute15 := p2_a21;
229 
230     eam_construction_unit_pub_w.rosetta_table_copy_in_p2(ddp_cu_activity_tbl, p3_a0
231       , p3_a1
232       , p3_a2
233       , p3_a3
234       , p3_a4
235       , p3_a5
236       , p3_a6
237       , p3_a7
238       );
239 
240 
241 
242 
243 
244     -- here's the delegated call to the old PL/SQL routine
245     eam_construction_unit_pub.create_construction_unit(p_api_version,
246       p_commit,
247       ddp_cu_rec,
248       ddp_cu_activity_tbl,
249       x_cu_id,
250       x_return_status,
251       x_msg_count,
252       x_msg_data);
253 
254     -- copy data back from the local variables to OUT or IN-OUT args, if any
255 
256 
257 
258 
259 
260 
261 
262   end;
263 
264   procedure update_construction_unit(p_api_version  NUMBER
265     , p_commit  VARCHAR2
266     , p3_a0 JTF_NUMBER_TABLE
267     , p3_a1 JTF_NUMBER_TABLE
268     , p3_a2 JTF_VARCHAR2_TABLE_100
269     , p3_a3 JTF_NUMBER_TABLE
270     , p3_a4 JTF_NUMBER_TABLE
271     , p3_a5 JTF_DATE_TABLE
272     , p3_a6 JTF_DATE_TABLE
273     , p3_a7 JTF_VARCHAR2_TABLE_100
274     , x_cu_id out nocopy  NUMBER
275     , x_return_status out nocopy  VARCHAR2
276     , x_msg_count out nocopy  NUMBER
277     , x_msg_data out nocopy  VARCHAR2
278     , p2_a0  NUMBER := 0-1962.0724
279     , p2_a1  VARCHAR2 := fnd_api.g_miss_char
280     , p2_a2  VARCHAR2 := fnd_api.g_miss_char
281     , p2_a3  NUMBER := 0-1962.0724
282     , p2_a4  DATE := fnd_api.g_miss_date
283     , p2_a5  DATE := fnd_api.g_miss_date
284     , p2_a6  VARCHAR2 := fnd_api.g_miss_char
285     , p2_a7  VARCHAR2 := fnd_api.g_miss_char
286     , p2_a8  VARCHAR2 := fnd_api.g_miss_char
287     , p2_a9  VARCHAR2 := fnd_api.g_miss_char
288     , p2_a10  VARCHAR2 := fnd_api.g_miss_char
289     , p2_a11  VARCHAR2 := fnd_api.g_miss_char
290     , p2_a12  VARCHAR2 := fnd_api.g_miss_char
291     , p2_a13  VARCHAR2 := fnd_api.g_miss_char
292     , p2_a14  VARCHAR2 := fnd_api.g_miss_char
293     , p2_a15  VARCHAR2 := fnd_api.g_miss_char
294     , p2_a16  VARCHAR2 := fnd_api.g_miss_char
295     , p2_a17  VARCHAR2 := fnd_api.g_miss_char
296     , p2_a18  VARCHAR2 := fnd_api.g_miss_char
297     , p2_a19  VARCHAR2 := fnd_api.g_miss_char
298     , p2_a20  VARCHAR2 := fnd_api.g_miss_char
299     , p2_a21  VARCHAR2 := fnd_api.g_miss_char
300   )
301 
302   as
303     ddp_cu_rec eam_construction_unit_pub.cu_rec;
304     ddp_cu_activity_tbl eam_construction_unit_pub.cu_activity_tbl;
305     ddindx binary_integer; indx binary_integer;
306   begin
307 
308     -- copy data to the local IN or IN-OUT args, if any
309 
310 
311     ddp_cu_rec.cu_id := rosetta_g_miss_num_map(p2_a0);
312     ddp_cu_rec.cu_name := p2_a1;
313     ddp_cu_rec.description := p2_a2;
314     ddp_cu_rec.organization_id := rosetta_g_miss_num_map(p2_a3);
315     ddp_cu_rec.cu_effective_from := rosetta_g_miss_date_in_map(p2_a4);
316     ddp_cu_rec.cu_effective_to := rosetta_g_miss_date_in_map(p2_a5);
317     ddp_cu_rec.attribute_category := p2_a6;
318     ddp_cu_rec.attribute1 := p2_a7;
319     ddp_cu_rec.attribute2 := p2_a8;
320     ddp_cu_rec.attribute3 := p2_a9;
321     ddp_cu_rec.attribute4 := p2_a10;
322     ddp_cu_rec.attribute5 := p2_a11;
323     ddp_cu_rec.attribute6 := p2_a12;
324     ddp_cu_rec.attribute7 := p2_a13;
325     ddp_cu_rec.attribute8 := p2_a14;
326     ddp_cu_rec.attribute9 := p2_a15;
327     ddp_cu_rec.attribute10 := p2_a16;
328     ddp_cu_rec.attribute11 := p2_a17;
329     ddp_cu_rec.attribute12 := p2_a18;
330     ddp_cu_rec.attribute13 := p2_a19;
331     ddp_cu_rec.attribute14 := p2_a20;
332     ddp_cu_rec.attribute15 := p2_a21;
333 
334     eam_construction_unit_pub_w.rosetta_table_copy_in_p2(ddp_cu_activity_tbl, p3_a0
335       , p3_a1
336       , p3_a2
337       , p3_a3
338       , p3_a4
339       , p3_a5
340       , p3_a6
341       , p3_a7
342       );
343 
344 
345 
346 
347 
348     -- here's the delegated call to the old PL/SQL routine
349     eam_construction_unit_pub.update_construction_unit(p_api_version,
350       p_commit,
351       ddp_cu_rec,
352       ddp_cu_activity_tbl,
353       x_cu_id,
354       x_return_status,
355       x_msg_count,
356       x_msg_data);
357 
358     -- copy data back from the local variables to OUT or IN-OUT args, if any
359 
360 
361 
362 
363 
364 
365 
366   end;
367 
368   procedure copy_construction_unit(p_api_version  NUMBER
369     , p_commit  VARCHAR2
370     , p3_a0 JTF_NUMBER_TABLE
371     , p3_a1 JTF_NUMBER_TABLE
372     , p3_a2 JTF_VARCHAR2_TABLE_100
373     , p3_a3 JTF_NUMBER_TABLE
374     , p3_a4 JTF_NUMBER_TABLE
375     , p3_a5 JTF_DATE_TABLE
376     , p3_a6 JTF_DATE_TABLE
377     , p3_a7 JTF_VARCHAR2_TABLE_100
378     , p4_a0 JTF_NUMBER_TABLE
379     , x_cu_id out nocopy  NUMBER
380     , x_return_status out nocopy  VARCHAR2
381     , x_msg_count out nocopy  NUMBER
382     , x_msg_data out nocopy  VARCHAR2
383     , p2_a0  NUMBER := 0-1962.0724
384     , p2_a1  VARCHAR2 := fnd_api.g_miss_char
385     , p2_a2  VARCHAR2 := fnd_api.g_miss_char
386     , p2_a3  NUMBER := 0-1962.0724
387     , p2_a4  DATE := fnd_api.g_miss_date
388     , p2_a5  DATE := fnd_api.g_miss_date
389     , p2_a6  VARCHAR2 := fnd_api.g_miss_char
390     , p2_a7  VARCHAR2 := fnd_api.g_miss_char
391     , p2_a8  VARCHAR2 := fnd_api.g_miss_char
392     , p2_a9  VARCHAR2 := fnd_api.g_miss_char
393     , p2_a10  VARCHAR2 := fnd_api.g_miss_char
394     , p2_a11  VARCHAR2 := fnd_api.g_miss_char
395     , p2_a12  VARCHAR2 := fnd_api.g_miss_char
396     , p2_a13  VARCHAR2 := fnd_api.g_miss_char
397     , p2_a14  VARCHAR2 := fnd_api.g_miss_char
398     , p2_a15  VARCHAR2 := fnd_api.g_miss_char
399     , p2_a16  VARCHAR2 := fnd_api.g_miss_char
400     , p2_a17  VARCHAR2 := fnd_api.g_miss_char
401     , p2_a18  VARCHAR2 := fnd_api.g_miss_char
402     , p2_a19  VARCHAR2 := fnd_api.g_miss_char
403     , p2_a20  VARCHAR2 := fnd_api.g_miss_char
404     , p2_a21  VARCHAR2 := fnd_api.g_miss_char
405   )
406 
407   as
408     ddp_cu_rec eam_construction_unit_pub.cu_rec;
409     ddp_cu_activity_tbl eam_construction_unit_pub.cu_activity_tbl;
410     ddp_source_cu_id_tbl eam_construction_unit_pub.cu_id_tbl;
411     ddindx binary_integer; indx binary_integer;
412   begin
413 
414     -- copy data to the local IN or IN-OUT args, if any
415 
416 
417     ddp_cu_rec.cu_id := rosetta_g_miss_num_map(p2_a0);
418     ddp_cu_rec.cu_name := p2_a1;
419     ddp_cu_rec.description := p2_a2;
420     ddp_cu_rec.organization_id := rosetta_g_miss_num_map(p2_a3);
421     ddp_cu_rec.cu_effective_from := rosetta_g_miss_date_in_map(p2_a4);
422     ddp_cu_rec.cu_effective_to := rosetta_g_miss_date_in_map(p2_a5);
423     ddp_cu_rec.attribute_category := p2_a6;
424     ddp_cu_rec.attribute1 := p2_a7;
425     ddp_cu_rec.attribute2 := p2_a8;
426     ddp_cu_rec.attribute3 := p2_a9;
427     ddp_cu_rec.attribute4 := p2_a10;
428     ddp_cu_rec.attribute5 := p2_a11;
429     ddp_cu_rec.attribute6 := p2_a12;
430     ddp_cu_rec.attribute7 := p2_a13;
431     ddp_cu_rec.attribute8 := p2_a14;
432     ddp_cu_rec.attribute9 := p2_a15;
433     ddp_cu_rec.attribute10 := p2_a16;
434     ddp_cu_rec.attribute11 := p2_a17;
435     ddp_cu_rec.attribute12 := p2_a18;
436     ddp_cu_rec.attribute13 := p2_a19;
437     ddp_cu_rec.attribute14 := p2_a20;
438     ddp_cu_rec.attribute15 := p2_a21;
439 
440     eam_construction_unit_pub_w.rosetta_table_copy_in_p2(ddp_cu_activity_tbl, p3_a0
441       , p3_a1
442       , p3_a2
443       , p3_a3
444       , p3_a4
445       , p3_a5
446       , p3_a6
447       , p3_a7
448       );
449 
450     eam_construction_unit_pub_w.rosetta_table_copy_in_p4(ddp_source_cu_id_tbl, p4_a0
451       );
452 
453 
454 
455 
456 
457     -- here's the delegated call to the old PL/SQL routine
458     eam_construction_unit_pub.copy_construction_unit(p_api_version,
459       p_commit,
460       ddp_cu_rec,
461       ddp_cu_activity_tbl,
462       ddp_source_cu_id_tbl,
463       x_cu_id,
464       x_return_status,
465       x_msg_count,
466       x_msg_data);
467 
468     -- copy data back from the local variables to OUT or IN-OUT args, if any
469 
470 
471 
472 
473 
474 
475 
476 
477   end;
478 
479 end eam_construction_unit_pub_w;