[Home] [Help]
PACKAGE BODY: APPS.ASO_PA_APR_PUB_W
Source
1 PACKAGE BODY ASO_PA_APR_PUB_W as
2 /* $Header: asowpapb.pls 120.0.12020000.1 2013/03/19 20:30:27 cazhou noship $ */
3 -- Start of Comments
4 -- Package name : ASO_PA_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_PA_APR_PUB_W';
13 G_FILE_NAME CONSTANT VARCHAR2(12) := 'asowpapb.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 FUNCTION Construct_Approvers_List_Tbl(
25 p_approval_det_id IN jtf_number_table := NULL,
26 p_object_approval_id IN jtf_number_table := NULL,
27 p_approver_person_id IN jtf_number_table := NULL,
28 p_approver_user_id IN jtf_number_table := NULL,
29 p_notification_id IN jtf_number_table := NULL,
30 p_approver_sequence IN jtf_number_table := NULL,
31 p_approver_status IN jtf_varchar2_table_100 := NULL,
32 p_name IN jtf_varchar2_table_300 := NULL,
33 p_approver_name IN jtf_varchar2_table_100 := NULL,
34 p_approval_comments IN jtf_varchar2_table_300 := NULL,
35 p_approver_category IN jtf_varchar2_table_100 := NULL,
36 p_approver_category_desc IN jtf_varchar2_table_100 := NULL,
37 p_approver_type_desc IN jtf_varchar2_table_100 := NULL,
38 p_sub_list_desc IN jtf_varchar2_table_100 := NULL,
39 p_item_id IN jtf_varchar2_table_100 := NULL,
40 p_item_class IN jtf_varchar2_table_100 := NULL,
41 p_action_type IN jtf_varchar2_table_300 := NULL,
42 p_action_type_id IN jtf_number_table := NULL,
43 p_chain_number IN jtf_number_table := NULL,
44 p_occurrence IN jtf_number_table := NULL,
45 p_authority IN jtf_varchar2_table_100 := NULL,
46 p_date_sent IN jtf_date_table := NULL,
47 p_date_received IN jtf_date_table := NULL
48 )RETURN ASO_PA_APR_PUB.approvers_list_tbl_type
49 IS
50 l_approvers_list_tbl ASO_PA_APR_Pub.approvers_list_tbl_type;
51 l_table_size PLS_INTEGER := 0;
52 i PLS_INTEGER;
53 BEGIN
54 IF p_approver_name IS NOT NULL THEN
55 l_table_size := p_approver_name.COUNT;
56 END IF;
57
58 IF l_table_size > 0 THEN
59 FOR i IN 1..l_table_size LOOP
60
61 IF p_approval_det_id IS NOT NULL THEN
62 IF p_approval_det_id(i)= ROSETTA_G_MISS_NUM THEN
63 l_approvers_list_tbl(i).approval_det_id := FND_API.G_MISS_NUM;
64 ELSE
65 l_approvers_list_tbl(i).approval_det_id := p_approval_det_id(i);
66 END IF;
67 END IF;
68 IF p_object_approval_id IS NOT NULL THEN
69 IF p_object_approval_id(i)= ROSETTA_G_MISS_NUM THEN
70 l_approvers_list_tbl(i).object_approval_id := FND_API.G_MISS_NUM;
71 ELSE
72 l_approvers_list_tbl(i).object_approval_id := p_object_approval_id(i);
73 END IF;
74 END IF;
75 IF p_approver_person_id IS NOT NULL THEN
76 IF p_approver_person_id(i)= ROSETTA_G_MISS_NUM THEN
77 l_approvers_list_tbl(i).approver_person_id := FND_API.G_MISS_NUM;
78 ELSE
79 l_approvers_list_tbl(i).approver_person_id := p_approver_person_id(i);
80 END IF;
81 END IF;
82 IF p_approver_user_id IS NOT NULL THEN
83 IF p_approver_user_id(i)= ROSETTA_G_MISS_NUM THEN
84 l_approvers_list_tbl(i).approver_user_id := FND_API.G_MISS_NUM;
85 ELSE
86 l_approvers_list_tbl(i).approver_user_id := p_approver_user_id(i);
87 END IF;
88 END IF;
89 IF p_notification_id IS NOT NULL THEN
90 IF p_notification_id(i)= ROSETTA_G_MISS_NUM THEN
91 l_approvers_list_tbl(i).notification_id := FND_API.G_MISS_NUM;
92 ELSE
93 l_approvers_list_tbl(i).notification_id := p_notification_id(i);
94 END IF;
95 END IF;
96 IF p_approver_sequence IS NOT NULL THEN
97 IF p_approver_sequence(i)= ROSETTA_G_MISS_NUM THEN
98 l_approvers_list_tbl(i).approver_sequence := FND_API.G_MISS_NUM;
99 ELSE
100 l_approvers_list_tbl(i).approver_sequence := p_approver_sequence(i);
101 END IF;
102 END IF;
103 IF p_approver_status IS NOT NULL THEN
104 l_approvers_list_tbl(i).approver_status := p_approver_status(i);
105 END IF;
106 IF p_name IS NOT NULL THEN
107 l_approvers_list_tbl(i).name := p_name(i);
108 END IF;
109 IF p_approver_name IS NOT NULL THEN
110 l_approvers_list_tbl(i).approver_name := p_approver_name(i);
111 END IF;
112 IF p_approval_comments IS NOT NULL THEN
113 l_approvers_list_tbl(i).approval_comments := p_approval_comments(i);
114 END IF;
115 IF p_approver_category IS NOT NULL THEN
116 l_approvers_list_tbl(i).approver_category := p_approver_category(i);
117 END IF;
118 IF p_approver_category_desc IS NOT NULL THEN
119 l_approvers_list_tbl(i).approver_category_desc := p_approver_category_desc(i);
120 END IF;
121 IF p_approver_type_desc IS NOT NULL THEN
122 l_approvers_list_tbl(i).approver_type_desc := p_approver_type_desc(i);
123 END IF;
124 IF p_sub_list_desc IS NOT NULL THEN
125 l_approvers_list_tbl(i).sub_list_desc := p_sub_list_desc(i);
126 END IF;
127 IF p_item_id IS NOT NULL THEN
128 l_approvers_list_tbl(i).item_id := p_item_id(i);
129 END IF;
130 IF p_item_class IS NOT NULL THEN
131 l_approvers_list_tbl(i).item_class := p_item_class(i);
132 END IF;
133 IF p_action_type IS NOT NULL THEN
134 l_approvers_list_tbl(i).action_type := p_action_type(i);
135 END IF;
136 IF p_action_type_id IS NOT NULL THEN
137 IF p_action_type_id(i)= ROSETTA_G_MISS_NUM THEN
138 l_approvers_list_tbl(i).action_type_id := FND_API.G_MISS_NUM;
139 ELSE
140 l_approvers_list_tbl(i).action_type_id := p_action_type_id(i);
141 END IF;
142 END IF;
143 IF p_chain_number IS NOT NULL THEN
144 IF p_chain_number(i)= ROSETTA_G_MISS_NUM THEN
145 l_approvers_list_tbl(i).chain_number := FND_API.G_MISS_NUM;
146 ELSE
147 l_approvers_list_tbl(i).chain_number := p_chain_number(i);
148 END IF;
149 END IF;
150 IF p_occurrence IS NOT NULL THEN
151 IF p_occurrence(i)= ROSETTA_G_MISS_NUM THEN
152 l_approvers_list_tbl(i).occurrence := FND_API.G_MISS_NUM;
153 ELSE
154 l_approvers_list_tbl(i).occurrence := p_occurrence(i);
155 END IF;
156 END IF;
157 IF p_authority IS NOT NULL THEN
158 l_approvers_list_tbl(i).authority := p_authority(i);
159 END IF;
160 IF p_date_sent IS NOT NULL THEN
161 IF p_date_sent(i)= ROSETTA_G_MISTAKE_DATE THEN
162 l_approvers_list_tbl(i).date_sent := FND_API.G_MISS_DATE;
163 ELSE
164 l_approvers_list_tbl(i).date_sent := p_date_sent(i);
165 END IF;
166 END IF;
167 IF p_date_received IS NOT NULL THEN
168 IF p_date_received(i)= ROSETTA_G_MISTAKE_DATE THEN
169 l_approvers_list_tbl(i).date_received := FND_API.G_MISS_DATE;
170 ELSE
171 l_approvers_list_tbl(i).date_received := p_date_received(i);
172 END IF;
173 END IF;
174 END LOOP;
175
176 RETURN l_approvers_list_tbl;
177 ELSE
178 RETURN ASO_PA_APR_Pub.G_MISS_APPROVERS_LIST_TBL;
179 END IF;
180 END Construct_Approvers_List_Tbl;
181
182
183 PROCEDURE Set_Approvers_List_Tbl_Out(
184 p_qte_approvers_list_tbl IN ASO_PA_Apr_Pub.Approvers_List_Tbl_Type,
185 x_approval_det_id OUT NOCOPY jtf_number_table,
186 x_object_approval_id OUT NOCOPY jtf_number_table,
187 x_approver_person_id OUT NOCOPY jtf_number_table,
188 x_approver_user_id OUT NOCOPY jtf_number_table,
189 x_notification_id OUT NOCOPY jtf_number_table,
190 x_approver_sequence OUT NOCOPY jtf_number_table,
191 x_approver_status OUT NOCOPY jtf_varchar2_table_100,
192 x_name OUT NOCOPY jtf_varchar2_table_300,
193 x_approver_name OUT NOCOPY jtf_varchar2_table_100,
194 x_approval_comments OUT NOCOPY jtf_varchar2_table_300,
195 x_approver_category OUT NOCOPY jtf_varchar2_table_100,
196 x_approver_category_desc OUT NOCOPY jtf_varchar2_table_100,
197 x_approver_type_desc OUT NOCOPY jtf_varchar2_table_100,
198 x_sub_list_desc OUT NOCOPY jtf_varchar2_table_100,
199 x_item_id OUT NOCOPY jtf_varchar2_table_100,
200 x_item_class OUT NOCOPY jtf_varchar2_table_100,
201 x_action_type OUT NOCOPY jtf_varchar2_table_300,
202 x_action_type_id OUT NOCOPY jtf_number_table,
203 x_chain_number OUT NOCOPY jtf_number_table,
204 x_occurrence OUT NOCOPY jtf_number_table,
205 x_authority OUT NOCOPY jtf_varchar2_table_100,
206 x_date_sent OUT NOCOPY jtf_date_table,
207 x_date_received OUT NOCOPY jtf_date_table
208 )
209 AS
210 ddindx binary_integer; indx binary_integer;
211 BEGIN
212 x_approval_det_id := jtf_number_table();
213 x_object_approval_id := jtf_number_table();
214 x_approver_person_id := jtf_number_table();
215 x_approver_user_id := jtf_number_table();
216 x_notification_id := jtf_number_table();
217 x_approver_sequence := jtf_number_table();
218 x_name := jtf_varchar2_table_300();
219 x_approver_status := jtf_varchar2_table_100();
220 x_approver_name := jtf_varchar2_table_100();
221 x_approval_comments := jtf_varchar2_table_300();
222 x_approver_category :=jtf_varchar2_table_100();
223 x_approver_category_desc := jtf_varchar2_table_100();
224 x_approver_type_desc := jtf_varchar2_table_100();
225 x_sub_list_desc := jtf_varchar2_table_100();
226 x_item_id := jtf_varchar2_table_100();
227 x_item_class := jtf_varchar2_table_100();
228 x_action_type := jtf_varchar2_table_300();
229 x_action_type_id := jtf_number_table();
230 x_chain_number := jtf_number_table();
231 x_occurrence := jtf_number_table();
232 x_authority := jtf_varchar2_table_100();
233 x_date_sent := jtf_date_table();
234 x_date_received := jtf_date_table();
235 IF p_qte_approvers_list_tbl.count > 0 THEN
236 x_approval_det_id.extend(p_qte_approvers_list_tbl.count);
237 x_object_approval_id.extend(p_qte_approvers_list_tbl.count);
238 x_approver_person_id.extend(p_qte_approvers_list_tbl.count);
239 x_approver_user_id.extend(p_qte_approvers_list_tbl.count);
240 x_notification_id.extend(p_qte_approvers_list_tbl.count);
241 x_approver_sequence.extend(p_qte_approvers_list_tbl.count);
242 x_approver_status.extend(p_qte_approvers_list_tbl.count);
243 x_name.extend(p_qte_approvers_list_tbl.count);
244 x_approver_name.extend(p_qte_approvers_list_tbl.count);
245 x_approval_comments.extend(p_qte_approvers_list_tbl.count);
246 x_approver_category.extend(p_qte_approvers_list_tbl.count);
247 x_approver_category_desc.extend(p_qte_approvers_list_tbl.count);
248 x_approver_type_desc.extend(p_qte_approvers_list_tbl.count);
249 x_sub_list_desc.extend(p_qte_approvers_list_tbl.count);
250 x_item_id.extend(p_qte_approvers_list_tbl.count);
251 x_item_class.extend(p_qte_approvers_list_tbl.count);
252 x_action_type.extend(p_qte_approvers_list_tbl.count);
253 x_action_type_id.extend(p_qte_approvers_list_tbl.count);
254 x_chain_number.extend(p_qte_approvers_list_tbl.count);
255 x_occurrence.extend(p_qte_approvers_list_tbl.count);
256 x_authority.extend(p_qte_approvers_list_tbl.count);
257 x_date_sent.extend(p_qte_approvers_list_tbl.count);
258 x_date_received.extend(p_qte_approvers_list_tbl.count);
259 ddindx := p_qte_approvers_list_tbl.first;
260 indx := 1;
261 WHILE true LOOP
262 x_approval_det_id(indx) := rosetta_g_miss_num_map(p_qte_approvers_list_tbl(ddindx).approval_det_id);
263 x_object_approval_id(indx) := rosetta_g_miss_num_map(p_qte_approvers_list_tbl(ddindx).object_approval_id);
264 x_approver_person_id(indx) := rosetta_g_miss_num_map(p_qte_approvers_list_tbl(ddindx).approver_person_id);
265 x_approver_user_id(indx) := rosetta_g_miss_num_map(p_qte_approvers_list_tbl(ddindx).approver_user_id);
266 x_notification_id(indx) := rosetta_g_miss_num_map(p_qte_approvers_list_tbl(ddindx).notification_id);
267 x_approver_sequence(indx) := rosetta_g_miss_num_map(p_qte_approvers_list_tbl(ddindx).approver_sequence);
268 x_approver_status(indx) := p_qte_approvers_list_tbl(ddindx).approver_status;
269 x_name(indx) := p_qte_approvers_list_tbl(ddindx).name;
270 x_approver_name(indx) := p_qte_approvers_list_tbl(ddindx).approver_name;
271 x_approval_comments(indx) := p_qte_approvers_list_tbl(ddindx).approval_comments;
272 x_approver_category(indx) := p_qte_approvers_list_tbl(ddindx).approver_category;
273 x_approver_category_desc(indx) := p_qte_approvers_list_tbl(ddindx).approver_category_desc;
274 x_approver_type_desc(indx) := p_qte_approvers_list_tbl(ddindx).approver_type_desc;
275 x_sub_list_desc(indx) := p_qte_approvers_list_tbl(ddindx).sub_list_desc;
276 x_item_id(indx) := p_qte_approvers_list_tbl(ddindx).item_id;
277 x_item_class(indx) := p_qte_approvers_list_tbl(ddindx).item_class;
278 x_action_type(indx) := p_qte_approvers_list_tbl(ddindx).action_type;
279 x_action_type_id(indx) := rosetta_g_miss_num_map(p_qte_approvers_list_tbl(ddindx).action_type_id);
280 x_chain_number(indx) := rosetta_g_miss_num_map(p_qte_approvers_list_tbl(ddindx).chain_number);
281 x_occurrence(indx) := rosetta_g_miss_num_map(p_qte_approvers_list_tbl(ddindx).occurrence);
282 x_authority(indx) := p_qte_approvers_list_tbl(ddindx).authority;
283 x_date_sent(indx) := p_qte_approvers_list_tbl(ddindx).date_sent;
284 x_date_received(indx) := p_qte_approvers_list_tbl(ddindx).date_received;
285 indx := indx+1;
286 IF p_qte_approvers_list_tbl.last =ddindx
287 THEN EXIT;
288 END IF;
289 ddindx := p_qte_approvers_list_tbl.next(ddindx);
290 END LOOP;
291 END IF;
292 END Set_Approvers_List_Tbl_Out;
293
294
295
296 PROCEDURE Set_Rules_List_Tbl_Out(
297 p_qte_rules_list_tbl IN ASO_PA_Apr_Pub.Rules_List_Tbl_Type,
298 x_rule_id OUT NOCOPY jtf_number_table,
299 x_object_approval_id OUT NOCOPY jtf_number_table,
300 x_rule_action_id OUT NOCOPY jtf_number_table,
301 x_rule_description OUT NOCOPY jtf_varchar2_table_300,
302 x_rule_type OUT NOCOPY jtf_varchar2_table_100,
303 x_approval_level OUT NOCOPY jtf_varchar2_table_300,
304 x_rule_item_class OUT NOCOPY jtf_varchar2_table_100,
305 x_rule_category_desc OUT NOCOPY jtf_varchar2_table_100
306 )
307 AS
308 ddindx binary_integer; indx binary_integer;
309 BEGIN
310 x_rule_id := jtf_number_table();
311 x_object_approval_id := jtf_number_table();
312 x_rule_action_id := jtf_number_table();
313 x_rule_description := jtf_varchar2_table_300();
314 x_rule_type := jtf_varchar2_table_100();
315 x_approval_level := jtf_varchar2_table_300();
316 x_rule_item_class := jtf_varchar2_table_100();
317 x_rule_category_desc := jtf_varchar2_table_100();
318 IF p_qte_rules_list_tbl.count > 0 THEN
319 x_rule_id.extend(p_qte_rules_list_tbl.count);
320 x_object_approval_id.extend(p_qte_rules_list_tbl.count);
321 x_rule_action_id.extend(p_qte_rules_list_tbl.count);
322 x_rule_description.extend(p_qte_rules_list_tbl.count);
323 x_rule_type.extend(p_qte_rules_list_tbl.count);
324 x_approval_level.extend(p_qte_rules_list_tbl.count);
325 x_rule_item_class.extend(p_qte_rules_list_tbl.count);
326 x_rule_category_desc.extend(p_qte_rules_list_tbl.count);
327 ddindx := p_qte_rules_list_tbl.first;
328 indx := 1;
329 WHILE true LOOP
330 x_rule_id(indx) := rosetta_g_miss_num_map(p_qte_rules_list_tbl(ddindx).rule_id);
331 x_object_approval_id(indx) := rosetta_g_miss_num_map(p_qte_rules_list_tbl(ddindx).object_approval_id);
332 x_rule_action_id(indx) := rosetta_g_miss_num_map(p_qte_rules_list_tbl(ddindx).rule_action_id);
333 x_rule_description(indx) := p_qte_rules_list_tbl(ddindx).rule_description;
334 x_rule_type(indx) := p_qte_rules_list_tbl(ddindx).rule_type;
335 x_approval_level(indx) := p_qte_rules_list_tbl(ddindx).approval_level;
336 x_rule_item_class(indx) := p_qte_rules_list_tbl(ddindx).rule_item_class;
337 x_rule_category_desc(indx) := p_qte_rules_list_tbl(ddindx).rule_category_desc;
338 indx := indx+1;
339 IF p_qte_rules_list_tbl.last =ddindx
340 THEN EXIT;
341 END IF;
342 ddindx := p_qte_rules_list_tbl.next(ddindx);
343 END LOOP;
344 END IF;
345 END Set_Rules_List_Tbl_Out;
346
347
348 PROCEDURE Get_All_Approvers(
349 x_qa_approval_det_id OUT NOCOPY jtf_number_table ,
350 x_qa_object_approval_id OUT NOCOPY jtf_number_table ,
351 x_qa_approver_person_id OUT NOCOPY jtf_number_table ,
352 x_qa_approver_user_id OUT NOCOPY jtf_number_table ,
353 x_qa_notification_id OUT NOCOPY jtf_number_table ,
354 x_qa_approver_sequence OUT NOCOPY jtf_number_table ,
355 x_qa_approver_status OUT NOCOPY jtf_varchar2_table_100 ,
356 x_qa_name OUT NOCOPY jtf_varchar2_table_300 ,
357 x_qa_approver_name OUT NOCOPY jtf_varchar2_table_100 ,
358 x_qa_approval_comments OUT NOCOPY jtf_varchar2_table_300 ,
359 x_qa_approver_category OUT NOCOPY jtf_varchar2_table_100 ,
360 x_qa_approver_category_desc OUT NOCOPY jtf_varchar2_table_100 ,
361 x_qa_approver_type_desc OUT NOCOPY jtf_varchar2_table_100 ,
362 x_qa_sub_list_desc OUT NOCOPY jtf_varchar2_table_100 ,
363 x_qa_item_id OUT NOCOPY jtf_varchar2_table_100 ,
364 x_qa_item_class OUT NOCOPY jtf_varchar2_table_100 ,
365 x_qa_action_type OUT NOCOPY jtf_varchar2_table_300 ,
366 x_qa_action_type_id OUT NOCOPY jtf_number_table ,
367 x_qa_chain_number OUT NOCOPY jtf_number_table ,
368 x_qa_occurrence OUT NOCOPY jtf_number_table ,
369 x_qa_authority OUT NOCOPY jtf_varchar2_table_100 ,
370 x_qa_date_sent OUT NOCOPY jtf_date_table ,
371 x_qa_date_received OUT NOCOPY jtf_date_table ,
372 x_qr_rule_id OUT NOCOPY jtf_number_table ,
373 x_qr_object_approval_id OUT NOCOPY jtf_number_table ,
374 x_qr_rule_action_id OUT NOCOPY jtf_number_table ,
375 x_qr_rule_description OUT NOCOPY jtf_varchar2_table_300 ,
376 x_qr_rule_type OUT NOCOPY jtf_varchar2_table_100 ,
377 x_qr_approval_level OUT NOCOPY jtf_varchar2_table_300 ,
378 x_qr_rule_item_class OUT NOCOPY jtf_varchar2_table_100 ,
379 x_qr_rule_category_desc OUT NOCOPY jtf_varchar2_table_100 ,
380 p_object_id IN NUMBER := FND_API.G_MISS_NUM ,
381 p_object_type IN VARCHAR2 := FND_API.G_MISS_CHAR,
382 p_application_id IN NUMBER := FND_API.G_MISS_NUM ,
383 p_object_approval_id IN NUMBER := FND_API.G_MISS_NUM ,
384 p_clear_transaction_flag IN VARCHAR2 := fnd_api.g_true,
385 p_data_flag IN VARCHAR2 :='X',
386 p_api_version_number IN NUMBER := 1 ,
387 p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE ,
388 p_commit IN VARCHAR2 := FND_API.G_FALSE ,
389 x_return_status OUT NOCOPY VARCHAR2 ,
390 x_msg_count OUT NOCOPY NUMBER ,
391 x_msg_data OUT NOCOPY VARCHAR2
392 )
393 AS
394 lx_approvers_list_tbl ASO_PA_Apr_Pub.Approvers_List_Tbl_Type;
395 lx_rules_list_tbl ASO_PA_Apr_Pub.Rules_List_Tbl_Type;
396
397 l_debug VARCHAR2(1);
398 l_msg_count NUMBER;
399 l_msg_data VARCHAR2(10000);
400
401 BEGIN
402
403 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
404 aso_debug_pub.ADD (
405 'Begin calling ASO_PA_Apr_Pub.Get_All_Approvers',
406 1,
407 'N'
408 );
409 END IF;
410
411 ASO_PA_Apr_Pub.Get_All_Approvers(
412 p_api_version_number => p_api_version_number,
413 p_init_msg_list => p_init_msg_list,
414 p_commit => p_commit,
415 p_object_id => p_object_id,
416 p_object_type => p_object_type,
417 p_application_id => p_application_id,
418 p_object_approval_id => p_object_approval_id,
419 p_clear_transaction_flag => p_clear_transaction_flag,
420 p_data_flag => p_data_flag,
421 x_return_status => x_return_status,
422 x_msg_count => l_msg_count,
423 x_msg_data => l_msg_data,
424 x_approvers_list => lx_approvers_list_tbl,
425 x_rules_list => lx_rules_list_tbl);
426
427 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
428 aso_debug_pub.ADD (
429 'Returning from ASO_Apr_Pub.Get_All_Approvers',
430 1,
431 'N'
432 );
433 END IF;
434
435 ASO_PA_APR_PUB_W.Set_Approvers_List_Tbl_Out(
436 p_qte_approvers_list_tbl => lx_approvers_list_tbl,
437 x_approval_det_id => x_qa_approval_det_id,
438 x_object_approval_id => x_qa_object_approval_id,
439 x_approver_person_id => x_qa_approver_person_id,
440 x_approver_user_id => x_qa_approver_user_id,
441 x_notification_id => x_qa_notification_id,
442 x_approver_sequence => x_qa_approver_sequence,
443 x_approver_status => x_qa_approver_status,
444 x_name => x_qa_name,
445 x_approver_name => x_qa_approver_name,
446 x_approval_comments => x_qa_approval_comments,
447 x_approver_category => x_qa_approver_category,
448 x_approver_category_desc => x_qa_approver_category_desc,
449 x_approver_type_desc => x_qa_approver_type_desc,
450 x_sub_list_desc => x_qa_sub_list_desc,
451 x_item_id => x_qa_item_id,
452 x_item_class => x_qa_item_class,
453 x_action_type => x_qa_action_type,
454 x_action_type_id => x_qa_action_type_id,
455 x_chain_number => x_qa_chain_number,
456 x_occurrence => x_qa_occurrence,
457 x_authority => x_qa_authority,
458 x_date_sent => x_qa_date_sent,
459 x_date_received => x_qa_date_received
460 );
461
462 ASO_PA_APR_PUB_W.Set_Rules_List_Tbl_Out(
463 p_qte_rules_list_tbl => lx_rules_list_tbl,
464 x_rule_id => x_qr_rule_id,
465 x_object_approval_id => x_qr_object_approval_id,
466 x_rule_action_id => x_qr_rule_action_id,
467 x_rule_description => x_qr_rule_description,
468 x_rule_type => x_qr_rule_type,
469 x_approval_level => x_qr_approval_level,
470 x_rule_item_class => x_qr_rule_item_class,
471 x_rule_category_desc => x_qr_rule_category_desc
472
473 );
474
475 x_msg_count := l_msg_count;
476
477 for k in 1 .. l_msg_count loop
478
479 x_msg_data := fnd_msg_pub.get( p_msg_index => k,
480 p_encoded => 'F');
481 end loop;
482
483
484 END Get_All_Approvers;
485
486
487 PROCEDURE start_papproval_process (
488 p_api_version_number IN NUMBER := 1,
489 p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
490 p_commit IN VARCHAR2 := fnd_api.g_false,
491 p_object_id IN NUMBER := FND_API.G_MISS_NUM ,
492 p_object_type IN VARCHAR2 := FND_API.G_MISS_CHAR,
493 p_application_id IN NUMBER := FND_API.G_MISS_NUM,
494 p_requester_comments IN VARCHAR2 := FND_API.G_MISS_CHAR,
495 p_qa_approval_det_id IN jtf_number_table := NULL,
496 p_qa_object_approval_id IN jtf_number_table := NULL,
497 p_qa_approver_person_id IN jtf_number_table := NULL,
498 p_qa_approver_user_id IN jtf_number_table := NULL,
499 p_qa_notification_id IN jtf_number_table := NULL,
500 p_qa_approver_sequence IN jtf_number_table := NULL,
501 p_qa_approver_status IN jtf_varchar2_table_100 := NULL,
502 p_qa_name IN jtf_varchar2_table_300 := NULL,
503 p_qa_approver_name IN jtf_varchar2_table_100 := NULL,
504 p_qa_approval_comments IN jtf_varchar2_table_300 := NULL,
505 p_qa_approver_category IN jtf_varchar2_table_100 := NULL,
506 p_qa_approver_category_desc IN jtf_varchar2_table_100 := NULL,
507 p_qa_approver_type_desc IN jtf_varchar2_table_100 := NULL,
508 p_qa_sub_list_desc IN jtf_varchar2_table_100 := NULL,
509 p_qa_item_id IN jtf_varchar2_table_100 := NULL,
510 p_qa_item_class IN jtf_varchar2_table_100 := NULL,
511 p_qa_action_type IN jtf_varchar2_table_300 := NULL,
512 p_qa_action_type_id IN jtf_number_table := NULL,
513 p_qa_chain_number IN jtf_number_table := NULL,
514 p_qa_occurrence IN jtf_number_table := NULL,
515 p_qa_authority IN jtf_varchar2_table_100 := NULL,
516 p_qa_date_sent IN jtf_date_table := NULL,
517 p_qa_date_received IN jtf_date_table := NULL,
518 x_object_approval_id OUT NOCOPY NUMBER,
519 x_approval_instance_id OUT NOCOPY NUMBER,
520 x_return_status OUT NOCOPY VARCHAR2,
521 x_msg_count OUT NOCOPY NUMBER,
522 x_msg_data OUT NOCOPY VARCHAR2
523 )
524 AS
525 l_approvers_list_tbl ASO_PA_Apr_Pub.Approvers_list_Tbl_Type;
526 l_debug VARCHAR2(1);
527 l_msg_count NUMBER;
528 l_msg_data VARCHAR2(10000);
529 BEGIN
530
531 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
532 aso_debug_pub.ADD (
533 'Begin calling ASO_PA_Apr_Pub.start_papproval_proccess',
534 1,
535 'N'
536 );
537 END IF;
538
539 l_approvers_list_tbl := ASO_PA_APR_PUB_W.Construct_Approvers_List_Tbl(
540 p_approval_det_id => p_qa_approval_det_id,
541 p_object_approval_id => p_qa_object_approval_id,
542 p_approver_person_id => p_qa_approver_person_id,
543 p_approver_user_id => p_qa_approver_user_id,
544 p_notification_id => p_qa_notification_id,
545 p_approver_sequence => p_qa_approver_sequence,
546 p_approver_status => p_qa_approver_status,
547 p_name => p_qa_name,
548 p_approver_name => p_qa_approver_name,
549 p_approval_comments => p_qa_approval_comments,
550 p_approver_category => p_qa_approver_category,
551 p_approver_category_desc => p_qa_approver_category_desc,
552 p_approver_type_desc => p_qa_approver_type_desc,
553 p_sub_list_desc => p_qa_sub_list_desc,
554 p_item_id => p_qa_item_id,
555 p_item_class => p_qa_item_class,
556 p_action_type => p_qa_action_type,
557 p_action_type_id => p_qa_action_type_id,
558 p_chain_number => p_qa_chain_number,
559 p_occurrence => p_qa_occurrence,
560 p_authority => p_qa_authority,
561 p_date_sent => p_qa_date_sent,
562 p_date_received => p_qa_date_received
563 );
564
565 ASO_PA_Apr_Pub.start_papproval_process (
566 p_api_version_number => p_api_version_number,
567 p_init_msg_list => p_init_msg_list,
568 p_commit => p_commit,
569 p_object_id => p_object_id,
570 p_object_type => p_object_type,
571 p_application_id => p_application_id,
572 p_requester_comments => p_requester_comments,
573 p_del_appr_table => l_approvers_list_tbl,
574 x_object_approval_id => x_object_approval_id,
575 x_approval_instance_id => x_approval_instance_id,
576 x_return_status => x_return_status,
577 x_msg_count => x_msg_count,
578 x_msg_data => x_msg_data
579 );
580
581 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
582 aso_debug_pub.ADD (
583 'Returning from ASO_PA_Apr_Pub.start_papproval_process',
584 1,
585 'N'
586 );
587 END IF;
588
589 END start_papproval_process;
590
591 END ASO_PA_APR_PUB_W;