DBA Data[Home] [Help]

PACKAGE BODY: APPS.AHL_MC_TREE_PVT_W

Source


1 package body ahl_mc_tree_pvt_w as
2   /* $Header: AHLWMCTB.pls 120.2 2005/07/30 06:32 tamdas 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_p2(t out nocopy ahl_mc_tree_pvt.tree_node_tbl_type, a0 JTF_NUMBER_TABLE
14     , a1 JTF_NUMBER_TABLE
15     , a2 JTF_NUMBER_TABLE
16     , a3 JTF_NUMBER_TABLE
17     , a4 JTF_NUMBER_TABLE
18     , a5 JTF_VARCHAR2_TABLE_100
19     , a6 JTF_VARCHAR2_TABLE_100
20     , a7 JTF_VARCHAR2_TABLE_100
21     , a8 JTF_VARCHAR2_TABLE_100
22     , a9 JTF_VARCHAR2_TABLE_100
23     , a10 JTF_VARCHAR2_TABLE_100
24     , a11 JTF_VARCHAR2_TABLE_100
25     , a12 JTF_NUMBER_TABLE
26     , a13 JTF_NUMBER_TABLE
27     , a14 JTF_DATE_TABLE
28     , a15 JTF_DATE_TABLE
29     , a16 JTF_NUMBER_TABLE
30     , a17 JTF_VARCHAR2_TABLE_100
31     , a18 JTF_VARCHAR2_TABLE_100
32     , a19 JTF_VARCHAR2_TABLE_100
33     , a20 JTF_VARCHAR2_TABLE_100
34     , a21 JTF_VARCHAR2_TABLE_4000
35     , a22 JTF_NUMBER_TABLE
36     , a23 JTF_NUMBER_TABLE
37     , a24 JTF_NUMBER_TABLE
38     , a25 JTF_NUMBER_TABLE
39     , a26 JTF_VARCHAR2_TABLE_100
40     ) as
41     ddindx binary_integer; indx binary_integer;
42   begin
43   if a0 is not null and a0.count > 0 then
44       if a0.count > 0 then
45         indx := a0.first;
46         ddindx := 1;
47         while true loop
48           t(ddindx).relationship_id := a0(indx);
49           t(ddindx).object_version_number := a1(indx);
50           t(ddindx).position_key := a2(indx);
51           t(ddindx).parent_relationship_id := a3(indx);
52           t(ddindx).item_group_id := a4(indx);
53           t(ddindx).position_ref_code := a5(indx);
54           t(ddindx).position_ref_meaning := a6(indx);
55           t(ddindx).ata_code := a7(indx);
56           t(ddindx).ata_meaning := a8(indx);
57           t(ddindx).position_necessity_code := a9(indx);
58           t(ddindx).position_necessity_meaning := a10(indx);
59           t(ddindx).uom_code := a11(indx);
60           t(ddindx).quantity := a12(indx);
61           t(ddindx).display_order := a13(indx);
62           t(ddindx).active_start_date := rosetta_g_miss_date_in_map(a14(indx));
63           t(ddindx).active_end_date := rosetta_g_miss_date_in_map(a15(indx));
64           t(ddindx).num_child_nodes := a16(indx);
65           t(ddindx).has_subconfigs := a17(indx);
66           t(ddindx).is_subconfig_node := a18(indx);
67           t(ddindx).is_subconfig_topnode := a19(indx);
68           t(ddindx).is_parent_subconfig := a20(indx);
69           t(ddindx).position_path := a21(indx);
70           t(ddindx).position_path_id := a22(indx);
71           t(ddindx).mc_header_id := a23(indx);
72           t(ddindx).mc_id := a24(indx);
73           t(ddindx).version_number := a25(indx);
74           t(ddindx).config_status_code := a26(indx);
75           ddindx := ddindx+1;
76           if a0.last =indx
77             then exit;
78           end if;
79           indx := a0.next(indx);
80         end loop;
81       end if;
82    end if;
83   end rosetta_table_copy_in_p2;
84   procedure rosetta_table_copy_out_p2(t ahl_mc_tree_pvt.tree_node_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
85     , a1 out nocopy JTF_NUMBER_TABLE
86     , a2 out nocopy JTF_NUMBER_TABLE
87     , a3 out nocopy JTF_NUMBER_TABLE
88     , a4 out nocopy JTF_NUMBER_TABLE
89     , a5 out nocopy JTF_VARCHAR2_TABLE_100
90     , a6 out nocopy JTF_VARCHAR2_TABLE_100
91     , a7 out nocopy JTF_VARCHAR2_TABLE_100
92     , a8 out nocopy JTF_VARCHAR2_TABLE_100
93     , a9 out nocopy JTF_VARCHAR2_TABLE_100
94     , a10 out nocopy JTF_VARCHAR2_TABLE_100
95     , a11 out nocopy JTF_VARCHAR2_TABLE_100
96     , a12 out nocopy JTF_NUMBER_TABLE
97     , a13 out nocopy JTF_NUMBER_TABLE
98     , a14 out nocopy JTF_DATE_TABLE
99     , a15 out nocopy JTF_DATE_TABLE
100     , a16 out nocopy JTF_NUMBER_TABLE
101     , a17 out nocopy JTF_VARCHAR2_TABLE_100
102     , a18 out nocopy JTF_VARCHAR2_TABLE_100
103     , a19 out nocopy JTF_VARCHAR2_TABLE_100
104     , a20 out nocopy JTF_VARCHAR2_TABLE_100
105     , a21 out nocopy JTF_VARCHAR2_TABLE_4000
106     , a22 out nocopy JTF_NUMBER_TABLE
107     , a23 out nocopy JTF_NUMBER_TABLE
108     , a24 out nocopy JTF_NUMBER_TABLE
109     , a25 out nocopy JTF_NUMBER_TABLE
110     , a26 out nocopy JTF_VARCHAR2_TABLE_100
111     ) as
112     ddindx binary_integer; indx binary_integer;
113   begin
114   if t is null or t.count = 0 then
115     a0 := JTF_NUMBER_TABLE();
116     a1 := JTF_NUMBER_TABLE();
117     a2 := JTF_NUMBER_TABLE();
118     a3 := JTF_NUMBER_TABLE();
119     a4 := JTF_NUMBER_TABLE();
120     a5 := JTF_VARCHAR2_TABLE_100();
121     a6 := JTF_VARCHAR2_TABLE_100();
122     a7 := JTF_VARCHAR2_TABLE_100();
123     a8 := JTF_VARCHAR2_TABLE_100();
124     a9 := JTF_VARCHAR2_TABLE_100();
125     a10 := JTF_VARCHAR2_TABLE_100();
126     a11 := JTF_VARCHAR2_TABLE_100();
127     a12 := JTF_NUMBER_TABLE();
128     a13 := JTF_NUMBER_TABLE();
129     a14 := JTF_DATE_TABLE();
130     a15 := JTF_DATE_TABLE();
131     a16 := JTF_NUMBER_TABLE();
132     a17 := JTF_VARCHAR2_TABLE_100();
133     a18 := JTF_VARCHAR2_TABLE_100();
134     a19 := JTF_VARCHAR2_TABLE_100();
135     a20 := JTF_VARCHAR2_TABLE_100();
136     a21 := JTF_VARCHAR2_TABLE_4000();
137     a22 := JTF_NUMBER_TABLE();
138     a23 := JTF_NUMBER_TABLE();
139     a24 := JTF_NUMBER_TABLE();
140     a25 := JTF_NUMBER_TABLE();
141     a26 := JTF_VARCHAR2_TABLE_100();
142   else
143       a0 := JTF_NUMBER_TABLE();
144       a1 := JTF_NUMBER_TABLE();
145       a2 := JTF_NUMBER_TABLE();
146       a3 := JTF_NUMBER_TABLE();
147       a4 := JTF_NUMBER_TABLE();
148       a5 := JTF_VARCHAR2_TABLE_100();
149       a6 := JTF_VARCHAR2_TABLE_100();
150       a7 := JTF_VARCHAR2_TABLE_100();
151       a8 := JTF_VARCHAR2_TABLE_100();
152       a9 := JTF_VARCHAR2_TABLE_100();
153       a10 := JTF_VARCHAR2_TABLE_100();
154       a11 := JTF_VARCHAR2_TABLE_100();
155       a12 := JTF_NUMBER_TABLE();
156       a13 := JTF_NUMBER_TABLE();
157       a14 := JTF_DATE_TABLE();
158       a15 := JTF_DATE_TABLE();
159       a16 := JTF_NUMBER_TABLE();
160       a17 := JTF_VARCHAR2_TABLE_100();
161       a18 := JTF_VARCHAR2_TABLE_100();
162       a19 := JTF_VARCHAR2_TABLE_100();
163       a20 := JTF_VARCHAR2_TABLE_100();
164       a21 := JTF_VARCHAR2_TABLE_4000();
165       a22 := JTF_NUMBER_TABLE();
166       a23 := JTF_NUMBER_TABLE();
167       a24 := JTF_NUMBER_TABLE();
168       a25 := JTF_NUMBER_TABLE();
169       a26 := JTF_VARCHAR2_TABLE_100();
170       if t.count > 0 then
171         a0.extend(t.count);
172         a1.extend(t.count);
173         a2.extend(t.count);
174         a3.extend(t.count);
175         a4.extend(t.count);
176         a5.extend(t.count);
177         a6.extend(t.count);
178         a7.extend(t.count);
179         a8.extend(t.count);
180         a9.extend(t.count);
181         a10.extend(t.count);
182         a11.extend(t.count);
183         a12.extend(t.count);
184         a13.extend(t.count);
185         a14.extend(t.count);
186         a15.extend(t.count);
187         a16.extend(t.count);
188         a17.extend(t.count);
189         a18.extend(t.count);
190         a19.extend(t.count);
191         a20.extend(t.count);
192         a21.extend(t.count);
193         a22.extend(t.count);
194         a23.extend(t.count);
195         a24.extend(t.count);
196         a25.extend(t.count);
197         a26.extend(t.count);
198         ddindx := t.first;
199         indx := 1;
200         while true loop
201           a0(indx) := t(ddindx).relationship_id;
202           a1(indx) := t(ddindx).object_version_number;
203           a2(indx) := t(ddindx).position_key;
204           a3(indx) := t(ddindx).parent_relationship_id;
205           a4(indx) := t(ddindx).item_group_id;
206           a5(indx) := t(ddindx).position_ref_code;
207           a6(indx) := t(ddindx).position_ref_meaning;
208           a7(indx) := t(ddindx).ata_code;
209           a8(indx) := t(ddindx).ata_meaning;
210           a9(indx) := t(ddindx).position_necessity_code;
211           a10(indx) := t(ddindx).position_necessity_meaning;
212           a11(indx) := t(ddindx).uom_code;
213           a12(indx) := t(ddindx).quantity;
214           a13(indx) := t(ddindx).display_order;
215           a14(indx) := t(ddindx).active_start_date;
216           a15(indx) := t(ddindx).active_end_date;
217           a16(indx) := t(ddindx).num_child_nodes;
218           a17(indx) := t(ddindx).has_subconfigs;
219           a18(indx) := t(ddindx).is_subconfig_node;
220           a19(indx) := t(ddindx).is_subconfig_topnode;
221           a20(indx) := t(ddindx).is_parent_subconfig;
222           a21(indx) := t(ddindx).position_path;
223           a22(indx) := t(ddindx).position_path_id;
224           a23(indx) := t(ddindx).mc_header_id;
225           a24(indx) := t(ddindx).mc_id;
226           a25(indx) := t(ddindx).version_number;
227           a26(indx) := t(ddindx).config_status_code;
228           indx := indx+1;
229           if t.last =ddindx
230             then exit;
231           end if;
232           ddindx := t.next(ddindx);
233         end loop;
234       end if;
235    end if;
236   end rosetta_table_copy_out_p2;
237 
238   procedure get_masterconfig_nodes(p_api_version  NUMBER
239     , x_return_status out nocopy  VARCHAR2
240     , x_msg_count out nocopy  NUMBER
241     , x_msg_data out nocopy  VARCHAR2
242     , p_mc_header_id  NUMBER
243     , p_parent_rel_id  NUMBER
244     , p_is_parent_subconfig  VARCHAR2
245     , p_parent_pos_path  VARCHAR2
246     , p_is_top_config_node  VARCHAR2
247     , p_is_sub_config_node  VARCHAR2
248     , p10_a0 out nocopy JTF_NUMBER_TABLE
249     , p10_a1 out nocopy JTF_NUMBER_TABLE
250     , p10_a2 out nocopy JTF_NUMBER_TABLE
251     , p10_a3 out nocopy JTF_NUMBER_TABLE
252     , p10_a4 out nocopy JTF_NUMBER_TABLE
253     , p10_a5 out nocopy JTF_VARCHAR2_TABLE_100
254     , p10_a6 out nocopy JTF_VARCHAR2_TABLE_100
255     , p10_a7 out nocopy JTF_VARCHAR2_TABLE_100
259     , p10_a11 out nocopy JTF_VARCHAR2_TABLE_100
256     , p10_a8 out nocopy JTF_VARCHAR2_TABLE_100
257     , p10_a9 out nocopy JTF_VARCHAR2_TABLE_100
258     , p10_a10 out nocopy JTF_VARCHAR2_TABLE_100
260     , p10_a12 out nocopy JTF_NUMBER_TABLE
261     , p10_a13 out nocopy JTF_NUMBER_TABLE
262     , p10_a14 out nocopy JTF_DATE_TABLE
263     , p10_a15 out nocopy JTF_DATE_TABLE
264     , p10_a16 out nocopy JTF_NUMBER_TABLE
265     , p10_a17 out nocopy JTF_VARCHAR2_TABLE_100
266     , p10_a18 out nocopy JTF_VARCHAR2_TABLE_100
267     , p10_a19 out nocopy JTF_VARCHAR2_TABLE_100
268     , p10_a20 out nocopy JTF_VARCHAR2_TABLE_100
269     , p10_a21 out nocopy JTF_VARCHAR2_TABLE_4000
270     , p10_a22 out nocopy JTF_NUMBER_TABLE
271     , p10_a23 out nocopy JTF_NUMBER_TABLE
272     , p10_a24 out nocopy JTF_NUMBER_TABLE
273     , p10_a25 out nocopy JTF_NUMBER_TABLE
274     , p10_a26 out nocopy JTF_VARCHAR2_TABLE_100
275   )
276 
277   as
278     ddx_tree_node_tbl ahl_mc_tree_pvt.tree_node_tbl_type;
279     ddindx binary_integer; indx binary_integer;
280   begin
281 
282     -- copy data to the local IN or IN-OUT args, if any
283 
284 
285 
286 
287 
288 
289 
290 
291 
292 
293 
294     -- here's the delegated call to the old PL/SQL routine
295     ahl_mc_tree_pvt.get_masterconfig_nodes(p_api_version,
296       x_return_status,
297       x_msg_count,
298       x_msg_data,
299       p_mc_header_id,
300       p_parent_rel_id,
301       p_is_parent_subconfig,
302       p_parent_pos_path,
303       p_is_top_config_node,
304       p_is_sub_config_node,
305       ddx_tree_node_tbl);
306 
307     -- copy data back from the local variables to OUT or IN-OUT args, if any
308 
309 
310 
311 
312 
313 
314 
315 
316 
317 
318     ahl_mc_tree_pvt_w.rosetta_table_copy_out_p2(ddx_tree_node_tbl, p10_a0
319       , p10_a1
320       , p10_a2
321       , p10_a3
322       , p10_a4
323       , p10_a5
324       , p10_a6
325       , p10_a7
326       , p10_a8
327       , p10_a9
328       , p10_a10
329       , p10_a11
330       , p10_a12
331       , p10_a13
332       , p10_a14
333       , p10_a15
334       , p10_a16
335       , p10_a17
336       , p10_a18
337       , p10_a19
338       , p10_a20
339       , p10_a21
340       , p10_a22
341       , p10_a23
342       , p10_a24
343       , p10_a25
344       , p10_a26
345       );
346   end;
347 
348 end ahl_mc_tree_pvt_w;