1: PACKAGE BODY AHL_ROUTE_APPROVAL_PVT AS
2: /* $Header: AHLVRWKB.pls 115.14 2004/05/19 16:14:41 bachandr noship $ */
3: --G_DEBUG VARCHAR2(1):=FND_PROFILE.VALUE('AHL_API_FILE_DEBUG_ON');
4: G_DEBUG VARCHAR2(1) := AHL_DEBUG_PUB.is_log_enabled;
5: PROCEDURE Set_Activity_Details(
6: itemtype IN VARCHAR2
7: ,itemkey IN VARCHAR2
8: ,actid IN NUMBER
36:
37:
38: BEGIN
39: IF G_DEBUG='Y' THEN
40: AHL_DEBUG_PUB.enable_debug;
41: AHL_DEBUG_PUB.debug( 'Start SetActvityDetails','+DebugWfRoute+');
42: END IF;
43: -- Debug info.
44:
37:
38: BEGIN
39: IF G_DEBUG='Y' THEN
40: AHL_DEBUG_PUB.enable_debug;
41: AHL_DEBUG_PUB.debug( 'Start SetActvityDetails','+DebugWfRoute+');
42: END IF;
43: -- Debug info.
44:
45: fnd_msg_pub.initialize;
72: l_subject := fnd_message.get;
73: END IF;
74: CLOSE GetRouteDet;
75: IF G_DEBUG='Y' THEN
76: AHL_DEBUG_PUB.debug( 'Route No'||l_route_rec.route_no,'+DebugWfRoute+');
77: AHL_DEBUG_PUB.debug( 'Subject:'||l_subject,'+DebugWfRoute+');
78: END IF;
79:
80: wf_engine.setitemattrtext(
73: END IF;
74: CLOSE GetRouteDet;
75: IF G_DEBUG='Y' THEN
76: AHL_DEBUG_PUB.debug( 'Route No'||l_route_rec.route_no,'+DebugWfRoute+');
77: AHL_DEBUG_PUB.debug( 'Subject:'||l_subject,'+DebugWfRoute+');
78: END IF;
79:
80: wf_engine.setitemattrtext(
81: itemtype => itemtype
126: ,aname => 'ERROR_SUBJECT'
127: ,avalue => l_subject
128: );
129: IF G_DEBUG='Y' THEN
130: AHL_DEBUG_PUB.debug( 'l_subject'||l_subject,'+DebugWfRoute+');
131: END IF;
132:
133: -----------------------------------------------------------------------------------
134: -- Get Approval Rule and First Approver Sequence
133: -----------------------------------------------------------------------------------
134: -- Get Approval Rule and First Approver Sequence
135: -----------------------------------------------------------------------------------
136: IF G_DEBUG='Y' THEN
137: AHL_DEBUG_PUB.debug( 'Before getting approval details'||l_subject,'+DebugWfRoute+');
138: AHL_DEBUG_PUB.debug( '---l_object-->'||l_object,'+DebugWfRoute+');
139: AHL_DEBUG_PUB.debug( '---l_approval_type-->'||l_approval_type,'+DebugWfRoute+');
140: AHL_DEBUG_PUB.debug( '---l_approval_RULE_ID-->'||TO_CHAR(L_APPROVAL_RULE_ID),'+DebugWfRoute+');
141: AHL_DEBUG_PUB.debug( '---l_approval_RULE_ID-->'||TO_CHAR(L_APPROVER_SEQ),'+DebugWfRoute+');
134: -- Get Approval Rule and First Approver Sequence
135: -----------------------------------------------------------------------------------
136: IF G_DEBUG='Y' THEN
137: AHL_DEBUG_PUB.debug( 'Before getting approval details'||l_subject,'+DebugWfRoute+');
138: AHL_DEBUG_PUB.debug( '---l_object-->'||l_object,'+DebugWfRoute+');
139: AHL_DEBUG_PUB.debug( '---l_approval_type-->'||l_approval_type,'+DebugWfRoute+');
140: AHL_DEBUG_PUB.debug( '---l_approval_RULE_ID-->'||TO_CHAR(L_APPROVAL_RULE_ID),'+DebugWfRoute+');
141: AHL_DEBUG_PUB.debug( '---l_approval_RULE_ID-->'||TO_CHAR(L_APPROVER_SEQ),'+DebugWfRoute+');
142: END IF;
135: -----------------------------------------------------------------------------------
136: IF G_DEBUG='Y' THEN
137: AHL_DEBUG_PUB.debug( 'Before getting approval details'||l_subject,'+DebugWfRoute+');
138: AHL_DEBUG_PUB.debug( '---l_object-->'||l_object,'+DebugWfRoute+');
139: AHL_DEBUG_PUB.debug( '---l_approval_type-->'||l_approval_type,'+DebugWfRoute+');
140: AHL_DEBUG_PUB.debug( '---l_approval_RULE_ID-->'||TO_CHAR(L_APPROVAL_RULE_ID),'+DebugWfRoute+');
141: AHL_DEBUG_PUB.debug( '---l_approval_RULE_ID-->'||TO_CHAR(L_APPROVER_SEQ),'+DebugWfRoute+');
142: END IF;
143: ahl_generic_aprv_pvt.get_approval_details(
136: IF G_DEBUG='Y' THEN
137: AHL_DEBUG_PUB.debug( 'Before getting approval details'||l_subject,'+DebugWfRoute+');
138: AHL_DEBUG_PUB.debug( '---l_object-->'||l_object,'+DebugWfRoute+');
139: AHL_DEBUG_PUB.debug( '---l_approval_type-->'||l_approval_type,'+DebugWfRoute+');
140: AHL_DEBUG_PUB.debug( '---l_approval_RULE_ID-->'||TO_CHAR(L_APPROVAL_RULE_ID),'+DebugWfRoute+');
141: AHL_DEBUG_PUB.debug( '---l_approval_RULE_ID-->'||TO_CHAR(L_APPROVER_SEQ),'+DebugWfRoute+');
142: END IF;
143: ahl_generic_aprv_pvt.get_approval_details(
144: p_object => l_object,
137: AHL_DEBUG_PUB.debug( 'Before getting approval details'||l_subject,'+DebugWfRoute+');
138: AHL_DEBUG_PUB.debug( '---l_object-->'||l_object,'+DebugWfRoute+');
139: AHL_DEBUG_PUB.debug( '---l_approval_type-->'||l_approval_type,'+DebugWfRoute+');
140: AHL_DEBUG_PUB.debug( '---l_approval_RULE_ID-->'||TO_CHAR(L_APPROVAL_RULE_ID),'+DebugWfRoute+');
141: AHL_DEBUG_PUB.debug( '---l_approval_RULE_ID-->'||TO_CHAR(L_APPROVER_SEQ),'+DebugWfRoute+');
142: END IF;
143: ahl_generic_aprv_pvt.get_approval_details(
144: p_object => l_object,
145: p_approval_type => l_approval_type,
150: );
151:
152:
153: IF G_DEBUG='Y' THEN
154: AHL_DEBUG_PUB.debug( 'AfterGetApprovalDetails:'||l_return_status||'-'||l_subject,'+DebugWfRoute+');
155: END IF;
156:
157: IF l_return_status = fnd_api.g_ret_sts_success THEN
158:
265: l_route_rec GetRouteDet%rowtype;
266:
267: BEGIN
268: IF G_DEBUG='Y' THEN
269: AHL_DEBUG_PUB.enable_debug;
270: AHL_DEBUG_PUB.debug( 'Start NtfForwardFyi','+DebugWfRoute+');
271: END IF;
272:
273: -- Debug info.
266:
267: BEGIN
268: IF G_DEBUG='Y' THEN
269: AHL_DEBUG_PUB.enable_debug;
270: AHL_DEBUG_PUB.debug( 'Start NtfForwardFyi','+DebugWfRoute+');
271: END IF;
272:
273: -- Debug info.
274:
382: l_route_rec GetRouteDet%rowtype;
383:
384: BEGIN
385: IF G_DEBUG='Y' THEN
386: AHL_DEBUG_PUB.enable_debug;
387: AHL_DEBUG_PUB.debug( 'Start NtfApproved Fyi','DebugWfRoute');
388: END IF;
389:
390: document_type := 'text/plain';
383:
384: BEGIN
385: IF G_DEBUG='Y' THEN
386: AHL_DEBUG_PUB.enable_debug;
387: AHL_DEBUG_PUB.debug( 'Start NtfApproved Fyi','DebugWfRoute');
388: END IF;
389:
390: document_type := 'text/plain';
391:
494:
495: BEGIN
496:
497: IF G_DEBUG='Y' THEN
498: AHL_DEBUG_PUB.enable_debug;
499: AHL_DEBUG_PUB.debug( 'NtfyFinalApprovalFyi','+DebugWfRoute+');
500: END IF;
501:
502:
495: BEGIN
496:
497: IF G_DEBUG='Y' THEN
498: AHL_DEBUG_PUB.enable_debug;
499: AHL_DEBUG_PUB.debug( 'NtfyFinalApprovalFyi','+DebugWfRoute+');
500: END IF;
501:
502:
503: document_type := 'text/plain';
502:
503: document_type := 'text/plain';
504:
505: IF G_DEBUG='Y' THEN
506: AHL_DEBUG_PUB.debug( 'Notify Final approval;','+Testin Workflow for ROUTE+');
507: END IF;
508: -- parse document_id for the ':' dividing item type name from item key value
509: -- document_id value will take the form
510: -- release 2.5 version of this demo
609:
610: l_route_rec GetRouteDet%rowtype;
611: BEGIN
612: IF G_DEBUG='Y' THEN
613: AHL_DEBUG_PUB.enable_debug;
614: AHL_DEBUG_PUB.debug( 'Start NtfyRejectedFYi','+DebugWfRoute+');
615: END IF;
616:
617:
610: l_route_rec GetRouteDet%rowtype;
611: BEGIN
612: IF G_DEBUG='Y' THEN
613: AHL_DEBUG_PUB.enable_debug;
614: AHL_DEBUG_PUB.debug( 'Start NtfyRejectedFYi','+DebugWfRoute+');
615: END IF;
616:
617:
618: document_type := 'text/plain';
727: l_route_rec GetRouteDet%rowtype;
728: BEGIN
729:
730: IF G_DEBUG='Y' THEN
731: AHL_DEBUG_PUB.enable_debug;
732: AHL_DEBUG_PUB.debug( 'Start NtfyApproval','+DebugWfRoute+');
733: END IF;
734:
735: document_type := 'text/plain';
728: BEGIN
729:
730: IF G_DEBUG='Y' THEN
731: AHL_DEBUG_PUB.enable_debug;
732: AHL_DEBUG_PUB.debug( 'Start NtfyApproval','+DebugWfRoute+');
733: END IF;
734:
735: document_type := 'text/plain';
736:
849:
850: l_route_rec GetRouteDet%rowtype;
851: BEGIN
852: IF G_DEBUG='Y' THEN
853: AHL_DEBUG_PUB.enable_debug;
854: AHL_DEBUG_PUB.debug( 'Start NtfyApprovalRemainder','+DebugWfRoute+');
855: END IF;
856:
857:
850: l_route_rec GetRouteDet%rowtype;
851: BEGIN
852: IF G_DEBUG='Y' THEN
853: AHL_DEBUG_PUB.enable_debug;
854: AHL_DEBUG_PUB.debug( 'Start NtfyApprovalRemainder','+DebugWfRoute+');
855: END IF;
856:
857:
858: document_type := 'text/plain';
975:
976: l_route_rec GetRouteDet%rowtype;
977: BEGIN
978: IF G_DEBUG='Y' THEN
979: AHL_DEBUG_PUB.enable_debug;
980: AHL_DEBUG_PUB.debug( 'NtfyErrorAct','+DebugWfRoute+');
981: END IF;
982:
983:
976: l_route_rec GetRouteDet%rowtype;
977: BEGIN
978: IF G_DEBUG='Y' THEN
979: AHL_DEBUG_PUB.enable_debug;
980: AHL_DEBUG_PUB.debug( 'NtfyErrorAct','+DebugWfRoute+');
981: END IF;
982:
983:
984: document_type := 'text/plain';
1111: where route_id=c_route_id;
1112: l_route_rec GetRouteDet%rowtype;
1113: BEGIN
1114: IF G_DEBUG='Y' THEN
1115: AHL_DEBUG_PUB.enable_debug;
1116: AHL_DEBUG_PUB.debug( 'Start UpdateStatus','+DebugWfRoute+');
1117: END IF;
1118:
1119: IF funcmode = 'RUN' THEN
1112: l_route_rec GetRouteDet%rowtype;
1113: BEGIN
1114: IF G_DEBUG='Y' THEN
1115: AHL_DEBUG_PUB.enable_debug;
1116: AHL_DEBUG_PUB.debug( 'Start UpdateStatus','+DebugWfRoute+');
1117: END IF;
1118:
1119: IF funcmode = 'RUN' THEN
1120: l_approval_status := wf_engine.getitemattrtext(
1122: ,itemkey => itemkey
1123: ,aname => 'UPDATE_GEN_STATUS'
1124: );
1125: IF G_DEBUG='Y' THEN
1126: AHL_DEBUG_PUB.debug( 'After GetItemAttrText UpdateStatus','+DebugWfRoute+');
1127: END IF;
1128:
1129: IF l_approval_status = 'APPROVED' THEN
1130: l_next_status := wf_engine.getitemattrText(
1160: aname => 'APPROVER NOTE' );
1161:
1162:
1163: IF G_DEBUG='Y' THEN
1164: AHL_DEBUG_PUB.debug( 'l_object_id:'||to_char(l_object_id),'+DebugWfRoute+');
1165: AHL_DEBUG_PUB.debug( 'l_approvalStatus:'||l_approval_status,'+DebugWfRoute+');
1166: AHL_DEBUG_PUB.debug( 'Object version id check :'||to_char(l_object_id),'+DebugWfRoute+');
1167: AHL_DEBUG_PUB.debug( 'l_approval_status:'||l_approval_status,'+DebugWfRoute+');
1168: END IF;
1161:
1162:
1163: IF G_DEBUG='Y' THEN
1164: AHL_DEBUG_PUB.debug( 'l_object_id:'||to_char(l_object_id),'+DebugWfRoute+');
1165: AHL_DEBUG_PUB.debug( 'l_approvalStatus:'||l_approval_status,'+DebugWfRoute+');
1166: AHL_DEBUG_PUB.debug( 'Object version id check :'||to_char(l_object_id),'+DebugWfRoute+');
1167: AHL_DEBUG_PUB.debug( 'l_approval_status:'||l_approval_status,'+DebugWfRoute+');
1168: END IF;
1169:
1162:
1163: IF G_DEBUG='Y' THEN
1164: AHL_DEBUG_PUB.debug( 'l_object_id:'||to_char(l_object_id),'+DebugWfRoute+');
1165: AHL_DEBUG_PUB.debug( 'l_approvalStatus:'||l_approval_status,'+DebugWfRoute+');
1166: AHL_DEBUG_PUB.debug( 'Object version id check :'||to_char(l_object_id),'+DebugWfRoute+');
1167: AHL_DEBUG_PUB.debug( 'l_approval_status:'||l_approval_status,'+DebugWfRoute+');
1168: END IF;
1169:
1170: OPEN GetRouteDet(l_object_id);
1163: IF G_DEBUG='Y' THEN
1164: AHL_DEBUG_PUB.debug( 'l_object_id:'||to_char(l_object_id),'+DebugWfRoute+');
1165: AHL_DEBUG_PUB.debug( 'l_approvalStatus:'||l_approval_status,'+DebugWfRoute+');
1166: AHL_DEBUG_PUB.debug( 'Object version id check :'||to_char(l_object_id),'+DebugWfRoute+');
1167: AHL_DEBUG_PUB.debug( 'l_approval_status:'||l_approval_status,'+DebugWfRoute+');
1168: END IF;
1169:
1170: OPEN GetRouteDet(l_object_id);
1171: FETCH GetRouteDet INTO l_route_rec;
1188: p_object_version_number =>l_object_version_number,
1189: p_approver_note =>l_approver_note
1190: );
1191: IF G_DEBUG='Y' THEN
1192: AHL_DEBUG_PUB.debug( 'After CompleteRouteRevision:L_ApprovalStatus'||l_approval_status,'+DebugWfRoute+');
1193: END IF;
1194:
1195: if (sql%notfound)
1196: then
1228:
1229: EXCEPTION
1230: WHEN fnd_api.g_exc_error THEN
1231: IF G_DEBUG='Y' THEN
1232: AHL_DEBUG_PUB.debug( 'Error G_exec UpdateSatus:'||sqlerrm,'+DebugWfRoute+');
1233: END IF;
1234: FND_MSG_PUB.Count_And_Get (
1235: p_encoded => FND_API.G_FALSE,
1236: p_count => l_msg_count,
1249: RAISE;
1250:
1251: WHEN OTHERS THEN
1252: IF G_DEBUG='Y' THEN
1253: AHL_DEBUG_PUB.debug( 'UpdateStatus Whenothers Err:'||sqlerrm,'+DebugWfRoute+');
1254:
1255: END IF;
1256:
1257: wf_core.context(
1291: l_return_status VARCHAR2(1);
1292:
1293: BEGIN
1294: IF G_DEBUG='Y' THEN
1295: AHL_DEBUG_PUB.enable_debug;
1296: AHL_DEBUG_PUB.debug( 'Start RevertStatus','+DebugWfRoute+');
1297: END IF;
1298:
1299: l_return_Status:='S';
1292:
1293: BEGIN
1294: IF G_DEBUG='Y' THEN
1295: AHL_DEBUG_PUB.enable_debug;
1296: AHL_DEBUG_PUB.debug( 'Start RevertStatus','+DebugWfRoute+');
1297: END IF;
1298:
1299: l_return_Status:='S';
1300: IF funcmode = 'RUN' THEN