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');
50: lTargetStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS');
51: l_wf_timeout NUMBER := TO_NUMBER(FND_PROFILE.VALUE ('GMD_WF_TIMEOUT'));
52: l_notify_time_unit varchar2(100);
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');
50: lTargetStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS');
51: l_wf_timeout NUMBER := TO_NUMBER(FND_PROFILE.VALUE ('GMD_WF_TIMEOUT'));
52: l_notify_time_unit varchar2(100);
53: l_grace_time_unit varchar2(100);
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');
50: lTargetStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS');
51: l_wf_timeout NUMBER := TO_NUMBER(FND_PROFILE.VALUE ('GMD_WF_TIMEOUT'));
52: l_notify_time_unit varchar2(100);
53: l_grace_time_unit varchar2(100);
54:
182: gmd_debug.put_line('Approver ID ' || l_userID);
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
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);
235: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SPEC_NAME',disp_attr_rec.SPEC_NAME);
236: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'BASE_SPEC',disp_attr_rec.SPEC_NAME);
237: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SPEC_VERS',disp_attr_rec.SPEC_VERS);
238: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'LAB_ORGN',disp_attr_rec.LAB_ORGANIZATION_CODE);
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);
235: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SPEC_NAME',disp_attr_rec.SPEC_NAME);
236: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'BASE_SPEC',disp_attr_rec.SPEC_NAME);
237: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SPEC_VERS',disp_attr_rec.SPEC_VERS);
238: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'LAB_ORGN',disp_attr_rec.LAB_ORGANIZATION_CODE);
239: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'REQUESTER',l_requester);
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);
235: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SPEC_NAME',disp_attr_rec.SPEC_NAME);
236: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'BASE_SPEC',disp_attr_rec.SPEC_NAME);
237: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SPEC_VERS',disp_attr_rec.SPEC_VERS);
238: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'LAB_ORGN',disp_attr_rec.LAB_ORGANIZATION_CODE);
239: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'REQUESTER',l_requester);
240: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_NO',disp_attr_rec.ITEM_NO);
233:
234: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_ORGN_CODE',disp_attr_rec.ORGANIZATION_CODE);
235: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SPEC_NAME',disp_attr_rec.SPEC_NAME);
236: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'BASE_SPEC',disp_attr_rec.SPEC_NAME);
237: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SPEC_VERS',disp_attr_rec.SPEC_VERS);
238: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'LAB_ORGN',disp_attr_rec.LAB_ORGANIZATION_CODE);
239: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'REQUESTER',l_requester);
240: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_NO',disp_attr_rec.ITEM_NO);
241: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_DESC',disp_attr_rec.ITEM_DESC1);
234: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER_ORGN_CODE',disp_attr_rec.ORGANIZATION_CODE);
235: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SPEC_NAME',disp_attr_rec.SPEC_NAME);
236: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'BASE_SPEC',disp_attr_rec.SPEC_NAME);
237: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SPEC_VERS',disp_attr_rec.SPEC_VERS);
238: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'LAB_ORGN',disp_attr_rec.LAB_ORGANIZATION_CODE);
239: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'REQUESTER',l_requester);
240: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_NO',disp_attr_rec.ITEM_NO);
241: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_DESC',disp_attr_rec.ITEM_DESC1);
242: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'REVISION',disp_attr_rec.REVISION);
235: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SPEC_NAME',disp_attr_rec.SPEC_NAME);
236: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'BASE_SPEC',disp_attr_rec.SPEC_NAME);
237: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SPEC_VERS',disp_attr_rec.SPEC_VERS);
238: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'LAB_ORGN',disp_attr_rec.LAB_ORGANIZATION_CODE);
239: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'REQUESTER',l_requester);
240: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_NO',disp_attr_rec.ITEM_NO);
241: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_DESC',disp_attr_rec.ITEM_DESC1);
242: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'REVISION',disp_attr_rec.REVISION);
243: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'START_STATUS_DESC',lStartStatus_DESC);
236: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'BASE_SPEC',disp_attr_rec.SPEC_NAME);
237: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SPEC_VERS',disp_attr_rec.SPEC_VERS);
238: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'LAB_ORGN',disp_attr_rec.LAB_ORGANIZATION_CODE);
239: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'REQUESTER',l_requester);
240: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_NO',disp_attr_rec.ITEM_NO);
241: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_DESC',disp_attr_rec.ITEM_DESC1);
242: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'REVISION',disp_attr_rec.REVISION);
243: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'START_STATUS_DESC',lStartStatus_DESC);
244: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS_DESC',lTargetStatus_DESC);
237: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SPEC_VERS',disp_attr_rec.SPEC_VERS);
238: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'LAB_ORGN',disp_attr_rec.LAB_ORGANIZATION_CODE);
239: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'REQUESTER',l_requester);
240: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_NO',disp_attr_rec.ITEM_NO);
241: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_DESC',disp_attr_rec.ITEM_DESC1);
242: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'REVISION',disp_attr_rec.REVISION);
243: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'START_STATUS_DESC',lStartStatus_DESC);
244: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS_DESC',lTargetStatus_DESC);
245: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'APPROVER',l_userName);
238: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'LAB_ORGN',disp_attr_rec.LAB_ORGANIZATION_CODE);
239: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'REQUESTER',l_requester);
240: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_NO',disp_attr_rec.ITEM_NO);
241: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_DESC',disp_attr_rec.ITEM_DESC1);
242: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'REVISION',disp_attr_rec.REVISION);
243: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'START_STATUS_DESC',lStartStatus_DESC);
244: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS_DESC',lTargetStatus_DESC);
245: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'APPROVER',l_userName);
246: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'STORAGE_PLAN',l_storage_name);
239: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'REQUESTER',l_requester);
240: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_NO',disp_attr_rec.ITEM_NO);
241: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_DESC',disp_attr_rec.ITEM_DESC1);
242: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'REVISION',disp_attr_rec.REVISION);
243: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'START_STATUS_DESC',lStartStatus_DESC);
244: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS_DESC',lTargetStatus_DESC);
245: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'APPROVER',l_userName);
246: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'STORAGE_PLAN',l_storage_name);
247: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SS_NAME',disp_attr_rec.SS_NO);
240: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_NO',disp_attr_rec.ITEM_NO);
241: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_DESC',disp_attr_rec.ITEM_DESC1);
242: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'REVISION',disp_attr_rec.REVISION);
243: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'START_STATUS_DESC',lStartStatus_DESC);
244: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS_DESC',lTargetStatus_DESC);
245: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'APPROVER',l_userName);
246: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'STORAGE_PLAN',l_storage_name);
247: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SS_NAME',disp_attr_rec.SS_NO);
248: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SS_DESC',disp_attr_rec.description);
241: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ITEM_DESC',disp_attr_rec.ITEM_DESC1);
242: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'REVISION',disp_attr_rec.REVISION);
243: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'START_STATUS_DESC',lStartStatus_DESC);
244: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS_DESC',lTargetStatus_DESC);
245: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'APPROVER',l_userName);
246: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'STORAGE_PLAN',l_storage_name);
247: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SS_NAME',disp_attr_rec.SS_NO);
248: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SS_DESC',disp_attr_rec.description);
249: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'NOTIFY_TIME',
242: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'REVISION',disp_attr_rec.REVISION);
243: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'START_STATUS_DESC',lStartStatus_DESC);
244: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS_DESC',lTargetStatus_DESC);
245: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'APPROVER',l_userName);
246: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'STORAGE_PLAN',l_storage_name);
247: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SS_NAME',disp_attr_rec.SS_NO);
248: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SS_DESC',disp_attr_rec.description);
249: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'NOTIFY_TIME',
250: disp_attr_rec.NOTIFICATION_LEAD_TIME || ' ' || l_notify_time_unit);
243: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'START_STATUS_DESC',lStartStatus_DESC);
244: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS_DESC',lTargetStatus_DESC);
245: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'APPROVER',l_userName);
246: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'STORAGE_PLAN',l_storage_name);
247: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SS_NAME',disp_attr_rec.SS_NO);
248: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SS_DESC',disp_attr_rec.description);
249: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'NOTIFY_TIME',
250: disp_attr_rec.NOTIFICATION_LEAD_TIME || ' ' || l_notify_time_unit);
251: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'GRACE_TIME',
244: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS_DESC',lTargetStatus_DESC);
245: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'APPROVER',l_userName);
246: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'STORAGE_PLAN',l_storage_name);
247: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SS_NAME',disp_attr_rec.SS_NO);
248: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SS_DESC',disp_attr_rec.description);
249: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'NOTIFY_TIME',
250: disp_attr_rec.NOTIFICATION_LEAD_TIME || ' ' || l_notify_time_unit);
251: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'GRACE_TIME',
252: disp_attr_rec.TESTING_GRACE_PERIOD || ' ' || l_grace_time_unit);
245: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'APPROVER',l_userName);
246: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'STORAGE_PLAN',l_storage_name);
247: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SS_NAME',disp_attr_rec.SS_NO);
248: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SS_DESC',disp_attr_rec.description);
249: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'NOTIFY_TIME',
250: disp_attr_rec.NOTIFICATION_LEAD_TIME || ' ' || l_notify_time_unit);
251: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'GRACE_TIME',
252: disp_attr_rec.TESTING_GRACE_PERIOD || ' ' || l_grace_time_unit);
253: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SCHED_START_DATE',disp_attr_rec.SCHEDULED_START_DATE);
247: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SS_NAME',disp_attr_rec.SS_NO);
248: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SS_DESC',disp_attr_rec.description);
249: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'NOTIFY_TIME',
250: disp_attr_rec.NOTIFICATION_LEAD_TIME || ' ' || l_notify_time_unit);
251: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'GRACE_TIME',
252: disp_attr_rec.TESTING_GRACE_PERIOD || ' ' || l_grace_time_unit);
253: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SCHED_START_DATE',disp_attr_rec.SCHEDULED_START_DATE);
254: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SCHED_END_DATE',disp_attr_rec.SCHEDULED_END_DATE);
255: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'REVISED_START_DATE',disp_attr_rec.REVISED_START_DATE);
249: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'NOTIFY_TIME',
250: disp_attr_rec.NOTIFICATION_LEAD_TIME || ' ' || l_notify_time_unit);
251: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'GRACE_TIME',
252: disp_attr_rec.TESTING_GRACE_PERIOD || ' ' || l_grace_time_unit);
253: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SCHED_START_DATE',disp_attr_rec.SCHEDULED_START_DATE);
254: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SCHED_END_DATE',disp_attr_rec.SCHEDULED_END_DATE);
255: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'REVISED_START_DATE',disp_attr_rec.REVISED_START_DATE);
256: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'REVISED_END_DATE',disp_attr_rec.REVISED_END_DATE);
257: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ACTUAL_START_DATE',disp_attr_rec.ACTUAL_START_DATE);
250: disp_attr_rec.NOTIFICATION_LEAD_TIME || ' ' || l_notify_time_unit);
251: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'GRACE_TIME',
252: disp_attr_rec.TESTING_GRACE_PERIOD || ' ' || l_grace_time_unit);
253: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SCHED_START_DATE',disp_attr_rec.SCHEDULED_START_DATE);
254: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SCHED_END_DATE',disp_attr_rec.SCHEDULED_END_DATE);
255: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'REVISED_START_DATE',disp_attr_rec.REVISED_START_DATE);
256: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'REVISED_END_DATE',disp_attr_rec.REVISED_END_DATE);
257: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ACTUAL_START_DATE',disp_attr_rec.ACTUAL_START_DATE);
258: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ACTUAL_END_DATE',disp_attr_rec.ACTUAL_END_DATE);
251: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'GRACE_TIME',
252: disp_attr_rec.TESTING_GRACE_PERIOD || ' ' || l_grace_time_unit);
253: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SCHED_START_DATE',disp_attr_rec.SCHEDULED_START_DATE);
254: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SCHED_END_DATE',disp_attr_rec.SCHEDULED_END_DATE);
255: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'REVISED_START_DATE',disp_attr_rec.REVISED_START_DATE);
256: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'REVISED_END_DATE',disp_attr_rec.REVISED_END_DATE);
257: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ACTUAL_START_DATE',disp_attr_rec.ACTUAL_START_DATE);
258: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ACTUAL_END_DATE',disp_attr_rec.ACTUAL_END_DATE);
259: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER',l_owner);
252: disp_attr_rec.TESTING_GRACE_PERIOD || ' ' || l_grace_time_unit);
253: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SCHED_START_DATE',disp_attr_rec.SCHEDULED_START_DATE);
254: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SCHED_END_DATE',disp_attr_rec.SCHEDULED_END_DATE);
255: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'REVISED_START_DATE',disp_attr_rec.REVISED_START_DATE);
256: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'REVISED_END_DATE',disp_attr_rec.REVISED_END_DATE);
257: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ACTUAL_START_DATE',disp_attr_rec.ACTUAL_START_DATE);
258: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ACTUAL_END_DATE',disp_attr_rec.ACTUAL_END_DATE);
259: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER',l_owner);
260:
253: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SCHED_START_DATE',disp_attr_rec.SCHEDULED_START_DATE);
254: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SCHED_END_DATE',disp_attr_rec.SCHEDULED_END_DATE);
255: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'REVISED_START_DATE',disp_attr_rec.REVISED_START_DATE);
256: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'REVISED_END_DATE',disp_attr_rec.REVISED_END_DATE);
257: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ACTUAL_START_DATE',disp_attr_rec.ACTUAL_START_DATE);
258: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ACTUAL_END_DATE',disp_attr_rec.ACTUAL_END_DATE);
259: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER',l_owner);
260:
261:
254: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'SCHED_END_DATE',disp_attr_rec.SCHEDULED_END_DATE);
255: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'REVISED_START_DATE',disp_attr_rec.REVISED_START_DATE);
256: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'REVISED_END_DATE',disp_attr_rec.REVISED_END_DATE);
257: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ACTUAL_START_DATE',disp_attr_rec.ACTUAL_START_DATE);
258: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ACTUAL_END_DATE',disp_attr_rec.ACTUAL_END_DATE);
259: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER',l_owner);
260:
261:
262: l_wf_timeout := (l_wf_timeout * 24 * 60) / 4 ; -- Converting days into minutes
255: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'REVISED_START_DATE',disp_attr_rec.REVISED_START_DATE);
256: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'REVISED_END_DATE',disp_attr_rec.REVISED_END_DATE);
257: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ACTUAL_START_DATE',disp_attr_rec.ACTUAL_START_DATE);
258: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'ACTUAL_END_DATE',disp_attr_rec.ACTUAL_END_DATE);
259: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'OWNER',l_owner);
260:
261:
262: l_wf_timeout := (l_wf_timeout * 24 * 60) / 4 ; -- Converting days into minutes
263:
260:
261:
262: l_wf_timeout := (l_wf_timeout * 24 * 60) / 4 ; -- Converting days into minutes
263:
264: WF_ENGINE.SETITEMATTRTEXT(itemtype => p_itemtype,itemkey => p_itemkey,
265: aname => '#FROM_ROLE',
266: avalue => l_userName );
267:
268: WF_ENGINE.SETITEMATTRNUMBER(itemtype => p_itemtype,itemkey => p_itemkey,
264: WF_ENGINE.SETITEMATTRTEXT(itemtype => p_itemtype,itemkey => p_itemkey,
265: aname => '#FROM_ROLE',
266: avalue => l_userName );
267:
268: WF_ENGINE.SETITEMATTRNUMBER(itemtype => p_itemtype,itemkey => p_itemkey,
269: aname => 'GMDQMSAP_TIMEOUT',
270: avalue => l_wf_timeout);
271: WF_ENGINE.SETITEMATTRNUMBER(itemtype => p_itemtype,itemkey => p_itemkey,
272: aname => 'GMDQMSAP_MESG_CNT',
267:
268: WF_ENGINE.SETITEMATTRNUMBER(itemtype => p_itemtype,itemkey => p_itemkey,
269: aname => 'GMDQMSAP_TIMEOUT',
270: avalue => l_wf_timeout);
271: WF_ENGINE.SETITEMATTRNUMBER(itemtype => p_itemtype,itemkey => p_itemkey,
272: aname => 'GMDQMSAP_MESG_CNT',
273: avalue => 1);
274:
275:
300: p_actid IN NUMBER,
301: p_funcmode IN VARCHAR2,
302: p_resultout OUT NOCOPY VARCHAR2) IS
303:
304: l_comment VARCHAR2(4000):= wf_engine.getitemattrtext(p_itemtype, p_itemkey,'GMDQMSAP_COMMENT');
305: l_mesg_comment VARCHAR2(4000):= wf_engine.getitemattrtext(p_itemtype, p_itemkey,'GMDQMSAP_DISP_COMMENT');
306: l_performer VARCHAR2(80) := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'GMDQMSAP_CURR_PERFORMER');
307: BEGIN
308: IF (p_funcmode = 'RUN' AND l_comment IS NOT NULL) THEN
301: p_funcmode IN VARCHAR2,
302: p_resultout OUT NOCOPY VARCHAR2) IS
303:
304: l_comment VARCHAR2(4000):= wf_engine.getitemattrtext(p_itemtype, p_itemkey,'GMDQMSAP_COMMENT');
305: l_mesg_comment VARCHAR2(4000):= wf_engine.getitemattrtext(p_itemtype, p_itemkey,'GMDQMSAP_DISP_COMMENT');
306: l_performer VARCHAR2(80) := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'GMDQMSAP_CURR_PERFORMER');
307: BEGIN
308: IF (p_funcmode = 'RUN' AND l_comment IS NOT NULL) THEN
309: BEGIN
302: p_resultout OUT NOCOPY VARCHAR2) IS
303:
304: l_comment VARCHAR2(4000):= wf_engine.getitemattrtext(p_itemtype, p_itemkey,'GMDQMSAP_COMMENT');
305: l_mesg_comment VARCHAR2(4000):= wf_engine.getitemattrtext(p_itemtype, p_itemkey,'GMDQMSAP_DISP_COMMENT');
306: l_performer VARCHAR2(80) := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'GMDQMSAP_CURR_PERFORMER');
307: BEGIN
308: IF (p_funcmode = 'RUN' AND l_comment IS NOT NULL) THEN
309: BEGIN
310: --l_mesg_comment := l_mesg_comment||wf_core.newline||l_performer||' : '||FND_DATE.DATE_TO_CHARDT(SYSDATE)|| replaced by below line for Bug 11874618 - 12.2 TECHNOLOGY PROJECT ONLINE PATCHING
314: EXCEPTION WHEN OTHERS THEN
315: NULL;
316: END;
317:
318: WF_ENGINE.SETITEMATTRTEXT(itemtype => p_itemtype,
319: itemkey => p_itemkey,
320: aname => 'GMDQMSAP_DISP_COMMENT',
321: avalue => l_mesg_comment);
322: WF_ENGINE.SETITEMATTRTEXT(itemtype => p_itemtype,
318: WF_ENGINE.SETITEMATTRTEXT(itemtype => p_itemtype,
319: itemkey => p_itemkey,
320: aname => 'GMDQMSAP_DISP_COMMENT',
321: avalue => l_mesg_comment);
322: WF_ENGINE.SETITEMATTRTEXT(itemtype => p_itemtype,
323: itemkey => p_itemkey,
324: aname => 'GMDQMSAP_COMMENT',
325: avalue => l_comment);
326: END IF;
345: p_resultout OUT NOCOPY VARCHAR2) IS
346: applicationId number :=552;
347: transactionType varchar2(50) := 'GMDQM_STABILITY_CSTS';
348: nextApprover ame_util.approverRecord;
349: lStartStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'START_STATUS');
350: lTargetStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS');
351: lSSId number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'SS_ID');
352: l_userID integer;
353: l_userName FND_USER.USER_NAME%TYPE;
346: applicationId number :=552;
347: transactionType varchar2(50) := 'GMDQM_STABILITY_CSTS';
348: nextApprover ame_util.approverRecord;
349: lStartStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'START_STATUS');
350: lTargetStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS');
351: lSSId number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'SS_ID');
352: l_userID integer;
353: l_userName FND_USER.USER_NAME%TYPE;
354: api_ret_status VARCHAR2(1);
347: transactionType varchar2(50) := 'GMDQM_STABILITY_CSTS';
348: nextApprover ame_util.approverRecord;
349: lStartStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'START_STATUS');
350: lTargetStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS');
351: lSSId number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'SS_ID');
352: l_userID integer;
353: l_userName FND_USER.USER_NAME%TYPE;
354: api_ret_status VARCHAR2(1);
355: api_se_ret_status VARCHAR2(1);
418: ELSE
419: l_userID := nextApprover.user_id;
420: END IF;
421: l_userName := GET_FND_USER_NAME(l_userId);
422: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'USER_ID',l_userID);
423: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'APPROVER',l_userName);
424: p_resultout := 'COMPLETE:Y';
425: END IF;
426: END IF;
419: l_userID := nextApprover.user_id;
420: END IF;
421: l_userName := GET_FND_USER_NAME(l_userId);
422: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'USER_ID',l_userID);
423: wf_engine.setitemattrtext(p_itemtype, p_itemkey,'APPROVER',l_userName);
424: p_resultout := 'COMPLETE:Y';
425: END IF;
426: END IF;
427:
438: p_itemkey IN VARCHAR2,
439: p_actid IN NUMBER,
440: p_funcmode IN VARCHAR2,
441: p_resultout OUT NOCOPY VARCHAR2) IS
442: l_mesg_cnt number:=wf_engine.getitemattrnumber(p_itemtype, p_itemkey,'GMDQMSAP_MESG_CNT');
443: l_approver VARCHAR2(80) := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'APPROVER');
444: BEGIN
445: IF (p_funcmode = 'TIMEOUT') THEN
446: l_mesg_cnt := l_mesg_cnt + 1;
439: p_actid IN NUMBER,
440: p_funcmode IN VARCHAR2,
441: p_resultout OUT NOCOPY VARCHAR2) IS
442: l_mesg_cnt number:=wf_engine.getitemattrnumber(p_itemtype, p_itemkey,'GMDQMSAP_MESG_CNT');
443: l_approver VARCHAR2(80) := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'APPROVER');
444: BEGIN
445: IF (p_funcmode = 'TIMEOUT') THEN
446: l_mesg_cnt := l_mesg_cnt + 1;
447: IF l_mesg_cnt <= 4 THEN
444: BEGIN
445: IF (p_funcmode = 'TIMEOUT') THEN
446: l_mesg_cnt := l_mesg_cnt + 1;
447: IF l_mesg_cnt <= 4 THEN
448: WF_ENGINE.SETITEMATTRNUMBER(itemtype => p_itemtype,itemkey => p_itemkey,
449: aname => 'GMDQMSAP_MESG_CNT',
450: avalue => l_mesg_cnt);
451: ELSE
452: p_resultout := 'COMPLETE:DEFAULT';
451: ELSE
452: p_resultout := 'COMPLETE:DEFAULT';
453: END IF;
454: ELSIF (p_funcmode = 'RESPOND') THEN
455: WF_ENGINE.SETITEMATTRTEXT(itemtype => p_itemtype,
456: itemkey => p_itemkey,
457: aname => 'GMDQMSAP_CURR_PERFORMER',
458: avalue => l_approver);
459: END IF;
472: p_itemkey IN VARCHAR2,
473: p_actid IN NUMBER,
474: p_funcmode IN VARCHAR2,
475: p_resultout OUT NOCOPY VARCHAR2) IS
476: lSpecId number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'SS_ID');
477: lStartStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'START_STATUS');
478: lTargetStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS');
479: api_ret_status VARCHAR2(1);
480: api_err_mesg VARCHAR2(240);
473: p_actid IN NUMBER,
474: p_funcmode IN VARCHAR2,
475: p_resultout OUT NOCOPY VARCHAR2) IS
476: lSpecId number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'SS_ID');
477: lStartStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'START_STATUS');
478: lTargetStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS');
479: api_ret_status VARCHAR2(1);
480: api_err_mesg VARCHAR2(240);
481: BEGIN
474: p_funcmode IN VARCHAR2,
475: p_resultout OUT NOCOPY VARCHAR2) IS
476: lSpecId number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'SS_ID');
477: lStartStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'START_STATUS');
478: lTargetStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS');
479: api_ret_status VARCHAR2(1);
480: api_err_mesg VARCHAR2(240);
481: BEGIN
482: IF p_funcmode = 'RUN' THEN
513: p_resultout OUT NOCOPY VARCHAR2) IS
514: applicationId number :=552;
515: transactionType varchar2(50) := 'GMDQM_STABILITY_CSTS';
516: nextApprover ame_util.approverRecord;
517: lSSId number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'SS_ID');
518: lStartStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'START_STATUS');
519: lTargetStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS');
520: l_userID VARCHAR2(100) := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'USER_ID');
521: new_user_id VARCHAR2(100);
514: applicationId number :=552;
515: transactionType varchar2(50) := 'GMDQM_STABILITY_CSTS';
516: nextApprover ame_util.approverRecord;
517: lSSId number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'SS_ID');
518: lStartStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'START_STATUS');
519: lTargetStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS');
520: l_userID VARCHAR2(100) := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'USER_ID');
521: new_user_id VARCHAR2(100);
522: api_ret_status VARCHAR2(1);
515: transactionType varchar2(50) := 'GMDQM_STABILITY_CSTS';
516: nextApprover ame_util.approverRecord;
517: lSSId number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'SS_ID');
518: lStartStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'START_STATUS');
519: lTargetStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS');
520: l_userID VARCHAR2(100) := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'USER_ID');
521: new_user_id VARCHAR2(100);
522: api_ret_status VARCHAR2(1);
523: api_err_mesg VARCHAR2(240);
516: nextApprover ame_util.approverRecord;
517: lSSId number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'SS_ID');
518: lStartStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'START_STATUS');
519: lTargetStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS');
520: l_userID VARCHAR2(100) := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'USER_ID');
521: new_user_id VARCHAR2(100);
522: api_ret_status VARCHAR2(1);
523: api_err_mesg VARCHAR2(240);
524: BEGIN
583: p_resultout OUT NOCOPY VARCHAR2) IS
584: applicationId number :=552;
585: transactionType varchar2(50) := 'GMDQM_STABILITY_CSTS';
586: nextApprover ame_util.approverRecord;
587: lSpecId number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'SS_ID');
588: lStartStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'START_STATUS');
589: lTargetStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS');
590: l_userID VARCHAR2(100) := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'USER_ID');
591: new_user_id VARCHAR2(100);
584: applicationId number :=552;
585: transactionType varchar2(50) := 'GMDQM_STABILITY_CSTS';
586: nextApprover ame_util.approverRecord;
587: lSpecId number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'SS_ID');
588: lStartStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'START_STATUS');
589: lTargetStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS');
590: l_userID VARCHAR2(100) := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'USER_ID');
591: new_user_id VARCHAR2(100);
592: api_ret_status VARCHAR2(1);
585: transactionType varchar2(50) := 'GMDQM_STABILITY_CSTS';
586: nextApprover ame_util.approverRecord;
587: lSpecId number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'SS_ID');
588: lStartStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'START_STATUS');
589: lTargetStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS');
590: l_userID VARCHAR2(100) := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'USER_ID');
591: new_user_id VARCHAR2(100);
592: api_ret_status VARCHAR2(1);
593: api_err_mesg VARCHAR2(240);
586: nextApprover ame_util.approverRecord;
587: lSpecId number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'SS_ID');
588: lStartStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'START_STATUS');
589: lTargetStatus Number := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'TARGET_STATUS');
590: l_userID VARCHAR2(100) := wf_engine.getitemattrtext(p_itemtype, p_itemkey,'USER_ID');
591: new_user_id VARCHAR2(100);
592: api_ret_status VARCHAR2(1);
593: api_err_mesg VARCHAR2(240);
594: BEGIN