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