[Home] [Help]
PACKAGE BODY: APPS.ASO_APR_PUB_W
Source
1 PACKAGE BODY ASO_APR_PUB_W as
2 /* $Header: asowaprb.pls 120.1 2005/10/12 14:43:36 skulkarn noship $ */
3 -- Start of Comments
4 -- Package name : ASO_APR_PUB_W
5 -- Purpose : Rosetta wrappers for ASO Approval APIs
6 -- History : Created on 12/02/01
7 -- NOTE :
8 -- END of Comments
9 ROSETTA_G_MISTAKE_DATE DATE := TO_DATE('01/01/+4713', 'MM/DD/SYYYY');
10 ROSETTA_G_MISS_NUM NUMBER := 0-1962.0724;
11
12 G_PKG_NAME CONSTANT VARCHAR2(30) := 'ASO_APR_PUB_W';
13 G_FILE_NAME CONSTANT VARCHAR2(12) := 'asowaprb.pls';
14
15 FUNCTION rosetta_g_miss_num_map(n number) RETURN number as
16 a number := fnd_api.g_miss_num;
17 b number := 0-1962.0724;
18 BEGIN
19 IF n=a THEN RETURN b; END IF;
20 IF n=b THEN RETURN a; END IF;
21 RETURN n;
22 END;
23
24 PROCEDURE Set_Approvers_List_Tbl_Out(
25 p_qte_approvers_list_tbl IN ASO_Apr_Pub.Approvers_List_Tbl_Type,
26 x_approval_det_id OUT NOCOPY jtf_number_table,
27 x_object_approval_id OUT NOCOPY jtf_number_table,
28 x_approver_person_id OUT NOCOPY jtf_number_table,
29 x_approver_user_id OUT NOCOPY jtf_number_table,
30 x_notification_id OUT NOCOPY jtf_number_table,
31 x_approver_sequence OUT NOCOPY jtf_number_table,
32 x_approver_status OUT NOCOPY jtf_varchar2_table_100,
33 x_approver_name OUT NOCOPY jtf_varchar2_table_100,
34 x_approval_comments OUT NOCOPY jtf_varchar2_table_300,
35 x_date_sent OUT NOCOPY jtf_date_table,
36 x_date_received OUT NOCOPY jtf_date_table
37 )
38 AS
39 ddindx binary_integer; indx binary_integer;
40 BEGIN
41 x_approval_det_id := jtf_number_table();
42 x_object_approval_id := jtf_number_table();
43 x_approver_person_id := jtf_number_table();
44 x_approver_user_id := jtf_number_table();
45 x_notification_id := jtf_number_table();
46 x_approver_sequence := jtf_number_table();
47 x_approver_status := jtf_varchar2_table_100();
48 x_approver_name := jtf_varchar2_table_100();
49 x_approval_comments := jtf_varchar2_table_300();
50 x_date_sent := jtf_date_table();
51 x_date_received := jtf_date_table();
52 IF p_qte_approvers_list_tbl.count > 0 THEN
53 x_approval_det_id.extend(p_qte_approvers_list_tbl.count);
54 x_object_approval_id.extend(p_qte_approvers_list_tbl.count);
55 x_approver_person_id.extend(p_qte_approvers_list_tbl.count);
56 x_approver_user_id.extend(p_qte_approvers_list_tbl.count);
57 x_notification_id.extend(p_qte_approvers_list_tbl.count);
58 x_approver_sequence.extend(p_qte_approvers_list_tbl.count);
59 x_approver_status.extend(p_qte_approvers_list_tbl.count);
60 x_approver_name.extend(p_qte_approvers_list_tbl.count);
61 x_approval_comments.extend(p_qte_approvers_list_tbl.count);
62 x_date_sent.extend(p_qte_approvers_list_tbl.count);
63 x_date_received.extend(p_qte_approvers_list_tbl.count);
64 ddindx := p_qte_approvers_list_tbl.first;
65 indx := 1;
66 WHILE true LOOP
67 x_approval_det_id(indx) := rosetta_g_miss_num_map(p_qte_approvers_list_tbl(ddindx).approval_det_id);
68 x_object_approval_id(indx) := rosetta_g_miss_num_map(p_qte_approvers_list_tbl(ddindx).object_approval_id);
69 x_approver_person_id(indx) := rosetta_g_miss_num_map(p_qte_approvers_list_tbl(ddindx).approver_person_id);
70 x_approver_user_id(indx) := rosetta_g_miss_num_map(p_qte_approvers_list_tbl(ddindx).approver_user_id);
71 x_notification_id(indx) := rosetta_g_miss_num_map(p_qte_approvers_list_tbl(ddindx).notification_id);
72 x_approver_sequence(indx) := rosetta_g_miss_num_map(p_qte_approvers_list_tbl(ddindx).approver_sequence);
73 x_approver_status(indx) := p_qte_approvers_list_tbl(ddindx).approver_status;
74 x_approver_name(indx) := p_qte_approvers_list_tbl(ddindx).approver_name;
75 x_approval_comments(indx) := p_qte_approvers_list_tbl(ddindx).approval_comments;
76 x_date_sent(indx) := p_qte_approvers_list_tbl(ddindx).date_sent;
77 x_date_received(indx) := p_qte_approvers_list_tbl(ddindx).date_recieved;
78 indx := indx+1;
79 IF p_qte_approvers_list_tbl.last =ddindx
80 THEN EXIT;
81 END IF;
82 ddindx := p_qte_approvers_list_tbl.next(ddindx);
83 END LOOP;
84 END IF;
85 END Set_Approvers_List_Tbl_Out;
86
87
88
89 PROCEDURE Set_Rules_List_Tbl_Out(
90 p_qte_rules_list_tbl IN ASO_Apr_Pub.Rules_List_Tbl_Type,
91 x_rule_id OUT NOCOPY jtf_number_table,
92 x_object_approval_id OUT NOCOPY jtf_number_table,
93 x_rule_action_id OUT NOCOPY jtf_number_table,
94 x_rule_description OUT NOCOPY jtf_varchar2_table_300,
95 x_approval_level OUT NOCOPY jtf_varchar2_table_300
96 )
97 AS
98 ddindx binary_integer; indx binary_integer;
99 BEGIN
100 x_rule_id := jtf_number_table();
101 x_object_approval_id := jtf_number_table();
102 x_rule_action_id := jtf_number_table();
103 x_rule_description := jtf_varchar2_table_300();
104 x_approval_level := jtf_varchar2_table_300();
105 IF p_qte_rules_list_tbl.count > 0 THEN
106 x_rule_id.extend(p_qte_rules_list_tbl.count);
107 x_object_approval_id.extend(p_qte_rules_list_tbl.count);
108 x_rule_action_id.extend(p_qte_rules_list_tbl.count);
109 x_rule_description.extend(p_qte_rules_list_tbl.count);
110 x_approval_level.extend(p_qte_rules_list_tbl.count);
111 ddindx := p_qte_rules_list_tbl.first;
112 indx := 1;
113 WHILE true LOOP
114 x_rule_id(indx) := rosetta_g_miss_num_map(p_qte_rules_list_tbl(ddindx).rule_id);
115 x_object_approval_id(indx) := rosetta_g_miss_num_map(p_qte_rules_list_tbl(ddindx).object_approval_id);
116 x_rule_action_id(indx) := rosetta_g_miss_num_map(p_qte_rules_list_tbl(ddindx).rule_action_id);
117 x_rule_description(indx) := p_qte_rules_list_tbl(ddindx).rule_description;
118 x_approval_level(indx) := p_qte_rules_list_tbl(ddindx).approval_level;
119 indx := indx+1;
120 IF p_qte_rules_list_tbl.last =ddindx
121 THEN EXIT;
122 END IF;
123 ddindx := p_qte_rules_list_tbl.next(ddindx);
124 END LOOP;
125 END IF;
126 END Set_Rules_List_Tbl_Out;
127
128
129 PROCEDURE Get_All_Approvers(
130 x_qa_approval_det_id OUT NOCOPY jtf_number_table ,
131 x_qa_object_approval_id OUT NOCOPY jtf_number_table ,
132 x_qa_approver_person_id OUT NOCOPY jtf_number_table ,
133 x_qa_approver_user_id OUT NOCOPY jtf_number_table ,
134 x_qa_notification_id OUT NOCOPY jtf_number_table ,
135 x_qa_approver_sequence OUT NOCOPY jtf_number_table ,
136 x_qa_approver_status OUT NOCOPY jtf_varchar2_table_100 ,
137 x_qa_approver_name OUT NOCOPY jtf_varchar2_table_100 ,
138 x_qa_approval_comments OUT NOCOPY jtf_varchar2_table_300 ,
139 x_qa_date_sent OUT NOCOPY jtf_date_table ,
140 x_qa_date_received OUT NOCOPY jtf_date_table ,
141 x_qr_rule_id OUT NOCOPY jtf_number_table ,
142 x_qr_object_approval_id OUT NOCOPY jtf_number_table ,
143 x_qr_rule_action_id OUT NOCOPY jtf_number_table ,
144 x_qr_rule_description OUT NOCOPY jtf_varchar2_table_300 ,
145 x_qr_approval_level OUT NOCOPY jtf_varchar2_table_300 ,
146 p_object_id IN NUMBER := FND_API.G_MISS_NUM ,
147 p_object_type IN VARCHAR2 := FND_API.G_MISS_CHAR,
148 p_application_id IN NUMBER := FND_API.G_MISS_NUM ,
149 p_api_version_number IN NUMBER := 1 ,
150 p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE ,
151 p_commit IN VARCHAR2 := FND_API.G_FALSE ,
152 x_return_status OUT NOCOPY VARCHAR2 ,
153 x_msg_count OUT NOCOPY NUMBER ,
154 x_msg_data OUT NOCOPY VARCHAR2
155 )
156 AS
157 lx_approvers_list_tbl ASO_Apr_Pub.Approvers_List_Tbl_Type;
158 lx_rules_list_tbl ASO_Apr_Pub.Rules_List_Tbl_Type;
159
160 l_debug VARCHAR2(1);
161 l_msg_count NUMBER;
162 l_msg_data VARCHAR2(10000);
163
164 BEGIN
165
166 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
167 aso_debug_pub.ADD (
168 'Begin calling ASO_Apr_Pub.Get_All_Approvers',
169 1,
170 'N'
171 );
172 END IF;
173
174 ASO_Apr_Pub.Get_All_Approvers(
175 p_api_version_number => p_api_version_number,
176 p_init_msg_list => p_init_msg_list,
177 p_commit => p_commit,
178 p_object_id => p_object_id,
179 p_object_type => p_object_type,
180 p_application_id => p_application_id,
181 x_return_status => x_return_status,
182 x_msg_count => l_msg_count,
183 x_msg_data => l_msg_data,
184 x_approvers_list => lx_approvers_list_tbl,
185 x_rules_list => lx_rules_list_tbl);
186
187 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
188 aso_debug_pub.ADD (
189 'Returning from ASO_Apr_Pub.Get_All_Approvers',
190 1,
191 'N'
192 );
193 END IF;
194
195 ASO_APR_PUB_W.Set_Approvers_List_Tbl_Out(
196 p_qte_approvers_list_tbl => lx_approvers_list_tbl,
197 x_approval_det_id => x_qa_approval_det_id,
198 x_object_approval_id => x_qa_object_approval_id,
199 x_approver_person_id => x_qa_approver_person_id,
200 x_approver_user_id => x_qa_approver_user_id,
201 x_notification_id => x_qa_notification_id,
202 x_approver_sequence => x_qa_approver_sequence,
203 x_approver_status => x_qa_approver_status,
204 x_approver_name => x_qa_approver_name,
205 x_approval_comments => x_qa_approval_comments,
206 x_date_sent => x_qa_date_sent,
207 x_date_received => x_qa_date_received
208 );
209
210 ASO_APR_PUB_W.Set_Rules_List_Tbl_Out(
211 p_qte_rules_list_tbl => lx_rules_list_tbl,
212 x_rule_id => x_qr_rule_id,
213 x_object_approval_id => x_qr_object_approval_id,
214 x_rule_action_id => x_qr_rule_action_id,
215 x_rule_description => x_qr_rule_description,
216 x_approval_level => x_qr_approval_level
217 );
218
219 x_msg_count := l_msg_count;
220
221 for k in 1 .. l_msg_count loop
222
223 x_msg_data := fnd_msg_pub.get( p_msg_index => k,
224 p_encoded => 'F');
225 end loop;
226
227
228 END Get_All_Approvers;
229
230
231 PROCEDURE Get_Rule_Details(
232 x_qr_rule_id OUT NOCOPY jtf_number_table ,
233 x_qr_object_approval_id OUT NOCOPY jtf_number_table ,
234 x_qr_rule_action_id OUT NOCOPY jtf_number_table ,
235 x_qr_rule_description OUT NOCOPY jtf_varchar2_table_300 ,
236 x_qr_approval_level OUT NOCOPY jtf_varchar2_table_300 ,
237 p_object_approval_id IN NUMBER := FND_API.G_MISS_NUM ,
238 p_api_version_number IN NUMBER := 1 ,
239 p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE ,
240 p_commit IN VARCHAR2 := FND_API.G_FALSE ,
241 x_return_status OUT NOCOPY VARCHAR2 ,
242 x_msg_count OUT NOCOPY NUMBER ,
243 x_msg_data OUT NOCOPY VARCHAR2
244 )
245 AS
246 lx_rules_list_tbl ASO_Apr_Pub.Rules_List_Tbl_Type;
247 l_debug VARCHAR2(1);
248 BEGIN
249
250 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
251 aso_debug_pub.ADD (
252 'Begin calling ASO_Apr_Pub.Get_Rule_Details',
253 1,
254 'N'
255 );
256 END IF;
257
258 ASO_Apr_Pub.Get_Rule_Details(
259 p_api_version_number => p_api_version_number,
260 p_init_msg_list => p_init_msg_list,
261 p_commit => p_commit,
262 p_object_approval_id => p_object_approval_id,
263 x_return_status => x_return_status,
264 x_msg_count => x_msg_count,
265 x_msg_data => x_msg_data,
266 x_rules_list => lx_rules_list_tbl);
267
268 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
269 aso_debug_pub.ADD (
270 'Returning from ASO_Apr_Pub.Get_Rule_Details',
271 1,
272 'N'
273 );
274 END IF;
275
276 ASO_APR_PUB_W.Set_Rules_List_Tbl_Out(
277 p_qte_rules_list_tbl => lx_rules_list_tbl,
278 x_rule_id => x_qr_rule_id,
279 x_object_approval_id => x_qr_object_approval_id,
280 x_rule_action_id => x_qr_rule_action_id,
281 x_rule_description => x_qr_rule_description,
282 x_approval_level => x_qr_approval_level
283 );
284
285 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
286 aso_debug_pub.ADD (
287 'Returning from Set_Rules_List_Tbl_Out',
288 1,
289 'N'
290 );
291 END IF;
292
293 END Get_Rule_Details;
294
295 END ASO_APR_PUB_W;