3:
4: l_debug VARCHAR2(1) := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
5:
6: APPLICATION_ERROR EXCEPTION;
7: -- Following function accepts FND userId and returns
8: -- User name
9: FUNCTION GET_FND_USER_NAME( userId Integer) RETURN VARCHAR2 IS
10: CURSOR GET_USER_NAME IS
11: SELECT USER_NAME
5:
6: APPLICATION_ERROR EXCEPTION;
7: -- Following function accepts FND userId and returns
8: -- User name
9: FUNCTION GET_FND_USER_NAME( userId Integer) RETURN VARCHAR2 IS
10: CURSOR GET_USER_NAME IS
11: SELECT USER_NAME
12: FROM FND_USER
13: WHERE USER_ID = userId;
8: -- User name
9: FUNCTION GET_FND_USER_NAME( userId Integer) RETURN VARCHAR2 IS
10: CURSOR GET_USER_NAME IS
11: SELECT USER_NAME
12: FROM FND_USER
13: WHERE USER_ID = userId;
14: l_userName FND_USER.USER_NAME%TYPE;
15: BEGIN
16: OPEN GET_USER_NAME;
10: CURSOR GET_USER_NAME IS
11: SELECT USER_NAME
12: FROM FND_USER
13: WHERE USER_ID = userId;
14: l_userName FND_USER.USER_NAME%TYPE;
15: BEGIN
16: OPEN GET_USER_NAME;
17: FETCH GET_USER_NAME INTO l_userName;
18: CLOSE GET_USER_NAME;
16: OPEN GET_USER_NAME;
17: FETCH GET_USER_NAME INTO l_userName;
18: CLOSE GET_USER_NAME;
19: RETURN l_userName;
20: END GET_FND_USER_NAME;
21:
22: /********************************************************************************
23: *** This procedure is associated with GMDQMSAP_ISAPROVAL_REQUIRED workflow. **
24: *** This code will execute when Stability Status Business Event is raised. **
39: transactionType varchar2(50) := 'GMDQM_STABILITY_CSTS';
40: nextApprover ame_util.approverRecord;
41:
42: l_userID integer;
43: l_userName FND_USER.USER_NAME%TYPE;
44: l_Requester FND_USER.USER_NAME%TYPE;
45: l_Owner FND_USER.USER_NAME%TYPE;
46: l_storage_name varchar2(200);
47:
40: nextApprover ame_util.approverRecord;
41:
42: l_userID integer;
43: l_userName FND_USER.USER_NAME%TYPE;
44: l_Requester FND_USER.USER_NAME%TYPE;
45: l_Owner FND_USER.USER_NAME%TYPE;
46: l_storage_name varchar2(200);
47:
48: lSSId number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'SS_ID');
41:
42: l_userID integer;
43: l_userName FND_USER.USER_NAME%TYPE;
44: l_Requester FND_USER.USER_NAME%TYPE;
45: l_Owner FND_USER.USER_NAME%TYPE;
46: l_storage_name varchar2(200);
47:
48: lSSId number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'SS_ID');
49: lStartStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'START_STATUS');
93:
94: disp_attr_rec get_disp_Attr%ROWTYPE;
95:
96: cursor get_owner_name (owner_id_in number) is
97: select user_name from fnd_user
98: where user_id = owner_id_in ;
99:
100:
101: CURSOR get_ss_time_unit (p_time varchar2) IS
168:
169:
170: elsif nextApprover.person_id IS NOT NULL THEN
171: --
172: -- if we got HR Person then we have to find corresponding FND USER
173: -- assumption here is all HR user configured in AME will have
174: -- corresponding FND USER
175: --
176: l_userID := ame_util.personIdToUserId(nextApprover.person_id);
170: elsif nextApprover.person_id IS NOT NULL THEN
171: --
172: -- if we got HR Person then we have to find corresponding FND USER
173: -- assumption here is all HR user configured in AME will have
174: -- corresponding FND USER
175: --
176: l_userID := ame_util.personIdToUserId(nextApprover.person_id);
177: ELSE
178: l_userID := nextApprover.user_id;
183: END IF;
184:
185:
186: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'USER_ID',l_userID);
187: l_userName := GET_FND_USER_NAME(l_userId);
188:
189: --
190: -- Update status to pending
191: --
225: IF (l_debug = 'Y') THEN
226: gmd_debug.put_line('Setting workflow attributes');
227: END IF;
228:
229: l_requester := GET_FND_USER_NAME(disp_attr_rec.LAST_UPDATED_BY);
230: l_owner := GET_FND_USER_NAME(disp_attr_rec.OWNER);
231: lStartStatus_DESC := GMD_SS_APPROVAL_WF_PKG.GET_STATUS_MEANING(lStartStatus,'STABILITY');
232: lTargetStatus_DESC:= GMD_SS_APPROVAL_WF_PKG.GET_STATUS_MEANING(lTargetStatus,'STABILITY');
233:
226: gmd_debug.put_line('Setting workflow attributes');
227: END IF;
228:
229: l_requester := GET_FND_USER_NAME(disp_attr_rec.LAST_UPDATED_BY);
230: l_owner := GET_FND_USER_NAME(disp_attr_rec.OWNER);
231: lStartStatus_DESC := GMD_SS_APPROVAL_WF_PKG.GET_STATUS_MEANING(lStartStatus,'STABILITY');
232: lTargetStatus_DESC:= GMD_SS_APPROVAL_WF_PKG.GET_STATUS_MEANING(lTargetStatus,'STABILITY');
233:
234: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_ORGN_CODE',disp_attr_rec.ORGANIZATION_CODE);
348: lStartStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'START_STATUS');
349: lTargetStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS');
350: lSSId number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'SS_ID');
351: l_userID integer;
352: l_userName FND_USER.USER_NAME%TYPE;
353: api_ret_status VARCHAR2(1);
354: api_se_ret_status VARCHAR2(1);
355: api_err_mesg VARCHAR2(240);
356:
408: p_resultout := 'COMPLETE:N';
409: ELSE
410: IF nextApprover.person_id IS NOT NULL THEN
411: --
412: -- if we got HR Person then we have to find corresponding FND USER
413: -- assumption here is all HR user configured in AME will have
414: -- corresponding FND USER
415: --
416: l_userID := ame_util.personIdToUserId(nextApprover.person_id);
410: IF nextApprover.person_id IS NOT NULL THEN
411: --
412: -- if we got HR Person then we have to find corresponding FND USER
413: -- assumption here is all HR user configured in AME will have
414: -- corresponding FND USER
415: --
416: l_userID := ame_util.personIdToUserId(nextApprover.person_id);
417: ELSE
418: l_userID := nextApprover.user_id;
416: l_userID := ame_util.personIdToUserId(nextApprover.person_id);
417: ELSE
418: l_userID := nextApprover.user_id;
419: END IF;
420: l_userName := GET_FND_USER_NAME(l_userId);
421: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'USER_ID',l_userID);
422: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'APPROVER',l_userName);
423: p_resultout := 'COMPLETE:Y';
424: END IF;
531: transactionTypeIn => transactionType,
532: nextApproverOut => nextApprover);
533: IF nextApprover.person_id IS NOT NULL THEN
534: --
535: -- if we got HR Person then we have to find corresponding FND USER
536: -- assumption here is all HR user configured in AME will have
537: -- corresponding FND USER
538: --
539: new_user_id := ame_util.personIdToUserId(nextApprover.person_id);
533: IF nextApprover.person_id IS NOT NULL THEN
534: --
535: -- if we got HR Person then we have to find corresponding FND USER
536: -- assumption here is all HR user configured in AME will have
537: -- corresponding FND USER
538: --
539: new_user_id := ame_util.personIdToUserId(nextApprover.person_id);
540: ELSE
541: new_user_id := nextApprover.user_id;
601: transactionTypeIn => transactionType,
602: nextApproverOut => nextApprover);
603: IF nextApprover.person_id IS NOT NULL THEN
604: --
605: -- if we got HR Person then we have to find corresponding FND USER
606: -- assumption here is all HR user configured in AME will have
607: -- corresponding FND USER
608: --
609: new_user_id := ame_util.personIdToUserId(nextApprover.person_id);
603: IF nextApprover.person_id IS NOT NULL THEN
604: --
605: -- if we got HR Person then we have to find corresponding FND USER
606: -- assumption here is all HR user configured in AME will have
607: -- corresponding FND USER
608: --
609: new_user_id := ame_util.personIdToUserId(nextApprover.person_id);
610: ELSE
611: new_user_id := nextApprover.user_id;