1: PACKAGE BODY PO_REQAPPROVAL_ACTION AS
2: /* $Header: POXWPA4B.pls 120.27.12020000.3 2013/02/10 15:40:21 vegajula ship $ */
3:
4: -- Read the profile option that enables/disables the debug log
5: g_po_wf_debug VARCHAR2(1) := NVL(FND_PROFILE.VALUE('PO_SET_DEBUG_WORKFLOW_ON'),'N');
8: | FILENAME
9: | xxx.sql
10: |
11: | DESCRIPTION
12: | PL/SQL body for package: PO_REQAPPROVAL_ACTION
13: |
14: | NOTES Ben Chihaoui Created 6/15/97
15: | MODIFIED Wlau Support for Kanban Execution 8/28/97
16: |
299:
300: EXCEPTION
301:
302: WHEN OTHERS THEN
303: WF_CORE.context('PO_REQAPPROVAL_ACTION' , 'Invoke_Acknowledge_PO_WF', itemtype, itemkey, x_progress);
304: RAISE;
305:
306: end;
307:
331: l_mod_status varchar2(30);
332:
333: BEGIN
334:
335: x_progress := 'PO_REQAPPROVAL_ACTION.State_Check_approve: 01';
336: IF (g_po_wf_debug = 'Y') THEN
337: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
338: END IF;
339:
391: else
392: resultout := wf_engine.eng_completed || ':' || 'Y';
393: x_resultout := 'Y';
394: end if;
395: x_progress := 'PO_REQAPPROVAL_ACTION.State_Check_approve: MOD flow. RESULT= ' || x_resultout;
396: IF (g_po_wf_debug = 'Y') THEN
397: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
398: END IF;
399: return;
432:
433: END IF;
434:
435:
436: x_progress := 'PO_REQAPPROVAL_ACTION.State_Check_approve: 02. RESULT= ' || x_resultout;
437: IF (g_po_wf_debug = 'Y') THEN
438: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
439: END IF;
440:
444: raise;
445: WHEN OTHERS THEN
446: l_doc_string := PO_REQAPPROVAL_INIT1.get_error_doc(itemType, itemkey);
447: l_preparer_user_name := PO_REQAPPROVAL_INIT1.get_preparer_user_name(itemType, itemkey);
448: WF_CORE.context('PO_REQAPPROVAL_ACTION' , 'state_check_approve', itemtype, itemkey, x_progress);
449: PO_REQAPPROVAL_INIT1.send_error_notif(itemType, itemkey, l_preparer_user_name, l_doc_string, sqlerrm, 'PO_REQAPPROVAL_ACTION.STATE_CHECK_APPROVE');
450: RAISE;
451:
452:
445: WHEN OTHERS THEN
446: l_doc_string := PO_REQAPPROVAL_INIT1.get_error_doc(itemType, itemkey);
447: l_preparer_user_name := PO_REQAPPROVAL_INIT1.get_preparer_user_name(itemType, itemkey);
448: WF_CORE.context('PO_REQAPPROVAL_ACTION' , 'state_check_approve', itemtype, itemkey, x_progress);
449: PO_REQAPPROVAL_INIT1.send_error_notif(itemType, itemkey, l_preparer_user_name, l_doc_string, sqlerrm, 'PO_REQAPPROVAL_ACTION.STATE_CHECK_APPROVE');
450: RAISE;
451:
452:
453: END State_Check_approve;
472: doc_manager_exception exception;
473:
474: BEGIN
475:
476: x_progress := 'PO_REQAPPROVAL_ACTION.State_Check_reject: 01';
477: IF (g_po_wf_debug = 'Y') THEN
478: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
479: END IF;
480:
512:
513: END IF;
514:
515:
516: x_progress := 'PO_REQAPPROVAL_ACTION.State_Check_reject: 02. RESULT= ' || x_resultout;
517: IF (g_po_wf_debug = 'Y') THEN
518: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
519: END IF;
520:
525: raise;
526: WHEN OTHERS THEN
527: l_doc_string := PO_REQAPPROVAL_INIT1.get_error_doc(itemType, itemkey);
528: l_preparer_user_name := PO_REQAPPROVAL_INIT1.get_preparer_user_name(itemType, itemkey);
529: WF_CORE.context('PO_REQAPPROVAL_ACTION', 'State_Check_reject', itemtype, itemkey, x_progress);
530: PO_REQAPPROVAL_INIT1.send_error_notif(itemType, itemkey, l_preparer_user_name, l_doc_string, sqlerrm, 'PO_REQAPPROVAL_ACTION.STATE_CHECK_REJECT');
531: RAISE;
532:
533: END State_Check_reject;
526: WHEN OTHERS THEN
527: l_doc_string := PO_REQAPPROVAL_INIT1.get_error_doc(itemType, itemkey);
528: l_preparer_user_name := PO_REQAPPROVAL_INIT1.get_preparer_user_name(itemType, itemkey);
529: WF_CORE.context('PO_REQAPPROVAL_ACTION', 'State_Check_reject', itemtype, itemkey, x_progress);
530: PO_REQAPPROVAL_INIT1.send_error_notif(itemType, itemkey, l_preparer_user_name, l_doc_string, sqlerrm, 'PO_REQAPPROVAL_ACTION.STATE_CHECK_REJECT');
531: RAISE;
532:
533: END State_Check_reject;
534:
557: l_sub_check_status varchar2(1);
558:
559: BEGIN
560:
561: x_progress := 'PO_REQAPPROVAL_ACTION.Doc_complete_check: 01';
562: IF (g_po_wf_debug = 'Y') THEN
563: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
564: END IF;
565:
629: raise FND_API.G_EXC_UNEXPECTED_ERROR;
630: END IF;
631: --
632:
633: x_progress := 'PO_REQAPPROVAL_ACTION.Doc_complete_check: 02. RESULT= ' || x_resultout;
634: IF (g_po_wf_debug = 'Y') THEN
635: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
636: END IF;
637:
642: raise;
643: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
644: l_doc_string := PO_REQAPPROVAL_INIT1.get_error_doc(itemType, itemkey);
645: l_preparer_user_name := PO_REQAPPROVAL_INIT1.get_preparer_user_name(itemType, itemkey);
646: WF_CORE.context('PO_REQAPPROVAL_ACTION', 'Doc_complete_check', itemtype, itemkey, x_progress);
647: PO_REQAPPROVAL_INIT1.send_error_notif(itemType, itemkey, l_preparer_user_name, l_doc_string, sqlerrm, 'PO_REQAPPROVAL_ACTION.DOC_COMPLETE_CHECK');
648: RAISE;
649:
650: WHEN OTHERS THEN
643: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
644: l_doc_string := PO_REQAPPROVAL_INIT1.get_error_doc(itemType, itemkey);
645: l_preparer_user_name := PO_REQAPPROVAL_INIT1.get_preparer_user_name(itemType, itemkey);
646: WF_CORE.context('PO_REQAPPROVAL_ACTION', 'Doc_complete_check', itemtype, itemkey, x_progress);
647: PO_REQAPPROVAL_INIT1.send_error_notif(itemType, itemkey, l_preparer_user_name, l_doc_string, sqlerrm, 'PO_REQAPPROVAL_ACTION.DOC_COMPLETE_CHECK');
648: RAISE;
649:
650: WHEN OTHERS THEN
651: l_doc_string := PO_REQAPPROVAL_INIT1.get_error_doc(itemType, itemkey);
649:
650: WHEN OTHERS THEN
651: l_doc_string := PO_REQAPPROVAL_INIT1.get_error_doc(itemType, itemkey);
652: l_preparer_user_name := PO_REQAPPROVAL_INIT1.get_preparer_user_name(itemType, itemkey);
653: WF_CORE.context('PO_REQAPPROVAL_ACTION', 'Doc_complete_check', itemtype, itemkey, x_progress);
654: PO_REQAPPROVAL_INIT1.send_error_notif(itemType, itemkey, l_preparer_user_name, l_doc_string, sqlerrm, 'PO_REQAPPROVAL_ACTION.DOC_COMPLETE_CHECK');
655: RAISE;
656:
657: END Doc_complete_check;
650: WHEN OTHERS THEN
651: l_doc_string := PO_REQAPPROVAL_INIT1.get_error_doc(itemType, itemkey);
652: l_preparer_user_name := PO_REQAPPROVAL_INIT1.get_preparer_user_name(itemType, itemkey);
653: WF_CORE.context('PO_REQAPPROVAL_ACTION', 'Doc_complete_check', itemtype, itemkey, x_progress);
654: PO_REQAPPROVAL_INIT1.send_error_notif(itemType, itemkey, l_preparer_user_name, l_doc_string, sqlerrm, 'PO_REQAPPROVAL_ACTION.DOC_COMPLETE_CHECK');
655: RAISE;
656:
657: END Doc_complete_check;
658:
686: l_is_ame_used varchar2(10);
687:
688: BEGIN
689:
690: x_progress := 'PO_REQAPPROVAL_ACTION.Approve_doc: 01';
691: IF (g_po_wf_debug = 'Y') THEN
692: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
693: END IF;
694:
780: raise doc_manager_exception;
781:
782: END IF;
783:
784: x_progress := 'PO_REQAPPROVAL_ACTION.Approve_doc: 02. RESULT= ' || x_resultout;
785: IF (g_po_wf_debug = 'Y') THEN
786: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
787: END IF;
788:
793: raise;
794: WHEN OTHERS THEN
795: l_doc_string := PO_REQAPPROVAL_INIT1.get_error_doc(itemType, itemkey);
796: l_preparer_user_name := PO_REQAPPROVAL_INIT1.get_preparer_user_name(itemType, itemkey);
797: WF_CORE.context('PO_REQAPPROVAL_ACTION' , 'Approve_doc', itemtype, itemkey, x_progress);
798: PO_REQAPPROVAL_INIT1.send_error_notif(itemType, itemkey, l_preparer_user_name, l_doc_string, sqlerrm, 'PO_REQAPPROVAL_ACTION.APPROVE_DOC');
799: RAISE;
800:
801:
794: WHEN OTHERS THEN
795: l_doc_string := PO_REQAPPROVAL_INIT1.get_error_doc(itemType, itemkey);
796: l_preparer_user_name := PO_REQAPPROVAL_INIT1.get_preparer_user_name(itemType, itemkey);
797: WF_CORE.context('PO_REQAPPROVAL_ACTION' , 'Approve_doc', itemtype, itemkey, x_progress);
798: PO_REQAPPROVAL_INIT1.send_error_notif(itemType, itemkey, l_preparer_user_name, l_doc_string, sqlerrm, 'PO_REQAPPROVAL_ACTION.APPROVE_DOC');
799: RAISE;
800:
801:
802: END Approve_doc;
825:
826:
827: BEGIN
828:
829: x_progress := 'PO_REQAPPROVAL_ACTION.Approve_and_forward_doc: 01';
830: IF (g_po_wf_debug = 'Y') THEN
831: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
832: END IF;
833:
896:
897:
898: END IF;
899:
900: x_progress := 'PO_REQAPPROVAL_ACTION.Approve_and_forward_doc: 02. RESULT= ' || x_resultout;
901: IF (g_po_wf_debug = 'Y') THEN
902: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
903: END IF;
904:
908: raise;
909: WHEN OTHERS THEN
910: l_doc_string := PO_REQAPPROVAL_INIT1.get_error_doc(itemType, itemkey);
911: l_preparer_user_name := PO_REQAPPROVAL_INIT1.get_preparer_user_name(itemType, itemkey);
912: WF_CORE.context('PO_REQAPPROVAL_ACTION', 'Approve_and_forward_doc', itemtype, itemkey,x_progress);
913: PO_REQAPPROVAL_INIT1.send_error_notif(itemType, itemkey, l_preparer_user_name, l_doc_string, sqlerrm, 'PO_REQAPPROVAL_ACTION.APPROVE_AND_FORWARD_DOC');
914: RAISE;
915:
916: END Approve_and_forward_doc;
909: WHEN OTHERS THEN
910: l_doc_string := PO_REQAPPROVAL_INIT1.get_error_doc(itemType, itemkey);
911: l_preparer_user_name := PO_REQAPPROVAL_INIT1.get_preparer_user_name(itemType, itemkey);
912: WF_CORE.context('PO_REQAPPROVAL_ACTION', 'Approve_and_forward_doc', itemtype, itemkey,x_progress);
913: PO_REQAPPROVAL_INIT1.send_error_notif(itemType, itemkey, l_preparer_user_name, l_doc_string, sqlerrm, 'PO_REQAPPROVAL_ACTION.APPROVE_AND_FORWARD_DOC');
914: RAISE;
915:
916: END Approve_and_forward_doc;
917:
943: doc_manager_exception exception;
944:
945: BEGIN
946:
947: x_progress := 'PO_REQAPPROVAL_ACTION.Forward_doc_inprocess: 01';
948: IF (g_po_wf_debug = 'Y') THEN
949: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
950: END IF;
951:
1016: raise doc_manager_exception;
1017:
1018: END IF;
1019:
1020: x_progress := 'PO_REQAPPROVAL_ACTION.Forward_doc_inprocess: 02. RESULT= ' || x_resultout;
1021: IF (g_po_wf_debug = 'Y') THEN
1022: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
1023: END IF;
1024:
1027: raise;
1028: WHEN OTHERS THEN
1029: l_doc_string := PO_REQAPPROVAL_INIT1.get_error_doc(itemType, itemkey);
1030: l_preparer_user_name := PO_REQAPPROVAL_INIT1.get_preparer_user_name(itemType, itemkey);
1031: WF_CORE.context('PO_REQAPPROVAL_ACTION' , 'Forward_doc_inprocess', itemtype, itemkey,x_progress);
1032: PO_REQAPPROVAL_INIT1.send_error_notif(itemType, itemkey, l_preparer_user_name, l_doc_string, sqlerrm, 'PO_REQAPPROVAL_ACTION.FORWARD_DOC_INPROCESS');
1033: RAISE;
1034:
1035: END Forward_doc_inprocess;
1028: WHEN OTHERS THEN
1029: l_doc_string := PO_REQAPPROVAL_INIT1.get_error_doc(itemType, itemkey);
1030: l_preparer_user_name := PO_REQAPPROVAL_INIT1.get_preparer_user_name(itemType, itemkey);
1031: WF_CORE.context('PO_REQAPPROVAL_ACTION' , 'Forward_doc_inprocess', itemtype, itemkey,x_progress);
1032: PO_REQAPPROVAL_INIT1.send_error_notif(itemType, itemkey, l_preparer_user_name, l_doc_string, sqlerrm, 'PO_REQAPPROVAL_ACTION.FORWARD_DOC_INPROCESS');
1033: RAISE;
1034:
1035: END Forward_doc_inprocess;
1036:
1060:
1061:
1062: BEGIN
1063:
1064: x_progress := 'PO_REQAPPROVAL_ACTION.Forward_doc_preapproved: 01';
1065: IF (g_po_wf_debug = 'Y') THEN
1066: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
1067: END IF;
1068:
1129: raise doc_manager_exception;
1130:
1131: END IF;
1132:
1133: x_progress := 'PO_REQAPPROVAL_ACTION.Forward_doc_preapproved: 02. RESULT= ' || x_resultout;
1134: IF (g_po_wf_debug = 'Y') THEN
1135: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
1136: END IF;
1137:
1140: raise;
1141: WHEN OTHERS THEN
1142: l_doc_string := PO_REQAPPROVAL_INIT1.get_error_doc(itemType, itemkey);
1143: l_preparer_user_name := PO_REQAPPROVAL_INIT1.get_preparer_user_name(itemType, itemkey);
1144: WF_CORE.context('PO_REQAPPROVAL_ACTION' , 'Forward_doc_preapproved', itemtype, itemkey,x_progress);
1145: PO_REQAPPROVAL_INIT1.send_error_notif(itemType, itemkey, l_preparer_user_name, l_doc_string, sqlerrm, 'PO_REQAPPROVAL_ACTION.FORWARD_DOC_PREAPPROVED');
1146: RAISE;
1147:
1148:
1141: WHEN OTHERS THEN
1142: l_doc_string := PO_REQAPPROVAL_INIT1.get_error_doc(itemType, itemkey);
1143: l_preparer_user_name := PO_REQAPPROVAL_INIT1.get_preparer_user_name(itemType, itemkey);
1144: WF_CORE.context('PO_REQAPPROVAL_ACTION' , 'Forward_doc_preapproved', itemtype, itemkey,x_progress);
1145: PO_REQAPPROVAL_INIT1.send_error_notif(itemType, itemkey, l_preparer_user_name, l_doc_string, sqlerrm, 'PO_REQAPPROVAL_ACTION.FORWARD_DOC_PREAPPROVED');
1146: RAISE;
1147:
1148:
1149: END Forward_doc_preapproved;
1171:
1172:
1173: BEGIN
1174:
1175: x_progress := 'PO_REQAPPROVAL_ACTION.Reject_Doc: 01';
1176: IF (g_po_wf_debug = 'Y') THEN
1177: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
1178: END IF;
1179:
1218:
1219: END IF;
1220: resultout := wf_engine.eng_completed || ':' || l_doc_mgr_return_val;
1221:
1222: x_progress := 'PO_REQAPPROVAL_ACTION.Reject_Doc: 02. RESULT= ' || l_doc_mgr_return_val;
1223: IF (g_po_wf_debug = 'Y') THEN
1224: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
1225: END IF;
1226:
1230: raise;
1231: WHEN OTHERS THEN
1232: l_doc_string := PO_REQAPPROVAL_INIT1.get_error_doc(itemType, itemkey);
1233: l_preparer_user_name := PO_REQAPPROVAL_INIT1.get_preparer_user_name(itemType, itemkey);
1234: WF_CORE.context('PO_REQAPPROVAL_ACTION' , 'Reject_doc', itemtype, itemkey,x_progress);
1235: PO_REQAPPROVAL_INIT1.send_error_notif(itemType, itemkey, l_preparer_user_name, l_doc_string, sqlerrm, 'PO_REQAPPROVAL_ACTION.REJECT_DOC');
1236: RAISE;
1237:
1238:
1231: WHEN OTHERS THEN
1232: l_doc_string := PO_REQAPPROVAL_INIT1.get_error_doc(itemType, itemkey);
1233: l_preparer_user_name := PO_REQAPPROVAL_INIT1.get_preparer_user_name(itemType, itemkey);
1234: WF_CORE.context('PO_REQAPPROVAL_ACTION' , 'Reject_doc', itemtype, itemkey,x_progress);
1235: PO_REQAPPROVAL_INIT1.send_error_notif(itemType, itemkey, l_preparer_user_name, l_doc_string, sqlerrm, 'PO_REQAPPROVAL_ACTION.REJECT_DOC');
1236: RAISE;
1237:
1238:
1239: END Reject_Doc;
1258: doc_manager_exception exception;
1259:
1260: BEGIN
1261:
1262: x_progress := 'PO_REQAPPROVAL_ACTION.Verify_authority: 01';
1263: IF (g_po_wf_debug = 'Y') THEN
1264: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
1265: END IF;
1266:
1290: resultout := wf_engine.eng_completed || ':' || l_doc_mgr_return_val;
1291: x_resultout := l_doc_mgr_return_val;
1292:
1293:
1294: x_progress := 'PO_REQAPPROVAL_ACTION.Verify_authority: 02. RESULT= ' || x_resultout;
1295: IF (g_po_wf_debug = 'Y') THEN
1296: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
1297: END IF;
1298:
1301: raise;
1302: WHEN OTHERS THEN
1303: l_doc_string := PO_REQAPPROVAL_INIT1.get_error_doc(itemType, itemkey);
1304: l_preparer_user_name := PO_REQAPPROVAL_INIT1.get_preparer_user_name(itemType, itemkey);
1305: WF_CORE.context('PO_REQAPPROVAL_ACTION' , 'Verify_authority', itemtype, itemkey, x_progress);
1306: PO_REQAPPROVAL_INIT1.send_error_notif(itemType, itemkey, l_preparer_user_name, l_doc_string, sqlerrm, 'PO_REQAPPROVAL_ACTION.VERIFY_AUTHORITY');
1307: RAISE;
1308:
1309:
1302: WHEN OTHERS THEN
1303: l_doc_string := PO_REQAPPROVAL_INIT1.get_error_doc(itemType, itemkey);
1304: l_preparer_user_name := PO_REQAPPROVAL_INIT1.get_preparer_user_name(itemType, itemkey);
1305: WF_CORE.context('PO_REQAPPROVAL_ACTION' , 'Verify_authority', itemtype, itemkey, x_progress);
1306: PO_REQAPPROVAL_INIT1.send_error_notif(itemType, itemkey, l_preparer_user_name, l_doc_string, sqlerrm, 'PO_REQAPPROVAL_ACTION.VERIFY_AUTHORITY');
1307: RAISE;
1308:
1309:
1310: END Verify_authority;
1329: doc_manager_exception exception;
1330:
1331: BEGIN
1332:
1333: x_progress := 'PO_REQAPPROVAL_ACTION.Open_Doc_State: 01';
1334: IF (g_po_wf_debug = 'Y') THEN
1335: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
1336: END IF;
1337:
1362: raise doc_manager_exception;
1363:
1364: END IF;
1365:
1366: x_progress := 'PO_REQAPPROVAL_ACTION.Open_Doc_State 02. RESULT= ' || x_resultout;
1367: IF (g_po_wf_debug = 'Y') THEN
1368: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
1369: END IF;
1370:
1374: raise;
1375: WHEN OTHERS THEN
1376: l_doc_string := PO_REQAPPROVAL_INIT1.get_error_doc(itemType, itemkey);
1377: l_preparer_user_name := PO_REQAPPROVAL_INIT1.get_preparer_user_name(itemType, itemkey);
1378: WF_CORE.context('PO_REQAPPROVAL_ACTION', 'Open_Doc_State', itemtype, itemkey, x_progress);
1379: PO_REQAPPROVAL_INIT1.send_error_notif(itemType, itemkey, l_preparer_user_name, l_doc_string, sqlerrm, 'PO_REQAPPROVAL_ACTION.OPEN_DOC_STATE');
1380: RAISE;
1381:
1382: END Open_Doc_State;
1375: WHEN OTHERS THEN
1376: l_doc_string := PO_REQAPPROVAL_INIT1.get_error_doc(itemType, itemkey);
1377: l_preparer_user_name := PO_REQAPPROVAL_INIT1.get_preparer_user_name(itemType, itemkey);
1378: WF_CORE.context('PO_REQAPPROVAL_ACTION', 'Open_Doc_State', itemtype, itemkey, x_progress);
1379: PO_REQAPPROVAL_INIT1.send_error_notif(itemType, itemkey, l_preparer_user_name, l_doc_string, sqlerrm, 'PO_REQAPPROVAL_ACTION.OPEN_DOC_STATE');
1380: RAISE;
1381:
1382: END Open_Doc_State;
1383:
1405: l_org_id number; -- Bug 3426272
1406:
1407: BEGIN
1408:
1409: x_progress := 'PO_REQAPPROVAL_ACTION.Reserve_Doc: 01';
1410: IF (g_po_wf_debug = 'Y') THEN
1411: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
1412: END IF;
1413:
1487:
1488: resultout := wf_engine.eng_completed || ':' || l_doc_mgr_return_val;
1489: x_resultout := l_doc_mgr_return_val;
1490:
1491: x_progress := 'PO_REQAPPROVAL_ACTION.Reserve_Doc 02. RESULT= ' || x_resultout;
1492: IF (g_po_wf_debug = 'Y') THEN
1493: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
1494: END IF;
1495:
1500: WHEN OTHERS THEN
1501: l_doc_string := PO_REQAPPROVAL_INIT1.get_error_doc(itemType, itemkey);
1502: l_preparer_user_name := PO_REQAPPROVAL_INIT1.get_preparer_user_name(
1503: itemType, itemkey);
1504: WF_CORE.context('PO_REQAPPROVAL_ACTION', 'Reserve_Doc', itemtype, itemkey,
1505: x_progress);
1506: PO_REQAPPROVAL_INIT1.send_error_notif(itemType, itemkey,
1507: l_preparer_user_name, l_doc_string, sqlerrm,
1508: 'PO_REQAPPROVAL_ACTION.RESERVE_DOC');
1504: WF_CORE.context('PO_REQAPPROVAL_ACTION', 'Reserve_Doc', itemtype, itemkey,
1505: x_progress);
1506: PO_REQAPPROVAL_INIT1.send_error_notif(itemType, itemkey,
1507: l_preparer_user_name, l_doc_string, sqlerrm,
1508: 'PO_REQAPPROVAL_ACTION.RESERVE_DOC');
1509: RAISE;
1510: END Reserve_Doc;
1511: --
1512:
1576: return('Y');
1577:
1578: ELSE
1579:
1580: x_progress := 'PO_REQAPPROVAL_ACTION.StateCheckApprove: Returned_code= ' || l_ret_code;
1581: IF (g_po_wf_debug = 'Y') THEN
1582: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
1583: END IF;
1584:
1587: END IF; -- l_ret_code IS NULL
1588:
1589: ELSE
1590:
1591: x_progress := 'PO_REQAPPROVAL_ACTION.StateCheckApprove: action call returned with: ' || l_ret_sts;
1592: IF (g_po_wf_debug = 'Y') THEN
1593: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
1594: END IF;
1595:
1604:
1605: EXCEPTION
1606:
1607: WHEN OTHERS THEN
1608: wf_core.context('PO_REQAPPROVAL_ACTION','StateCheckApprove',x_progress);
1609: raise;
1610:
1611: END StateCheckApprove;
1612:
1673: return('Y');
1674:
1675: ELSE
1676:
1677: x_progress := 'PO_REQAPPROVAL_ACTION.StateCheckReject: Returned_code= ' || l_ret_code;
1678: IF (g_po_wf_debug = 'Y') THEN
1679: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
1680: END IF;
1681:
1684: END IF; -- l_ret_code IS NULL
1685:
1686: ELSE
1687:
1688: x_progress := 'PO_REQAPPROVAL_ACTION.StateCheckReject: action call returned with: ' || l_ret_sts;
1689: IF (g_po_wf_debug = 'Y') THEN
1690: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
1691: END IF;
1692:
1701:
1702: EXCEPTION
1703:
1704: WHEN OTHERS THEN
1705: wf_core.context('PO_REQAPPROVAL_ACTION','StateCheckReject',x_progress);
1706: raise;
1707:
1708: END StateCheckReject;
1709:
1844: IF x_sub_check_status = FND_API.G_RET_STS_SUCCESS THEN
1845: return(FND_API.G_RET_STS_SUCCESS);
1846: ELSE
1847:
1848: x_progress := 'PO_REQAPPROVAL_ACTION.DocCompleteCheck: x_sub_check_status= ' ||
1849: x_sub_check_status || ' On_Line_Report_id= ' ||
1850: to_char(x_online_report_id);
1851:
1852:
1877: WHEN NO_DATA_FOUND THEN
1878: l_error:='W';
1879: END;
1880: IF (l_error = 'W') then
1881: x_progress := 'PO_REQAPPROVAL_ACTION.DocCompleteCheck: Only Warnings found. Return success';
1882:
1883: IF (g_po_wf_debug = 'Y') THEN
1884: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
1885: END IF;
1905: /* something went wrong with Submission Check API call. Send notification to Sys Admin.
1906: ** The error message is kept in Item Attribute SYSADMIN_ERROR_MSG */
1907:
1908:
1909: x_progress := 'PO_REQAPPROVAL_ACTION.DocCompleteCheck: po_submission_check returned with: ' ||
1910: x_return_status ;
1911:
1912: IF (g_po_wf_debug = 'Y') THEN
1913: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
1914: END IF;
1915:
1916: sysadmin_err_msg := x_msg_data;
1917:
1918: x_progress := 'PO_REQAPPROVAL_ACTION.DocCompleteCheck: po_submission_check error msg is: ' ||
1919: x_msg_data;
1920:
1921: IF (g_po_wf_debug = 'Y') THEN
1922: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
1929:
1930: EXCEPTION
1931:
1932: WHEN OTHERS THEN
1933: wf_core.context('PO_REQAPPROVAL_ACTION','DocCompleteCheck',x_progress);
1934: raise;
1935:
1936: END DocCompleteCheck;
1937:
1955: x_progress varchar2(200);
1956:
1957: BEGIN
1958:
1959: x_progress := 'PO_REQAPPROVAL_ACTION.InsertHistForOwnerApprove begin';
1960:
1961: IF (g_po_wf_debug = 'Y') THEN
1962: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
1963: END IF;
1980: AND Object_Type_Code = P_Document_Type
1981: AND object_sub_type_code = p_document_subtype)
1982: AND Object_Sub_Type_Code = P_Document_Subtype;
1983:
1984: x_progress := 'PO_REQAPPROVAL_ACTION.InsertHistForOwnerApprove action_code: ' || l_action_code;
1985:
1986: IF (g_po_wf_debug = 'Y') THEN
1987: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype, itemkey, x_progress);
1988: END IF;
2049: AND object_sub_type_code = p_document_subtype;
2050:
2051: END IF;
2052:
2053: x_progress := ' PO_REQAPPROVAL_ACTION.InsertHistForOwnerApprove employee_id: ' || l_employee_id;
2054:
2055: IF (g_po_wf_debug = 'Y') THEN
2056: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype, itemkey, x_progress);
2057: End If;
2100: '' );
2101:
2102: commit;
2103:
2104: x_progress := 'PO_REQAPPROVAL_ACTION.InsertHistForOwnerApprove inserted';
2105:
2106: END IF;
2107:
2108: x_progress := 'PO_REQAPPROVAL_ACTION.InsertHistForOwnerApprove end';
2104: x_progress := 'PO_REQAPPROVAL_ACTION.InsertHistForOwnerApprove inserted';
2105:
2106: END IF;
2107:
2108: x_progress := 'PO_REQAPPROVAL_ACTION.InsertHistForOwnerApprove end';
2109:
2110: IF (g_po_wf_debug = 'Y') THEN
2111: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
2112: END IF;
2113:
2114: EXCEPTION
2115:
2116: When Others Then
2117: wf_core.context('PO_REQAPPROVAL_ACTION','ApproveDoc',x_progress || ', ' || sqlerrm);
2118: raise;
2119:
2120: END InsertHistForOwnerApprove;
2121:
2212: return('Y');
2213:
2214: ELSE
2215:
2216: x_progress := 'PO_REQAPPROVAL_ACTION.ApproveDoc: ApproveAutonomous returned with: '
2217: || l_ret_sts;
2218:
2219: IF (g_po_wf_debug = 'Y') THEN
2220: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
2231:
2232: EXCEPTION
2233:
2234: WHEN OTHERS THEN
2235: wf_core.context('PO_REQAPPROVAL_ACTION','ApproveDoc',x_progress);
2236: raise;
2237:
2238: END ApproveDoc;
2239:
2324: ELSE
2325:
2326: -- fatal exception, l_ret_sts = 'U'
2327:
2328: x_progress := 'PO_REQAPPROVAL_ACTION.ApproveAndForward: ForwardAutonomous returned with: ' || l_ret_sts;
2329: IF (g_po_wf_debug = 'Y') THEN
2330: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
2331: END IF;
2332:
2341:
2342: EXCEPTION
2343:
2344: WHEN OTHERS THEN
2345: wf_core.context('PO_REQAPPROVAL_ACTION','ApproveAndForward',x_progress);
2346: raise;
2347:
2348: END ApproveAndForward;
2349:
2434: ELSE
2435:
2436: -- fatal exception, l_ret_sts = 'U'
2437:
2438: x_progress := 'PO_REQAPPROVAL_ACTION.ForwardDocInProcess: ForwardAutonomous returned with: ' || l_ret_sts;
2439: IF (g_po_wf_debug = 'Y') THEN
2440: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
2441: END IF;
2442:
2451:
2452: EXCEPTION
2453:
2454: WHEN OTHERS THEN
2455: wf_core.context('PO_REQAPPROVAL_ACTION','ForwardDocInProcess',x_progress);
2456: raise;
2457:
2458: END ForwardDocInProcess;
2459:
2545: ELSE
2546:
2547: -- fatal exception, l_ret_sts = 'U'
2548:
2549: x_progress := 'PO_REQAPPROVAL_ACTION.ForwardDocPreApproved: ForwardAutonomous returned with: ' || l_ret_sts;
2550: IF (g_po_wf_debug = 'Y') THEN
2551: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
2552: END IF;
2553:
2562:
2563: EXCEPTION
2564:
2565: WHEN OTHERS THEN
2566: wf_core.context('PO_REQAPPROVAL_ACTION','ForwardDocPreApproved',x_progress);
2567: raise;
2568:
2569:
2570: END ForwardDocPreApproved;
2691: ELSE
2692:
2693: -- Reject Failed
2694:
2695: x_progress := 'PO_REQAPPROVAL_ACTION.RejectDoc: Returned_code= ' ||
2696: l_ret_code ;
2697: IF (g_po_wf_debug = 'Y') THEN
2698: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
2699: END IF;
2705: ELSE
2706:
2707: -- Fatal Error: l_ret_sts := 'U';
2708:
2709: x_progress := 'PO_REQAPPROVAL_ACTION.RejectDoc: RejectAutonomous returned with: ' || l_ret_sts;
2710:
2711: IF (g_po_wf_debug = 'Y') THEN
2712: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
2713: END IF;
2724:
2725: EXCEPTION
2726:
2727: WHEN OTHERS THEN
2728: wf_core.context('PO_REQAPPROVAL_ACTION','RejectDoc',x_progress);
2729: raise;
2730:
2731: END RejectDoc;
2732:
2805: ELSE
2806:
2807: -- fatal exceptionl; l_ret_sts := 'U';
2808:
2809: x_progress := 'PO_REQAPPROVAL_ACTION.VerifyAuthority: action call returned with: ' || l_ret_sts;
2810: IF (g_po_wf_debug = 'Y') THEN
2811: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
2812: END IF;
2813:
2822:
2823: EXCEPTION
2824:
2825: WHEN OTHERS THEN
2826: wf_core.context('PO_REQAPPROVAL_ACTION','VerifyAuthority',x_progress);
2827: raise;
2828:
2829: END VerifyAuthority;
2830:
2886: return('Y');
2887:
2888: ELSE
2889:
2890: x_progress := 'PO_REQAPPROVAL_ACTION.OpenDocumentState: Returned_code= ' ||
2891: l_ret_code ;
2892: IF (g_po_wf_debug = 'Y') THEN
2893: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
2894: END IF;
2903:
2904: /* something went wrong with Doc Action. Send notification to Sys Admin.
2905: ** The error message is kept in Item Attribute SYSADMIN_ERROR_MSG */
2906:
2907: x_progress := 'PO_REQAPPROVAL_ACTION.OpenDocumentState: auto_close_update_autonomous returned with: ' ||
2908: l_ret_sts;
2909: IF (g_po_wf_debug = 'Y') THEN
2910: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
2911: END IF;
2919:
2920: EXCEPTION
2921:
2922: WHEN OTHERS THEN
2923: wf_core.context('PO_REQAPPROVAL_ACTION','OpenDocumentState',x_progress);
2924: raise;
2925:
2926: END OpenDocumentState;
2927:
3126:
3127: EXCEPTION
3128:
3129: WHEN OTHERS THEN
3130: wf_core.context('PO_REQAPPROVAL_ACTION','ReserveDoc',x_progress);
3131:
3132: /*
3133: Bug 9886447
3134: When exception is raised in function ReserveDoc it does not return proper
3155: BEGIN
3156:
3157: -- Bug 3536831: get_online_report_text is refactored to call new set_report_text_attr.
3158:
3159: x_progress := 'PO_REQAPPROVAL_ACTION.get_online_report_text.010.ON_LINE_REPORT_ID= '
3160: || to_char(p_online_report_id);
3161:
3162:
3163: set_report_text_attr( itemtype => itemtype
3165: , p_online_report_id => p_online_report_id
3166: , p_attribute => 'ONLINE_REPORT_TEXT'
3167: );
3168:
3169: x_progress := 'PO_REQAPPROVAL_ACTION.get_online_report_text.020.ON_LINE_REPORT_ID= '
3170: || to_char(p_online_report_id);
3171:
3172: EXCEPTION
3173: WHEN OTHERS THEN
3170: || to_char(p_online_report_id);
3171:
3172: EXCEPTION
3173: WHEN OTHERS THEN
3174: wf_core.context('PO_REQAPPROVAL_ACTION','get_online_report_text',x_progress);
3175: raise;
3176: END get_online_report_text;
3177:
3178:
3210: l_document_type po_document_types_all.document_type_code%TYPE;--
3211:
3212: BEGIN
3213:
3214: x_progress := 'PO_REQAPPROVAL_ACTION.get_advisory_warning.010.ON_LINE_REPORT_ID= '
3215: || to_char(p_online_report_id);
3216:
3217:
3218: set_report_text_attr( itemtype => itemtype
3235: aname => 'ADVISORY_WARNING_CHECK',
3236: avalue => 'Y');
3237: END IF;
3238:
3239: x_progress := 'PO_REQAPPROVAL_ACTION.get_advisory_warning.020.ON_LINE_REPORT_ID= '
3240: || to_char(p_online_report_id);
3241:
3242: EXCEPTION
3243: WHEN OTHERS THEN
3240: || to_char(p_online_report_id);
3241:
3242: EXCEPTION
3243: WHEN OTHERS THEN
3244: wf_core.context('PO_REQAPPROVAL_ACTION','get_advisory_warning',x_progress);
3245: raise;
3246: END get_advisory_warning;
3247:
3248:
3292:
3293: BEGIN
3294:
3295:
3296: x_progress := 'PO_REQAPPROVAL_ACTION.set_report_attr_text.010.ON_LINE_REPORT_ID= '
3297: || to_char(p_online_report_id);
3298:
3299:
3300: -- Add header text to beginning of attribute string.
3310: FROM po_online_report_text
3311: WHERE online_report_id = p_online_report_id
3312: ORDER BY sequence;
3313:
3314: x_progress := 'PO_REQAPPROVAL_ACTION.set_report_attr_text.020.ON_LINE_REPORT_ID= '
3315: || to_char(p_online_report_id);
3316:
3317: -- Loop through the plsql table, and concatenate each of the lines.
3318: -- Exit the loop if we run out of lines, or the string exceeds 2000 characters.
3332: aname => p_attribute,
3333: avalue => substr(l_attribute_text, 1, 2000)
3334: );
3335:
3336: x_progress := 'PO_REQAPPROVAL_ACTION.set_report_attr_text.030.ON_LINE_REPORT_ID= '
3337: || to_char(p_online_report_id);
3338:
3339: IF (g_po_wf_debug = 'Y') THEN
3340: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
3341: END IF;
3342:
3343: EXCEPTION
3344: WHEN OTHERS THEN
3345: wf_core.context('PO_REQAPPROVAL_ACTION','set_report_attr_text',x_progress);
3346: raise;
3347: END set_report_text_attr;
3348:
3349: --
3365: -- po reqapproval init1 set doc mgr context
3366: --
3367: po_reqapproval_init1.set_doc_mgr_context(itemtype,itemkey);
3368:
3369: x_progress := 'PO_REQAPPROVAL_ACTION.set_doc_mgr_context. USER_ID= ' || to_char(l_user_id)
3370: || ' APPLICATION_ID= ' || to_char(l_application_id) ||
3371: 'RESPONSIBILITY_ID= ' || to_char(l_responsibility_id);
3372: IF (g_po_wf_debug = 'Y') THEN
3373: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
3375:
3376: EXCEPTION
3377:
3378: WHEN OTHERS THEN
3379: wf_core.context('PO_REQAPPROVAL_ACTION','set_doc_mgr_context',x_progress);
3380: raise;
3381:
3382:
3383: END set_doc_mgr_context;
3454: END IF;
3455: -- Bug 4290541 End
3456: END IF;
3457:
3458: x_progress := 'PO_REQAPPROVAL_ACTION.set_responder_doc_mgr_context. USER_ID= ' || to_char(l_user_id)
3459: || ' APPLICATION_ID= ' || to_char(l_application_id) ||
3460: 'RESPONSIBILITY_ID= ' || to_char(l_responsibility_id);
3461: IF (g_po_wf_debug = 'Y') THEN
3462: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
3464:
3465: EXCEPTION
3466:
3467: WHEN OTHERS THEN
3468: wf_core.context('PO_REQAPPROVAL_ACTION','set_responder_doc_mgr_context',x_progress);
3469: raise;
3470:
3471:
3472: END set_responder_doc_mgr_context;
3495: doc_manager_exception exception;
3496:
3497: BEGIN
3498:
3499: x_progress := 'PO_REQAPPROVAL_ACTION.Reserve_doc_Override: 01';
3500: IF (g_po_wf_debug = 'Y') THEN
3501: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
3502: END IF;
3503:
3537: */
3538:
3539: l_doc_mgr_return_val := ReserveDoc(itemtype, itemkey, 'Y');
3540:
3541: x_progress := 'PO_REQAPPROVAL_ACTION.Reserve_doc_Override 10. RESULT= ' || x_resultout;
3542: IF (g_po_wf_debug = 'Y') THEN
3543: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
3544: END IF;
3545:
3554:
3555: resultout := wf_engine.eng_completed || ':' || l_doc_mgr_return_val;
3556: x_resultout := l_doc_mgr_return_val;
3557:
3558: x_progress := 'PO_REQAPPROVAL_ACTION.Reserve_doc_Override 99';
3559: IF (g_po_wf_debug = 'Y') THEN
3560: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
3561: END IF;
3562:
3566: WHEN OTHERS THEN
3567: l_doc_string := PO_REQAPPROVAL_INIT1.get_error_doc(itemType, itemkey);
3568: l_preparer_user_name := PO_REQAPPROVAL_INIT1.get_preparer_user_name(
3569: itemType, itemkey);
3570: WF_CORE.context('PO_REQAPPROVAL_ACTION', 'Reserve_doc_Override',
3571: itemtype, itemkey, x_progress);
3572: PO_REQAPPROVAL_INIT1.send_error_notif(itemType, itemkey,
3573: l_preparer_user_name, l_doc_string, sqlerrm,
3574: 'PO_REQAPPROVAL_ACTION.RESERVE_DOC');
3570: WF_CORE.context('PO_REQAPPROVAL_ACTION', 'Reserve_doc_Override',
3571: itemtype, itemkey, x_progress);
3572: PO_REQAPPROVAL_INIT1.send_error_notif(itemType, itemkey,
3573: l_preparer_user_name, l_doc_string, sqlerrm,
3574: 'PO_REQAPPROVAL_ACTION.RESERVE_DOC');
3575: RAISE;
3576: END Reserve_doc_Override;
3577:
3578: --
3672: EXCEPTION
3673: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3674: ROLLBACK TO ReserveAutonomous_SP;
3675: /* Bug 3293107: removed to_char() around l_progress */
3676: wf_core.context('PO_REQAPPROVAL_ACTION','ReserveAutonomous',
3677: l_progress);
3678: x_po_return_code := PO_DOCUMENT_FUNDS_PVT.g_return_FATAL; /* Bug 9886447 */
3679:
3680: WHEN OTHERS THEN
3679:
3680: WHEN OTHERS THEN
3681: ROLLBACK TO ReserveAutonomous_SP;
3682: /* Bug 3293107: removed to_char() around l_progress */
3683: wf_core.context('PO_REQAPPROVAL_ACTION','ReserveAutonomous',
3684: l_progress);
3685: RAISE;
3686:
3687: END ReserveAutonomous;
3744:
3745: EXCEPTION
3746: WHEN others THEN
3747: ROLLBACK;
3748: wf_core.context('PO_REQAPPROVAL_ACTION', 'ApproveAutonomous', to_char(d_progress));
3749: x_return_status := 'U';
3750:
3751: END ApproveAutonomous;
3752:
3798:
3799: EXCEPTION
3800: WHEN others THEN
3801: ROLLBACK;
3802: wf_core.context('PO_REQAPPROVAL_ACTION', 'RejectAutonomous', to_char(d_progress));
3803: x_return_status := 'U';
3804: END RejectAutonomous;
3805:
3806:
3850:
3851: EXCEPTION
3852: WHEN others THEN
3853: ROLLBACK;
3854: wf_core.context('PO_REQAPPROVAL_ACTION', 'ForwardAutonomous', to_char(d_progress));
3855: x_return_status := 'U';
3856:
3857: END ForwardAutonomous;
3858:
3900:
3901: EXCEPTION
3902: WHEN others THEN
3903: ROLLBACK;
3904: wf_core.context('PO_REQAPPROVAL_ACTION', 'AutoUpdateCloseAutonomous', to_char(d_progress));
3905: x_return_status := 'U';
3906:
3907: END AutoUpdateCloseAutonomous;
3908: --
3969:
3970:
3971:
3972:
3973: end PO_REQAPPROVAL_ACTION;