664: x_wip_operation_seq_num NUMBER,
665: x_wip_resource_seq_num NUMBER,
666: x_po_encumberance_flag VARCHAR2,
667: x_gl_encumbered_date DATE,
668: wf_itemkey IN OUT NOCOPY VARCHAR2,
669: V_new_combination IN OUT NOCOPY VARCHAR2,
670: header_att1 VARCHAR2,
671: header_att2 VARCHAR2,
672: header_att3 VARCHAR2,
776: x_wip_operation_seq_num,
777: x_wip_resource_seq_num,
778: x_po_encumberance_flag,
779: x_gl_encumbered_date,
780: wf_itemkey,
781: x_new_combination,
782: header_att1,
783: header_att2,
784: header_att3,
844: V_new_combination := bool_to_varchar(x_new_combination);
845:
846: WF_ENGINE_UTIL.CLEARCACHE;
847: WF_ACTIVITY.CLEARCACHE;
848: WF_ITEM_ACTIVITY_STATUS.CLEARCACHE;
849: WF_ITEM.CLEARCACHE;
850: WF_PROCESS_ACTIVITY.CLEARCACHE;
851:
852: RETURN bool_to_varchar(x_return);
845:
846: WF_ENGINE_UTIL.CLEARCACHE;
847: WF_ACTIVITY.CLEARCACHE;
848: WF_ITEM_ACTIVITY_STATUS.CLEARCACHE;
849: WF_ITEM.CLEARCACHE;
850: WF_PROCESS_ACTIVITY.CLEARCACHE;
851:
852: RETURN bool_to_varchar(x_return);
853: EXCEPTION
993: END update_gms_distributions;
994:
995: PROCEDURE update_notif_header_attr(p_header_id IN NUMBER) IS
996:
997: l_wf_itemtype PO_REQUISITION_HEADERS_ALL.wf_item_type%TYPE;
998: l_wf_itemkey PO_REQUISITION_HEADERS_ALL.wf_item_key%TYPE;
999: l_child_wf_itemtype PO_REQUISITION_HEADERS_ALL.wf_item_type%TYPE;
1000: l_child_wf_itemkey PO_REQUISITION_HEADERS_ALL.wf_item_key%TYPE;
1001:
994:
995: PROCEDURE update_notif_header_attr(p_header_id IN NUMBER) IS
996:
997: l_wf_itemtype PO_REQUISITION_HEADERS_ALL.wf_item_type%TYPE;
998: l_wf_itemkey PO_REQUISITION_HEADERS_ALL.wf_item_key%TYPE;
999: l_child_wf_itemtype PO_REQUISITION_HEADERS_ALL.wf_item_type%TYPE;
1000: l_child_wf_itemkey PO_REQUISITION_HEADERS_ALL.wf_item_key%TYPE;
1001:
1002: l_notif_id number;
995: PROCEDURE update_notif_header_attr(p_header_id IN NUMBER) IS
996:
997: l_wf_itemtype PO_REQUISITION_HEADERS_ALL.wf_item_type%TYPE;
998: l_wf_itemkey PO_REQUISITION_HEADERS_ALL.wf_item_key%TYPE;
999: l_child_wf_itemtype PO_REQUISITION_HEADERS_ALL.wf_item_type%TYPE;
1000: l_child_wf_itemkey PO_REQUISITION_HEADERS_ALL.wf_item_key%TYPE;
1001:
1002: l_notif_id number;
1003: l_description varchar2(240);
996:
997: l_wf_itemtype PO_REQUISITION_HEADERS_ALL.wf_item_type%TYPE;
998: l_wf_itemkey PO_REQUISITION_HEADERS_ALL.wf_item_key%TYPE;
999: l_child_wf_itemtype PO_REQUISITION_HEADERS_ALL.wf_item_type%TYPE;
1000: l_child_wf_itemkey PO_REQUISITION_HEADERS_ALL.wf_item_key%TYPE;
1001:
1002: l_notif_id number;
1003: l_description varchar2(240);
1004: l_req_total varchar2(240);
1011: l_procedure_name CONSTANT VARCHAR2(30) := 'update_notif_header_attr';
1012: l_log_msg FND_LOG_MESSAGES.MESSAGE_TEXT%TYPE;
1013:
1014:
1015: cursor ame_child_wf (l_wf_itemtype varchar2,l_wf_itemkey varchar2) is
1016: select item_type, item_key
1017: from wf_items
1018: where parent_item_type = l_wf_itemtype
1019: and parent_item_key = l_wf_itemkey;
1013:
1014:
1015: cursor ame_child_wf (l_wf_itemtype varchar2,l_wf_itemkey varchar2) is
1016: select item_type, item_key
1017: from wf_items
1018: where parent_item_type = l_wf_itemtype
1019: and parent_item_key = l_wf_itemkey;
1020:
1021: cursor wf_notifs (l_wf_itemtype varchar2,l_wf_itemkey varchar2) is
1014:
1015: cursor ame_child_wf (l_wf_itemtype varchar2,l_wf_itemkey varchar2) is
1016: select item_type, item_key
1017: from wf_items
1018: where parent_item_type = l_wf_itemtype
1019: and parent_item_key = l_wf_itemkey;
1020:
1021: cursor wf_notifs (l_wf_itemtype varchar2,l_wf_itemkey varchar2) is
1022: select notification_id
1015: cursor ame_child_wf (l_wf_itemtype varchar2,l_wf_itemkey varchar2) is
1016: select item_type, item_key
1017: from wf_items
1018: where parent_item_type = l_wf_itemtype
1019: and parent_item_key = l_wf_itemkey;
1020:
1021: cursor wf_notifs (l_wf_itemtype varchar2,l_wf_itemkey varchar2) is
1022: select notification_id
1023: from wf_item_activity_statuses
1017: from wf_items
1018: where parent_item_type = l_wf_itemtype
1019: and parent_item_key = l_wf_itemkey;
1020:
1021: cursor wf_notifs (l_wf_itemtype varchar2,l_wf_itemkey varchar2) is
1022: select notification_id
1023: from wf_item_activity_statuses
1024: where item_type = l_wf_itemtype
1025: and item_key = l_wf_itemkey
1019: and parent_item_key = l_wf_itemkey;
1020:
1021: cursor wf_notifs (l_wf_itemtype varchar2,l_wf_itemkey varchar2) is
1022: select notification_id
1023: from wf_item_activity_statuses
1024: where item_type = l_wf_itemtype
1025: and item_key = l_wf_itemkey
1026: and notification_id is not null;
1027:
1020:
1021: cursor wf_notifs (l_wf_itemtype varchar2,l_wf_itemkey varchar2) is
1022: select notification_id
1023: from wf_item_activity_statuses
1024: where item_type = l_wf_itemtype
1025: and item_key = l_wf_itemkey
1026: and notification_id is not null;
1027:
1028:
1021: cursor wf_notifs (l_wf_itemtype varchar2,l_wf_itemkey varchar2) is
1022: select notification_id
1023: from wf_item_activity_statuses
1024: where item_type = l_wf_itemtype
1025: and item_key = l_wf_itemkey
1026: and notification_id is not null;
1027:
1028:
1029: BEGIN
1029: BEGIN
1030:
1031: l_progress := '001';
1032:
1033: SELECT wf_item_type, wf_item_key
1034: INTO l_wf_itemtype, l_wf_itemkey
1035: FROM PO_REQUISITION_HEADERS_ALL
1036: WHERE REQUISITION_HEADER_ID = p_header_id;
1037:
1030:
1031: l_progress := '001';
1032:
1033: SELECT wf_item_type, wf_item_key
1034: INTO l_wf_itemtype, l_wf_itemkey
1035: FROM PO_REQUISITION_HEADERS_ALL
1036: WHERE REQUISITION_HEADER_ID = p_header_id;
1037:
1038: l_progress := '002';
1039:
1040: -- call PO_REQAPPROVAL_INIT1.GetReqAttributes to update item attributes for the wf.
1041: PO_REQAPPROVAL_INIT1.GetReqAttributes(
1042: p_requisition_header_id =>p_header_id,
1043: itemtype => l_wf_itemtype,
1044: itemkey => l_wf_itemkey);
1045:
1046: l_is_ame_approval:= PO_WF_UTIL_PKG.GetItemAttrText ( itemtype => l_wf_itemtype,
1047: itemkey => l_wf_itemkey,
1040: -- call PO_REQAPPROVAL_INIT1.GetReqAttributes to update item attributes for the wf.
1041: PO_REQAPPROVAL_INIT1.GetReqAttributes(
1042: p_requisition_header_id =>p_header_id,
1043: itemtype => l_wf_itemtype,
1044: itemkey => l_wf_itemkey);
1045:
1046: l_is_ame_approval:= PO_WF_UTIL_PKG.GetItemAttrText ( itemtype => l_wf_itemtype,
1047: itemkey => l_wf_itemkey,
1048: aname => 'IS_AME_APPROVAL');
1042: p_requisition_header_id =>p_header_id,
1043: itemtype => l_wf_itemtype,
1044: itemkey => l_wf_itemkey);
1045:
1046: l_is_ame_approval:= PO_WF_UTIL_PKG.GetItemAttrText ( itemtype => l_wf_itemtype,
1047: itemkey => l_wf_itemkey,
1048: aname => 'IS_AME_APPROVAL');
1049: l_progress := '003';
1050:
1043: itemtype => l_wf_itemtype,
1044: itemkey => l_wf_itemkey);
1045:
1046: l_is_ame_approval:= PO_WF_UTIL_PKG.GetItemAttrText ( itemtype => l_wf_itemtype,
1047: itemkey => l_wf_itemkey,
1048: aname => 'IS_AME_APPROVAL');
1049: l_progress := '003';
1050:
1051: -- Then we can use the updated item attributes to update notification attributes
1050:
1051: -- Then we can use the updated item attributes to update notification attributes
1052: If ( l_is_ame_approval = 'N') then
1053:
1054: l_description := PO_WF_UTIL_PKG.GetItemAttrText ( itemtype => l_wf_itemtype,
1055: itemkey => l_wf_itemkey,
1056: aname => 'REQ_DESCRIPTION');
1057:
1058: l_req_total := PO_WF_UTIL_PKG.GetItemAttrText ( itemtype => l_wf_itemtype,
1051: -- Then we can use the updated item attributes to update notification attributes
1052: If ( l_is_ame_approval = 'N') then
1053:
1054: l_description := PO_WF_UTIL_PKG.GetItemAttrText ( itemtype => l_wf_itemtype,
1055: itemkey => l_wf_itemkey,
1056: aname => 'REQ_DESCRIPTION');
1057:
1058: l_req_total := PO_WF_UTIL_PKG.GetItemAttrText ( itemtype => l_wf_itemtype,
1059: itemkey => l_wf_itemkey,
1054: l_description := PO_WF_UTIL_PKG.GetItemAttrText ( itemtype => l_wf_itemtype,
1055: itemkey => l_wf_itemkey,
1056: aname => 'REQ_DESCRIPTION');
1057:
1058: l_req_total := PO_WF_UTIL_PKG.GetItemAttrText ( itemtype => l_wf_itemtype,
1059: itemkey => l_wf_itemkey,
1060: aname => 'REQ_AMOUNT_CURRENCY_DSP');
1061:
1062: l_justification := PO_WF_UTIL_PKG.GetItemAttrText ( itemtype => l_wf_itemtype,
1055: itemkey => l_wf_itemkey,
1056: aname => 'REQ_DESCRIPTION');
1057:
1058: l_req_total := PO_WF_UTIL_PKG.GetItemAttrText ( itemtype => l_wf_itemtype,
1059: itemkey => l_wf_itemkey,
1060: aname => 'REQ_AMOUNT_CURRENCY_DSP');
1061:
1062: l_justification := PO_WF_UTIL_PKG.GetItemAttrText ( itemtype => l_wf_itemtype,
1063: itemkey => l_wf_itemkey,
1058: l_req_total := PO_WF_UTIL_PKG.GetItemAttrText ( itemtype => l_wf_itemtype,
1059: itemkey => l_wf_itemkey,
1060: aname => 'REQ_AMOUNT_CURRENCY_DSP');
1061:
1062: l_justification := PO_WF_UTIL_PKG.GetItemAttrText ( itemtype => l_wf_itemtype,
1063: itemkey => l_wf_itemkey,
1064: aname => 'JUSTIFICATION');
1065:
1066: l_estimated_tax := PO_WF_UTIL_PKG.GetItemAttrText ( itemtype => l_wf_itemtype,
1059: itemkey => l_wf_itemkey,
1060: aname => 'REQ_AMOUNT_CURRENCY_DSP');
1061:
1062: l_justification := PO_WF_UTIL_PKG.GetItemAttrText ( itemtype => l_wf_itemtype,
1063: itemkey => l_wf_itemkey,
1064: aname => 'JUSTIFICATION');
1065:
1066: l_estimated_tax := PO_WF_UTIL_PKG.GetItemAttrText ( itemtype => l_wf_itemtype,
1067: itemkey => l_wf_itemkey,
1062: l_justification := PO_WF_UTIL_PKG.GetItemAttrText ( itemtype => l_wf_itemtype,
1063: itemkey => l_wf_itemkey,
1064: aname => 'JUSTIFICATION');
1065:
1066: l_estimated_tax := PO_WF_UTIL_PKG.GetItemAttrText ( itemtype => l_wf_itemtype,
1067: itemkey => l_wf_itemkey,
1068: aname => 'TAX_AMOUNT_CURRENCY_DSP');
1069:
1070: l_total_amount_dsp:= PO_WF_UTIL_PKG.GetItemAttrText ( itemtype => l_wf_itemtype,
1063: itemkey => l_wf_itemkey,
1064: aname => 'JUSTIFICATION');
1065:
1066: l_estimated_tax := PO_WF_UTIL_PKG.GetItemAttrText ( itemtype => l_wf_itemtype,
1067: itemkey => l_wf_itemkey,
1068: aname => 'TAX_AMOUNT_CURRENCY_DSP');
1069:
1070: l_total_amount_dsp:= PO_WF_UTIL_PKG.GetItemAttrText ( itemtype => l_wf_itemtype,
1071: itemkey => l_wf_itemkey,
1066: l_estimated_tax := PO_WF_UTIL_PKG.GetItemAttrText ( itemtype => l_wf_itemtype,
1067: itemkey => l_wf_itemkey,
1068: aname => 'TAX_AMOUNT_CURRENCY_DSP');
1069:
1070: l_total_amount_dsp:= PO_WF_UTIL_PKG.GetItemAttrText ( itemtype => l_wf_itemtype,
1071: itemkey => l_wf_itemkey,
1072: aname => 'TOTAL_AMOUNT_DSP');
1073:
1074: l_progress := '004';
1067: itemkey => l_wf_itemkey,
1068: aname => 'TAX_AMOUNT_CURRENCY_DSP');
1069:
1070: l_total_amount_dsp:= PO_WF_UTIL_PKG.GetItemAttrText ( itemtype => l_wf_itemtype,
1071: itemkey => l_wf_itemkey,
1072: aname => 'TOTAL_AMOUNT_DSP');
1073:
1074: l_progress := '004';
1075:
1072: aname => 'TOTAL_AMOUNT_DSP');
1073:
1074: l_progress := '004';
1075:
1076: open wf_notifs( l_wf_itemtype,l_wf_itemkey);
1077:
1078: loop
1079: fetch wf_notifs
1080: into l_notif_id;
1098: else
1099:
1100: l_progress := '006';
1101:
1102: open ame_child_wf ( l_wf_itemtype,l_wf_itemkey );
1103: loop
1104: fetch ame_child_wf
1105: into l_child_wf_itemtype,
1106: l_child_wf_itemkey;
1101:
1102: open ame_child_wf ( l_wf_itemtype,l_wf_itemkey );
1103: loop
1104: fetch ame_child_wf
1105: into l_child_wf_itemtype,
1106: l_child_wf_itemkey;
1107:
1108: exit when ame_child_wf%NOTFOUND;
1109:
1102: open ame_child_wf ( l_wf_itemtype,l_wf_itemkey );
1103: loop
1104: fetch ame_child_wf
1105: into l_child_wf_itemtype,
1106: l_child_wf_itemkey;
1107:
1108: exit when ame_child_wf%NOTFOUND;
1109:
1110: PO_REQAPPROVAL_INIT1.GetReqAttributes(
1108: exit when ame_child_wf%NOTFOUND;
1109:
1110: PO_REQAPPROVAL_INIT1.GetReqAttributes(
1111: p_requisition_header_id =>p_header_id,
1112: itemtype => l_child_wf_itemtype,
1113: itemkey => l_child_wf_itemkey);
1114:
1115: l_description :=PO_WF_UTIL_PKG.GetItemAttrText(itemtype => l_child_wf_itemtype,
1116: itemkey => l_child_wf_itemkey,
1109:
1110: PO_REQAPPROVAL_INIT1.GetReqAttributes(
1111: p_requisition_header_id =>p_header_id,
1112: itemtype => l_child_wf_itemtype,
1113: itemkey => l_child_wf_itemkey);
1114:
1115: l_description :=PO_WF_UTIL_PKG.GetItemAttrText(itemtype => l_child_wf_itemtype,
1116: itemkey => l_child_wf_itemkey,
1117: aname => 'REQ_DESCRIPTION');
1111: p_requisition_header_id =>p_header_id,
1112: itemtype => l_child_wf_itemtype,
1113: itemkey => l_child_wf_itemkey);
1114:
1115: l_description :=PO_WF_UTIL_PKG.GetItemAttrText(itemtype => l_child_wf_itemtype,
1116: itemkey => l_child_wf_itemkey,
1117: aname => 'REQ_DESCRIPTION');
1118:
1119: l_req_total := PO_WF_UTIL_PKG.GetItemAttrText (itemtype => l_child_wf_itemtype,
1112: itemtype => l_child_wf_itemtype,
1113: itemkey => l_child_wf_itemkey);
1114:
1115: l_description :=PO_WF_UTIL_PKG.GetItemAttrText(itemtype => l_child_wf_itemtype,
1116: itemkey => l_child_wf_itemkey,
1117: aname => 'REQ_DESCRIPTION');
1118:
1119: l_req_total := PO_WF_UTIL_PKG.GetItemAttrText (itemtype => l_child_wf_itemtype,
1120: itemkey => l_child_wf_itemkey,
1115: l_description :=PO_WF_UTIL_PKG.GetItemAttrText(itemtype => l_child_wf_itemtype,
1116: itemkey => l_child_wf_itemkey,
1117: aname => 'REQ_DESCRIPTION');
1118:
1119: l_req_total := PO_WF_UTIL_PKG.GetItemAttrText (itemtype => l_child_wf_itemtype,
1120: itemkey => l_child_wf_itemkey,
1121: aname => 'REQ_AMOUNT_CURRENCY_DSP');
1122:
1123: l_justification := PO_WF_UTIL_PKG.GetItemAttrText(itemtype => l_child_wf_itemtype,
1116: itemkey => l_child_wf_itemkey,
1117: aname => 'REQ_DESCRIPTION');
1118:
1119: l_req_total := PO_WF_UTIL_PKG.GetItemAttrText (itemtype => l_child_wf_itemtype,
1120: itemkey => l_child_wf_itemkey,
1121: aname => 'REQ_AMOUNT_CURRENCY_DSP');
1122:
1123: l_justification := PO_WF_UTIL_PKG.GetItemAttrText(itemtype => l_child_wf_itemtype,
1124: itemkey => l_child_wf_itemkey,
1119: l_req_total := PO_WF_UTIL_PKG.GetItemAttrText (itemtype => l_child_wf_itemtype,
1120: itemkey => l_child_wf_itemkey,
1121: aname => 'REQ_AMOUNT_CURRENCY_DSP');
1122:
1123: l_justification := PO_WF_UTIL_PKG.GetItemAttrText(itemtype => l_child_wf_itemtype,
1124: itemkey => l_child_wf_itemkey,
1125: aname => 'JUSTIFICATION');
1126:
1127: l_estimated_tax := PO_WF_UTIL_PKG.GetItemAttrText(itemtype => l_child_wf_itemtype,
1120: itemkey => l_child_wf_itemkey,
1121: aname => 'REQ_AMOUNT_CURRENCY_DSP');
1122:
1123: l_justification := PO_WF_UTIL_PKG.GetItemAttrText(itemtype => l_child_wf_itemtype,
1124: itemkey => l_child_wf_itemkey,
1125: aname => 'JUSTIFICATION');
1126:
1127: l_estimated_tax := PO_WF_UTIL_PKG.GetItemAttrText(itemtype => l_child_wf_itemtype,
1128: itemkey => l_child_wf_itemkey,
1123: l_justification := PO_WF_UTIL_PKG.GetItemAttrText(itemtype => l_child_wf_itemtype,
1124: itemkey => l_child_wf_itemkey,
1125: aname => 'JUSTIFICATION');
1126:
1127: l_estimated_tax := PO_WF_UTIL_PKG.GetItemAttrText(itemtype => l_child_wf_itemtype,
1128: itemkey => l_child_wf_itemkey,
1129: aname => 'TAX_AMOUNT_CURRENCY_DSP');
1130:
1131: l_total_amount_dsp:= PO_WF_UTIL_PKG.GetItemAttrText
1124: itemkey => l_child_wf_itemkey,
1125: aname => 'JUSTIFICATION');
1126:
1127: l_estimated_tax := PO_WF_UTIL_PKG.GetItemAttrText(itemtype => l_child_wf_itemtype,
1128: itemkey => l_child_wf_itemkey,
1129: aname => 'TAX_AMOUNT_CURRENCY_DSP');
1130:
1131: l_total_amount_dsp:= PO_WF_UTIL_PKG.GetItemAttrText
1132: ( itemtype => l_child_wf_itemtype,
1128: itemkey => l_child_wf_itemkey,
1129: aname => 'TAX_AMOUNT_CURRENCY_DSP');
1130:
1131: l_total_amount_dsp:= PO_WF_UTIL_PKG.GetItemAttrText
1132: ( itemtype => l_child_wf_itemtype,
1133: itemkey => l_child_wf_itemkey,
1134: aname => 'TOTAL_AMOUNT_DSP');
1135:
1136: open wf_notifs( l_child_wf_itemtype,l_child_wf_itemkey);
1129: aname => 'TAX_AMOUNT_CURRENCY_DSP');
1130:
1131: l_total_amount_dsp:= PO_WF_UTIL_PKG.GetItemAttrText
1132: ( itemtype => l_child_wf_itemtype,
1133: itemkey => l_child_wf_itemkey,
1134: aname => 'TOTAL_AMOUNT_DSP');
1135:
1136: open wf_notifs( l_child_wf_itemtype,l_child_wf_itemkey);
1137: loop
1132: ( itemtype => l_child_wf_itemtype,
1133: itemkey => l_child_wf_itemkey,
1134: aname => 'TOTAL_AMOUNT_DSP');
1135:
1136: open wf_notifs( l_child_wf_itemtype,l_child_wf_itemkey);
1137: loop
1138: fetch wf_notifs
1139: into l_notif_id;
1140: exit when wf_notifs%NOTFOUND;
1438: req_Header_Id IN NUMBER,
1439: X_AUTHORIZATION_STATUS IN VARCHAR2,
1440: X_SUPPL_NOTIFIED_FLAG IN VARCHAR2,
1441: X_CONTRACTOR_REQ_FLAG IN VARCHAR2,
1442: X_WF_ITEM_KEY IN VARCHAR2,
1443: X_WF_ITEM_TYPE IN VARCHAR2,
1444: resume_contractor IN OUT NOCOPY VARCHAR2)
1445: IS
1446:
1439: X_AUTHORIZATION_STATUS IN VARCHAR2,
1440: X_SUPPL_NOTIFIED_FLAG IN VARCHAR2,
1441: X_CONTRACTOR_REQ_FLAG IN VARCHAR2,
1442: X_WF_ITEM_KEY IN VARCHAR2,
1443: X_WF_ITEM_TYPE IN VARCHAR2,
1444: resume_contractor IN OUT NOCOPY VARCHAR2)
1445: IS
1446:
1447: BEGIN
1457:
1458: IF X_AUTHORIZATION_STATUS = 'APPROVED' THEN
1459: -- REMOVE THE BLOCK
1460: BEGIN
1461: wf_engine.CompleteActivity(X_WF_ITEM_TYPE, X_WF_ITEM_KEY, 'COMM_CONTR_SUPPLIER_BLOCK','NULL');
1462: EXCEPTION
1463: WHEN OTHERS THEN
1464: PO_WF_DEBUG_PKG.insert_debug(X_WF_ITEM_TYPE, X_WF_ITEM_KEY,
1465: 'ERROR while running wf_engine.CompleteActivity:' || SQLERRM);
1460: BEGIN
1461: wf_engine.CompleteActivity(X_WF_ITEM_TYPE, X_WF_ITEM_KEY, 'COMM_CONTR_SUPPLIER_BLOCK','NULL');
1462: EXCEPTION
1463: WHEN OTHERS THEN
1464: PO_WF_DEBUG_PKG.insert_debug(X_WF_ITEM_TYPE, X_WF_ITEM_KEY,
1465: 'ERROR while running wf_engine.CompleteActivity:' || SQLERRM);
1466: END;
1467: IF (g_po_wf_debug = 'Y') THEN
1468: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(X_WF_ITEM_TYPE, X_WF_ITEM_KEY,
1464: PO_WF_DEBUG_PKG.insert_debug(X_WF_ITEM_TYPE, X_WF_ITEM_KEY,
1465: 'ERROR while running wf_engine.CompleteActivity:' || SQLERRM);
1466: END;
1467: IF (g_po_wf_debug = 'Y') THEN
1468: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(X_WF_ITEM_TYPE, X_WF_ITEM_KEY,
1469: 'AFTER wf_engine.CompleteActivity');
1470: END IF;
1471: resume_contractor := 'Y';
1472: ELSE
1471: resume_contractor := 'Y';
1472: ELSE
1473: IF X_AUTHORIZATION_STATUS = 'IN PROCESS' THEN
1474: IF (g_po_wf_debug = 'Y') THEN
1475: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(X_WF_ITEM_TYPE, X_WF_ITEM_KEY,
1476: 'X_AUTHORIZATION_STATUS = IN PROCESS');
1477: END IF;
1478: --ABORT THE EXISTING WF
1479: WF_Engine.AbortProcess(X_WF_ITEM_TYPE, X_WF_ITEM_KEY);
1475: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(X_WF_ITEM_TYPE, X_WF_ITEM_KEY,
1476: 'X_AUTHORIZATION_STATUS = IN PROCESS');
1477: END IF;
1478: --ABORT THE EXISTING WF
1479: WF_Engine.AbortProcess(X_WF_ITEM_TYPE, X_WF_ITEM_KEY);
1480: WF_PURGE.total (X_WF_ITEM_TYPE, X_WF_ITEM_KEY);
1481: update po_requisition_headers_all
1482: set WF_ITEM_TYPE = NULL, WF_ITEM_KEY = NULL
1483: where REQUISITION_HEADER_ID = req_Header_Id;
1476: 'X_AUTHORIZATION_STATUS = IN PROCESS');
1477: END IF;
1478: --ABORT THE EXISTING WF
1479: WF_Engine.AbortProcess(X_WF_ITEM_TYPE, X_WF_ITEM_KEY);
1480: WF_PURGE.total (X_WF_ITEM_TYPE, X_WF_ITEM_KEY);
1481: update po_requisition_headers_all
1482: set WF_ITEM_TYPE = NULL, WF_ITEM_KEY = NULL
1483: where REQUISITION_HEADER_ID = req_Header_Id;
1484: END IF;
1478: --ABORT THE EXISTING WF
1479: WF_Engine.AbortProcess(X_WF_ITEM_TYPE, X_WF_ITEM_KEY);
1480: WF_PURGE.total (X_WF_ITEM_TYPE, X_WF_ITEM_KEY);
1481: update po_requisition_headers_all
1482: set WF_ITEM_TYPE = NULL, WF_ITEM_KEY = NULL
1483: where REQUISITION_HEADER_ID = req_Header_Id;
1484: END IF;
1485: END IF;
1486: END IF;
1544: p_document_subtype PO_REQUISITION_HEADERS_ALL.TYPE_LOOKUP_CODE%TYPE := 'PURCHASE';
1545: X_AUTHORIZATION_STATUS PO_REQUISITION_HEADERS_ALL.authorization_status%TYPE;
1546: X_SUPPL_NOTIFIED_FLAG PO_REQUISITION_HEADERS_ALL.supplier_notified_flag%TYPE;
1547: X_CONTRACTOR_REQ_FLAG PO_REQUISITION_HEADERS_ALL.contractor_requisition_flag%TYPE;
1548: X_WF_ITEM_KEY PO_REQUISITION_HEADERS_ALL.wf_item_key%TYPE;
1549: X_WF_ITEM_TYPE PO_REQUISITION_HEADERS_ALL.wf_item_type%TYPE;
1550: BEGIN
1551:
1552: begin
1545: X_AUTHORIZATION_STATUS PO_REQUISITION_HEADERS_ALL.authorization_status%TYPE;
1546: X_SUPPL_NOTIFIED_FLAG PO_REQUISITION_HEADERS_ALL.supplier_notified_flag%TYPE;
1547: X_CONTRACTOR_REQ_FLAG PO_REQUISITION_HEADERS_ALL.contractor_requisition_flag%TYPE;
1548: X_WF_ITEM_KEY PO_REQUISITION_HEADERS_ALL.wf_item_key%TYPE;
1549: X_WF_ITEM_TYPE PO_REQUISITION_HEADERS_ALL.wf_item_type%TYPE;
1550: BEGIN
1551:
1552: begin
1553:
1553:
1554: --If it is contractor req and status is approved, we should continue the
1555: --existing wf else we abort the earlier wf is it exists and launch a new wf
1556: SELECT authorization_status, supplier_notified_flag,
1557: contractor_requisition_flag, wf_item_key, wf_item_type,
1558: type_lookup_code
1559: INTO X_AUTHORIZATION_STATUS, X_SUPPL_NOTIFIED_FLAG,
1560: X_CONTRACTOR_REQ_FLAG, X_WF_ITEM_KEY, X_WF_ITEM_TYPE,
1561: p_document_subtype
1556: SELECT authorization_status, supplier_notified_flag,
1557: contractor_requisition_flag, wf_item_key, wf_item_type,
1558: type_lookup_code
1559: INTO X_AUTHORIZATION_STATUS, X_SUPPL_NOTIFIED_FLAG,
1560: X_CONTRACTOR_REQ_FLAG, X_WF_ITEM_KEY, X_WF_ITEM_TYPE,
1561: p_document_subtype
1562: FROM PO_REQUISITION_HEADERS_ALL
1563: WHERE REQUISITION_HEADER_ID = req_Header_Id;
1564:
1564:
1565: IF (g_po_wf_debug = 'Y') THEN
1566:
1567: /* DEBUG */
1568: PO_WF_DEBUG_PKG.insert_debug(X_WF_ITEM_TYPE, X_WF_ITEM_KEY,
1569: 'X_AUTHORIZATION_STATUS, X_SUPPL_NOTIFIED_FLAG,
1570: X_CONTRACTOR_REQ_FLAG, X_WF_ITEM_KEY, X_WF_ITEM_TYPE:' ||
1571: X_AUTHORIZATION_STATUS || X_SUPPL_NOTIFIED_FLAG ||
1572: X_CONTRACTOR_REQ_FLAG || X_WF_ITEM_KEY || X_WF_ITEM_TYPE);
1566:
1567: /* DEBUG */
1568: PO_WF_DEBUG_PKG.insert_debug(X_WF_ITEM_TYPE, X_WF_ITEM_KEY,
1569: 'X_AUTHORIZATION_STATUS, X_SUPPL_NOTIFIED_FLAG,
1570: X_CONTRACTOR_REQ_FLAG, X_WF_ITEM_KEY, X_WF_ITEM_TYPE:' ||
1571: X_AUTHORIZATION_STATUS || X_SUPPL_NOTIFIED_FLAG ||
1572: X_CONTRACTOR_REQ_FLAG || X_WF_ITEM_KEY || X_WF_ITEM_TYPE);
1573:
1574: END IF;
1568: PO_WF_DEBUG_PKG.insert_debug(X_WF_ITEM_TYPE, X_WF_ITEM_KEY,
1569: 'X_AUTHORIZATION_STATUS, X_SUPPL_NOTIFIED_FLAG,
1570: X_CONTRACTOR_REQ_FLAG, X_WF_ITEM_KEY, X_WF_ITEM_TYPE:' ||
1571: X_AUTHORIZATION_STATUS || X_SUPPL_NOTIFIED_FLAG ||
1572: X_CONTRACTOR_REQ_FLAG || X_WF_ITEM_KEY || X_WF_ITEM_TYPE);
1573:
1574: END IF;
1575:
1576: resume_contractor_appr_wf(req_Header_Id, X_AUTHORIZATION_STATUS, X_SUPPL_NOTIFIED_FLAG, X_CONTRACTOR_REQ_FLAG, X_WF_ITEM_KEY, X_WF_ITEM_TYPE, p_resume_contractor);
1572: X_CONTRACTOR_REQ_FLAG || X_WF_ITEM_KEY || X_WF_ITEM_TYPE);
1573:
1574: END IF;
1575:
1576: resume_contractor_appr_wf(req_Header_Id, X_AUTHORIZATION_STATUS, X_SUPPL_NOTIFIED_FLAG, X_CONTRACTOR_REQ_FLAG, X_WF_ITEM_KEY, X_WF_ITEM_TYPE, p_resume_contractor);
1577:
1578: -- If it is a contractor req, supplier is notified, and req is approved then continue wf
1579: IF (p_resume_contractor = 'Y') THEN
1580: RETURN 'Y';
1585: raise;
1586: end;
1587:
1588: SELECT
1589: to_char(req_Header_Id) || '-' || to_char(PO_WF_ITEMKEY_S.nextval)
1590: INTO p_item_key
1591: FROM sys.dual;
1592:
1593: SELECT
2400: ORDER BY sequence_num desc;
2401:
2402: cursor c1(itemtype varchar2, itemkey varchar2) is
2403: select item_key
2404: from wf_items item
2405: where item.item_type = itemtype
2406: AND item.parent_item_key = itemkey;
2407: xAmeTransactionType VARCHAR2(1000);
2408: BEGIN
2432:
2433: END;
2434: END IF;
2435: -- abort workflow
2436: SELECT wf_item_type, wf_item_key, type_lookup_code
2437: INTO l_item_type, l_item_key, l_doc_sub_type
2438: FROM po_requisition_headers_all
2439: WHERE requisition_header_id= p_headerId;
2440:
2441: l_progress := '010';
2442:
2443: -- update wf keys and status
2444: UPDATE po_requisition_headers_all
2445: SET wf_item_type = NULL,
2446: wf_item_key = NULL,
2447: authorization_status = 'INCOMPLETE'
2448: WHERE requisition_header_id = p_headerId;
2449:
2442:
2443: -- update wf keys and status
2444: UPDATE po_requisition_headers_all
2445: SET wf_item_type = NULL,
2446: wf_item_key = NULL,
2447: authorization_status = 'INCOMPLETE'
2448: WHERE requisition_header_id = p_headerId;
2449:
2450: l_progress := '020';
2462:
2463: BEGIN
2464: SELECT NVL(activity_status, 'N')
2465: INTO l_activity_status
2466: FROM wf_item_activity_statuses wfs,
2467: wf_items wfi,
2468: wf_process_activities wfa
2469: WHERE wfi.item_type = l_item_type
2470: and wfi.item_key = l_item_key
2463: BEGIN
2464: SELECT NVL(activity_status, 'N')
2465: INTO l_activity_status
2466: FROM wf_item_activity_statuses wfs,
2467: wf_items wfi,
2468: wf_process_activities wfa
2469: WHERE wfi.item_type = l_item_type
2470: and wfi.item_key = l_item_key
2471: and wfa.activity_name = wfi.root_activity
2501:
2502: BEGIN
2503: SELECT NVL(activity_status, 'N')
2504: INTO l_activity_status
2505: FROM wf_item_activity_statuses wfs,
2506: wf_items wfi,
2507: wf_process_activities wfa
2508: WHERE wfi.item_type = l_item_type
2509: and wfi.item_key = c1_rec.item_key
2502: BEGIN
2503: SELECT NVL(activity_status, 'N')
2504: INTO l_activity_status
2505: FROM wf_item_activity_statuses wfs,
2506: wf_items wfi,
2507: wf_process_activities wfa
2508: WHERE wfi.item_type = l_item_type
2509: and wfi.item_key = c1_rec.item_key
2510: and wfa.activity_name = wfi.root_activity
3227: PROCEDURE cancel_workflow(p_headerId in NUMBER) IS
3228:
3229: cursor c1(itemtype varchar2, itemkey varchar2) is
3230: select stat.notification_id
3231: from wf_item_activity_statuses stat,
3232: wf_items item
3233: where stat.item_type = itemtype
3234: AND item.item_type = itemtype
3235: AND item.parent_item_key = itemkey
3228:
3229: cursor c1(itemtype varchar2, itemkey varchar2) is
3230: select stat.notification_id
3231: from wf_item_activity_statuses stat,
3232: wf_items item
3233: where stat.item_type = itemtype
3234: AND item.item_type = itemtype
3235: AND item.parent_item_key = itemkey
3236: AND stat.item_key = item.item_key
3236: AND stat.item_key = item.item_key
3237: AND stat.activity_status = 'NOTIFIED'
3238: UNION
3239: select notification_id
3240: from wf_item_activity_statuses
3241: where item_type = itemtype
3242: AND item_key = itemkey
3243: AND activity_status = 'NOTIFIED'
3244: AND notification_id is NOT NULL;
3260: FND_LOG.STRING(G_LEVEL_STATEMENT, G_MODULE_NAME || l_procedure_name, 'Entering cancel_workflow...');
3261: END IF;
3262:
3263: -- get item_type and item_key
3264: select wf_item_type, wf_item_key
3265: into itype, ikey
3266: from po_requisition_headers
3267: where requisition_header_id = p_headerId;
3268:
3267: where requisition_header_id = p_headerId;
3268:
3269: IF (G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL ) THEN
3270: FND_LOG.STRING(G_LEVEL_STATEMENT, G_MODULE_NAME || l_procedure_name, ' p_headerId = ' || p_headerId);
3271: FND_LOG.STRING(G_LEVEL_STATEMENT, G_MODULE_NAME || l_procedure_name, ' wf_item_type = ' || itype);
3272: FND_LOG.STRING(G_LEVEL_STATEMENT, G_MODULE_NAME || l_procedure_name, ' wf_item_key = ' || ikey);
3273: END IF;
3274:
3275: for c1_rec in c1(itype, ikey) LOOP
3268:
3269: IF (G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL ) THEN
3270: FND_LOG.STRING(G_LEVEL_STATEMENT, G_MODULE_NAME || l_procedure_name, ' p_headerId = ' || p_headerId);
3271: FND_LOG.STRING(G_LEVEL_STATEMENT, G_MODULE_NAME || l_procedure_name, ' wf_item_type = ' || itype);
3272: FND_LOG.STRING(G_LEVEL_STATEMENT, G_MODULE_NAME || l_procedure_name, ' wf_item_key = ' || ikey);
3273: END IF;
3274:
3275: for c1_rec in c1(itype, ikey) LOOP
3276:
4840: l_o_charge_account_desc VARCHAR2(2000);
4841: l_o_budget_account_desc VARCHAR2(2000);
4842: l_o_accrual_account_desc VARCHAR2(2000);
4843: l_o_variance_account_desc VARCHAR2(2000);
4844: l_o_wf_itemkey VARCHAR2(50);
4845: l_o_new_combation VARCHAR2(50);
4846: l_o_FB_ERROR_MSG VARCHAR2(50);
4847: TYPE c_req_import_csr
4848: IS
5029: x_result_billable_flag => NULL, x_preparer_id => l_preparer_id, x_project_id => l_i_project_id, x_document_type_code => l_document_type_code, x_blanket_po_header_id => NULL,
5030: x_source_type_code => l_source_type_code, x_source_organization_id => l_source_organization_id, x_source_subinventory => l_source_subventory, x_task_id => l_i_task_id, x_award_set_id => l_award_set_id,
5031: x_deliver_to_person_id => l_deliver_to_requestor_id, x_type_lookup_code => l_source_type_code, x_suggested_vendor_id => l_suggested_vendor_id, x_suggested_vendor_site_id => l_suggested_vendor_site_id,
5032: x_wip_entity_id => l_wip_entity_id, x_wip_entity_type => NULL, x_wip_line_id => l_wip_line_id, x_wip_repetitive_schedule_id => l_wip_repetitive_schedule_id, x_wip_operation_seq_num => l_wip_operation_seq_num,
5033: x_wip_resource_seq_num => l_wip_resource_seq_num, x_po_encumberance_flag => l_prevent_encumbrance_flag, x_gl_encumbered_date => l_gl_date, wf_itemkey => l_o_wf_itemkey, V_new_combination => l_o_new_combation,
5034: header_att1 => l_header_att1, header_att2 => l_header_att2, header_att3 => l_header_att3, header_att4 => l_header_att4, header_att5 => l_header_att5,
5035: header_att6 => l_header_att6, header_att7 => l_header_att7, header_att8 => l_header_att8, header_att9 => l_header_att9, header_att10 => l_header_att10,
5036: header_att11 => l_header_att11, header_att12 => l_header_att12, header_att13 => l_header_att13, header_att14 => l_header_att14, header_att15 => l_header_att15,
5037: line_att1 => l_line_att1, line_att2 => l_line_att2, line_att3 => l_line_att3, line_att4 => l_line_att4, line_att5 => l_line_att5,
5288: l_o_charge_account_desc VARCHAR2(2000);
5289: l_o_budget_account_desc VARCHAR2(2000);
5290: l_o_accrual_account_desc VARCHAR2(2000);
5291: l_o_variance_account_desc VARCHAR2(2000);
5292: l_o_wf_itemkey VARCHAR2(50);
5293: l_o_new_combation VARCHAR2(50);
5294: l_o_FB_ERROR_MSG VARCHAR2(50);
5295: TYPE c_req_import_csr
5296: IS
5479: x_source_organization_id => l_source_organization_id, x_source_subinventory => l_source_subventory, x_task_id => l_i_task_id, x_award_set_id => l_award_set_id,
5480: x_deliver_to_person_id => l_deliver_to_requestor_id, x_type_lookup_code => l_source_type_code, x_suggested_vendor_id => l_suggested_vendor_id, x_suggested_vendor_site_id => l_suggested_vendor_site_id,
5481: x_wip_entity_id => l_wip_entity_id, x_wip_entity_type => NULL, x_wip_line_id => l_wip_line_id, x_wip_repetitive_schedule_id => l_wip_repetitive_schedule_id,
5482: x_wip_operation_seq_num => l_wip_operation_seq_num, x_wip_resource_seq_num => l_wip_resource_seq_num, x_po_encumberance_flag => l_prevent_encumbrance_flag, x_gl_encumbered_date => l_gl_date,
5483: wf_itemkey => l_o_wf_itemkey, V_new_combination => l_o_new_combation,
5484: header_att1 => l_header_att1, header_att2 => l_header_att2, header_att3 => l_header_att3, header_att4 => l_header_att4, header_att5 => l_header_att5,
5485: header_att6 => l_header_att6, header_att7 => l_header_att7, header_att8 => l_header_att8, header_att9 => l_header_att9, header_att10 => l_header_att10,
5486: header_att11 => l_header_att11, header_att12 => l_header_att12, header_att13 => l_header_att13, header_att14 => l_header_att14, header_att15 => l_header_att15,
5487: line_att1 => l_line_att1, line_att2 => l_line_att2, line_att3 => l_line_att3, line_att4 => l_line_att4, line_att5 => l_line_att5,
5951: l_notification_id NUMBER;
5952: l_segment1 VARCHAR2(30);
5953:
5954: BEGIN
5955: select to_char (PO_WF_ITEMKEY_S.NEXTVAL) into l_seq_for_item_key from sys.dual;
5956: l_itemkey := to_char(p_document_id) || '-' || l_seq_for_item_key;
5957: l_itemtype := 'REQAPPRV';
5958: l_progress := 'POR_UTIL_PKG.Start_Email_WF_Process: at beginning of Start_Email_WF_Process';
5959: