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