48:
49:
50: -- Do nothing in cancel or timeout mode
51: --
52: if (funcmode <> wf_engine.eng_run) then
53:
54: resultout := wf_engine.eng_null;
55: return;
56:
50: -- Do nothing in cancel or timeout mode
51: --
52: if (funcmode <> wf_engine.eng_run) then
53:
54: resultout := wf_engine.eng_null;
55: return;
56:
57: end if;
58:
59:
60: LaunchCreatePOWF(itemtype, itemkey);
61:
62: --
63: resultout := wf_engine.eng_completed || ':' || 'ACTIVITY_PERFORMED';
64: --
65:
66:
67: EXCEPTION
94: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
95: END IF;
96:
97:
98: l_requisition_header_id := wf_engine.GetItemAttrNumber (itemtype => itemtype,
99: itemkey => itemkey,
100: aname => 'DOCUMENT_ID');
101:
102: l_is_federal := wf_engine.GetItemAttrText (itemtype => itemtype,
98: l_requisition_header_id := wf_engine.GetItemAttrNumber (itemtype => itemtype,
99: itemkey => itemkey,
100: aname => 'DOCUMENT_ID');
101:
102: l_is_federal := wf_engine.GetItemAttrText (itemtype => itemtype,
103: itemkey => itemkey,
104: aname => 'FEDERAL_FLAG');
105:
106: /* This is used for integration with Web Requisitions. Web requisition has
111: ** approval. If the requisition is approved and we get to this point, then
112: ** we pass this PO NUMBER to the CREATE_PO workflow, which will create a
113: ** STANDARD PO using this PO NUMBER as SEGMENT1.
114: */
115: l_emergency_po_num := wf_engine.GetItemAttrText (itemtype => itemtype,
116: itemkey => itemkey,
117: aname => 'EMERGENCY_PO_NUMBER');
118:
119: CreateWFInstance( ItemType,
169: BEGIN
170:
171:
172: /* Get the org context */
173: l_orgid := wf_engine.GetItemAttrNumber (itemtype => itemtype,
174: itemkey => itemkey,
175: aname => 'ORG_ID');
176:
177: IF l_orgid is NOT NULL THEN
179: PO_MOAC_UTILS_PVT.set_org_context(l_orgid) ; --
180:
181: END IF;
182:
183: l_user_id := wf_engine.GetItemAttrNumber (itemtype => itemtype,
184: itemkey => itemkey,
185: aname => 'USER_ID');
186:
187: l_resp_id := wf_engine.GetItemAttrNumber (itemtype => itemtype,
183: l_user_id := wf_engine.GetItemAttrNumber (itemtype => itemtype,
184: itemkey => itemkey,
185: aname => 'USER_ID');
186:
187: l_resp_id := wf_engine.GetItemAttrNumber (itemtype => itemtype,
188: itemkey => itemkey,
189: aname => 'RESPONSIBILITY_ID');
190:
191: l_appl_id := wf_engine.GetItemAttrNumber (itemtype => itemtype,
187: l_resp_id := wf_engine.GetItemAttrNumber (itemtype => itemtype,
188: itemkey => itemkey,
189: aname => 'RESPONSIBILITY_ID');
190:
191: l_appl_id := wf_engine.GetItemAttrNumber (itemtype => itemtype,
192: itemkey => itemkey,
193: aname => 'APPLICATION_ID');
194:
195: --bug 14807370:Store the session context before wf changed.
253: * We also need to pass in the interface_source_code into the
254: * start_wf_process for the create document process.
255: */
256:
257: l_interface_source := wf_engine.GetItemAttrNumber
258: (itemtype => itemtype,
259: itemkey => itemkey,
260: aname => 'INTERFACE_SOURCE_CODE');
261:
445: -- context. This is required since the mailer/bckgrnd ps carries the
446: -- context from the last wf processed and hence even if the context values
447: -- are present, they might not be correct.
448:
449: if (wf_engine.preserved_context = TRUE) then
450: p_x_result := 'TRUE';
451: else
452: p_x_result:= 'NOTSET';
453: end if;
471:
472: ELSIF (p_funcmode = 'SET_CTX') THEN
473: if l_responder_id is not null then
474: l_user_id_to_set := l_responder_id;
475: l_resp_id_to_set :=wf_engine.GetItemAttrNumber (
476: itemtype => p_itemtype,
477: itemkey => p_itemkey,
478: aname => 'RESPONDER_RESP_ID');
479: l_appl_id_to_set :=wf_engine.GetItemAttrNumber (
475: l_resp_id_to_set :=wf_engine.GetItemAttrNumber (
476: itemtype => p_itemtype,
477: itemkey => p_itemkey,
478: aname => 'RESPONDER_RESP_ID');
479: l_appl_id_to_set :=wf_engine.GetItemAttrNumber (
480: itemtype => p_itemtype,
481: itemkey => p_itemkey,
482: aname => 'RESPONDER_APPL_ID');
483: --
495: END IF;
496: --
497:
498: else
499: l_user_id_to_set := wf_engine.GetItemAttrNumber (
500: itemtype => p_itemtype,
501: itemkey => p_itemkey,
502: aname => 'USER_ID');
503: l_resp_id_to_set :=wf_engine.GetItemAttrNumber (
499: l_user_id_to_set := wf_engine.GetItemAttrNumber (
500: itemtype => p_itemtype,
501: itemkey => p_itemkey,
502: aname => 'USER_ID');
503: l_resp_id_to_set :=wf_engine.GetItemAttrNumber (
504: itemtype => p_itemtype,
505: itemkey => p_itemkey,
506: aname => 'RESPONSIBILITY_ID');
507: l_appl_id_to_set :=wf_engine.GetItemAttrNumber (
503: l_resp_id_to_set :=wf_engine.GetItemAttrNumber (
504: itemtype => p_itemtype,
505: itemkey => p_itemkey,
506: aname => 'RESPONSIBILITY_ID');
507: l_appl_id_to_set :=wf_engine.GetItemAttrNumber (
508: itemtype => p_itemtype,
509: itemkey => p_itemkey,
510: aname => 'APPLICATION_ID');
511: --