40: l_userID integer;
41: l_userName FND_USER.USER_NAME%TYPE;
42: l_Requester FND_USER.USER_NAME%TYPE;
43: l_Owner FND_USER.USER_NAME%TYPE;
44: lSpecId number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'SPEC_ID');
45: lStartStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'START_STATUS');
46: lTargetStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS');
47: l_wf_timeout NUMBER := TO_NUMBER(FND_PROFILE.VALUE ('GMD_WF_TIMEOUT'));
48: lStartStatus_DESC VARCHAR2(240);
41: l_userName FND_USER.USER_NAME%TYPE;
42: l_Requester FND_USER.USER_NAME%TYPE;
43: l_Owner FND_USER.USER_NAME%TYPE;
44: lSpecId number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'SPEC_ID');
45: lStartStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'START_STATUS');
46: lTargetStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS');
47: l_wf_timeout NUMBER := TO_NUMBER(FND_PROFILE.VALUE ('GMD_WF_TIMEOUT'));
48: lStartStatus_DESC VARCHAR2(240);
49: lTargetStatus_DESC VARCHAR2(240);
42: l_Requester FND_USER.USER_NAME%TYPE;
43: l_Owner FND_USER.USER_NAME%TYPE;
44: lSpecId number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'SPEC_ID');
45: lStartStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'START_STATUS');
46: lTargetStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS');
47: l_wf_timeout NUMBER := TO_NUMBER(FND_PROFILE.VALUE ('GMD_WF_TIMEOUT'));
48: lStartStatus_DESC VARCHAR2(240);
49: lTargetStatus_DESC VARCHAR2(240);
50: api_ret_status VARCHAR2(1);
236: l_userID := ame_util.personIdToUserId(nextApprover.person_id);
237: ELSE
238: l_userID := nextApprover.user_id;
239: END IF;
240: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'USER_ID',l_userID);
241: l_userName := GET_FND_USER_NAME(l_userId);
242: --
243: -- Update status to pending
244: --
273: l_owner := GET_FND_USER_NAME(disp_attr_rec.OWNER_ID);
274: lStartStatus_DESC := GMDQSPEC_APPROVAL_WF_PKG.GET_STATUS_MEANING(lStartStatus,'S');
275: lTargetStatus_DESC:= GMDQSPEC_APPROVAL_WF_PKG.GET_STATUS_MEANING(lTargetStatus,'S');
276:
277: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SPEC_NAME',disp_attr_rec.SPEC_NAME);
278: wf_engine.setitemattrnumber(p_itemtype, p_itemkey,'SPEC_VERS',disp_attr_rec.SPEC_VERS);
279: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SPEC_DESC',disp_attr_rec.SPEC_DESC);
280: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SPEC_STATUS',disp_attr_rec.MEANING);
281: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_ORGN_CODE',disp_attr_rec.OWNER_ORGN_CODE);
274: lStartStatus_DESC := GMDQSPEC_APPROVAL_WF_PKG.GET_STATUS_MEANING(lStartStatus,'S');
275: lTargetStatus_DESC:= GMDQSPEC_APPROVAL_WF_PKG.GET_STATUS_MEANING(lTargetStatus,'S');
276:
277: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SPEC_NAME',disp_attr_rec.SPEC_NAME);
278: wf_engine.setitemattrnumber(p_itemtype, p_itemkey,'SPEC_VERS',disp_attr_rec.SPEC_VERS);
279: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SPEC_DESC',disp_attr_rec.SPEC_DESC);
280: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SPEC_STATUS',disp_attr_rec.MEANING);
281: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_ORGN_CODE',disp_attr_rec.OWNER_ORGN_CODE);
282: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_ORGN_CODE',disp_attr_rec.ORGANIZATION_CODE); -- INVCONV, NSRIVAST
275: lTargetStatus_DESC:= GMDQSPEC_APPROVAL_WF_PKG.GET_STATUS_MEANING(lTargetStatus,'S');
276:
277: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SPEC_NAME',disp_attr_rec.SPEC_NAME);
278: wf_engine.setitemattrnumber(p_itemtype, p_itemkey,'SPEC_VERS',disp_attr_rec.SPEC_VERS);
279: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SPEC_DESC',disp_attr_rec.SPEC_DESC);
280: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SPEC_STATUS',disp_attr_rec.MEANING);
281: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_ORGN_CODE',disp_attr_rec.OWNER_ORGN_CODE);
282: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_ORGN_CODE',disp_attr_rec.ORGANIZATION_CODE); -- INVCONV, NSRIVAST
283: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_ORGN_NAME',disp_attr_rec.ORGN_NAME);
276:
277: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SPEC_NAME',disp_attr_rec.SPEC_NAME);
278: wf_engine.setitemattrnumber(p_itemtype, p_itemkey,'SPEC_VERS',disp_attr_rec.SPEC_VERS);
279: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SPEC_DESC',disp_attr_rec.SPEC_DESC);
280: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SPEC_STATUS',disp_attr_rec.MEANING);
281: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_ORGN_CODE',disp_attr_rec.OWNER_ORGN_CODE);
282: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_ORGN_CODE',disp_attr_rec.ORGANIZATION_CODE); -- INVCONV, NSRIVAST
283: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_ORGN_NAME',disp_attr_rec.ORGN_NAME);
284: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_ORGN_NAME',disp_attr_rec.ORGANIZATION_NAME); -- INVCONV, NSRIVAST
277: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SPEC_NAME',disp_attr_rec.SPEC_NAME);
278: wf_engine.setitemattrnumber(p_itemtype, p_itemkey,'SPEC_VERS',disp_attr_rec.SPEC_VERS);
279: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SPEC_DESC',disp_attr_rec.SPEC_DESC);
280: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SPEC_STATUS',disp_attr_rec.MEANING);
281: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_ORGN_CODE',disp_attr_rec.OWNER_ORGN_CODE);
282: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_ORGN_CODE',disp_attr_rec.ORGANIZATION_CODE); -- INVCONV, NSRIVAST
283: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_ORGN_NAME',disp_attr_rec.ORGN_NAME);
284: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_ORGN_NAME',disp_attr_rec.ORGANIZATION_NAME); -- INVCONV, NSRIVAST
285: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'GRADE',disp_attr_rec.GRADE);
278: wf_engine.setitemattrnumber(p_itemtype, p_itemkey,'SPEC_VERS',disp_attr_rec.SPEC_VERS);
279: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SPEC_DESC',disp_attr_rec.SPEC_DESC);
280: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SPEC_STATUS',disp_attr_rec.MEANING);
281: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_ORGN_CODE',disp_attr_rec.OWNER_ORGN_CODE);
282: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_ORGN_CODE',disp_attr_rec.ORGANIZATION_CODE); -- INVCONV, NSRIVAST
283: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_ORGN_NAME',disp_attr_rec.ORGN_NAME);
284: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_ORGN_NAME',disp_attr_rec.ORGANIZATION_NAME); -- INVCONV, NSRIVAST
285: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'GRADE',disp_attr_rec.GRADE);
286: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'GRADE',disp_attr_rec.GRADE_CODE); -- INVCONV, NSRIVAST
279: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SPEC_DESC',disp_attr_rec.SPEC_DESC);
280: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SPEC_STATUS',disp_attr_rec.MEANING);
281: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_ORGN_CODE',disp_attr_rec.OWNER_ORGN_CODE);
282: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_ORGN_CODE',disp_attr_rec.ORGANIZATION_CODE); -- INVCONV, NSRIVAST
283: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_ORGN_NAME',disp_attr_rec.ORGN_NAME);
284: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_ORGN_NAME',disp_attr_rec.ORGANIZATION_NAME); -- INVCONV, NSRIVAST
285: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'GRADE',disp_attr_rec.GRADE);
286: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'GRADE',disp_attr_rec.GRADE_CODE); -- INVCONV, NSRIVAST
287: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_NAME',l_owner);
280: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SPEC_STATUS',disp_attr_rec.MEANING);
281: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_ORGN_CODE',disp_attr_rec.OWNER_ORGN_CODE);
282: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_ORGN_CODE',disp_attr_rec.ORGANIZATION_CODE); -- INVCONV, NSRIVAST
283: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_ORGN_NAME',disp_attr_rec.ORGN_NAME);
284: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_ORGN_NAME',disp_attr_rec.ORGANIZATION_NAME); -- INVCONV, NSRIVAST
285: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'GRADE',disp_attr_rec.GRADE);
286: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'GRADE',disp_attr_rec.GRADE_CODE); -- INVCONV, NSRIVAST
287: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_NAME',l_owner);
288: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'REQUESTER',l_requester);
281: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_ORGN_CODE',disp_attr_rec.OWNER_ORGN_CODE);
282: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_ORGN_CODE',disp_attr_rec.ORGANIZATION_CODE); -- INVCONV, NSRIVAST
283: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_ORGN_NAME',disp_attr_rec.ORGN_NAME);
284: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_ORGN_NAME',disp_attr_rec.ORGANIZATION_NAME); -- INVCONV, NSRIVAST
285: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'GRADE',disp_attr_rec.GRADE);
286: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'GRADE',disp_attr_rec.GRADE_CODE); -- INVCONV, NSRIVAST
287: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_NAME',l_owner);
288: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'REQUESTER',l_requester);
289: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_NO',disp_attr_rec.ITEM_NO);
282: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_ORGN_CODE',disp_attr_rec.ORGANIZATION_CODE); -- INVCONV, NSRIVAST
283: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_ORGN_NAME',disp_attr_rec.ORGN_NAME);
284: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_ORGN_NAME',disp_attr_rec.ORGANIZATION_NAME); -- INVCONV, NSRIVAST
285: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'GRADE',disp_attr_rec.GRADE);
286: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'GRADE',disp_attr_rec.GRADE_CODE); -- INVCONV, NSRIVAST
287: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_NAME',l_owner);
288: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'REQUESTER',l_requester);
289: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_NO',disp_attr_rec.ITEM_NO);
290: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_NO',disp_attr_rec.CONCATENATED_SEGMENTS); -- INVCONV, NSRIVAST
283: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_ORGN_NAME',disp_attr_rec.ORGN_NAME);
284: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_ORGN_NAME',disp_attr_rec.ORGANIZATION_NAME); -- INVCONV, NSRIVAST
285: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'GRADE',disp_attr_rec.GRADE);
286: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'GRADE',disp_attr_rec.GRADE_CODE); -- INVCONV, NSRIVAST
287: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_NAME',l_owner);
288: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'REQUESTER',l_requester);
289: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_NO',disp_attr_rec.ITEM_NO);
290: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_NO',disp_attr_rec.CONCATENATED_SEGMENTS); -- INVCONV, NSRIVAST
291: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_DESC',disp_attr_rec.ITEM_DESC1);
284: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_ORGN_NAME',disp_attr_rec.ORGANIZATION_NAME); -- INVCONV, NSRIVAST
285: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'GRADE',disp_attr_rec.GRADE);
286: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'GRADE',disp_attr_rec.GRADE_CODE); -- INVCONV, NSRIVAST
287: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_NAME',l_owner);
288: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'REQUESTER',l_requester);
289: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_NO',disp_attr_rec.ITEM_NO);
290: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_NO',disp_attr_rec.CONCATENATED_SEGMENTS); -- INVCONV, NSRIVAST
291: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_DESC',disp_attr_rec.ITEM_DESC1);
292: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_DESC',disp_attr_rec.DESCRIPTION); -- INVCONV, NSRIVAST
285: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'GRADE',disp_attr_rec.GRADE);
286: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'GRADE',disp_attr_rec.GRADE_CODE); -- INVCONV, NSRIVAST
287: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_NAME',l_owner);
288: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'REQUESTER',l_requester);
289: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_NO',disp_attr_rec.ITEM_NO);
290: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_NO',disp_attr_rec.CONCATENATED_SEGMENTS); -- INVCONV, NSRIVAST
291: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_DESC',disp_attr_rec.ITEM_DESC1);
292: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_DESC',disp_attr_rec.DESCRIPTION); -- INVCONV, NSRIVAST
293: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'START_STATUS_DESC',lStartStatus_DESC);
286: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'GRADE',disp_attr_rec.GRADE_CODE); -- INVCONV, NSRIVAST
287: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_NAME',l_owner);
288: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'REQUESTER',l_requester);
289: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_NO',disp_attr_rec.ITEM_NO);
290: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_NO',disp_attr_rec.CONCATENATED_SEGMENTS); -- INVCONV, NSRIVAST
291: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_DESC',disp_attr_rec.ITEM_DESC1);
292: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_DESC',disp_attr_rec.DESCRIPTION); -- INVCONV, NSRIVAST
293: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'START_STATUS_DESC',lStartStatus_DESC);
294: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS_DESC',lTargetStatus_DESC);
287: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_NAME',l_owner);
288: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'REQUESTER',l_requester);
289: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_NO',disp_attr_rec.ITEM_NO);
290: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_NO',disp_attr_rec.CONCATENATED_SEGMENTS); -- INVCONV, NSRIVAST
291: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_DESC',disp_attr_rec.ITEM_DESC1);
292: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_DESC',disp_attr_rec.DESCRIPTION); -- INVCONV, NSRIVAST
293: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'START_STATUS_DESC',lStartStatus_DESC);
294: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS_DESC',lTargetStatus_DESC);
295: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'APPROVER',l_userName);
288: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'REQUESTER',l_requester);
289: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_NO',disp_attr_rec.ITEM_NO);
290: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_NO',disp_attr_rec.CONCATENATED_SEGMENTS); -- INVCONV, NSRIVAST
291: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_DESC',disp_attr_rec.ITEM_DESC1);
292: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_DESC',disp_attr_rec.DESCRIPTION); -- INVCONV, NSRIVAST
293: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'START_STATUS_DESC',lStartStatus_DESC);
294: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS_DESC',lTargetStatus_DESC);
295: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'APPROVER',l_userName);
296:
289: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_NO',disp_attr_rec.ITEM_NO);
290: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_NO',disp_attr_rec.CONCATENATED_SEGMENTS); -- INVCONV, NSRIVAST
291: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_DESC',disp_attr_rec.ITEM_DESC1);
292: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_DESC',disp_attr_rec.DESCRIPTION); -- INVCONV, NSRIVAST
293: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'START_STATUS_DESC',lStartStatus_DESC);
294: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS_DESC',lTargetStatus_DESC);
295: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'APPROVER',l_userName);
296:
297: --RLNAGARA Bug # 4706861
290: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_NO',disp_attr_rec.CONCATENATED_SEGMENTS); -- INVCONV, NSRIVAST
291: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_DESC',disp_attr_rec.ITEM_DESC1);
292: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_DESC',disp_attr_rec.DESCRIPTION); -- INVCONV, NSRIVAST
293: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'START_STATUS_DESC',lStartStatus_DESC);
294: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS_DESC',lTargetStatus_DESC);
295: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'APPROVER',l_userName);
296:
297: --RLNAGARA Bug # 4706861
298:
291: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_DESC',disp_attr_rec.ITEM_DESC1);
292: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_DESC',disp_attr_rec.DESCRIPTION); -- INVCONV, NSRIVAST
293: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'START_STATUS_DESC',lStartStatus_DESC);
294: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS_DESC',lTargetStatus_DESC);
295: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'APPROVER',l_userName);
296:
297: --RLNAGARA Bug # 4706861
298:
299: IF disp_attr_rec.SPEC_TYPE IS NOT NULL THEN
300: SELECT DESCRIPTION INTO l_spectype_desc
301: FROM GEM_LOOKUPS
302: WHERE LOOKUP_TYPE = 'GMD_QC_SPEC_TYPE'
303: AND LOOKUP_CODE = disp_attr_rec.SPEC_TYPE ;
304: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SPEC_TYPE', l_spectype_desc);
305: END IF;
306:
307: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SPEC_TYPE',disp_attr_rec.SPEC_TYPE);
308:
303: AND LOOKUP_CODE = disp_attr_rec.SPEC_TYPE ;
304: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SPEC_TYPE', l_spectype_desc);
305: END IF;
306:
307: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SPEC_TYPE',disp_attr_rec.SPEC_TYPE);
308:
309: --RLNAGARA Bug # 4706861
310:
311:
308:
309: --RLNAGARA Bug # 4706861
310:
311:
312: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OVERLAY', disp_attr_rec.OVERLAY_IND);
313:
314: --RLNAGARA Bug 4706861 Rework
315: IF disp_attr_rec.BASE_SPEC_ID IS NOT NULL THEN
316: OPEN get_spec_det(disp_attr_rec.BASE_SPEC_ID);
315: IF disp_attr_rec.BASE_SPEC_ID IS NOT NULL THEN
316: OPEN get_spec_det(disp_attr_rec.BASE_SPEC_ID);
317: FETCH get_spec_det INTO l_base_spec_name, l_base_spec_vers;
318: CLOSE get_spec_det;
319: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'BASE_SPEC', l_base_spec_name);
320: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'BASE_SPEC_VERS', l_base_spec_vers);
321: END IF;
322: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'BASE_SPEC', disp_attr_rec.BASE_SPEC_ID);
323:
316: OPEN get_spec_det(disp_attr_rec.BASE_SPEC_ID);
317: FETCH get_spec_det INTO l_base_spec_name, l_base_spec_vers;
318: CLOSE get_spec_det;
319: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'BASE_SPEC', l_base_spec_name);
320: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'BASE_SPEC_VERS', l_base_spec_vers);
321: END IF;
322: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'BASE_SPEC', disp_attr_rec.BASE_SPEC_ID);
323:
324:
318: CLOSE get_spec_det;
319: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'BASE_SPEC', l_base_spec_name);
320: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'BASE_SPEC_VERS', l_base_spec_vers);
321: END IF;
322: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'BASE_SPEC', disp_attr_rec.BASE_SPEC_ID);
323:
324:
325:
326: wf_engine.setitemattrtext(p_itemtype, p_itemkey, 'ITEM_REVISION', disp_attr_rec.REVISION); -- INVCONV, NSRIVAST
322: -- wf_engine.setitemattrtext(p_itemtype, p_itemkey,'BASE_SPEC', disp_attr_rec.BASE_SPEC_ID);
323:
324:
325:
326: wf_engine.setitemattrtext(p_itemtype, p_itemkey, 'ITEM_REVISION', disp_attr_rec.REVISION); -- INVCONV, NSRIVAST
327:
328: /* Depending on whether the Spec is for an item or monitor, fill out the
329: tokenized message and set it in the workflow */
330: if (disp_attr_rec.SPEC_TYPE = 'M') THEN
366: /* Set the message attribute, MSG, in the workflow */
367: -- FND_MESSAGE.SET_TOKEN('GMDQSPAP_MSG', FND_MESSAGE.GET() );
368:
369:
370: wf_engine.setitemattrtext(p_itemtype, p_itemkey, 'GMDQSPAP_MSG', FND_MESSAGE.GET());
371:
372: l_wf_timeout := (l_wf_timeout * 24 * 60) / 4 ; -- Converting days into minutes
373:
374: WF_ENGINE.SETITEMATTRTEXT(itemtype => p_itemtype,itemkey => p_itemkey,
370: wf_engine.setitemattrtext(p_itemtype, p_itemkey, 'GMDQSPAP_MSG', FND_MESSAGE.GET());
371:
372: l_wf_timeout := (l_wf_timeout * 24 * 60) / 4 ; -- Converting days into minutes
373:
374: WF_ENGINE.SETITEMATTRTEXT(itemtype => p_itemtype,itemkey => p_itemkey,
375: aname => '#FROM_ROLE',
376: avalue => l_userName );
377: WF_ENGINE.SETITEMATTRNUMBER(itemtype => p_itemtype,itemkey => p_itemkey,
378: aname => 'GMDQSPAP_TIMEOUT',
373:
374: WF_ENGINE.SETITEMATTRTEXT(itemtype => p_itemtype,itemkey => p_itemkey,
375: aname => '#FROM_ROLE',
376: avalue => l_userName );
377: WF_ENGINE.SETITEMATTRNUMBER(itemtype => p_itemtype,itemkey => p_itemkey,
378: aname => 'GMDQSPAP_TIMEOUT',
379: avalue => l_wf_timeout);
380: WF_ENGINE.SETITEMATTRNUMBER(itemtype => p_itemtype,itemkey => p_itemkey,
381: aname => 'GMDQSPAP_MESG_CNT',
376: avalue => l_userName );
377: WF_ENGINE.SETITEMATTRNUMBER(itemtype => p_itemtype,itemkey => p_itemkey,
378: aname => 'GMDQSPAP_TIMEOUT',
379: avalue => l_wf_timeout);
380: WF_ENGINE.SETITEMATTRNUMBER(itemtype => p_itemtype,itemkey => p_itemkey,
381: aname => 'GMDQSPAP_MESG_CNT',
382: avalue => 1);
383: p_resultout := 'COMPLETE:Y';
384: ELSE
407: p_actid IN NUMBER,
408: p_funcmode IN VARCHAR2,
409: p_resultout OUT NOCOPY VARCHAR2) IS
410:
411: l_comment VARCHAR2(4000):= wf_engine.getitemattrtext(p_itemtype, p_itemkey,'GMDQSPAP_COMMENT');
412: l_mesg_comment VARCHAR2(4000):= wf_engine.getitemattrtext(p_itemtype, p_itemkey,'GMDQSPAP_DISP_COMMENT');
413: l_performer VARCHAR2(80) := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'GMDQSPAP_CURR_PERFORMER');
414: BEGIN
415: IF (p_funcmode = 'RUN' AND l_comment IS NOT NULL) THEN
408: p_funcmode IN VARCHAR2,
409: p_resultout OUT NOCOPY VARCHAR2) IS
410:
411: l_comment VARCHAR2(4000):= wf_engine.getitemattrtext(p_itemtype, p_itemkey,'GMDQSPAP_COMMENT');
412: l_mesg_comment VARCHAR2(4000):= wf_engine.getitemattrtext(p_itemtype, p_itemkey,'GMDQSPAP_DISP_COMMENT');
413: l_performer VARCHAR2(80) := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'GMDQSPAP_CURR_PERFORMER');
414: BEGIN
415: IF (p_funcmode = 'RUN' AND l_comment IS NOT NULL) THEN
416: BEGIN
409: p_resultout OUT NOCOPY VARCHAR2) IS
410:
411: l_comment VARCHAR2(4000):= wf_engine.getitemattrtext(p_itemtype, p_itemkey,'GMDQSPAP_COMMENT');
412: l_mesg_comment VARCHAR2(4000):= wf_engine.getitemattrtext(p_itemtype, p_itemkey,'GMDQSPAP_DISP_COMMENT');
413: l_performer VARCHAR2(80) := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'GMDQSPAP_CURR_PERFORMER');
414: BEGIN
415: IF (p_funcmode = 'RUN' AND l_comment IS NOT NULL) THEN
416: BEGIN
417: l_mesg_comment := l_mesg_comment||wf_core.newline||l_performer||' : '||FND_DATE.DATE_TO_CHARDT(SYSDATE)||
420: EXCEPTION WHEN OTHERS THEN
421: NULL;
422: END;
423:
424: WF_ENGINE.SETITEMATTRTEXT(itemtype => p_itemtype,
425: itemkey => p_itemkey,
426: aname => 'GMDQSPAP_DISP_COMMENT',
427: avalue => l_mesg_comment);
428: WF_ENGINE.SETITEMATTRTEXT(itemtype => p_itemtype,
424: WF_ENGINE.SETITEMATTRTEXT(itemtype => p_itemtype,
425: itemkey => p_itemkey,
426: aname => 'GMDQSPAP_DISP_COMMENT',
427: avalue => l_mesg_comment);
428: WF_ENGINE.SETITEMATTRTEXT(itemtype => p_itemtype,
429: itemkey => p_itemkey,
430: aname => 'GMDQSPAP_COMMENT',
431: avalue => l_comment);
432: END IF;
451: p_resultout OUT NOCOPY VARCHAR2) IS
452: applicationId number :=552;
453: transactionType varchar2(50) := 'oracle.apps.gmd.qm.spec.sts';
454: nextApprover ame_util.approverRecord;
455: lStartStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'START_STATUS');
456: lTargetStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS');
457: lSpecId number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'SPEC_ID');
458: l_userID integer;
459: l_userName FND_USER.USER_NAME%TYPE;
452: applicationId number :=552;
453: transactionType varchar2(50) := 'oracle.apps.gmd.qm.spec.sts';
454: nextApprover ame_util.approverRecord;
455: lStartStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'START_STATUS');
456: lTargetStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS');
457: lSpecId number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'SPEC_ID');
458: l_userID integer;
459: l_userName FND_USER.USER_NAME%TYPE;
460: api_ret_status VARCHAR2(1);
453: transactionType varchar2(50) := 'oracle.apps.gmd.qm.spec.sts';
454: nextApprover ame_util.approverRecord;
455: lStartStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'START_STATUS');
456: lTargetStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS');
457: lSpecId number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'SPEC_ID');
458: l_userID integer;
459: l_userName FND_USER.USER_NAME%TYPE;
460: api_ret_status VARCHAR2(1);
461: api_err_mesg VARCHAR2(240);
504: ELSE
505: l_userID := nextApprover.user_id;
506: END IF;
507: l_userName := GET_FND_USER_NAME(l_userId);
508: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'USER_ID',l_userID);
509: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'APPROVER',l_userName);
510: p_resultout := 'COMPLETE:Y';
511: END IF;
512: END IF;
505: l_userID := nextApprover.user_id;
506: END IF;
507: l_userName := GET_FND_USER_NAME(l_userId);
508: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'USER_ID',l_userID);
509: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'APPROVER',l_userName);
510: p_resultout := 'COMPLETE:Y';
511: END IF;
512: END IF;
513: END ANY_MORE_APPROVERS;
522: p_itemkey IN VARCHAR2,
523: p_actid IN NUMBER,
524: p_funcmode IN VARCHAR2,
525: p_resultout OUT NOCOPY VARCHAR2) IS
526: l_mesg_cnt number:=wf_engine.getitemattrnumber(p_itemtype, p_itemkey,'GMDQSPAP_MESG_CNT');
527: l_approver VARCHAR2(80) := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'APPROVER');
528: BEGIN
529: IF (p_funcmode = 'TIMEOUT') THEN
530: l_mesg_cnt := l_mesg_cnt + 1;
523: p_actid IN NUMBER,
524: p_funcmode IN VARCHAR2,
525: p_resultout OUT NOCOPY VARCHAR2) IS
526: l_mesg_cnt number:=wf_engine.getitemattrnumber(p_itemtype, p_itemkey,'GMDQSPAP_MESG_CNT');
527: l_approver VARCHAR2(80) := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'APPROVER');
528: BEGIN
529: IF (p_funcmode = 'TIMEOUT') THEN
530: l_mesg_cnt := l_mesg_cnt + 1;
531: IF l_mesg_cnt <= 4 THEN
528: BEGIN
529: IF (p_funcmode = 'TIMEOUT') THEN
530: l_mesg_cnt := l_mesg_cnt + 1;
531: IF l_mesg_cnt <= 4 THEN
532: WF_ENGINE.SETITEMATTRNUMBER(itemtype => p_itemtype,itemkey => p_itemkey,
533: aname => 'GMDQSPAP_MESG_CNT',
534: avalue => l_mesg_cnt);
535: ELSE
536: p_resultout := 'COMPLETE:DEFAULT';
535: ELSE
536: p_resultout := 'COMPLETE:DEFAULT';
537: END IF;
538: ELSIF (p_funcmode = 'RESPOND') THEN
539: WF_ENGINE.SETITEMATTRTEXT(itemtype => p_itemtype,
540: itemkey => p_itemkey,
541: aname => 'GMDQSPAP_CURR_PERFORMER',
542: avalue => l_approver);
543: END IF;
556: p_itemkey IN VARCHAR2,
557: p_actid IN NUMBER,
558: p_funcmode IN VARCHAR2,
559: p_resultout OUT NOCOPY VARCHAR2) IS
560: lSpecId number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'SPEC_ID');
561: lStartStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'START_STATUS');
562: lTargetStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS');
563: api_ret_status VARCHAR2(1);
564: api_err_mesg VARCHAR2(240);
557: p_actid IN NUMBER,
558: p_funcmode IN VARCHAR2,
559: p_resultout OUT NOCOPY VARCHAR2) IS
560: lSpecId number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'SPEC_ID');
561: lStartStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'START_STATUS');
562: lTargetStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS');
563: api_ret_status VARCHAR2(1);
564: api_err_mesg VARCHAR2(240);
565: BEGIN
558: p_funcmode IN VARCHAR2,
559: p_resultout OUT NOCOPY VARCHAR2) IS
560: lSpecId number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'SPEC_ID');
561: lStartStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'START_STATUS');
562: lTargetStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS');
563: api_ret_status VARCHAR2(1);
564: api_err_mesg VARCHAR2(240);
565: BEGIN
566: IF p_funcmode = 'RUN' THEN
593: p_resultout OUT NOCOPY VARCHAR2) IS
594: applicationId number :=552;
595: transactionType varchar2(50) := 'oracle.apps.gmd.qm.spec.sts';
596: nextApprover ame_util.approverRecord;
597: lSpecId number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'SPEC_ID');
598: lStartStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'START_STATUS');
599: lTargetStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS');
600: l_userID VARCHAR2(100) := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'USER_ID');
601: new_user_id VARCHAR2(100);
594: applicationId number :=552;
595: transactionType varchar2(50) := 'oracle.apps.gmd.qm.spec.sts';
596: nextApprover ame_util.approverRecord;
597: lSpecId number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'SPEC_ID');
598: lStartStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'START_STATUS');
599: lTargetStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS');
600: l_userID VARCHAR2(100) := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'USER_ID');
601: new_user_id VARCHAR2(100);
602: api_ret_status VARCHAR2(1);
595: transactionType varchar2(50) := 'oracle.apps.gmd.qm.spec.sts';
596: nextApprover ame_util.approverRecord;
597: lSpecId number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'SPEC_ID');
598: lStartStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'START_STATUS');
599: lTargetStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS');
600: l_userID VARCHAR2(100) := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'USER_ID');
601: new_user_id VARCHAR2(100);
602: api_ret_status VARCHAR2(1);
603: api_err_mesg VARCHAR2(240);
596: nextApprover ame_util.approverRecord;
597: lSpecId number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'SPEC_ID');
598: lStartStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'START_STATUS');
599: lTargetStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS');
600: l_userID VARCHAR2(100) := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'USER_ID');
601: new_user_id VARCHAR2(100);
602: api_ret_status VARCHAR2(1);
603: api_err_mesg VARCHAR2(240);
604: BEGIN
659: p_resultout OUT NOCOPY VARCHAR2) IS
660: applicationId number :=552;
661: transactionType varchar2(50) := 'oracle.apps.gmd.qm.spec.sts';
662: nextApprover ame_util.approverRecord;
663: lSpecId number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'SPEC_ID');
664: lStartStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'START_STATUS');
665: lTargetStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS');
666: l_userID VARCHAR2(100) := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'USER_ID');
667: new_user_id VARCHAR2(100);
660: applicationId number :=552;
661: transactionType varchar2(50) := 'oracle.apps.gmd.qm.spec.sts';
662: nextApprover ame_util.approverRecord;
663: lSpecId number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'SPEC_ID');
664: lStartStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'START_STATUS');
665: lTargetStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS');
666: l_userID VARCHAR2(100) := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'USER_ID');
667: new_user_id VARCHAR2(100);
668: api_ret_status VARCHAR2(1);
661: transactionType varchar2(50) := 'oracle.apps.gmd.qm.spec.sts';
662: nextApprover ame_util.approverRecord;
663: lSpecId number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'SPEC_ID');
664: lStartStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'START_STATUS');
665: lTargetStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS');
666: l_userID VARCHAR2(100) := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'USER_ID');
667: new_user_id VARCHAR2(100);
668: api_ret_status VARCHAR2(1);
669: api_err_mesg VARCHAR2(240);
662: nextApprover ame_util.approverRecord;
663: lSpecId number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'SPEC_ID');
664: lStartStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'START_STATUS');
665: lTargetStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS');
666: l_userID VARCHAR2(100) := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'USER_ID');
667: new_user_id VARCHAR2(100);
668: api_ret_status VARCHAR2(1);
669: api_err_mesg VARCHAR2(240);
670: BEGIN