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