4115: l_old_tax_currency varchar2(40);
4116: l_new_tax_currency varchar2(40);
4117: l_new_total_amount_dsp varchar2(40);
4118:
4119: n_varname Wf_Engine.NameTabTyp;
4120: n_varval Wf_Engine.NumTabTyp;
4121:
4122: t_varname Wf_Engine.NameTabTyp;
4123: t_varval Wf_Engine.TextTabTyp;
4116: l_new_tax_currency varchar2(40);
4117: l_new_total_amount_dsp varchar2(40);
4118:
4119: n_varname Wf_Engine.NameTabTyp;
4120: n_varval Wf_Engine.NumTabTyp;
4121:
4122: t_varname Wf_Engine.NameTabTyp;
4123: t_varval Wf_Engine.TextTabTyp;
4124:
4118:
4119: n_varname Wf_Engine.NameTabTyp;
4120: n_varval Wf_Engine.NumTabTyp;
4121:
4122: t_varname Wf_Engine.NameTabTyp;
4123: t_varval Wf_Engine.TextTabTyp;
4124:
4125: begin
4126: x_progress :='StartConvertProcess:001';
4119: n_varname Wf_Engine.NameTabTyp;
4120: n_varval Wf_Engine.NumTabTyp;
4121:
4122: t_varname Wf_Engine.NameTabTyp;
4123: t_varval Wf_Engine.TextTabTyp;
4124:
4125: begin
4126: x_progress :='StartConvertProcess:001';
4127:
4138: where requisition_header_id=l_document_id;
4139:
4140: x_progress :='StartConvertProcess:003';
4141:
4142: wf_engine.CreateProcess(itemtype => item_type,
4143: itemkey => item_key,
4144: process => 'CONVERT_INTO_PO_REQUEST');
4145: x_progress :='StartConvertProcess:004';
4146:
4152: n_varname(2) := 'DOCUMENT_ID';
4153: n_varval(2) := l_document_id;
4154: n_varname(3) := 'ORG_ID';
4155: n_varval(3) := l_org_id;
4156: Wf_Engine.SetItemAttrNumberArray(item_type, item_key,n_varname,n_varval);
4157: x_progress :='StartConvertProcess:006';
4158: t_varname(1) := 'DOCUMENT_TYPE';
4159: t_varval(1) := 'REQ';
4160: t_varname(2) := 'DOCUMENT_SUBTYPE';
4218: t_varval(15) := l_document_number;
4219:
4220: x_progress :='StartConvertProcess:007';
4221:
4222: Wf_Engine.SetItemAttrTextArray(item_type, item_key,t_varname,t_varval);
4223:
4224: wf_engine.StartProcess(itemtype => item_type,
4225: itemkey => item_key);
4226:
4220: x_progress :='StartConvertProcess:007';
4221:
4222: Wf_Engine.SetItemAttrTextArray(item_type, item_key,t_varname,t_varval);
4223:
4224: wf_engine.StartProcess(itemtype => item_type,
4225: itemkey => item_key);
4226:
4227: x_progress :='StartConvertProcess:008';
4228: commit;
4335: from po_requisition_headers_all prh, po_change_requests pcr
4336: where prh.requisition_header_id=pcr.document_header_id
4337: and pcr.change_request_group_id=l_change_request_group_id;
4338:
4339: n_varname Wf_Engine.NameTabTyp;
4340: n_varval Wf_Engine.NumTabTyp;
4341:
4342: t_varname Wf_Engine.NameTabTyp;
4343: t_varval Wf_Engine.TextTabTyp;
4336: where prh.requisition_header_id=pcr.document_header_id
4337: and pcr.change_request_group_id=l_change_request_group_id;
4338:
4339: n_varname Wf_Engine.NameTabTyp;
4340: n_varval Wf_Engine.NumTabTyp;
4341:
4342: t_varname Wf_Engine.NameTabTyp;
4343: t_varval Wf_Engine.TextTabTyp;
4344:
4338:
4339: n_varname Wf_Engine.NameTabTyp;
4340: n_varval Wf_Engine.NumTabTyp;
4341:
4342: t_varname Wf_Engine.NameTabTyp;
4343: t_varval Wf_Engine.TextTabTyp;
4344:
4345: l_document_type_disp varchar2(200);
4346:
4339: n_varname Wf_Engine.NameTabTyp;
4340: n_varval Wf_Engine.NumTabTyp;
4341:
4342: t_varname Wf_Engine.NameTabTyp;
4343: t_varval Wf_Engine.TextTabTyp;
4344:
4345: l_document_type_disp varchar2(200);
4346:
4347: begin
4417: message => 'change_request_group_id:' ||to_char(p_change_request_group_id) || '-before creating workflow');
4418: END IF;
4419: END IF;
4420:
4421: wf_engine.CreateProcess(itemtype => item_type,
4422: itemkey => item_key,
4423: process => p_process);
4424: x_progress :='StartPOChangeWF:004';
4425:
4469: n_varname(7) := 'RESPONSIBILITY_ID';
4470: n_varval(7) := p_responsibility_id;
4471: n_varname(8) := 'APPLICATION_ID';
4472: n_varval(8) := p_application_id;
4473: Wf_Engine.SetItemAttrNumberArray(item_type, item_key,n_varname,n_varval);
4474:
4475: -- fnd_global.APPS_INITIALIZE (p_user_id, p_responsibility_id, p_application_id);
4476:
4477: t_varname(1) := 'DOCUMENT_TYPE';
4501: t_varname(12) := 'DOCUMENT_TYPE_DISP';
4502: t_varval(12) := l_document_type_disp;
4503:
4504: x_progress :='StartPOChangeWF:007';
4505: Wf_Engine.SetItemAttrTextArray(item_type, item_key,t_varname,t_varval);
4506:
4507: -- bug 5379796, need to get old req_amount,tax_amount before kicking off the workflow, -- since 'buyer response' wf will update reqs.
4508: if (p_process='PROCESS_BUYER_RESPONSE') then
4509:
4625: message => 'change_request_group_id:' ||to_char(p_change_request_group_id)||'-before setting the parent-child relationship.');
4626: END IF;
4627: END IF;
4628:
4629: wf_engine.setItemParent( itemtype => item_type,
4630: itemkey => item_key,
4631: parent_itemtype => l_parent_item_type,
4632: parent_itemkey => l_parent_item_key,
4633: parent_context => NULL);
4645: END IF;
4646:
4647: x_progress :='StartPOChangeWF:010';
4648:
4649: wf_engine.StartProcess(itemtype => item_type,
4650: itemkey => item_key);
4651:
4652: IF (g_fnd_debug = 'Y') THEN
4653: IF( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN
4755: x_progress := 'PO_ReqChangeRequestWF_PVT.Get_Req_Chg_Attributes';
4756:
4757:
4758: -- Do nothing in cancel or timeout mode
4759: if (funcmode <> wf_engine.eng_run) then
4760:
4761: resultout := wf_engine.eng_null;
4762: return;
4763:
4757:
4758: -- Do nothing in cancel or timeout mode
4759: if (funcmode <> wf_engine.eng_run) then
4760:
4761: resultout := wf_engine.eng_null;
4762: return;
4763:
4764: end if;
4765:
4809: 'plsql:PO_ReqChangeRequestNotif_PVT.get_new_req_amount/'||itemtype||':'||itemkey);
4810:
4811: */
4812: x_progress := 'PO_ReqChangeRequestWF_PVT.Get_Req_Chg_Attributes: 02';
4813: resultout := wf_engine.eng_completed || ':' || 'ACTIVITY_PERFORMED';
4814:
4815: EXCEPTION
4816: WHEN OTHERS THEN
4817: l_doc_string := PO_REQAPPROVAL_INIT1.get_error_doc(itemType, itemkey);
4853: x_progress := 'PO_ReqChangeRequestWF_PVT.Update_Req_Change_Flag: 01';
4854:
4855: -- Do nothing in cancel or timeout mode
4856: --
4857: if (funcmode <> wf_engine.eng_run) then
4858:
4859: resultout := wf_engine.eng_null;
4860: return;
4861:
4855: -- Do nothing in cancel or timeout mode
4856: --
4857: if (funcmode <> wf_engine.eng_run) then
4858:
4859: resultout := wf_engine.eng_null;
4860: return;
4861:
4862: end if;
4863:
4885: SetReqChangeFlag(l_change_request_group_id,
4886: l_document_id, itemtype, itemkey, 'Y');
4887:
4888: --
4889: resultout := wf_engine.eng_completed || ':' || 'ACTIVITY_PERFORMED';
4890: --
4891:
4892: x_progress := 'PO_REQAPPROVAL_INIT1.Update_Req_Change_Flag: 02';
4893:
4945:
4946: x_progress := 'PO_ReqChangeRequestWF_PVT.Insert_into_History_CHGsubmit: 01';
4947:
4948: -- Do nothing in cancel or timeout mode
4949: if (funcmode <> wf_engine.eng_run) then
4950: resultout := wf_engine.eng_null;
4951: return;
4952: end if;
4953:
4946: x_progress := 'PO_ReqChangeRequestWF_PVT.Insert_into_History_CHGsubmit: 01';
4947:
4948: -- Do nothing in cancel or timeout mode
4949: if (funcmode <> wf_engine.eng_run) then
4950: resultout := wf_engine.eng_null;
4951: return;
4952: end if;
4953:
4954: l_change_request_group_id:= PO_WF_UTIL_PKG.GetItemAttrNumber (
5013: InsertActionHist(itemtype,itemkey,l_doc_id, l_doc_type,
5014: l_doc_subtype, l_employee_id,
5015: 'SUBMIT CHANGE', l_note, null);
5016:
5017: resultout := wf_engine.eng_completed || ':' || 'ACTIVITY_PERFORMED' ;
5018:
5019: x_progress := 'PO_ReqChangeRequestWF_PVT.Insert_into_History_CHGsubmit: 07';
5020:
5021: EXCEPTION
5069:
5070: x_progress := 'PO_ReqChangeRequestWF_PVT.Req_Change_Needs_Approval: 01';
5071:
5072: -- Do nothing in cancel or timeout mode
5073: if (funcmode <> wf_engine.eng_run) then
5074: resultout := wf_engine.eng_null;
5075: return;
5076: end if;
5077:
5070: x_progress := 'PO_ReqChangeRequestWF_PVT.Req_Change_Needs_Approval: 01';
5071:
5072: -- Do nothing in cancel or timeout mode
5073: if (funcmode <> wf_engine.eng_run) then
5074: resultout := wf_engine.eng_null;
5075: return;
5076: end if;
5077:
5078: l_change_request_group_id := PO_WF_UTIL_PKG.GetItemAttrNumber (
5084:
5085: open approval_flag;
5086: fetch approval_flag into l_approval_flag;
5087: if(approval_flag%NOTFOUND) then
5088: resultout := wf_engine.eng_completed || ':' || 'N';
5089: else
5090: resultout := wf_engine.eng_completed || ':'
5091: || nvl(l_approval_flag, 'Y');
5092: end if;
5086: fetch approval_flag into l_approval_flag;
5087: if(approval_flag%NOTFOUND) then
5088: resultout := wf_engine.eng_completed || ':' || 'N';
5089: else
5090: resultout := wf_engine.eng_completed || ':'
5091: || nvl(l_approval_flag, 'Y');
5092: end if;
5093: close approval_flag;
5094:
5136: x_progress := 'PO_ReqChangeRequestWF_PVT.Set_Change_Mgr_Pre_App: 01';
5137:
5138:
5139: -- Do nothing in cancel or timeout mode
5140: if (funcmode <> wf_engine.eng_run) then
5141: resultout := wf_engine.eng_null;
5142: return;
5143: end if;
5144:
5137:
5138:
5139: -- Do nothing in cancel or timeout mode
5140: if (funcmode <> wf_engine.eng_run) then
5141: resultout := wf_engine.eng_null;
5142: return;
5143: end if;
5144:
5145: l_change_request_group_id := PO_WF_UTIL_PKG.GetItemAttrNumber (itemtype => itemtype,
5150: SetReqRequestStatus(l_change_request_group_id, 'N', 'MGR_PRE_APP',
5151: null, null);
5152:
5153: --
5154: resultout := wf_engine.eng_completed || ':' || 'ACTIVITY_PERFORMED';
5155: --
5156:
5157: x_progress := 'PO_ReqChangeRequestWF_PVT.Set_Change_Mgr_Pre_App: 02';
5158:
5199: x_progress := 'PO_ReqChangeRequestWF_PVT.Set_Change_Mgr_App: 01';
5200:
5201:
5202: -- Do nothing in cancel or timeout mode
5203: if (funcmode <> wf_engine.eng_run) then
5204: resultout := wf_engine.eng_null;
5205: return;
5206: end if;
5207:
5200:
5201:
5202: -- Do nothing in cancel or timeout mode
5203: if (funcmode <> wf_engine.eng_run) then
5204: resultout := wf_engine.eng_null;
5205: return;
5206: end if;
5207:
5208: l_change_request_group_id := PO_WF_UTIL_PKG.GetItemAttrNumber (
5211: aname => 'CHANGE_REQUEST_GROUP_ID');
5212:
5213: SetReqRequestStatus(l_change_request_group_id, 'N', 'MGR_APP', null, null);
5214:
5215: resultout := wf_engine.eng_completed || ':' || 'ACTIVITY_PERFORMED';
5216:
5217: x_progress := 'PO_ReqChangeRequestWF_PVT.Set_Change_Mgr_App: 02';
5218:
5219: EXCEPTION
5258:
5259:
5260: -- Do nothing in cancel or timeout mode
5261: --
5262: if (funcmode <> wf_engine.eng_run) then
5263:
5264: resultout := wf_engine.eng_null;
5265: return;
5266:
5260: -- Do nothing in cancel or timeout mode
5261: --
5262: if (funcmode <> wf_engine.eng_run) then
5263:
5264: resultout := wf_engine.eng_null;
5265: return;
5266:
5267: end if;
5268:
5273:
5274: SetReqRequestStatus(l_change_request_group_id, 'N', 'REJECTED', null, null);
5275:
5276: --
5277: resultout := wf_engine.eng_completed || ':' || 'ACTIVITY_PERFORMED';
5278: --
5279:
5280: x_progress := 'PO_ReqChangeRequestWF_PVT.Set_Change_Rejected: 02';
5281:
5325: x_progress := 'PO_ReqChangeRequestWF_PVT.Is_Chg_Mgr_Pre_App';
5326:
5327:
5328: -- Do nothing in cancel or timeout mode
5329: if (funcmode <> wf_engine.eng_run) then
5330:
5331: resultout := wf_engine.eng_null;
5332: return;
5333:
5327:
5328: -- Do nothing in cancel or timeout mode
5329: if (funcmode <> wf_engine.eng_run) then
5330:
5331: resultout := wf_engine.eng_null;
5332: return;
5333:
5334: end if;
5335:
5354: close accepted_change;
5355:
5356: if(l_change_request_id is null) then
5357: -- not exist
5358: resultout := wf_engine.eng_completed || ':' || 'N' ;
5359: else
5360: resultout := wf_engine.eng_completed || ':' || 'Y' ;
5361: end if;
5362: x_progress := 'PO_ReqChangeRequestWF_PVT.Is_Chg_Mgr_Pre_App: 02';
5356: if(l_change_request_id is null) then
5357: -- not exist
5358: resultout := wf_engine.eng_completed || ':' || 'N' ;
5359: else
5360: resultout := wf_engine.eng_completed || ':' || 'Y' ;
5361: end if;
5362: x_progress := 'PO_ReqChangeRequestWF_PVT.Is_Chg_Mgr_Pre_App: 02';
5363:
5364: EXCEPTION
5394: PO_WF_UTIL_PKG.SetItemAttrNumber ( itemtype => itemtype,
5395: itemkey => itemkey,
5396: aname => 'REMINDER_COUNTER',
5397: avalue => 0);
5398: resultout := wf_engine.eng_completed || ':' || 'ACTIVITY_PERFORMED';
5399:
5400: exception when others then
5401: wf_core.context('PO_ReqChangeRequestWF_PVT','Reset_Reminder_Counter',x_progress);
5402: raise;
5429: itemkey => itemkey,
5430: aname => 'MAX_REMINDER_MSG_COUNT');
5431:
5432: if(l_reminder_counter=l_max_reminder) then
5433: resultout := wf_engine.eng_completed || ':' || 'N';
5434: else
5435: resultout := wf_engine.eng_completed || ':' || 'Y';
5436: wf_engine.SetItemAttrNumber ( itemtype => itemtype,
5437: itemkey => itemkey,
5431:
5432: if(l_reminder_counter=l_max_reminder) then
5433: resultout := wf_engine.eng_completed || ':' || 'N';
5434: else
5435: resultout := wf_engine.eng_completed || ':' || 'Y';
5436: wf_engine.SetItemAttrNumber ( itemtype => itemtype,
5437: itemkey => itemkey,
5438: aname => 'REMINDER_COUNTER',
5439: avalue => l_reminder_counter+1);
5432: if(l_reminder_counter=l_max_reminder) then
5433: resultout := wf_engine.eng_completed || ':' || 'N';
5434: else
5435: resultout := wf_engine.eng_completed || ':' || 'Y';
5436: wf_engine.SetItemAttrNumber ( itemtype => itemtype,
5437: itemkey => itemkey,
5438: aname => 'REMINDER_COUNTER',
5439: avalue => l_reminder_counter+1);
5440: if(l_reminder_counter=l_max_reminder-1) then
5497:
5498: x_progress := 'PO_ReqChangeRequestWF_PVT.Start_From_PO_Cancel';
5499:
5500: -- Do nothing in cancel or timeout mode
5501: if (funcmode <> wf_engine.eng_run) then
5502:
5503: resultout := wf_engine.eng_null;
5504: return;
5505:
5499:
5500: -- Do nothing in cancel or timeout mode
5501: if (funcmode <> wf_engine.eng_run) then
5502:
5503: resultout := wf_engine.eng_null;
5504: return;
5505:
5506: end if;
5507: l_ActionOriginatedFrom := PO_WF_UTIL_PKG.GetItemAttrText ( itemtype => itemtype,
5509: aname => 'INTERFACE_SOURCE_CODE');
5510:
5511:
5512: if(nvl(l_ActionOriginatedFrom, 'N')='PO_CANCEL') then
5513: resultout := wf_engine.eng_completed || ':' || 'Y';
5514: else
5515: resultout := wf_engine.eng_completed || ':' || 'N';
5516: end if;
5517: x_progress := 'PO_ReqChangeRequestWF_PVT.Start_From_PO_Cancel: 02';
5511:
5512: if(nvl(l_ActionOriginatedFrom, 'N')='PO_CANCEL') then
5513: resultout := wf_engine.eng_completed || ':' || 'Y';
5514: else
5515: resultout := wf_engine.eng_completed || ':' || 'N';
5516: end if;
5517: x_progress := 'PO_ReqChangeRequestWF_PVT.Start_From_PO_Cancel: 02';
5518:
5519: EXCEPTION
5562: x_progress := 'PO_ReqChangeRequestWF_PVT.Change_Request_Mgr_Approved';
5563:
5564:
5565: -- Do nothing in cancel or timeout mode
5566: if (funcmode <> wf_engine.eng_run) then
5567:
5568: resultout := wf_engine.eng_null;
5569: return;
5570:
5564:
5565: -- Do nothing in cancel or timeout mode
5566: if (funcmode <> wf_engine.eng_run) then
5567:
5568: resultout := wf_engine.eng_null;
5569: return;
5570:
5571: end if;
5572:
5589: fetch change_request_status into l_change_request_status ;
5590: close change_request_status ;
5591:
5592: if(l_change_request_status is not null) then
5593: resultout := wf_engine.eng_completed || ':' || 'Y';
5594: else
5595: resultout := wf_engine.eng_completed || ':' || 'N';
5596: end if;
5597: x_progress := 'PO_ReqChangeRequestWF_PVT.Change_Request_Mgr_Approved: 02';
5591:
5592: if(l_change_request_status is not null) then
5593: resultout := wf_engine.eng_completed || ':' || 'Y';
5594: else
5595: resultout := wf_engine.eng_completed || ':' || 'N';
5596: end if;
5597: x_progress := 'PO_ReqChangeRequestWF_PVT.Change_Request_Mgr_Approved: 02';
5598:
5599: EXCEPTION
5993:
5994: ConvertIntoPOChange(l_change_request_group_id);
5995:
5996:
5997: resultout := wf_engine.eng_completed || ':' || 'ACTIVITY_PERFORMED';
5998: end Convert_Into_PO_Change;
5999:
6000:
6001:
6046:
6047:
6048: -- Do nothing in cancel or timeout mode
6049: --
6050: if (funcmode <> wf_engine.eng_run) then
6051:
6052: resultout := wf_engine.eng_null;
6053: return;
6054:
6048: -- Do nothing in cancel or timeout mode
6049: --
6050: if (funcmode <> wf_engine.eng_run) then
6051:
6052: resultout := wf_engine.eng_null;
6053: return;
6054:
6055: end if;
6056:
6079: end loop;
6080: close child_request_group_id;
6081:
6082: --
6083: resultout := wf_engine.eng_completed || ':' || 'ACTIVITY_PERFORMED';
6084: --
6085:
6086: x_progress := 'PO_ReqChangeRequestWF_PVT.Kickoff_POChange_WF: 02';
6087:
6126:
6127:
6128: -- Do nothing in cancel or timeout mode
6129: --
6130: if (funcmode <> wf_engine.eng_run) then
6131:
6132: resultout := wf_engine.eng_null;
6133: return;
6134:
6128: -- Do nothing in cancel or timeout mode
6129: --
6130: if (funcmode <> wf_engine.eng_run) then
6131:
6132: resultout := wf_engine.eng_null;
6133: return;
6134:
6135: end if;
6136:
6155:
6156: SetReqChangeFlag(l_change_request_group_id, l_document_id, itemtype, itemkey, 'N');
6157:
6158: --
6159: resultout := wf_engine.eng_completed || ':' || 'ACTIVITY_PERFORMED';
6160: --
6161:
6162: x_progress := 'PO_REQAPPROVAL_INIT1.Reset_Change_Flag: 02';
6163:
6197: l_new_req_amount number;
6198: l_currency_code fnd_currencies.CURRENCY_CODE%TYPE;
6199:
6200: BEGIN
6201: if (funcmode <> wf_engine.eng_run) then
6202:
6203: resultout := wf_engine.eng_null;
6204: return;
6205:
6199:
6200: BEGIN
6201: if (funcmode <> wf_engine.eng_run) then
6202:
6203: resultout := wf_engine.eng_null;
6204: return;
6205:
6206: end if;
6207:
6217: END IF;
6218:
6219: setNewTotal(itemtype, itemkey);
6220:
6221: resultout := wf_engine.eng_completed || ':' || 'ACTIVITY_PERFORMED' ;
6222:
6223: exception when others then
6224: wf_core.context('PO_ReqChangeRequestWF_PVT','Get_Change_Total_Attr',x_progress);
6225: raise;
6406:
6407: x_progress := 'PO_ReqChangeRequestWF_PVT.Is_Doc_Approved: 01';
6408:
6409: -- Do nothing in cancel or timeout mode
6410: if (funcmode <> wf_engine.eng_run) then
6411: resultout := wf_engine.eng_null;
6412: return;
6413: end if;
6414:
6407: x_progress := 'PO_ReqChangeRequestWF_PVT.Is_Doc_Approved: 01';
6408:
6409: -- Do nothing in cancel or timeout mode
6410: if (funcmode <> wf_engine.eng_run) then
6411: resultout := wf_engine.eng_null;
6412: return;
6413: end if;
6414:
6415: l_doc_id := PO_WF_UTIL_PKG.GetItemAttrNumber (itemtype => itemtype,
6452: -- the authorization_status of corresponding PO/REALEASE will be 'pre_approved'(pending signature)
6453: -- This way,is_doc_approved should return 'Y' so that PO change requests will be updated to 'ACCEPTED' status later.
6454:
6455: if(nvl(l_authorization_status, 'IN PROCESS') in ('APPROVED','PRE-APPROVED') ) then
6456: resultout := wf_engine.eng_completed || ':' || 'Y' ;
6457:
6458: else
6459: resultout := wf_engine.eng_completed || ':' || 'N' ;
6460: end if;
6455: if(nvl(l_authorization_status, 'IN PROCESS') in ('APPROVED','PRE-APPROVED') ) then
6456: resultout := wf_engine.eng_completed || ':' || 'Y' ;
6457:
6458: else
6459: resultout := wf_engine.eng_completed || ':' || 'N' ;
6460: end if;
6461:
6462: x_progress := 'PO_ReqChangeRequestWF_PVT.Is_Doc_Approved: 02';
6463:
6504: BEGIN
6505:
6506: x_progress := 'PO_ReqChangeRequestWF_PVT.Set_Doc_In_Process01';
6507:
6508: if (funcmode <> wf_engine.eng_run) then
6509: resultout := wf_engine.eng_null;
6510: return;
6511: end if;
6512:
6505:
6506: x_progress := 'PO_ReqChangeRequestWF_PVT.Set_Doc_In_Process01';
6507:
6508: if (funcmode <> wf_engine.eng_run) then
6509: resultout := wf_engine.eng_null;
6510: return;
6511: end if;
6512:
6513: l_doc_id := PO_WF_UTIL_PKG.GetItemAttrNumber (itemtype => itemtype,
6585:
6586: x_progress := 'PO_ReqChangeRequestWF_PVT.Compare_Revision';
6587:
6588: -- Do nothing in cancel or timeout mode
6589: if (funcmode <> wf_engine.eng_run) then
6590:
6591: resultout := wf_engine.eng_null;
6592: return;
6593:
6587:
6588: -- Do nothing in cancel or timeout mode
6589: if (funcmode <> wf_engine.eng_run) then
6590:
6591: resultout := wf_engine.eng_null;
6592: return;
6593:
6594: end if;
6595:
6626: where po_release_id=l_doc_id;
6627: end if;
6628:
6629: if(nvl(l_old_doc_revision, -1)=nvl(l_doc_revision, -1)) then
6630: resultout := wf_engine.eng_completed || ':' || 'N' ;
6631: else
6632: resultout := wf_engine.eng_completed || ':' || 'Y' ;
6633: end if;
6634: x_progress := 'PO_ReqChangeRequestWF_PVT.Compare_Revision: 02';
6628:
6629: if(nvl(l_old_doc_revision, -1)=nvl(l_doc_revision, -1)) then
6630: resultout := wf_engine.eng_completed || ':' || 'N' ;
6631: else
6632: resultout := wf_engine.eng_completed || ':' || 'Y' ;
6633: end if;
6634: x_progress := 'PO_ReqChangeRequestWF_PVT.Compare_Revision: 02';
6635:
6636: EXCEPTION
6682:
6683: x_progress := 'PO_ReqChangeRequestWF_PVT.Record_Buyer_Rejection';
6684:
6685: -- Do nothing in cancel or timeout mode
6686: if (funcmode <> wf_engine.eng_run) then
6687: resultout := wf_engine.eng_null;
6688: return;
6689: end if;
6690:
6683: x_progress := 'PO_ReqChangeRequestWF_PVT.Record_Buyer_Rejection';
6684:
6685: -- Do nothing in cancel or timeout mode
6686: if (funcmode <> wf_engine.eng_run) then
6687: resultout := wf_engine.eng_null;
6688: return;
6689: end if;
6690:
6691: l_change_request_group_id := PO_WF_UTIL_PKG.GetItemAttrNumber (
6755:
6756: x_progress := 'PO_ReqChangeRequestWF_PVT.Record_Buyer_Acceptance';
6757:
6758: -- Do nothing in cancel or timeout mode
6759: if (funcmode <> wf_engine.eng_run) then
6760: resultout := wf_engine.eng_null;
6761: return;
6762: end if;
6763:
6756: x_progress := 'PO_ReqChangeRequestWF_PVT.Record_Buyer_Acceptance';
6757:
6758: -- Do nothing in cancel or timeout mode
6759: if (funcmode <> wf_engine.eng_run) then
6760: resultout := wf_engine.eng_null;
6761: return;
6762: end if;
6763:
6764: l_change_request_group_id := PO_WF_UTIL_PKG.GetItemAttrNumber (
6827: BEGIN
6828:
6829: x_progress := 'PO_ReqChangeRequestWF_PVT.Start_Process_Buy_Response_WF';
6830:
6831: if (funcmode <> wf_engine.eng_run) then
6832: resultout := wf_engine.eng_null;
6833: return;
6834: end if;
6835:
6828:
6829: x_progress := 'PO_ReqChangeRequestWF_PVT.Start_Process_Buy_Response_WF';
6830:
6831: if (funcmode <> wf_engine.eng_run) then
6832: resultout := wf_engine.eng_null;
6833: return;
6834: end if;
6835:
6836: l_change_request_group_id := PO_WF_UTIL_PKG.GetItemAttrNumber (
6909: x_progress := 'PO_ReqChangeRequestWF_PVT.Insert_Buyer_Action_History: 01';
6910:
6911: -- Do nothing in cancel or timeout mode
6912: --
6913: if (funcmode <> wf_engine.eng_run) then
6914: resultout := wf_engine.eng_null;
6915: return;
6916: end if;
6917:
6910:
6911: -- Do nothing in cancel or timeout mode
6912: --
6913: if (funcmode <> wf_engine.eng_run) then
6914: resultout := wf_engine.eng_null;
6915: return;
6916: end if;
6917:
6918: l_change_request_group_id:= PO_WF_UTIL_PKG.GetItemAttrNumber (
6980:
6981: InsertActionHist(itemtype,itemkey,l_doc_id, l_doc_type,
6982: l_doc_subtype, l_employee_id, l_action, l_note, null);
6983:
6984: resultout := wf_engine.eng_completed || ':' || 'ACTIVITY_PERFORMED' ;
6985:
6986: x_progress := 'PO_ReqChangeRequestWF_PVT.Insert_Buyer_Action_History: 02';
6987:
6988: EXCEPTION
7034:
7035: x_progress := 'PO_ReqChangeRequestWF_PVT.Process_Buyer_Rejection';
7036:
7037: -- Do nothing in cancel or timeout mode
7038: if (funcmode <> wf_engine.eng_run) then
7039: resultout := wf_engine.eng_null;
7040: return;
7041: end if;
7042:
7035: x_progress := 'PO_ReqChangeRequestWF_PVT.Process_Buyer_Rejection';
7036:
7037: -- Do nothing in cancel or timeout mode
7038: if (funcmode <> wf_engine.eng_run) then
7039: resultout := wf_engine.eng_null;
7040: return;
7041: end if;
7042:
7043:
7111:
7112: x_progress := 'PO_ReqChangeRequestWF_PVT.Process_Cancel_Acceptance';
7113:
7114: -- Do nothing in cancel or timeout mode
7115: if (funcmode <> wf_engine.eng_run) then
7116: resultout := wf_engine.eng_null;
7117: return;
7118: end if;
7119:
7112: x_progress := 'PO_ReqChangeRequestWF_PVT.Process_Cancel_Acceptance';
7113:
7114: -- Do nothing in cancel or timeout mode
7115: if (funcmode <> wf_engine.eng_run) then
7116: resultout := wf_engine.eng_null;
7117: return;
7118: end if;
7119:
7120: l_change_request_group_id := PO_WF_UTIL_PKG.GetItemAttrNumber (itemtype => itemtype,
7199:
7200: x_progress := 'PO_ReqChangeRequestWF_PVT.Change_Acceptance_Exists';
7201:
7202: -- Do nothing in cancel or timeout mode
7203: if (funcmode <> wf_engine.eng_run) then
7204: resultout := wf_engine.eng_null;
7205: return;
7206: end if;
7207:
7200: x_progress := 'PO_ReqChangeRequestWF_PVT.Change_Acceptance_Exists';
7201:
7202: -- Do nothing in cancel or timeout mode
7203: if (funcmode <> wf_engine.eng_run) then
7204: resultout := wf_engine.eng_null;
7205: return;
7206: end if;
7207:
7208: l_change_request_group_id := PO_WF_UTIL_PKG.GetItemAttrNumber (itemtype => itemtype,
7223: close accepted_change;
7224:
7225: if(l_change_request_id is null) then
7226: -- not exist
7227: resultout := wf_engine.eng_completed || ':' || 'N' ;
7228: else
7229: resultout := wf_engine.eng_completed || ':' || 'Y' ;
7230: end if;
7231: x_progress := 'PO_ReqChangeRequestWF_PVT.Change_Acceptance_Exists: 02';
7225: if(l_change_request_id is null) then
7226: -- not exist
7227: resultout := wf_engine.eng_completed || ':' || 'N' ;
7228: else
7229: resultout := wf_engine.eng_completed || ':' || 'Y' ;
7230: end if;
7231: x_progress := 'PO_ReqChangeRequestWF_PVT.Change_Acceptance_Exists: 02';
7232:
7233: EXCEPTION
7276: x_progress := 'PO_ReqChangeRequestWF_PVT.Process_Change_Acceptance';
7277:
7278:
7279: -- Do nothing in cancel or timeout mode
7280: if (funcmode <> wf_engine.eng_run) then
7281:
7282: resultout := wf_engine.eng_null;
7283: return;
7284:
7278:
7279: -- Do nothing in cancel or timeout mode
7280: if (funcmode <> wf_engine.eng_run) then
7281:
7282: resultout := wf_engine.eng_null;
7283: return;
7284:
7285: end if;
7286:
7396: x_progress := 'PO_ReqChangeRequestWF_PVT.Start_Poapprv_WF';
7397:
7398:
7399: -- Do nothing in cancel or timeout mode
7400: if (funcmode <> wf_engine.eng_run) then
7401:
7402: resultout := wf_engine.eng_null;
7403: return;
7404:
7398:
7399: -- Do nothing in cancel or timeout mode
7400: if (funcmode <> wf_engine.eng_run) then
7401:
7402: resultout := wf_engine.eng_null;
7403: return;
7404:
7405: end if;
7406:
7524:
7525: x_progress := 'PO_ReqChangeRequestWF_PVT.Req_Change_Responded';
7526:
7527: -- Do nothing in cancel or timeout mode
7528: if (funcmode <> wf_engine.eng_run) then
7529: resultout := wf_engine.eng_null;
7530: return;
7531: end if;
7532:
7525: x_progress := 'PO_ReqChangeRequestWF_PVT.Req_Change_Responded';
7526:
7527: -- Do nothing in cancel or timeout mode
7528: if (funcmode <> wf_engine.eng_run) then
7529: resultout := wf_engine.eng_null;
7530: return;
7531: end if;
7532:
7533: l_change_request_group_id := PO_WF_UTIL_PKG.GetItemAttrNumber (itemtype => itemtype,
7549: fetch pending_parent_change_csr into l_change_request_id;
7550: close pending_parent_change_csr;
7551:
7552: if(l_change_request_id is null) then
7553: resultout := wf_engine.eng_completed || ':' || 'Y' ;
7554: else
7555: resultout := wf_engine.eng_completed || ':' || 'N' ;
7556: end if;
7557:
7551:
7552: if(l_change_request_id is null) then
7553: resultout := wf_engine.eng_completed || ':' || 'Y' ;
7554: else
7555: resultout := wf_engine.eng_completed || ':' || 'N' ;
7556: end if;
7557:
7558: x_progress := 'PO_ReqChangeRequestWF_PVT.Req_Change_Responded: 02';
7559:
7598:
7599:
7600: -- Do nothing in cancel or timeout mode
7601: --
7602: if (funcmode <> wf_engine.eng_run) then
7603:
7604: resultout := wf_engine.eng_null;
7605: return;
7606:
7600: -- Do nothing in cancel or timeout mode
7601: --
7602: if (funcmode <> wf_engine.eng_run) then
7603:
7604: resultout := wf_engine.eng_null;
7605: return;
7606:
7607: end if;
7608:
7631:
7632: SetReqChangeFlag(l_req_change_request_group_id, l_document_id, itemtype, itemkey, 'N');
7633:
7634: --
7635: resultout := wf_engine.eng_completed || ':' || 'ACTIVITY_PERFORMED';
7636: --
7637:
7638: x_progress := 'PO_REQAPPROVAL_INIT1.Reset_Req_Change_Flag: 03';
7639:
7670: l_req_item_type wf_items.item_type%type;
7671: x_progress varchar2(100);
7672: l_functional_currency varchar2(200);
7673: l_total_amount_dsp varchar2(100);
7674: t_varname Wf_Engine.NameTabTyp;
7675: t_varval Wf_Engine.TextTabTyp;
7676: l_doc_string varchar2(200);
7677: l_preparer_user_name varchar2(100);
7678: l_note po_action_history.note%TYPE;
7671: x_progress varchar2(100);
7672: l_functional_currency varchar2(200);
7673: l_total_amount_dsp varchar2(100);
7674: t_varname Wf_Engine.NameTabTyp;
7675: t_varval Wf_Engine.TextTabTyp;
7676: l_doc_string varchar2(200);
7677: l_preparer_user_name varchar2(100);
7678: l_note po_action_history.note%TYPE;
7679: l_old_amount_currency varchar2(40);
7700:
7701: x_progress := 'PO_ReqChangeRequestWF_PVT.Get_Total_Amount_Currency: 01';
7702:
7703: -- Do nothing in cancel or timeout mode
7704: if (funcmode <> wf_engine.eng_run) then
7705: resultout := wf_engine.eng_null;
7706: return;
7707: end if;
7708:
7701: x_progress := 'PO_ReqChangeRequestWF_PVT.Get_Total_Amount_Currency: 01';
7702:
7703: -- Do nothing in cancel or timeout mode
7704: if (funcmode <> wf_engine.eng_run) then
7705: resultout := wf_engine.eng_null;
7706: return;
7707: end if;
7708:
7709: -- Set the multi-org context
7885:
7886: t_varname(10) := 'PREPARER_USER_NAME';
7887: t_varval(10) := l_preparer_user_name;
7888:
7889: Wf_Engine.SetItemAttrTextArray(itemtype, itemkey,t_varname,t_varval);
7890:
7891: x_progress := 'PO_REQAPPROVAL_INIT1.Get_Total_Amount_Currency: 04';
7892:
7893: --bug 5379796, if POREQCHA is not available, we need to get notification related
7980:
7981: t_varname(6) := 'NEW_TOTAL_AMOUNT_DSP';
7982: t_varval(6) := l_functional_currency ;
7983:
7984: Wf_Engine.SetItemAttrTextArray(itemtype, itemkey,t_varname,t_varval);
7985:
7986: x_progress := 'PO_ReqChangeRequestWF_PVT.Get_Total_Amount_Currency: 08';
7987:
7988: end if;
7986: x_progress := 'PO_ReqChangeRequestWF_PVT.Get_Total_Amount_Currency: 08';
7987:
7988: end if;
7989: --
7990: resultout := wf_engine.eng_completed || ':' || 'ACTIVITY_PERFORMED';
7991: --
7992:
7993: x_progress := 'PO_REQAPPROVAL_INIT1.Get_Total_Amount_Currency: 02';
7994:
8044: x_progress := 'PO_ReqChangeRequestWF_PVT.Req_Change_Responded';
8045:
8046:
8047: -- Do nothing in cancel or timeout mode
8048: if (funcmode <> wf_engine.eng_run) then
8049:
8050: resultout := wf_engine.eng_null;
8051: return;
8052:
8046:
8047: -- Do nothing in cancel or timeout mode
8048: if (funcmode <> wf_engine.eng_run) then
8049:
8050: resultout := wf_engine.eng_null;
8051: return;
8052:
8053: end if;
8054:
8083: close pending_child_change;
8084:
8085: if(l_change_request_id is null) then
8086:
8087: resultout := wf_engine.eng_completed || ':' || 'Y' ;
8088: else
8089: resultout := wf_engine.eng_completed || ':' || 'N' ;
8090: end if;
8091: else
8085: if(l_change_request_id is null) then
8086:
8087: resultout := wf_engine.eng_completed || ':' || 'Y' ;
8088: else
8089: resultout := wf_engine.eng_completed || ':' || 'N' ;
8090: end if;
8091: else
8092: resultout := wf_engine.eng_completed || ':' || 'N' ;
8093: end if;
8088: else
8089: resultout := wf_engine.eng_completed || ':' || 'N' ;
8090: end if;
8091: else
8092: resultout := wf_engine.eng_completed || ':' || 'N' ;
8093: end if;
8094:
8095: x_progress := 'PO_ReqChangeRequestWF_PVT.REQ_PO_CHANGE_RESPONDED: 02';
8096:
8265:
8266: x_progress := 'PO_ReqChangeRequestWF_PVT.New_PO_Change_Exists';
8267:
8268: -- Do nothing in cancel or timeout mode
8269: if (funcmode <> wf_engine.eng_run) then
8270: resultout := wf_engine.eng_null;
8271: return;
8272: end if;
8273:
8266: x_progress := 'PO_ReqChangeRequestWF_PVT.New_PO_Change_Exists';
8267:
8268: -- Do nothing in cancel or timeout mode
8269: if (funcmode <> wf_engine.eng_run) then
8270: resultout := wf_engine.eng_null;
8271: return;
8272: end if;
8273:
8274: l_change_request_group_id := PO_WF_UTIL_PKG.GetItemAttrNumber (itemtype => itemtype,
8301: --Moved the update to po_headers/po_releases to an autonomous transaction procedure UpdatePODocheaderTables
8302: --to avoid deadlock in POAPPRV workflow while updating the Order status for a change request response.
8303: UpdatePODocHeaderTables(l_document_type, l_document_id);
8304:
8305: resultout := wf_engine.eng_completed || ':' || 'N' ;
8306: else
8307: resultout := wf_engine.eng_completed || ':' || 'Y' ;
8308: end if;
8309:
8303: UpdatePODocHeaderTables(l_document_type, l_document_id);
8304:
8305: resultout := wf_engine.eng_completed || ':' || 'N' ;
8306: else
8307: resultout := wf_engine.eng_completed || ':' || 'Y' ;
8308: end if;
8309:
8310: x_progress := 'PO_ReqChangeRequestWF_PVT.New_PO_Change_Exists: 02';
8311:
8348: x_progress := 'PO_ReqChangeRequestWF_PVT.Record_PO_Approval';
8349:
8350:
8351: -- Do nothing in cancel or timeout mode
8352: if (funcmode <> wf_engine.eng_run) then
8353:
8354: resultout := wf_engine.eng_null;
8355: return;
8356:
8350:
8351: -- Do nothing in cancel or timeout mode
8352: if (funcmode <> wf_engine.eng_run) then
8353:
8354: resultout := wf_engine.eng_null;
8355: return;
8356:
8357: end if;
8358:
8414: x_progress := 'PO_ReqChangeRequestWF_PVT.Record_PO_Rejection';
8415:
8416:
8417: -- Do nothing in cancel or timeout mode
8418: if (funcmode <> wf_engine.eng_run) then
8419:
8420: resultout := wf_engine.eng_null;
8421: return;
8422:
8416:
8417: -- Do nothing in cancel or timeout mode
8418: if (funcmode <> wf_engine.eng_run) then
8419:
8420: resultout := wf_engine.eng_null;
8421: return;
8422:
8423: end if;
8424:
8483: x_progress := 'PO_ReqChangeRequestWF_PVT.Validate_Chg_Against_New_PO';
8484:
8485:
8486: -- Do nothing in cancel or timeout mode
8487: if (funcmode <> wf_engine.eng_run) then
8488:
8489: resultout := wf_engine.eng_null;
8490: return;
8491:
8485:
8486: -- Do nothing in cancel or timeout mode
8487: if (funcmode <> wf_engine.eng_run) then
8488:
8489: resultout := wf_engine.eng_null;
8490: return;
8491:
8492: end if;
8493:
8768: -- no pending change request in status 'new' or 'mgr_pre_app'
8769: -- so we need start the convert into po change
8770: -- workflow to convert the change request.
8771: begin
8772: wf_engine.abortprocess(l_wf_item_type, l_wf_item_key);
8773:
8774: l_note := PO_WF_UTIL_PKG.GetItemAttrText(itemtype => l_wf_item_type,
8775: itemkey => l_wf_item_key,
8776: aname => 'NOTE');
9043: open l_notif_status_csr('NEW_PO_CHANGE');
9044: fetch l_notif_status_csr into l_notif_status, l_notification_id;
9045: if(l_notif_status_csr%FOUND) then
9046: if(l_notif_status='OPEN') then
9047: wf_engine.AbortProcess(l_item_type, l_item_key);
9048: end if;
9049: end if;
9050: close l_notif_status_csr;
9051: end if;
9578: BEGIN
9579: x_progress := 'PO_ReqChangeRequestWF_PVT.Set_Buyer_Approval_Notfn_Attr: 01';
9580:
9581: -- Do nothing in cancel or timeout mode
9582: if (funcmode <> wf_engine.eng_run) then
9583: resultout := wf_engine.eng_null;
9584: return;
9585: end if;
9586:
9579: x_progress := 'PO_ReqChangeRequestWF_PVT.Set_Buyer_Approval_Notfn_Attr: 01';
9580:
9581: -- Do nothing in cancel or timeout mode
9582: if (funcmode <> wf_engine.eng_run) then
9583: resultout := wf_engine.eng_null;
9584: return;
9585: end if;
9586:
9587: l_doc_id := PO_WF_UTIL_PKG.GetItemAttrNumber (itemtype => itemtype,
9838:
9839:
9840: -- Do nothing in cancel or timeout mode
9841: --
9842: if (funcmode <> wf_engine.eng_run) then
9843:
9844: resultout := wf_engine.eng_null;
9845: return;
9846:
9840: -- Do nothing in cancel or timeout mode
9841: --
9842: if (funcmode <> wf_engine.eng_run) then
9843:
9844: resultout := wf_engine.eng_null;
9845: return;
9846:
9847: end if;
9848:
9873: StartInformBuyerWF(l_po_chg_request_group_id);
9874:
9875: x_progress := 'PO_ReqChangeRequestWF_PVT.Start_POChange_WF: 06';
9876:
9877: resultout := wf_engine.eng_completed || ':' || 'ACTIVITY_PERFORMED';
9878:
9879: EXCEPTION
9880: WHEN OTHERS THEN
9881: l_doc_string := PO_REQAPPROVAL_INIT1.get_error_doc(itemType, itemkey);
10003: END IF;
10004:
10005: END IF;
10006:
10007: resultout := wf_engine.eng_completed || ':' || l_result;
10008:
10009: EXCEPTION when others THEN
10010: wf_core.context('PO_ReqChangeRequestWF_PVT','Is_Tolerance_Check_Needed',l_progress);
10011: raise;
10033: l_po_document_id po_change_requests.document_header_id%type;
10034: l_progress VARCHAR2(100);
10035: BEGIN
10036: -- Do nothing in cancel or timeout mode
10037: if (funcmode <> wf_engine.eng_run) then
10038:
10039: resultout := wf_engine.eng_null;
10040: return;
10041:
10035: BEGIN
10036: -- Do nothing in cancel or timeout mode
10037: if (funcmode <> wf_engine.eng_run) then
10038:
10039: resultout := wf_engine.eng_null;
10040: return;
10041:
10042: end if;
10043:
10100: avalue => l_po_document_id );
10101: l_result := 'Y';
10102: END IF;
10103:
10104: resultout := wf_engine.eng_completed || ':' || l_result;
10105:
10106: EXCEPTION when others THEN
10107: wf_core.context('PO_ReqChangeRequestWF_PVT','More_Po_To_Process',l_progress);
10108: raise;
10140:
10141: BEGIN
10142:
10143: -- Do nothing in cancel or timeout mode
10144: if (funcmode <> wf_engine.eng_run) then
10145:
10146: resultout := wf_engine.eng_null;
10147: return;
10148:
10142:
10143: -- Do nothing in cancel or timeout mode
10144: if (funcmode <> wf_engine.eng_run) then
10145:
10146: resultout := wf_engine.eng_null;
10147: return;
10148:
10149: end if;
10150:
10295:
10296: l_progress := 'PO_ReqChangeRequestWF_PVT.Set_Buyer_FYI_Notif_Attributes: 01';
10297:
10298: -- Do nothing in cancel or timeout mode
10299: if (funcmode <> wf_engine.eng_run) then
10300: resultout := wf_engine.eng_null;
10301: return;
10302: end if;
10303:
10296: l_progress := 'PO_ReqChangeRequestWF_PVT.Set_Buyer_FYI_Notif_Attributes: 01';
10297:
10298: -- Do nothing in cancel or timeout mode
10299: if (funcmode <> wf_engine.eng_run) then
10300: resultout := wf_engine.eng_null;
10301: return;
10302: end if;
10303:
10304: l_progress := 'PO_ReqChangeRequestWF_PVT.Set_Buyer_FYI_Notif_Attributes: 02';
10783:
10784: BEGIN
10785:
10786: -- Do nothing in cancel or timeout mode
10787: IF (funcmode <> wf_engine.eng_run) THEN
10788: resultout := wf_engine.eng_null;
10789: RETURN;
10790: END IF;
10791:
10784: BEGIN
10785:
10786: -- Do nothing in cancel or timeout mode
10787: IF (funcmode <> wf_engine.eng_run) THEN
10788: resultout := wf_engine.eng_null;
10789: RETURN;
10790: END IF;
10791:
10792: l_pochggrp_id := PO_WF_UTIL_PKG.GetItemAttrNumber( itemtype => itemtype,
10876: PO_WF_DEBUG_PKG.insert_debug(itemtype, itemkey, l_api_name || ' Return Value:' || l_return_val);
10877: END IF;
10878:
10879: -- set result value
10880: resultout := wf_engine.eng_completed || ':' || l_return_val;
10881:
10882: END IF; -- IF ( p_funcmode = 'RUN' )
10883:
10884: EXCEPTION WHEN OTHERS THEN
10885: -- if something is wrong, just assume it needs approval
10886: IF (g_po_wf_debug = 'Y') THEN
10887: PO_WF_DEBUG_PKG.insert_debug(itemtype, itemkey, l_progress || 'SQL ERROR:' || sqlerrm);
10888: END IF;
10889: resultout := wf_engine.eng_completed || ':N';
10890: END Changes_Wthn_Buyer_Tol_values;
10891:
10892: /*************************************************************************
10893: * Public Procedure: More_Req_To_Process
10913: l_progress VARCHAR2(100);
10914:
10915: BEGIN
10916: -- Do nothing in cancel or timeout mode
10917: IF (funcmode <> wf_engine.eng_run) THEN
10918:
10919: resultout := wf_engine.eng_null;
10920: return;
10921:
10915: BEGIN
10916: -- Do nothing in cancel or timeout mode
10917: IF (funcmode <> wf_engine.eng_run) THEN
10918:
10919: resultout := wf_engine.eng_null;
10920: return;
10921:
10922: END IF;
10923:
10973: avalue => l_document_num );
10974: l_result := 'Y';
10975: END IF;
10976:
10977: resultout := wf_engine.eng_completed || ':' || l_result;
10978:
10979: EXCEPTION when others THEN
10980: wf_core.context('PO_ReqChangeRequestWF_PVT','More_Req_To_Process',l_progress);
10981: raise;
11001: BEGIN
11002:
11003: l_progress := 'PO_ReqChangeRequestWF_PVT.Start_Notify_Requester_Process : 01';
11004:
11005: IF (funcmode <> wf_engine.eng_run) THEN
11006: resultout := wf_engine.eng_null;
11007: return;
11008: END IF;
11009:
11002:
11003: l_progress := 'PO_ReqChangeRequestWF_PVT.Start_Notify_Requester_Process : 01';
11004:
11005: IF (funcmode <> wf_engine.eng_run) THEN
11006: resultout := wf_engine.eng_null;
11007: return;
11008: END IF;
11009:
11010: -- Set the multi-org context
11697: aname => 'INTERNAL_CHANGE_REQUEST_ID',
11698: avalue => L_CHANGE_REQUEST_ID);
11699:
11700:
11701: resultout := wf_engine.eng_completed || ':' || 'ACTIVITY_PERFORMED';
11702:
11703: EXCEPTION
11704: WHEN OTHERS THEN
11705: l_doc_string := po_reqapproval_init1.get_error_doc(itemtype, itemkey);
12492: --INTERNAL_CHANGE_REQUEST_ID
12493: x_progress := 'PO_ReqChangeRequestWF_PVT.SEND_INTERNAL_NOTIF: 01';
12494:
12495: -- Do nothing in cancel or timeout mode
12496: IF (funcmode <> wf_engine.eng_run) THEN
12497: resultout := wf_engine.eng_null;
12498: RETURN;
12499: END IF;
12500:
12493: x_progress := 'PO_ReqChangeRequestWF_PVT.SEND_INTERNAL_NOTIF: 01';
12494:
12495: -- Do nothing in cancel or timeout mode
12496: IF (funcmode <> wf_engine.eng_run) THEN
12497: resultout := wf_engine.eng_null;
12498: RETURN;
12499: END IF;
12500:
12501:
12583: l_planner_id,
12584: x_planner_name,
12585: x_planner_display_name);
12586:
12587: wf_engine.setitemattrtext(itemtype, itemkey, 'PLANNER_USER_NAME',x_planner_name);
12588:
12589: IF (l_PLANNERS_NOTIFIED is not null) THEN -- already planners
12590: l_PLANNERS_NOTIFIED := l_PLANNERS_NOTIFIED || ',' || l_planner_id;
12591: else
12591: else
12592: l_PLANNERS_NOTIFIED := l_planner_id; -- first planner
12593: END IF;
12594:
12595: wf_engine.setitemattrtext(itemtype, itemkey, 'PLANNERS_NOTIFIED',l_PLANNERS_NOTIFIED);
12596:
12597: END IF;
12598:
12599: IF( l_planner_id is null) THEN
12596:
12597: END IF;
12598:
12599: IF( l_planner_id is null) THEN
12600: resultout := wf_engine.eng_completed || ':' || 'NO_PLANNER';
12601: ELSE
12602: resultout := wf_engine.eng_completed || ':' || 'NOTIFY_PLANNER';
12603: /* ELSIF l_action_type = 'MODIFICATION' AND l_planner_id is not null THEN
12604: resultout := wf_engine.eng_completed || ':' || 'NOTIFY_PLANNER_OF_CHANGE';
12598:
12599: IF( l_planner_id is null) THEN
12600: resultout := wf_engine.eng_completed || ':' || 'NO_PLANNER';
12601: ELSE
12602: resultout := wf_engine.eng_completed || ':' || 'NOTIFY_PLANNER';
12603: /* ELSIF l_action_type = 'MODIFICATION' AND l_planner_id is not null THEN
12604: resultout := wf_engine.eng_completed || ':' || 'NOTIFY_PLANNER_OF_CHANGE';
12605: ELSIF l_action_type = 'CANCELLATION' AND l_planner_id is not null THEN
12606: resultout := wf_engine.eng_completed || ':' || 'NOTIFY_PLANNER_OF_CANCEL';*/
12600: resultout := wf_engine.eng_completed || ':' || 'NO_PLANNER';
12601: ELSE
12602: resultout := wf_engine.eng_completed || ':' || 'NOTIFY_PLANNER';
12603: /* ELSIF l_action_type = 'MODIFICATION' AND l_planner_id is not null THEN
12604: resultout := wf_engine.eng_completed || ':' || 'NOTIFY_PLANNER_OF_CHANGE';
12605: ELSIF l_action_type = 'CANCELLATION' AND l_planner_id is not null THEN
12606: resultout := wf_engine.eng_completed || ':' || 'NOTIFY_PLANNER_OF_CANCEL';*/
12607: END IF;
12608:
12602: resultout := wf_engine.eng_completed || ':' || 'NOTIFY_PLANNER';
12603: /* ELSIF l_action_type = 'MODIFICATION' AND l_planner_id is not null THEN
12604: resultout := wf_engine.eng_completed || ':' || 'NOTIFY_PLANNER_OF_CHANGE';
12605: ELSIF l_action_type = 'CANCELLATION' AND l_planner_id is not null THEN
12606: resultout := wf_engine.eng_completed || ':' || 'NOTIFY_PLANNER_OF_CANCEL';*/
12607: END IF;
12608:
12609: EXCEPTION
12610: WHEN OTHERS THEN
12635: --INTERNAL_CHANGE_REQUEST_ID
12636: x_progress := 'PO_ReqChangeRequestWF_PVT.NEXT_INTERNAL_NOTIF: 01';
12637:
12638: -- Do nothing in cancel or timeout mode
12639: IF (funcmode <> wf_engine.eng_run) THEN
12640: resultout := wf_engine.eng_null;
12641: RETURN;
12642: END IF;
12643:
12636: x_progress := 'PO_ReqChangeRequestWF_PVT.NEXT_INTERNAL_NOTIF: 01';
12637:
12638: -- Do nothing in cancel or timeout mode
12639: IF (funcmode <> wf_engine.eng_run) THEN
12640: resultout := wf_engine.eng_null;
12641: RETURN;
12642: END IF;
12643:
12644:
12672: itemkey => itemkey,
12673: aname => 'INTERNAL_CHANGE_REQUEST_ID',
12674: avalue => L_NEW_CHANGE_REQUEST_ID);
12675:
12676: resultout := wf_engine.eng_completed || ':' || 'ACTIVITY_PERFORMED';
12677: END IF;
12678:
12679: EXCEPTION
12680: WHEN OTHERS THEN