DBA Data[Home] [Help]

PACKAGE BODY: APPS.AHL_FMP_MR_RELATION_PVT_W

Source


1 package body ahl_fmp_mr_relation_pvt_w as
2   /* $Header: AHLWMRLB.pls 120.0 2005/05/26 01:41:24 appldev 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 
6   -- this is to workaround the JDBC bug regarding IN DATE of value GMiss
7   function rosetta_g_miss_date_in_map(d date) return date as
8   begin
9     if d = rosetta_g_mistake_date then return fnd_api.g_miss_date; end if;
10     return d;
11   end;
12 
13   procedure rosetta_table_copy_in_p1(t out nocopy ahl_fmp_mr_relation_pvt.mr_relation_tbl, a0 JTF_NUMBER_TABLE
14     , a1 JTF_NUMBER_TABLE
15     , a2 JTF_VARCHAR2_TABLE_100
16     , a3 JTF_NUMBER_TABLE
17     , a4 JTF_VARCHAR2_TABLE_100
18     , a5 JTF_VARCHAR2_TABLE_100
19     , a6 JTF_NUMBER_TABLE
20     , a7 JTF_VARCHAR2_TABLE_100
21     , a8 JTF_NUMBER_TABLE
22     , a9 JTF_VARCHAR2_TABLE_100
23     , a10 JTF_VARCHAR2_TABLE_100
24     , a11 JTF_VARCHAR2_TABLE_100
25     , a12 JTF_VARCHAR2_TABLE_100
26     , a13 JTF_VARCHAR2_TABLE_200
27     , a14 JTF_VARCHAR2_TABLE_200
28     , a15 JTF_VARCHAR2_TABLE_200
29     , a16 JTF_VARCHAR2_TABLE_200
30     , a17 JTF_VARCHAR2_TABLE_200
31     , a18 JTF_VARCHAR2_TABLE_200
32     , a19 JTF_VARCHAR2_TABLE_200
33     , a20 JTF_VARCHAR2_TABLE_200
34     , a21 JTF_VARCHAR2_TABLE_200
35     , a22 JTF_VARCHAR2_TABLE_200
36     , a23 JTF_VARCHAR2_TABLE_200
37     , a24 JTF_VARCHAR2_TABLE_200
38     , a25 JTF_VARCHAR2_TABLE_200
39     , a26 JTF_VARCHAR2_TABLE_200
40     , a27 JTF_VARCHAR2_TABLE_200
41     , a28 JTF_DATE_TABLE
42     , a29 JTF_NUMBER_TABLE
43     , a30 JTF_DATE_TABLE
44     , a31 JTF_NUMBER_TABLE
45     , a32 JTF_NUMBER_TABLE
46     , a33 JTF_VARCHAR2_TABLE_100
47     ) as
48     ddindx binary_integer; indx binary_integer;
49   begin
50   if a0 is not null and a0.count > 0 then
51       if a0.count > 0 then
52         indx := a0.first;
53         ddindx := 1;
54         while true loop
55           t(ddindx).mr_relationship_id := a0(indx);
56           t(ddindx).object_version_number := a1(indx);
57           t(ddindx).relationship_code := a2(indx);
58           t(ddindx).mr_header_id := a3(indx);
59           t(ddindx).mr_title := a4(indx);
60           t(ddindx).mr_revision := a5(indx);
61           t(ddindx).mr_version_number := a6(indx);
62           t(ddindx).mr_status_code := a7(indx);
63           t(ddindx).related_mr_header_id := a8(indx);
64           t(ddindx).related_mr_title := a9(indx);
65           t(ddindx).related_mr_revision := a10(indx);
66           t(ddindx).related_mr_status_code := a11(indx);
67           t(ddindx).attribute_category := a12(indx);
68           t(ddindx).attribute1 := a13(indx);
69           t(ddindx).attribute2 := a14(indx);
70           t(ddindx).attribute3 := a15(indx);
71           t(ddindx).attribute4 := a16(indx);
72           t(ddindx).attribute5 := a17(indx);
73           t(ddindx).attribute6 := a18(indx);
74           t(ddindx).attribute7 := a19(indx);
75           t(ddindx).attribute8 := a20(indx);
76           t(ddindx).attribute9 := a21(indx);
77           t(ddindx).attribute10 := a22(indx);
78           t(ddindx).attribute11 := a23(indx);
79           t(ddindx).attribute12 := a24(indx);
80           t(ddindx).attribute13 := a25(indx);
81           t(ddindx).attribute14 := a26(indx);
82           t(ddindx).attribute15 := a27(indx);
83           t(ddindx).last_update_date := rosetta_g_miss_date_in_map(a28(indx));
84           t(ddindx).last_updated_by := a29(indx);
85           t(ddindx).creation_date := rosetta_g_miss_date_in_map(a30(indx));
86           t(ddindx).created_by := a31(indx);
87           t(ddindx).last_update_login := a32(indx);
88           t(ddindx).dml_operation := a33(indx);
89           ddindx := ddindx+1;
90           if a0.last =indx
91             then exit;
92           end if;
93           indx := a0.next(indx);
94         end loop;
95       end if;
96    end if;
97   end rosetta_table_copy_in_p1;
98   procedure rosetta_table_copy_out_p1(t ahl_fmp_mr_relation_pvt.mr_relation_tbl, a0 out nocopy JTF_NUMBER_TABLE
99     , a1 out nocopy JTF_NUMBER_TABLE
100     , a2 out nocopy JTF_VARCHAR2_TABLE_100
101     , a3 out nocopy JTF_NUMBER_TABLE
102     , a4 out nocopy JTF_VARCHAR2_TABLE_100
103     , a5 out nocopy JTF_VARCHAR2_TABLE_100
104     , a6 out nocopy JTF_NUMBER_TABLE
105     , a7 out nocopy JTF_VARCHAR2_TABLE_100
106     , a8 out nocopy JTF_NUMBER_TABLE
107     , a9 out nocopy JTF_VARCHAR2_TABLE_100
108     , a10 out nocopy JTF_VARCHAR2_TABLE_100
109     , a11 out nocopy JTF_VARCHAR2_TABLE_100
110     , a12 out nocopy JTF_VARCHAR2_TABLE_100
111     , a13 out nocopy JTF_VARCHAR2_TABLE_200
112     , a14 out nocopy JTF_VARCHAR2_TABLE_200
113     , a15 out nocopy JTF_VARCHAR2_TABLE_200
114     , a16 out nocopy JTF_VARCHAR2_TABLE_200
115     , a17 out nocopy JTF_VARCHAR2_TABLE_200
116     , a18 out nocopy JTF_VARCHAR2_TABLE_200
117     , a19 out nocopy JTF_VARCHAR2_TABLE_200
118     , a20 out nocopy JTF_VARCHAR2_TABLE_200
119     , a21 out nocopy JTF_VARCHAR2_TABLE_200
120     , a22 out nocopy JTF_VARCHAR2_TABLE_200
121     , a23 out nocopy JTF_VARCHAR2_TABLE_200
122     , a24 out nocopy JTF_VARCHAR2_TABLE_200
123     , a25 out nocopy JTF_VARCHAR2_TABLE_200
124     , a26 out nocopy JTF_VARCHAR2_TABLE_200
125     , a27 out nocopy JTF_VARCHAR2_TABLE_200
126     , a28 out nocopy JTF_DATE_TABLE
127     , a29 out nocopy JTF_NUMBER_TABLE
128     , a30 out nocopy JTF_DATE_TABLE
129     , a31 out nocopy JTF_NUMBER_TABLE
130     , a32 out nocopy JTF_NUMBER_TABLE
131     , a33 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_NUMBER_TABLE();
140     a4 := JTF_VARCHAR2_TABLE_100();
141     a5 := JTF_VARCHAR2_TABLE_100();
142     a6 := JTF_NUMBER_TABLE();
143     a7 := JTF_VARCHAR2_TABLE_100();
144     a8 := JTF_NUMBER_TABLE();
145     a9 := JTF_VARCHAR2_TABLE_100();
146     a10 := JTF_VARCHAR2_TABLE_100();
147     a11 := JTF_VARCHAR2_TABLE_100();
148     a12 := JTF_VARCHAR2_TABLE_100();
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_VARCHAR2_TABLE_200();
164     a28 := JTF_DATE_TABLE();
165     a29 := JTF_NUMBER_TABLE();
166     a30 := JTF_DATE_TABLE();
167     a31 := JTF_NUMBER_TABLE();
168     a32 := JTF_NUMBER_TABLE();
169     a33 := JTF_VARCHAR2_TABLE_100();
170   else
171       a0 := JTF_NUMBER_TABLE();
172       a1 := JTF_NUMBER_TABLE();
173       a2 := JTF_VARCHAR2_TABLE_100();
174       a3 := JTF_NUMBER_TABLE();
175       a4 := JTF_VARCHAR2_TABLE_100();
176       a5 := JTF_VARCHAR2_TABLE_100();
177       a6 := JTF_NUMBER_TABLE();
178       a7 := JTF_VARCHAR2_TABLE_100();
179       a8 := JTF_NUMBER_TABLE();
180       a9 := JTF_VARCHAR2_TABLE_100();
181       a10 := JTF_VARCHAR2_TABLE_100();
182       a11 := JTF_VARCHAR2_TABLE_100();
183       a12 := JTF_VARCHAR2_TABLE_100();
184       a13 := JTF_VARCHAR2_TABLE_200();
185       a14 := JTF_VARCHAR2_TABLE_200();
186       a15 := JTF_VARCHAR2_TABLE_200();
187       a16 := JTF_VARCHAR2_TABLE_200();
188       a17 := JTF_VARCHAR2_TABLE_200();
189       a18 := JTF_VARCHAR2_TABLE_200();
190       a19 := JTF_VARCHAR2_TABLE_200();
191       a20 := JTF_VARCHAR2_TABLE_200();
192       a21 := JTF_VARCHAR2_TABLE_200();
193       a22 := JTF_VARCHAR2_TABLE_200();
194       a23 := JTF_VARCHAR2_TABLE_200();
195       a24 := JTF_VARCHAR2_TABLE_200();
196       a25 := JTF_VARCHAR2_TABLE_200();
197       a26 := JTF_VARCHAR2_TABLE_200();
198       a27 := JTF_VARCHAR2_TABLE_200();
199       a28 := JTF_DATE_TABLE();
200       a29 := JTF_NUMBER_TABLE();
201       a30 := JTF_DATE_TABLE();
202       a31 := JTF_NUMBER_TABLE();
203       a32 := JTF_NUMBER_TABLE();
204       a33 := JTF_VARCHAR2_TABLE_100();
205       if t.count > 0 then
206         a0.extend(t.count);
207         a1.extend(t.count);
208         a2.extend(t.count);
209         a3.extend(t.count);
210         a4.extend(t.count);
211         a5.extend(t.count);
212         a6.extend(t.count);
213         a7.extend(t.count);
214         a8.extend(t.count);
215         a9.extend(t.count);
216         a10.extend(t.count);
217         a11.extend(t.count);
218         a12.extend(t.count);
219         a13.extend(t.count);
220         a14.extend(t.count);
221         a15.extend(t.count);
222         a16.extend(t.count);
223         a17.extend(t.count);
224         a18.extend(t.count);
225         a19.extend(t.count);
226         a20.extend(t.count);
227         a21.extend(t.count);
228         a22.extend(t.count);
229         a23.extend(t.count);
230         a24.extend(t.count);
231         a25.extend(t.count);
232         a26.extend(t.count);
233         a27.extend(t.count);
234         a28.extend(t.count);
235         a29.extend(t.count);
236         a30.extend(t.count);
237         a31.extend(t.count);
238         a32.extend(t.count);
239         a33.extend(t.count);
240         ddindx := t.first;
241         indx := 1;
242         while true loop
243           a0(indx) := t(ddindx).mr_relationship_id;
244           a1(indx) := t(ddindx).object_version_number;
245           a2(indx) := t(ddindx).relationship_code;
246           a3(indx) := t(ddindx).mr_header_id;
247           a4(indx) := t(ddindx).mr_title;
248           a5(indx) := t(ddindx).mr_revision;
249           a6(indx) := t(ddindx).mr_version_number;
250           a7(indx) := t(ddindx).mr_status_code;
251           a8(indx) := t(ddindx).related_mr_header_id;
252           a9(indx) := t(ddindx).related_mr_title;
253           a10(indx) := t(ddindx).related_mr_revision;
254           a11(indx) := t(ddindx).related_mr_status_code;
255           a12(indx) := t(ddindx).attribute_category;
256           a13(indx) := t(ddindx).attribute1;
257           a14(indx) := t(ddindx).attribute2;
258           a15(indx) := t(ddindx).attribute3;
259           a16(indx) := t(ddindx).attribute4;
260           a17(indx) := t(ddindx).attribute5;
261           a18(indx) := t(ddindx).attribute6;
262           a19(indx) := t(ddindx).attribute7;
263           a20(indx) := t(ddindx).attribute8;
264           a21(indx) := t(ddindx).attribute9;
265           a22(indx) := t(ddindx).attribute10;
266           a23(indx) := t(ddindx).attribute11;
267           a24(indx) := t(ddindx).attribute12;
268           a25(indx) := t(ddindx).attribute13;
269           a26(indx) := t(ddindx).attribute14;
270           a27(indx) := t(ddindx).attribute15;
271           a28(indx) := t(ddindx).last_update_date;
272           a29(indx) := t(ddindx).last_updated_by;
273           a30(indx) := t(ddindx).creation_date;
274           a31(indx) := t(ddindx).created_by;
275           a32(indx) := t(ddindx).last_update_login;
276           a33(indx) := t(ddindx).dml_operation;
277           indx := indx+1;
278           if t.last =ddindx
279             then exit;
280           end if;
281           ddindx := t.next(ddindx);
282         end loop;
283       end if;
284    end if;
285   end rosetta_table_copy_out_p1;
286 
287   procedure process_mr_relation(p_api_version  NUMBER
288     , p_init_msg_list  VARCHAR2
289     , p_commit  VARCHAR2
290     , p_validation_level  NUMBER
291     , p_default  VARCHAR2
292     , p_module_type  VARCHAR2
293     , x_return_status out nocopy  VARCHAR2
294     , x_msg_count out nocopy  NUMBER
295     , x_msg_data out nocopy  VARCHAR2
296     , p9_a0 in out nocopy JTF_NUMBER_TABLE
297     , p9_a1 in out nocopy JTF_NUMBER_TABLE
298     , p9_a2 in out nocopy JTF_VARCHAR2_TABLE_100
299     , p9_a3 in out nocopy JTF_NUMBER_TABLE
300     , p9_a4 in out nocopy JTF_VARCHAR2_TABLE_100
301     , p9_a5 in out nocopy JTF_VARCHAR2_TABLE_100
302     , p9_a6 in out nocopy JTF_NUMBER_TABLE
303     , p9_a7 in out nocopy JTF_VARCHAR2_TABLE_100
304     , p9_a8 in out nocopy JTF_NUMBER_TABLE
305     , p9_a9 in out nocopy JTF_VARCHAR2_TABLE_100
306     , p9_a10 in out nocopy JTF_VARCHAR2_TABLE_100
307     , p9_a11 in out nocopy JTF_VARCHAR2_TABLE_100
308     , p9_a12 in out nocopy JTF_VARCHAR2_TABLE_100
309     , p9_a13 in out nocopy JTF_VARCHAR2_TABLE_200
310     , p9_a14 in out nocopy JTF_VARCHAR2_TABLE_200
311     , p9_a15 in out nocopy JTF_VARCHAR2_TABLE_200
312     , p9_a16 in out nocopy JTF_VARCHAR2_TABLE_200
313     , p9_a17 in out nocopy JTF_VARCHAR2_TABLE_200
314     , p9_a18 in out nocopy JTF_VARCHAR2_TABLE_200
315     , p9_a19 in out nocopy JTF_VARCHAR2_TABLE_200
316     , p9_a20 in out nocopy JTF_VARCHAR2_TABLE_200
317     , p9_a21 in out nocopy JTF_VARCHAR2_TABLE_200
318     , p9_a22 in out nocopy JTF_VARCHAR2_TABLE_200
319     , p9_a23 in out nocopy JTF_VARCHAR2_TABLE_200
320     , p9_a24 in out nocopy JTF_VARCHAR2_TABLE_200
321     , p9_a25 in out nocopy JTF_VARCHAR2_TABLE_200
322     , p9_a26 in out nocopy JTF_VARCHAR2_TABLE_200
323     , p9_a27 in out nocopy JTF_VARCHAR2_TABLE_200
324     , p9_a28 in out nocopy JTF_DATE_TABLE
325     , p9_a29 in out nocopy JTF_NUMBER_TABLE
326     , p9_a30 in out nocopy JTF_DATE_TABLE
327     , p9_a31 in out nocopy JTF_NUMBER_TABLE
328     , p9_a32 in out nocopy JTF_NUMBER_TABLE
329     , p9_a33 in out nocopy JTF_VARCHAR2_TABLE_100
330   )
331 
332   as
333     ddp_x_mr_relation_tbl ahl_fmp_mr_relation_pvt.mr_relation_tbl;
334     ddindx binary_integer; indx binary_integer;
335   begin
336 
337     -- copy data to the local IN or IN-OUT args, if any
338 
339 
340 
341 
342 
343 
344 
345 
346 
347     ahl_fmp_mr_relation_pvt_w.rosetta_table_copy_in_p1(ddp_x_mr_relation_tbl, p9_a0
348       , p9_a1
349       , p9_a2
350       , p9_a3
351       , p9_a4
352       , p9_a5
353       , p9_a6
354       , p9_a7
355       , p9_a8
356       , p9_a9
357       , p9_a10
358       , p9_a11
359       , p9_a12
360       , p9_a13
361       , p9_a14
362       , p9_a15
363       , p9_a16
364       , p9_a17
365       , p9_a18
366       , p9_a19
367       , p9_a20
368       , p9_a21
369       , p9_a22
370       , p9_a23
371       , p9_a24
372       , p9_a25
373       , p9_a26
374       , p9_a27
375       , p9_a28
376       , p9_a29
377       , p9_a30
378       , p9_a31
379       , p9_a32
380       , p9_a33
381       );
382 
383     -- here's the delegated call to the old PL/SQL routine
384     ahl_fmp_mr_relation_pvt.process_mr_relation(p_api_version,
385       p_init_msg_list,
386       p_commit,
387       p_validation_level,
388       p_default,
389       p_module_type,
390       x_return_status,
391       x_msg_count,
392       x_msg_data,
393       ddp_x_mr_relation_tbl);
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_mr_relation_pvt_w.rosetta_table_copy_out_p1(ddp_x_mr_relation_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       , p9_a33
439       );
440   end;
441 
442 end ahl_fmp_mr_relation_pvt_w;