128:
129: commit;
130:
131: if x_wf_created = 0 then
132: wf_engine.CreateProcess( ItemType => ItemType,
133: ItemKey => ItemKey,
134: process => WorkflowProcess);
135:
136:
168:
169: PO_MOAC_UTILS_PVT.set_org_context(x_org_id) ; --
170:
171: -- Initialize workflow item attributes
172: wf_engine.SetItemAttrNumber ( itemtype => ItemType,
173: itemkey => ItemKey,
174: aname => 'ORG_ID',
175: avalue => x_org_id);
176:
174: aname => 'ORG_ID',
175: avalue => x_org_id);
176:
177: --
178: wf_engine.SetItemAttrText ( itemtype => ItemType,
179: itemkey => ItemKey,
180: aname => 'NEGOTIATION_NUM',
181: avalue => NegotiationNum);
182: --
179: itemkey => ItemKey,
180: aname => 'NEGOTIATION_NUM',
181: avalue => NegotiationNum);
182: --
183: wf_engine.SetItemAttrNumber ( itemtype => ItemType,
184: itemkey => ItemKey,
185: aname => 'DOCUMENT_ID',
186: avalue => DocumentId);
187: --
184: itemkey => ItemKey,
185: aname => 'DOCUMENT_ID',
186: avalue => DocumentId);
187: --
188: wf_engine.SetItemAttrText ( itemtype => ItemType,
189: itemkey => ItemKey,
190: aname => 'SOURCE',
191: avalue => Source);
192:
190: aname => 'SOURCE',
191: avalue => Source);
192:
193: --
194: wf_engine.SetItemAttrNumber ( itemtype => ItemType,
195: itemkey => ItemKey,
196: aname => 'MRP_PROCESSID',
197: avalue => ProcessId);
198: --
195: itemkey => ItemKey,
196: aname => 'MRP_PROCESSID',
197: avalue => ProcessId);
198: --
199: wf_engine.SetItemAttrText ( itemtype => ItemType,
200: itemkey => ItemKey,
201: aname => 'USER_NAME' ,
202: avalue => OwnerName);
203:
201: aname => 'USER_NAME' ,
202: avalue => OwnerName);
203:
204: --
205: wf_engine.SetItemAttrText ( itemtype => ItemType,
206: itemkey => ItemKey,
207: aname => 'USER_DISPLAY_NAME' ,
208: avalue => x_user_display_name);
209:
213:
214: -- Bug 3346038
215: po_negotiation_req_notif.set_req_line_details_mrp_wd(ItemType,ItemKey,x_document);
216:
217: wf_engine.SetItemAttrText(itemtype => Itemtype,
218: itemkey => ItemKey,
219: aname => 'PO_REQ_CHN_MSG_SUB_MRP',
220: avalue => l_message_sub1);
221:
219: aname => 'PO_REQ_CHN_MSG_SUB_MRP',
220: avalue => l_message_sub1);
221:
222: -- Bug 3346038
223: wf_engine.SetItemAttrText(itemtype => Itemtype,
224: itemkey => ItemKey,
225: aname => 'PO_REQ_CHN_MSG_BODY_TMP',
226: avalue => x_document);
227:
224: itemkey => ItemKey,
225: aname => 'PO_REQ_CHN_MSG_BODY_TMP',
226: avalue => x_document);
227:
228: wf_engine.SetItemAttrText(itemtype => Itemtype,
229: itemkey => ItemKey,
230: aname => 'PO_REQ_CHN_MSG_BODY_MRP',
231: -- Bug 3346038, Should use PLSQLCLOB
232: -- avalue => x_document);
234: 'PLSQLCLOB:PO_NEGOTIATION_REQ_NOTIF.GET_REQ_LINE_DETAILS_MRP_WD/'||
235: itemtype||':'||itemkey);
236: ELSE
237:
238: wf_engine.SetItemAttrText(itemtype => Itemtype,
239: itemkey => ItemKey,
240: aname => 'PO_REQ_CHN_MSG_SUB',
241: avalue => l_message_sub);
242:
239: itemkey => ItemKey,
240: aname => 'PO_REQ_CHN_MSG_SUB',
241: avalue => l_message_sub);
242:
243: wf_engine.SetItemAttrText(itemtype => itemtype,
244: itemkey => itemkey,
245: aname => 'PO_REQ_CHN_MSG_BODY',
246: avalue =>
247: 'PLSQLCLOB:PO_NEGOTIATION_REQ_NOTIF.GET_REQ_LINE_DETAILS/'||
251: END IF;
252:
253: /* Start the workflow process */
254:
255: wf_engine.StartProcess(itemtype => itemtype,
256: itemkey => itemkey );
257:
258:
259:
352:
353: x_progress := '000';
354:
355: /* Get all the attribute values needed to build the body */
356: l_org_id := wf_engine.GetItemAttrNumber
357: (itemtype => l_item_type,
358: itemkey => l_item_key,
359: aname => 'ORG_ID');
360:
360:
361: PO_MOAC_UTILS_PVT.set_org_context(l_org_id) ; --
362:
363: x_progress := '001';
364: l_document_id := wf_engine.GetItemAttrNumber
365: (itemtype => l_item_type,
366: itemkey => l_item_key,
367: aname => 'DOCUMENT_ID');
368:
366: itemkey => l_item_key,
367: aname => 'DOCUMENT_ID');
368:
369: x_progress := '002';
370: l_negotiation_num := wf_engine.GetItemAttrText
371: (itemtype => l_item_type,
372: itemkey => l_item_key,
373: aname => 'NEGOTIATION_NUM');
374:
372: itemkey => l_item_key,
373: aname => 'NEGOTIATION_NUM');
374:
375: x_progress := '003';
376: l_source := wf_engine.GetItemAttrText
377: (itemtype => l_item_type,
378: itemkey => l_item_key,
379: aname => 'SOURCE');
380:
624: l_item_type := itemtype;
625: l_item_key := itemkey;
626:
627: x_progress := '000';
628: l_org_id := wf_engine.GetItemAttrNumber
629: (itemtype => l_item_type,
630: itemkey => l_item_key,
631: aname => 'ORG_ID');
632:
632:
633: PO_MOAC_UTILS_PVT.set_org_context(l_org_id) ; --
634:
635: x_progress := '002';
636: l_negotiation_num := wf_engine.GetItemAttrText
637: (itemtype => l_item_type,
638: itemkey => l_item_key,
639: aname => 'NEGOTIATION_NUM');
640:
638: itemkey => l_item_key,
639: aname => 'NEGOTIATION_NUM');
640:
641: x_progress := '003';
642: l_source := wf_engine.GetItemAttrText
643: (itemtype => l_item_type,
644: itemkey => l_item_key,
645: aname => 'SOURCE');
646:
644: itemkey => l_item_key,
645: aname => 'SOURCE');
646:
647: x_progress := '004';
648: l_process_id := wf_engine.GetItemAttrNumber
649: (itemtype => l_item_type,
650: itemkey => l_item_key,
651: aname => 'MRP_PROCESSID');
652:
650: itemkey => l_item_key,
651: aname => 'MRP_PROCESSID');
652:
653: x_progress := '005';
654: l_document_id := wf_engine.GetItemAttrNumber
655: (itemtype => l_item_type,
656: itemkey => l_item_key,
657: aname => 'DOCUMENT_ID');
658:
863: l_item_key := substr(document_id, instr(document_id, ':') + 1,
864: length(document_id) - 2);
865:
866: x_progress := '010';
867: l_message_text := wf_engine.GetItemAttrText
868: (itemtype => l_item_type,
869: itemkey => l_item_key,
870: aname => 'PO_REQ_CHN_MSG_BODY_TMP');
871:
1030: funcmode in varchar2,
1031: resultout out NOCOPY varchar2 ) is
1032: l_source varchar2(30);
1033: begin
1034: if (funcmode <> wf_engine.eng_run) then
1035:
1036: resultout := wf_engine.eng_null;
1037: return;
1038:
1032: l_source varchar2(30);
1033: begin
1034: if (funcmode <> wf_engine.eng_run) then
1035:
1036: resultout := wf_engine.eng_null;
1037: return;
1038:
1039: end if;
1040:
1037: return;
1038:
1039: end if;
1040:
1041: l_source := wf_engine.GetItemAttrText
1042: (itemtype => itemtype,
1043: itemkey => itemkey,
1044: aname => 'SOURCE');
1045:
1043: itemkey => itemkey,
1044: aname => 'SOURCE');
1045:
1046: if l_source in ('MRP','WITHDRAW') then
1047: resultout := wf_engine.eng_completed || ':' || 'MRP';
1048: else
1049: resultout := wf_engine.eng_completed || ':' || 'OTHERS';
1050: end if;
1051: end;
1045:
1046: if l_source in ('MRP','WITHDRAW') then
1047: resultout := wf_engine.eng_completed || ':' || 'MRP';
1048: else
1049: resultout := wf_engine.eng_completed || ':' || 'OTHERS';
1050: end if;
1051: end;
1052: END po_negotiation_req_notif;