DBA Data[Home] [Help]

PACKAGE BODY: APPS.ASO_PA_APR_PUB

Source


1 PACKAGE BODY ASO_PA_APR_PUB AS
2   /*  $Header: asoppapb.pls 120.1.12020000.1 2013/03/20 10:49:55 rassharm noship $ */
3 
4 G_PKG_NAME CONSTANT VARCHAR2(30):= 'ASO_PA_APR_PUB';
5 G_FILE_NAME CONSTANT VARCHAR2(12) := 'asoppapb.pls';
6 
7   PROCEDURE get_all_approvers (
8     p_api_version_number        IN       NUMBER,
9     p_init_msg_list             IN       VARCHAR2 := fnd_api.g_false,
10     p_commit                    IN       VARCHAR2 := fnd_api.g_false,
11     p_object_id                 IN       NUMBER,
12     p_object_type               IN       VARCHAR2,
13     p_application_id            IN       NUMBER,
14     p_object_approval_id        IN       NUMBER,
15     p_clear_transaction_flag    IN       VARCHAR2 := fnd_api.g_false,
16     p_data_flag                 IN       VARCHAR2 :='Y',
17     x_return_status             OUT NOCOPY /* file.sql.39 change */       VARCHAR2,
18     x_msg_count                 OUT NOCOPY /* file.sql.39 change */       NUMBER,
19     x_msg_data                  OUT NOCOPY /* file.sql.39 change */       VARCHAR2,
20     x_approvers_list            OUT NOCOPY /* file.sql.39 change */       approvers_list_tbl_type,
21     x_rules_list                OUT NOCOPY /* file.sql.39 change */       rules_list_tbl_type
22   ) AS
23    l_api_name varchar2(240):= 'GET_ALL_APPROVERS';
24   BEGIN
25     aso_debug_pub.g_debug_flag := nvl(fnd_profile.value('ASO_ENABLE_DEBUG'),'N');
26 
27       -- Standard Start of API savepoint
28       SAVEPOINT  GET_ALL_APPROVERS_PUB;
29 
30     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
31       aso_debug_pub.ADD (
32         'BEGIN get_all_approvers in ASO_PA_APR_PUB package ',
33         1,
34         'N'
35       );
36     END IF;
37 
38     -- calling the hooks
39 
40     IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'B', 'C')) THEN
41 
42     ASO_APR_CUHK.get_all_approvers_PRE (
43     p_object_id                 =>  p_object_id,
44     p_object_type               => p_object_type,
45     p_application_id            => p_application_id,
46     x_return_status             => x_return_status,
47     x_msg_count                 => x_msg_count,
48     x_msg_data                  => x_msg_data );
49 
50           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
51              IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
52             FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
53             FND_MESSAGE.Set_Token('API', 'ASO_APR_CUHK.get_all_approvers_PRE', FALSE);
54             FND_MSG_PUB.ADD;
55              END IF;
56                  IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
57                     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
58                  ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
59                     RAISE FND_API.G_EXC_ERROR;
60                  END IF;
61           END IF;
62       END IF; -- customer hook
63 
64       -- vertical hook
65         IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'B', 'V')) THEN
66 
67           ASO_APR_VUHK.get_all_approvers_PRE (
68               p_object_id                 =>  p_object_id,
69               p_object_type               => p_object_type,
70               p_application_id            => p_application_id,
71               x_return_status             => x_return_status,
72               x_msg_count                 => x_msg_count,
73               x_msg_data                  => x_msg_data );
74 
75           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
76              IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
77             FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
78             FND_MESSAGE.Set_Token('API', 'ASO_APR_VUHK.get_all_approvers_PRE', FALSE);
79             FND_MSG_PUB.ADD;
80              END IF;
81                  IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
82                     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
83                  ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
84                     RAISE FND_API.G_EXC_ERROR;
85                  END IF;
86           END IF;
87       END IF; -- vertical hook
88 
89     aso_pa_apr_int.get_all_approvers (
90       p_api_version_number,
91       p_init_msg_list,
92       p_commit,
93       p_object_id,
94       p_object_type,
95       p_application_id,
96       p_object_approval_id,
97       p_clear_transaction_flag,
98       p_data_flag,
99       x_return_status,
100       x_msg_count,
101       x_msg_data,
102       x_approvers_list,
103       x_rules_list
104     );
105     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
106       aso_debug_pub.ADD (
107         'After caling  get_all_approvers in ASO_PA_APR_INT package ',
108         1,
109         'N'
110       );
111     END IF;
112 
113     -- Check return status from the above procedure call
114    IF x_return_status = FND_API.G_RET_STS_ERROR then
115           raise FND_API.G_EXC_ERROR;
116    ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
117           raise FND_API.G_EXC_UNEXPECTED_ERROR;
118    END IF;
119 
120     -- Calling the POST hooks
121 
122      IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'A', 'C')) THEN
123 
124           ASO_APR_CUHK.get_all_approvers_POST (
125               p_object_id                 =>  p_object_id,
126               p_object_type               => p_object_type,
127               p_application_id            => p_application_id,
128               x_return_status             => x_return_status,
129               x_msg_count                 => x_msg_count,
130               x_msg_data                  => x_msg_data );
131 
132         IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
133              IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
134             FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
135             FND_MESSAGE.Set_Token('API', 'ASO_APR_CUHK.get_all_approvers_POST', FALSE);
136             FND_MSG_PUB.ADD;
137              END IF;
138                  IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
139                     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
140                  ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
141                     RAISE FND_API.G_EXC_ERROR;
142                  END IF;
143           END IF;
144       END IF; -- customer hook
145 
146        -- vertical hook
147         IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'A', 'V')) THEN
148 
149           ASO_APR_VUHK.get_all_approvers_POST (
150               p_object_id                 =>  p_object_id,
151               p_object_type               => p_object_type,
152               p_application_id            => p_application_id,
153               x_return_status             => x_return_status,
154               x_msg_count                 => x_msg_count,
155               x_msg_data                  => x_msg_data );
156 
157        IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
158              IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
159             FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
160             FND_MESSAGE.Set_Token('API', 'ASO_APR_VUHK.get_all_approvers_POST', FALSE);
161             FND_MSG_PUB.ADD;
162              END IF;
163                  IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
164                     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
165                  ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
166                     RAISE FND_API.G_EXC_ERROR;
167                  END IF;
168           END IF;
169       END IF; -- vertical hook
170 
171       -- Standard check for p_commit
172       IF FND_API.to_Boolean( p_commit )
173       THEN
174           COMMIT WORK;
175       END IF;
176 
177       -- Standard call to get message count and if count is 1, get message info.
178       FND_MSG_PUB.Count_And_Get
179       (  p_count          =>   x_msg_count,
180          p_data           =>   x_msg_data
181       );
182 
183     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
184       aso_debug_pub.ADD (
185         'END get_all_approvers in ASO_PA_APR_PUB package ',
186         1,
187         'N'
188       );
189     END IF;
190 
191  EXCEPTION
192    WHEN FND_API.G_EXC_ERROR THEN
193     ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
194                    P_API_NAME => L_API_NAME
195                   ,P_PKG_NAME => G_PKG_NAME
196                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
197                   ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB
198                   ,X_MSG_COUNT => X_MSG_COUNT
199                   ,X_MSG_DATA => X_MSG_DATA
200                   ,X_RETURN_STATUS => X_RETURN_STATUS);
201 
202    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
203     ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
204                    P_API_NAME => L_API_NAME
205                   ,P_PKG_NAME => G_PKG_NAME
206                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
207                   ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB
208                   ,X_MSG_COUNT => X_MSG_COUNT
209                   ,X_MSG_DATA => X_MSG_DATA
210                   ,X_RETURN_STATUS => X_RETURN_STATUS);
211 
212    WHEN OTHERS THEN
213     ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
214                    P_API_NAME => L_API_NAME
215                   ,P_PKG_NAME => G_PKG_NAME
216                   ,P_EXCEPTION_LEVEL => ASO_UTILITY_PVT.G_EXC_OTHERS
217                   ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB
218                   ,X_MSG_COUNT => X_MSG_COUNT
219                   ,X_MSG_DATA => X_MSG_DATA
220                   ,X_RETURN_STATUS => X_RETURN_STATUS);
221   END get_all_approvers;
222 
223   PROCEDURE start_papproval_process (
224     p_api_version_number        IN       NUMBER,
225     p_init_msg_list             IN       VARCHAR2 := fnd_api.g_false,
226     p_commit                    IN       VARCHAR2 := fnd_api.g_false,
227     p_object_id                 IN       NUMBER,
228     p_object_type               IN       VARCHAR2,
229     p_application_id            IN       NUMBER,
230     --p_approver_sequence         IN       NUMBER := fnd_api.g_miss_num,
231     p_requester_comments        IN       VARCHAR2,
232     p_del_appr_table            IN       approvers_list_tbl_type,
233     x_object_approval_id        OUT NOCOPY   NUMBER,
234     x_approval_instance_id      OUT NOCOPY   NUMBER,
235     x_return_status             OUT NOCOPY   VARCHAR2,
236     x_msg_count                 OUT NOCOPY   NUMBER,
237     x_msg_data                  OUT NOCOPY   VARCHAR2
238   ) AS
239   l_api_name varchar2(240):= 'START_PAPPROVAL_PROCESS';
240   BEGIN
241 
242     aso_debug_pub.g_debug_flag := nvl(fnd_profile.value('ASO_ENABLE_DEBUG'),'N');
243 
244    -- Standard Start of API savepoint
245     	SAVEPOINT  START_PAPPROVAL_PROCESS_PUB;
246 
247 
248     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
249       aso_debug_pub.ADD (
250         'BEGIN start_papproval_process in ASO_PA_APR_PUB package ',
251         1,
252         'N'
253       );
254     END IF;
255 
256     -- calling the hooks
257 
258     IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'B', 'C')) THEN
259 
260        ASO_APR_CUHK.start_approval_process_PRE (
261          p_object_id                 => p_object_id,
262          p_object_type               => p_object_type,
263          p_application_id            => p_application_id,
264          p_approver_sequence         => null,
265          p_requester_comments        => p_requester_comments,
266          x_return_status             => x_return_status,
267          x_msg_count                 => x_msg_count,
268          x_msg_data                  => x_msg_data);
269 
270           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
271              IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
272             FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
273             FND_MESSAGE.Set_Token('API', 'ASO_APR_CUHK.start_approval_process_PRE', FALSE);
274             FND_MSG_PUB.ADD;
275              END IF;
276                  IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
277                     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
278                  ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
279                     RAISE FND_API.G_EXC_ERROR;
280                  END IF;
281           END IF;
282       END IF; -- customer hook
283 
284       -- vertical hook
285         IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'B', 'V')) THEN
286 
287            ASO_APR_VUHK.start_approval_process_PRE (
288              p_object_id                 => p_object_id,
289              p_object_type               => p_object_type,
290              p_application_id            => p_application_id,
291              p_approver_sequence         => null,
292              p_requester_comments        => p_requester_comments,
293              x_return_status             => x_return_status,
294              x_msg_count                 => x_msg_count,
295              x_msg_data                  => x_msg_data);
296 
297           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
298              IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
299             FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
300             FND_MESSAGE.Set_Token('API', 'ASO_APR_VUHK.start_approval_process_PRE', FALSE);
301             FND_MSG_PUB.ADD;
302              END IF;
303                  IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
304                     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
305                  ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
306                     RAISE FND_API.G_EXC_ERROR;
307                  END IF;
308           END IF;
309       END IF; -- vertical hook
310 
311    aso_pa_apr_int.start_papproval_process (
312       p_api_version_number,
313       p_init_msg_list,
314       p_commit,
315       p_object_id,
316       p_object_type,
317       p_application_id,
318       p_requester_comments,
319       p_del_appr_table ,
320       x_object_approval_id,
321 	    x_approval_instance_id,
322       x_return_status,
323       x_msg_count,
324       x_msg_data
325     );
326     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
327       aso_debug_pub.ADD (
328         'AFTER calling  start_papproval_process in ASO_PA_APR_INT package ',
329         1,
330         'N'
331       );
332     END IF;
333 
334 
335    -- Check return status from the above procedure call
336    IF x_return_status = FND_API.G_RET_STS_ERROR then
337           raise FND_API.G_EXC_ERROR;
338    ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
339           raise FND_API.G_EXC_UNEXPECTED_ERROR;
340    END IF;
341 
342     -- Calling the POST hooks
343 
344    IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'A', 'C')) THEN
345 
346       ASO_APR_CUHK.start_approval_process_POST (
347          p_object_id                 => p_object_id,
348          p_object_type               => p_object_type,
349          p_application_id            => p_application_id,
350          p_approver_sequence         => null,
351          p_requester_comments        => p_requester_comments,
352          x_return_status             => x_return_status,
353          x_msg_count                 => x_msg_count,
354          x_msg_data                  => x_msg_data);
355 
356         IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
357              IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
358             FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
359             FND_MESSAGE.Set_Token('API', 'ASO_APR_CUHK.start_approval_process_POST', FALSE);
360             FND_MSG_PUB.ADD;
361              END IF;
362                  IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
363                     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
364                  ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
365                     RAISE FND_API.G_EXC_ERROR;
366                  END IF;
367           END IF;
368       END IF; -- customer hook
369 
370       -- vertical hook
371      IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'A', 'V')) THEN
372 
373        ASO_APR_VUHK.start_approval_process_POST (
374          p_object_id                 => p_object_id,
375          p_object_type               => p_object_type,
376          p_application_id            => p_application_id,
377          p_approver_sequence         => null,
378          p_requester_comments        => p_requester_comments,
379          x_return_status             => x_return_status,
380          x_msg_count                 => x_msg_count,
381          x_msg_data                  => x_msg_data);
382 
383           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
384              IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
385             FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
386             FND_MESSAGE.Set_Token('API', 'ASO_APR_VUHK.start_approval_process_POST', FALSE);
387             FND_MSG_PUB.ADD;
388              END IF;
389                  IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
390                     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
391                  ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
392                     RAISE FND_API.G_EXC_ERROR;
393                  END IF;
394           END IF;
395       END IF; -- vertical hook
396 
397       -- Standard check for p_commit
398       IF FND_API.to_Boolean( p_commit )
399       THEN
400           COMMIT WORK;
401       END IF;
402 
403       -- Standard call to get message count and if count is 1, get message info.
404       FND_MSG_PUB.Count_And_Get
405       (  p_count          =>   x_msg_count,
406          p_data           =>   x_msg_data
407       );
408 
409     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
410       aso_debug_pub.ADD (
411         'END start_papproval_process in ASO_PA_APR_PUB package ',
412         1,
413         'N'
414       );
415     END IF;
416 
417 
418  EXCEPTION
419    WHEN FND_API.G_EXC_ERROR THEN
420      ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
421                    P_API_NAME => L_API_NAME
422                   ,P_PKG_NAME => G_PKG_NAME
423                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
424                   ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB
425                   ,X_MSG_COUNT => X_MSG_COUNT
426                   ,X_MSG_DATA => X_MSG_DATA
427                   ,X_RETURN_STATUS => X_RETURN_STATUS);
428 
429     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
430      ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
431                    P_API_NAME => L_API_NAME
432                   ,P_PKG_NAME => G_PKG_NAME
433                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
434                   ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB
435                   ,X_MSG_COUNT => X_MSG_COUNT
436                   ,X_MSG_DATA => X_MSG_DATA
437                   ,X_RETURN_STATUS => X_RETURN_STATUS);
438 
439     WHEN OTHERS THEN
440      ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
441                    P_API_NAME => L_API_NAME
442                   ,P_PKG_NAME => G_PKG_NAME
443                   ,P_EXCEPTION_LEVEL => ASO_UTILITY_PVT.G_EXC_OTHERS
444                   ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB
445                   ,X_MSG_COUNT => X_MSG_COUNT
446                   ,X_MSG_DATA => X_MSG_DATA
447                   ,X_RETURN_STATUS => X_RETURN_STATUS);
448 
449   END start_papproval_process;
450 
451   PROCEDURE cancel_approval_process (
452     p_api_version_number        IN       NUMBER,
453     p_init_msg_list             IN       VARCHAR2,
454     p_commit                    IN       VARCHAR2,
455     p_object_id                 IN       NUMBER,
456     p_object_type               IN       VARCHAR2,
457     p_application_id            IN       NUMBER,
458     p_itemtype                  IN       VARCHAR2,
459     p_object_approval_id        IN       NUMBER,
460     p_user_id                   IN       NUMBER,
461     x_return_status             OUT NOCOPY   VARCHAR2,
462     x_msg_count                 OUT NOCOPY   NUMBER,
463     x_msg_data                  OUT NOCOPY   VARCHAR2
464   ) AS
465   BEGIN
466 
467           aso_debug_pub.g_debug_flag := nvl(fnd_profile.value('ASO_ENABLE_DEBUG'),'N');
468 
469     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
470       aso_debug_pub.ADD (
471         'BEGIN cancel_approval_process in ASO_PA_APR_PUB package ',
472         1,
473         'N'
474       );
475     END IF;
476     aso_pa_apr_int.cancel_approval_process (
477       p_api_version_number,
478       p_init_msg_list,
479       p_commit,
480       p_object_id,
481       p_object_type,
482       p_application_id,
483       p_itemtype,
484 	    p_object_approval_id,
485       p_user_id,
486 	    x_return_status,
487       x_msg_count,
488       x_msg_data
489     );
490     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
491       aso_debug_pub.ADD (
492         'END cancel_approval_process in ASO_PA_APR_PUB package ',
493         1,
494         'N'
495       );
496     END IF;
497   END cancel_approval_process;
498 
499   PROCEDURE start_pa_approval_workflow (
500     p_api_version_number        IN       NUMBER,
501     p_init_msg_list             IN       VARCHAR2 DEFAULT fnd_api.g_false,
502     p_commit                    IN       VARCHAR2 DEFAULT fnd_api.g_false,
503     p_object_approval_id        IN       NUMBER,
504     p_itemtype                  IN       VARCHAR2,
505     p_sender_name               IN       VARCHAR2,
506     x_return_status             OUT NOCOPY        VARCHAR2,
507     x_msg_count                 OUT NOCOPY        NUMBER,
508     x_msg_data                  OUT NOCOPY        VARCHAR2) AS
509   BEGIN
510           aso_debug_pub.g_debug_flag := nvl(fnd_profile.value('ASO_ENABLE_DEBUG'),'N');
511 
512     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
513       aso_debug_pub.ADD (
514         'BEGIN start_pa_approval_workflow in ASO_PA_APR_PUB package ',
515         1,
516         'N'
517       );
518     END IF;
519 
520     aso_pa_apr_int.start_pa_approval_workflow (
521     p_api_version_number,
522     p_init_msg_list,
523     p_commit,
524     p_object_approval_id,
525     p_itemtype,
526     p_sender_name,
527     x_return_status,
528     x_msg_count,
529     x_msg_data);
530 
531     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
532       aso_debug_pub.ADD (
533         'END start_pa_approval_workflow in ASO_PA_APR_PUB package ',
534         1,
535         'N'
536       );
537     END IF;
538   END start_pa_approval_workflow;
539 
540 END ASO_PA_APR_PUB;