[Home] [Help]
PACKAGE BODY: APPS.JTF_UM_APPROVAL_REQUESTS_PVT_W
Source
1 PACKAGE BODY JTF_UM_APPROVAL_REQUESTS_PVT_W AS
2 /* $Header: JTFWAPRB.pls 120.4 2009/06/15 11:37:07 kkasibha ship $ */
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_p1(t out nocopy jtf_um_approval_requests_pvt.approval_request_table_type, a0 JTF_DATE_TABLE
26 , a1 JTF_VARCHAR2_TABLE_100
27 , a2 JTF_VARCHAR2_TABLE_400
28 , a3 JTF_VARCHAR2_TABLE_100
29 , a4 JTF_VARCHAR2_TABLE_1000
30 , a5 JTF_VARCHAR2_TABLE_100
31 , a6 JTF_NUMBER_TABLE
32 , a7 JTF_VARCHAR2_TABLE_100
33 , a8 JTF_NUMBER_TABLE
34 ) as
35 ddindx binary_integer; indx binary_integer;
36 begin
37 if a0 is not null and a0.count > 0 then
38 if a0.count > 0 then
39 indx := a0.first;
40 ddindx := 1;
41 while true loop
42 t(ddindx).reg_last_update_date := rosetta_g_miss_date_in_map(a0(indx));
43 t(ddindx).user_name := a1(indx);
44 t(ddindx).company_name := a2(indx);
45 t(ddindx).entity_source := a3(indx);
46 t(ddindx).entity_name := a4(indx);
47 t(ddindx).wf_item_type := a5(indx);
48 t(ddindx).reg_id := rosetta_g_miss_num_map(a6(indx));
49 t(ddindx).approver := a7(indx);
50 t(ddindx).error_activity := rosetta_g_miss_num_map(a8(indx));
51 ddindx := ddindx+1;
52 if a0.last =indx
53 then exit;
54 end if;
55 indx := a0.next(indx);
56 end loop;
57 end if;
58 end if;
59 end rosetta_table_copy_in_p1;
60 procedure rosetta_table_copy_out_p1(t jtf_um_approval_requests_pvt.approval_request_table_type, a0 out nocopy JTF_DATE_TABLE
61 , a1 out nocopy JTF_VARCHAR2_TABLE_100
62 , a2 out nocopy JTF_VARCHAR2_TABLE_400
63 , a3 out nocopy JTF_VARCHAR2_TABLE_100
64 , a4 out nocopy JTF_VARCHAR2_TABLE_1000
65 , a5 out nocopy JTF_VARCHAR2_TABLE_100
66 , a6 out nocopy JTF_NUMBER_TABLE
67 , a7 out nocopy JTF_VARCHAR2_TABLE_100
68 , a8 out nocopy JTF_NUMBER_TABLE
69 ) as
70 ddindx binary_integer; indx binary_integer;
71 begin
72 if t is null or t.count = 0 then
73 a0 := JTF_DATE_TABLE();
74 a1 := JTF_VARCHAR2_TABLE_100();
75 a2 := JTF_VARCHAR2_TABLE_400();
76 a3 := JTF_VARCHAR2_TABLE_100();
77 a4 := JTF_VARCHAR2_TABLE_1000();
78 a5 := JTF_VARCHAR2_TABLE_100();
79 a6 := JTF_NUMBER_TABLE();
80 a7 := JTF_VARCHAR2_TABLE_100();
81 a8 := JTF_NUMBER_TABLE();
82 else
83 a0 := JTF_DATE_TABLE();
84 a1 := JTF_VARCHAR2_TABLE_100();
85 a2 := JTF_VARCHAR2_TABLE_400();
86 a3 := JTF_VARCHAR2_TABLE_100();
87 a4 := JTF_VARCHAR2_TABLE_1000();
88 a5 := JTF_VARCHAR2_TABLE_100();
89 a6 := JTF_NUMBER_TABLE();
90 a7 := JTF_VARCHAR2_TABLE_100();
91 a8 := JTF_NUMBER_TABLE();
92 if t.count > 0 then
93 a0.extend(t.count);
94 a1.extend(t.count);
95 a2.extend(t.count);
96 a3.extend(t.count);
97 a4.extend(t.count);
98 a5.extend(t.count);
99 a6.extend(t.count);
100 a7.extend(t.count);
101 a8.extend(t.count);
102 ddindx := t.first;
103 indx := 1;
104 while true loop
105 a0(indx) := t(ddindx).reg_last_update_date;
106 a1(indx) := t(ddindx).user_name;
107 a2(indx) := t(ddindx).company_name;
108 a3(indx) := t(ddindx).entity_source;
109 a4(indx) := t(ddindx).entity_name;
110 a5(indx) := t(ddindx).wf_item_type;
111 a6(indx) := rosetta_g_miss_num_map(t(ddindx).reg_id);
112 a7(indx) := t(ddindx).approver;
113 a8(indx) := rosetta_g_miss_num_map(t(ddindx).error_activity);
114 indx := indx+1;
115 if t.last =ddindx
116 then exit;
117 end if;
118 ddindx := t.next(ddindx);
119 end loop;
120 end if;
121 end if;
122 end rosetta_table_copy_out_p1;
123
124 procedure pending_approval_sysadmin(p_sort_order VARCHAR2
125 , p_number_of_records NUMBER
126 , p2_a0 out nocopy JTF_DATE_TABLE
127 , p2_a1 out nocopy JTF_VARCHAR2_TABLE_100
128 , p2_a2 out nocopy JTF_VARCHAR2_TABLE_400
129 , p2_a3 out nocopy JTF_VARCHAR2_TABLE_100
130 , p2_a4 out nocopy JTF_VARCHAR2_TABLE_1000
131 , p2_a5 out nocopy JTF_VARCHAR2_TABLE_100
132 , p2_a6 out nocopy JTF_NUMBER_TABLE
133 , p2_a7 out nocopy JTF_VARCHAR2_TABLE_100
134 , p2_a8 out nocopy JTF_NUMBER_TABLE
135 )
136
137 as
138 ddx_result jtf_um_approval_requests_pvt.approval_request_table_type;
139 ddindx binary_integer; indx binary_integer;
140 begin
141
142 -- copy data to the local IN or IN-OUT args, if any
143
144
145
146 -- here's the delegated call to the old PL/SQL routine
147 jtf_um_approval_requests_pvt.pending_approval_sysadmin(p_sort_order,
148 p_number_of_records,
149 ddx_result);
150
151 -- copy data back from the local variables to OUT or IN-OUT args, if any
152
153
154 jtf_um_approval_requests_pvt_w.rosetta_table_copy_out_p1(ddx_result, p2_a0
155 , p2_a1
156 , p2_a2
157 , p2_a3
158 , p2_a4
159 , p2_a5
160 , p2_a6
161 , p2_a7
162 , p2_a8
163 );
164 end;
165
166 procedure pending_approval_primary(p_sort_order VARCHAR2
167 , p_number_of_records NUMBER
168 , p_approver_user_id NUMBER
169 , p3_a0 out nocopy JTF_DATE_TABLE
170 , p3_a1 out nocopy JTF_VARCHAR2_TABLE_100
171 , p3_a2 out nocopy JTF_VARCHAR2_TABLE_400
172 , p3_a3 out nocopy JTF_VARCHAR2_TABLE_100
173 , p3_a4 out nocopy JTF_VARCHAR2_TABLE_1000
174 , p3_a5 out nocopy JTF_VARCHAR2_TABLE_100
175 , p3_a6 out nocopy JTF_NUMBER_TABLE
176 , p3_a7 out nocopy JTF_VARCHAR2_TABLE_100
177 , p3_a8 out nocopy JTF_NUMBER_TABLE
178 )
179
180 as
181 ddx_result jtf_um_approval_requests_pvt.approval_request_table_type;
182 ddindx binary_integer; indx binary_integer;
183 begin
184
185 -- copy data to the local IN or IN-OUT args, if any
186
187
188
189
190 -- here's the delegated call to the old PL/SQL routine
191 jtf_um_approval_requests_pvt.pending_approval_primary(p_sort_order,
192 p_number_of_records,
193 p_approver_user_id,
194 ddx_result);
195
196 -- copy data back from the local variables to OUT or IN-OUT args, if any
197
198
199
200 jtf_um_approval_requests_pvt_w.rosetta_table_copy_out_p1(ddx_result, p3_a0
201 , p3_a1
202 , p3_a2
203 , p3_a3
204 , p3_a4
205 , p3_a5
206 , p3_a6
207 , p3_a7
208 , p3_a8
209 );
210 end;
211
212 procedure pending_approval_owner(p_sort_order VARCHAR2
213 , p_number_of_records NUMBER
214 , p_approver_user_id NUMBER
215 , p3_a0 out nocopy JTF_DATE_TABLE
216 , p3_a1 out nocopy JTF_VARCHAR2_TABLE_100
217 , p3_a2 out nocopy JTF_VARCHAR2_TABLE_400
218 , p3_a3 out nocopy JTF_VARCHAR2_TABLE_100
219 , p3_a4 out nocopy JTF_VARCHAR2_TABLE_1000
220 , p3_a5 out nocopy JTF_VARCHAR2_TABLE_100
221 , p3_a6 out nocopy JTF_NUMBER_TABLE
222 , p3_a7 out nocopy JTF_VARCHAR2_TABLE_100
223 , p3_a8 out nocopy JTF_NUMBER_TABLE
224 )
225
226 as
227 ddx_result jtf_um_approval_requests_pvt.approval_request_table_type;
228 ddindx binary_integer; indx binary_integer;
229 begin
230
231 -- copy data to the local IN or IN-OUT args, if any
232
233
234
235
236 -- here's the delegated call to the old PL/SQL routine
237 jtf_um_approval_requests_pvt.pending_approval_owner(p_sort_order,
238 p_number_of_records,
239 p_approver_user_id,
240 ddx_result);
241
242 -- copy data back from the local variables to OUT or IN-OUT args, if any
243
244
245
246 jtf_um_approval_requests_pvt_w.rosetta_table_copy_out_p1(ddx_result, p3_a0
247 , p3_a1
248 , p3_a2
249 , p3_a3
250 , p3_a4
251 , p3_a5
252 , p3_a6
253 , p3_a7
254 , p3_a8
255 );
256 end;
257
258 end jtf_um_approval_requests_pvt_w;