[Home] [Help]
PACKAGE BODY: APPS.AHL_STATUS_ORDER_RULES_PVT_W
Source
1 package body ahl_status_order_rules_pvt_w as
2 /* $Header: AHLWSORB.pls 115.0 2003/07/07 19:15:04 sdevaki 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_status_order_rules_pvt.status_order_rules_tbl, a0 JTF_NUMBER_TABLE
14 , a1 JTF_NUMBER_TABLE
15 , a2 JTF_DATE_TABLE
16 , a3 JTF_NUMBER_TABLE
17 , a4 JTF_DATE_TABLE
18 , a5 JTF_NUMBER_TABLE
19 , a6 JTF_NUMBER_TABLE
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_NUMBER_TABLE
25 ) as
26 ddindx binary_integer; indx binary_integer;
27 begin
28 if a0 is not null and a0.count > 0 then
29 if a0.count > 0 then
30 indx := a0.first;
31 ddindx := 1;
32 while true loop
33 t(ddindx).status_order_rule_id := a0(indx);
34 t(ddindx).object_version_number := a1(indx);
35 t(ddindx).last_update_date := rosetta_g_miss_date_in_map(a2(indx));
36 t(ddindx).last_updated_by := a3(indx);
37 t(ddindx).creation_date := rosetta_g_miss_date_in_map(a4(indx));
38 t(ddindx).created_by := a5(indx);
39 t(ddindx).last_update_login := a6(indx);
40 t(ddindx).system_status_type := a7(indx);
41 t(ddindx).current_status_code := a8(indx);
42 t(ddindx).next_status_code := a9(indx);
43 t(ddindx).next_status_meaning := a10(indx);
44 t(ddindx).security_groupd_id := a11(indx);
45 ddindx := ddindx+1;
46 if a0.last =indx
47 then exit;
48 end if;
49 indx := a0.next(indx);
50 end loop;
51 end if;
52 end if;
53 end rosetta_table_copy_in_p1;
54 procedure rosetta_table_copy_out_p1(t ahl_status_order_rules_pvt.status_order_rules_tbl, a0 out nocopy JTF_NUMBER_TABLE
55 , a1 out nocopy JTF_NUMBER_TABLE
56 , a2 out nocopy JTF_DATE_TABLE
57 , a3 out nocopy JTF_NUMBER_TABLE
58 , a4 out nocopy JTF_DATE_TABLE
59 , a5 out nocopy JTF_NUMBER_TABLE
60 , a6 out nocopy JTF_NUMBER_TABLE
61 , a7 out nocopy JTF_VARCHAR2_TABLE_100
62 , a8 out nocopy JTF_VARCHAR2_TABLE_100
63 , a9 out nocopy JTF_VARCHAR2_TABLE_100
64 , a10 out nocopy JTF_VARCHAR2_TABLE_100
65 , a11 out nocopy JTF_NUMBER_TABLE
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_DATE_TABLE();
73 a3 := JTF_NUMBER_TABLE();
74 a4 := JTF_DATE_TABLE();
75 a5 := JTF_NUMBER_TABLE();
76 a6 := JTF_NUMBER_TABLE();
77 a7 := JTF_VARCHAR2_TABLE_100();
78 a8 := JTF_VARCHAR2_TABLE_100();
79 a9 := JTF_VARCHAR2_TABLE_100();
80 a10 := JTF_VARCHAR2_TABLE_100();
81 a11 := JTF_NUMBER_TABLE();
82 else
83 a0 := JTF_NUMBER_TABLE();
84 a1 := JTF_NUMBER_TABLE();
85 a2 := JTF_DATE_TABLE();
86 a3 := JTF_NUMBER_TABLE();
87 a4 := JTF_DATE_TABLE();
88 a5 := JTF_NUMBER_TABLE();
89 a6 := JTF_NUMBER_TABLE();
90 a7 := JTF_VARCHAR2_TABLE_100();
91 a8 := JTF_VARCHAR2_TABLE_100();
92 a9 := JTF_VARCHAR2_TABLE_100();
93 a10 := JTF_VARCHAR2_TABLE_100();
94 a11 := JTF_NUMBER_TABLE();
95 if t.count > 0 then
96 a0.extend(t.count);
97 a1.extend(t.count);
98 a2.extend(t.count);
99 a3.extend(t.count);
100 a4.extend(t.count);
101 a5.extend(t.count);
102 a6.extend(t.count);
103 a7.extend(t.count);
104 a8.extend(t.count);
105 a9.extend(t.count);
106 a10.extend(t.count);
107 a11.extend(t.count);
108 ddindx := t.first;
109 indx := 1;
110 while true loop
111 a0(indx) := t(ddindx).status_order_rule_id;
112 a1(indx) := t(ddindx).object_version_number;
113 a2(indx) := t(ddindx).last_update_date;
114 a3(indx) := t(ddindx).last_updated_by;
115 a4(indx) := t(ddindx).creation_date;
116 a5(indx) := t(ddindx).created_by;
117 a6(indx) := t(ddindx).last_update_login;
118 a7(indx) := t(ddindx).system_status_type;
119 a8(indx) := t(ddindx).current_status_code;
120 a9(indx) := t(ddindx).next_status_code;
121 a10(indx) := t(ddindx).next_status_meaning;
122 a11(indx) := t(ddindx).security_groupd_id;
123 indx := indx+1;
124 if t.last =ddindx
125 then exit;
126 end if;
127 ddindx := t.next(ddindx);
128 end loop;
129 end if;
130 end if;
131 end rosetta_table_copy_out_p1;
132
133 procedure get_status_order_rules(p_api_version NUMBER
134 , p_init_msg_list VARCHAR2
135 , p_validation_level NUMBER
136 , p_module_type VARCHAR2
137 , p_current_status_code VARCHAR2
138 , p_system_status_type VARCHAR2
139 , p6_a0 out nocopy JTF_NUMBER_TABLE
140 , p6_a1 out nocopy JTF_NUMBER_TABLE
141 , p6_a2 out nocopy JTF_DATE_TABLE
142 , p6_a3 out nocopy JTF_NUMBER_TABLE
143 , p6_a4 out nocopy JTF_DATE_TABLE
144 , p6_a5 out nocopy JTF_NUMBER_TABLE
145 , p6_a6 out nocopy JTF_NUMBER_TABLE
146 , p6_a7 out nocopy JTF_VARCHAR2_TABLE_100
147 , p6_a8 out nocopy JTF_VARCHAR2_TABLE_100
148 , p6_a9 out nocopy JTF_VARCHAR2_TABLE_100
149 , p6_a10 out nocopy JTF_VARCHAR2_TABLE_100
150 , p6_a11 out nocopy JTF_NUMBER_TABLE
151 , x_return_status out nocopy VARCHAR2
152 , x_msg_count out nocopy NUMBER
153 , x_msg_data out nocopy VARCHAR2
154 )
155
156 as
157 ddx_status_order_rules_tbl ahl_status_order_rules_pvt.status_order_rules_tbl;
158 ddindx binary_integer; indx binary_integer;
159 begin
160
161 -- copy data to the local IN or IN-OUT args, if any
162
163
164
165
166
167
168
169
170
171
172 -- here's the delegated call to the old PL/SQL routine
173 ahl_status_order_rules_pvt.get_status_order_rules(p_api_version,
174 p_init_msg_list,
175 p_validation_level,
176 p_module_type,
177 p_current_status_code,
178 p_system_status_type,
179 ddx_status_order_rules_tbl,
180 x_return_status,
181 x_msg_count,
182 x_msg_data);
183
184 -- copy data back from the local variables to OUT or IN-OUT args, if any
185
186
187
188
189
190
191 ahl_status_order_rules_pvt_w.rosetta_table_copy_out_p1(ddx_status_order_rules_tbl, p6_a0
192 , p6_a1
193 , p6_a2
194 , p6_a3
195 , p6_a4
196 , p6_a5
197 , p6_a6
198 , p6_a7
199 , p6_a8
200 , p6_a9
201 , p6_a10
202 , p6_a11
203 );
204
205
206
207 end;
208
209 end ahl_status_order_rules_pvt_w;