237: ** notification UI enhancement
238: */
239: get_item_info(document_id, l_item_type, l_item_key, l_notification_id);
240:
241: l_document_id := wf_engine.GetItemAttrNumber
242: (itemtype => l_item_type,
243: itemkey => l_item_key,
244: aname => 'DOCUMENT_ID');
245:
242: (itemtype => l_item_type,
243: itemkey => l_item_key,
244: aname => 'DOCUMENT_ID');
245:
246: l_org_id := wf_engine.GetItemAttrNumber
247: (itemtype => l_item_type,
248: itemkey => l_item_key,
249: aname => 'ORG_ID');
250:
254: -- Context setting Revamp
255: -- PO_REQAPPROVAL_INIT1.Set_doc_mgr_context (l_item_type,l_item_key);
256:
257: /*
258: l_document_subtype := get_document_subtype_display(wf_engine.GetItemAttrText
259: (itemtype => l_item_type,
260: itemkey => l_item_key,
261: aname => 'DOCUMENT_SUBTYPE'));
262: */
264: /* Bug# 2616355
265: ** Get directly from wf DOCUMENT_TYPE_DISP attribute
266: */
267:
268: l_document_type := wf_engine.GetItemAttrText (itemtype => l_item_type,
269: itemkey => l_item_key,
270: aname => 'DOCUMENT_TYPE_DISP');
271:
272: /*
269: itemkey => l_item_key,
270: aname => 'DOCUMENT_TYPE_DISP');
271:
272: /*
273: l_document_type := get_document_type_display(wf_engine.GetItemAttrText
274: (itemtype => l_item_type,
275: itemkey => l_item_key,
276: aname => 'DOCUMENT_TYPE'));
277:
276: aname => 'DOCUMENT_TYPE'));
277:
278: */
279:
280: l_document_number := wf_engine.GetItemAttrText
281: (itemtype => l_item_type,
282: itemkey => l_item_key,
283: aname => 'DOCUMENT_NUMBER');
284:
281: (itemtype => l_item_type,
282: itemkey => l_item_key,
283: aname => 'DOCUMENT_NUMBER');
284:
285: l_currency_code := wf_engine.GetItemAttrText
286: (itemtype => l_item_type,
287: itemkey => l_item_key,
288: aname => 'FUNCTIONAL_CURRENCY');
289:
286: (itemtype => l_item_type,
287: itemkey => l_item_key,
288: aname => 'FUNCTIONAL_CURRENCY');
289:
290: l_total_amount := wf_engine.GetItemAttrText
291: (itemtype => l_item_type,
292: itemkey => l_item_key,
293: aname => 'TOTAL_AMOUNT_DSP');
294:
291: (itemtype => l_item_type,
292: itemkey => l_item_key,
293: aname => 'TOTAL_AMOUNT_DSP');
294:
295: l_req_amount := wf_engine.GetItemAttrText
296: (itemtype => l_item_type,
297: itemkey => l_item_key,
298: aname => 'REQ_AMOUNT_DSP');
299:
296: (itemtype => l_item_type,
297: itemkey => l_item_key,
298: aname => 'REQ_AMOUNT_DSP');
299:
300: l_tax_amount := wf_engine.GetItemAttrText
301: (itemtype => l_item_type,
302: itemkey => l_item_key,
303: aname => 'TAX_AMOUNT_DSP');
304:
301: (itemtype => l_item_type,
302: itemkey => l_item_key,
303: aname => 'TAX_AMOUNT_DSP');
304:
305: l_description := wf_engine.GetItemAttrText
306: (itemtype => l_item_type,
307: itemkey => l_item_key,
308: aname => 'REQ_DESCRIPTION');
309:
306: (itemtype => l_item_type,
307: itemkey => l_item_key,
308: aname => 'REQ_DESCRIPTION');
309:
310: l_forwarded_from := wf_engine.GetItemAttrText
311: (itemtype => l_item_type,
312: itemkey => l_item_key,
313: aname => 'FORWARD_FROM_DISP_NAME');
314:
311: (itemtype => l_item_type,
312: itemkey => l_item_key,
313: aname => 'FORWARD_FROM_DISP_NAME');
314:
315: l_preparer := wf_engine.GetItemAttrText
316: (itemtype => l_item_type,
317: itemkey => l_item_key,
318: aname => 'PREPARER_DISPLAY_NAME');
319:
323: aname => 'JUSTIFICATION');
324:
325: if l_note is null then
326:
327: l_note := wf_engine.GetItemAttrText
328: (itemtype => l_item_type,
329: itemkey => l_item_key,
330: aname => 'NOTE');
331:
375: itemkey => l_item_key,
376: p_document_id => l_document_id,
377: p_currency_code => l_currency_code);
378:
379: if wf_engine.GetItemAttrText(itemtype => l_item_type,
380: itemkey => l_item_key,
381: aname => 'REQUIRES_APPROVAL_MSG') is not null then
382:
383: l_header_msg := fnd_message.get_string('PO', 'PO_WF_NOTIF_APPROVAL_MSG');
483: ** notification UI enhancement
484: */
485: get_item_info(document_id, l_item_type, l_item_key, l_notification_id);
486:
487: l_document_id := wf_engine.GetItemAttrNumber
488: (itemtype => l_item_type,
489: itemkey => l_item_key,
490: aname => 'DOCUMENT_ID');
491:
488: (itemtype => l_item_type,
489: itemkey => l_item_key,
490: aname => 'DOCUMENT_ID');
491:
492: l_org_id := wf_engine.GetItemAttrNumber
493: (itemtype => l_item_type,
494: itemkey => l_item_key,
495: aname => 'ORG_ID');
496:
496:
497: PO_MOAC_UTILS_PVT.set_org_context(l_org_id) ; --
498:
499: /*
500: l_document_subtype := get_document_subtype_display(wf_engine.GetItemAttrText
501: (itemtype => l_item_type,
502: itemkey => l_item_key,
503: aname => 'DOCUMENT_SUBTYPE'));
504: */
506: /* Bug# 2616355
507: ** Get directly from wf DOCUMENT_TYPE_DISP attribute
508: */
509:
510: l_document_type := wf_engine.GetItemAttrText (itemtype => l_item_type,
511: itemkey => l_item_key,
512: aname => 'DOCUMENT_TYPE_DISP');
513:
514: /*
511: itemkey => l_item_key,
512: aname => 'DOCUMENT_TYPE_DISP');
513:
514: /*
515: l_document_type := get_document_type_display(wf_engine.GetItemAttrText
516: (itemtype => l_item_type,
517: itemkey => l_item_key,
518: aname => 'DOCUMENT_TYPE'));
519: */
517: itemkey => l_item_key,
518: aname => 'DOCUMENT_TYPE'));
519: */
520:
521: l_document_number := wf_engine.GetItemAttrText
522: (itemtype => l_item_type,
523: itemkey => l_item_key,
524: aname => 'DOCUMENT_NUMBER');
525:
522: (itemtype => l_item_type,
523: itemkey => l_item_key,
524: aname => 'DOCUMENT_NUMBER');
525:
526: l_currency_code := wf_engine.GetItemAttrText
527: (itemtype => l_item_type,
528: itemkey => l_item_key,
529: aname => 'FUNCTIONAL_CURRENCY');
530:
527: (itemtype => l_item_type,
528: itemkey => l_item_key,
529: aname => 'FUNCTIONAL_CURRENCY');
530:
531: l_total_amount := wf_engine.GetItemAttrText
532: (itemtype => l_item_type,
533: itemkey => l_item_key,
534: aname => 'TOTAL_AMOUNT_DSP');
535:
532: (itemtype => l_item_type,
533: itemkey => l_item_key,
534: aname => 'TOTAL_AMOUNT_DSP');
535:
536: l_req_amount := wf_engine.GetItemAttrText
537: (itemtype => l_item_type,
538: itemkey => l_item_key,
539: aname => 'REQ_AMOUNT_DSP');
540:
537: (itemtype => l_item_type,
538: itemkey => l_item_key,
539: aname => 'REQ_AMOUNT_DSP');
540:
541: l_tax_amount := wf_engine.GetItemAttrText
542: (itemtype => l_item_type,
543: itemkey => l_item_key,
544: aname => 'TAX_AMOUNT_DSP');
545:
542: (itemtype => l_item_type,
543: itemkey => l_item_key,
544: aname => 'TAX_AMOUNT_DSP');
545:
546: l_description := wf_engine.GetItemAttrText
547: (itemtype => l_item_type,
548: itemkey => l_item_key,
549: aname => 'REQ_DESCRIPTION');
550:
547: (itemtype => l_item_type,
548: itemkey => l_item_key,
549: aname => 'REQ_DESCRIPTION');
550:
551: l_approver := wf_engine.GetItemAttrText
552: (itemtype => l_item_type,
553: itemkey => l_item_key,
554: aname => 'APPROVER_DISPLAY_NAME');
555:
552: (itemtype => l_item_type,
553: itemkey => l_item_key,
554: aname => 'APPROVER_DISPLAY_NAME');
555:
556: l_preparer := wf_engine.GetItemAttrText
557: (itemtype => l_item_type,
558: itemkey => l_item_key,
559: aname => 'PREPARER_DISPLAY_NAME');
560:
564: aname => 'JUSTIFICATION');
565:
566: if l_note is null then
567:
568: l_note := wf_engine.GetItemAttrText
569: (itemtype => l_item_type,
570: itemkey => l_item_key,
571: aname => 'NOTE');
572:
589: end;
590:
591: if l_attr_exist > 0 then
592:
593: l_warning_msg := wf_engine.GetItemAttrText
594: (itemtype => l_item_type,
595: itemkey => l_item_key,
596: aname => 'ADVISORY_WARNING');
597: end if;
750: ** notification UI enhancement
751: */
752: get_item_info(document_id, l_item_type, l_item_key, l_notification_id);
753:
754: l_document_id := wf_engine.GetItemAttrNumber
755: (itemtype => l_item_type,
756: itemkey => l_item_key,
757: aname => 'DOCUMENT_ID');
758:
755: (itemtype => l_item_type,
756: itemkey => l_item_key,
757: aname => 'DOCUMENT_ID');
758:
759: l_org_id := wf_engine.GetItemAttrNumber
760: (itemtype => l_item_type,
761: itemkey => l_item_key,
762: aname => 'ORG_ID');
763:
763:
764: PO_MOAC_UTILS_PVT.set_org_context(l_org_id) ; --
765:
766: /*
767: l_document_subtype := get_document_subtype_display(wf_engine.GetItemAttrText
768: (itemtype => l_item_type,
769: itemkey => l_item_key,
770: aname => 'DOCUMENT_SUBTYPE'));
771: */
772: /* Bug# 2616355
773: ** Get directly from wf DOCUMENT_TYPE_DISP attribute
774: */
775:
776: l_document_type := wf_engine.GetItemAttrText (itemtype => l_item_type,
777: itemkey => l_item_key,
778: aname => 'DOCUMENT_TYPE_DISP');
779:
780: /*
777: itemkey => l_item_key,
778: aname => 'DOCUMENT_TYPE_DISP');
779:
780: /*
781: l_document_type := get_document_type_display(wf_engine.GetItemAttrText
782: (itemtype => l_item_type,
783: itemkey => l_item_key,
784: aname => 'DOCUMENT_TYPE'));
785: */
783: itemkey => l_item_key,
784: aname => 'DOCUMENT_TYPE'));
785: */
786:
787: l_document_number := wf_engine.GetItemAttrText
788: (itemtype => l_item_type,
789: itemkey => l_item_key,
790: aname => 'DOCUMENT_NUMBER');
791:
788: (itemtype => l_item_type,
789: itemkey => l_item_key,
790: aname => 'DOCUMENT_NUMBER');
791:
792: l_currency_code := wf_engine.GetItemAttrText
793: (itemtype => l_item_type,
794: itemkey => l_item_key,
795: aname => 'FUNCTIONAL_CURRENCY');
796:
793: (itemtype => l_item_type,
794: itemkey => l_item_key,
795: aname => 'FUNCTIONAL_CURRENCY');
796:
797: l_total_amount := wf_engine.GetItemAttrText
798: (itemtype => l_item_type,
799: itemkey => l_item_key,
800: aname => 'TOTAL_AMOUNT_DSP');
801:
798: (itemtype => l_item_type,
799: itemkey => l_item_key,
800: aname => 'TOTAL_AMOUNT_DSP');
801:
802: l_req_amount := wf_engine.GetItemAttrText
803: (itemtype => l_item_type,
804: itemkey => l_item_key,
805: aname => 'REQ_AMOUNT_DSP');
806:
803: (itemtype => l_item_type,
804: itemkey => l_item_key,
805: aname => 'REQ_AMOUNT_DSP');
806:
807: l_tax_amount := wf_engine.GetItemAttrText
808: (itemtype => l_item_type,
809: itemkey => l_item_key,
810: aname => 'TAX_AMOUNT_DSP');
811:
808: (itemtype => l_item_type,
809: itemkey => l_item_key,
810: aname => 'TAX_AMOUNT_DSP');
811:
812: l_description := wf_engine.GetItemAttrText
813: (itemtype => l_item_type,
814: itemkey => l_item_key,
815: aname => 'REQ_DESCRIPTION');
816:
813: (itemtype => l_item_type,
814: itemkey => l_item_key,
815: aname => 'REQ_DESCRIPTION');
816:
817: l_approver := wf_engine.GetItemAttrText
818: (itemtype => l_item_type,
819: itemkey => l_item_key,
820: aname => 'APPROVER_DISPLAY_NAME');
821:
818: (itemtype => l_item_type,
819: itemkey => l_item_key,
820: aname => 'APPROVER_DISPLAY_NAME');
821:
822: l_preparer := wf_engine.GetItemAttrText
823: (itemtype => l_item_type,
824: itemkey => l_item_key,
825: aname => 'PREPARER_DISPLAY_NAME');
826:
830: aname => 'JUSTIFICATION');
831:
832: if l_note is null then
833:
834: l_note := wf_engine.GetItemAttrText
835: (itemtype => l_item_type,
836: itemkey => l_item_key,
837: aname => 'NOTE');
838:
975: ** notification UI enhancement
976: */
977: get_item_info(document_id, l_item_type, l_item_key, l_notification_id);
978:
979: l_document_id := wf_engine.GetItemAttrNumber
980: (itemtype => l_item_type,
981: itemkey => l_item_key,
982: aname => 'DOCUMENT_ID');
983:
980: (itemtype => l_item_type,
981: itemkey => l_item_key,
982: aname => 'DOCUMENT_ID');
983:
984: l_org_id := wf_engine.GetItemAttrNumber
985: (itemtype => l_item_type,
986: itemkey => l_item_key,
987: aname => 'ORG_ID');
988:
988:
989: PO_MOAC_UTILS_PVT.set_org_context(l_org_id) ; --
990:
991: /*
992: l_document_subtype := get_document_subtype_display(wf_engine.GetItemAttrText
993: (itemtype => l_item_type,
994: itemkey => l_item_key,
995: aname => 'DOCUMENT_SUBTYPE'));
996: */
998: /* Bug# 2616355
999: ** Get directly from wf DOCUMENT_TYPE_DISP attribute
1000: */
1001:
1002: l_document_type := wf_engine.GetItemAttrText (itemtype => l_item_type,
1003: itemkey => l_item_key,
1004: aname => 'DOCUMENT_TYPE_DISP');
1005:
1006: /*
1003: itemkey => l_item_key,
1004: aname => 'DOCUMENT_TYPE_DISP');
1005:
1006: /*
1007: l_document_type := get_document_type_display(wf_engine.GetItemAttrText
1008: (itemtype => l_item_type,
1009: itemkey => l_item_key,
1010: aname => 'DOCUMENT_TYPE'));
1011: */
1009: itemkey => l_item_key,
1010: aname => 'DOCUMENT_TYPE'));
1011: */
1012:
1013: l_document_number := wf_engine.GetItemAttrText
1014: (itemtype => l_item_type,
1015: itemkey => l_item_key,
1016: aname => 'DOCUMENT_NUMBER');
1017:
1014: (itemtype => l_item_type,
1015: itemkey => l_item_key,
1016: aname => 'DOCUMENT_NUMBER');
1017:
1018: l_currency_code := wf_engine.GetItemAttrText
1019: (itemtype => l_item_type,
1020: itemkey => l_item_key,
1021: aname => 'FUNCTIONAL_CURRENCY');
1022:
1019: (itemtype => l_item_type,
1020: itemkey => l_item_key,
1021: aname => 'FUNCTIONAL_CURRENCY');
1022:
1023: l_total_amount := wf_engine.GetItemAttrText
1024: (itemtype => l_item_type,
1025: itemkey => l_item_key,
1026: aname => 'TOTAL_AMOUNT_DSP');
1027:
1024: (itemtype => l_item_type,
1025: itemkey => l_item_key,
1026: aname => 'TOTAL_AMOUNT_DSP');
1027:
1028: l_req_amount := wf_engine.GetItemAttrText
1029: (itemtype => l_item_type,
1030: itemkey => l_item_key,
1031: aname => 'REQ_AMOUNT_DSP');
1032:
1029: (itemtype => l_item_type,
1030: itemkey => l_item_key,
1031: aname => 'REQ_AMOUNT_DSP');
1032:
1033: l_tax_amount := wf_engine.GetItemAttrText
1034: (itemtype => l_item_type,
1035: itemkey => l_item_key,
1036: aname => 'TAX_AMOUNT_DSP');
1037:
1034: (itemtype => l_item_type,
1035: itemkey => l_item_key,
1036: aname => 'TAX_AMOUNT_DSP');
1037:
1038: l_description := wf_engine.GetItemAttrText
1039: (itemtype => l_item_type,
1040: itemkey => l_item_key,
1041: aname => 'REQ_DESCRIPTION');
1042:
1039: (itemtype => l_item_type,
1040: itemkey => l_item_key,
1041: aname => 'REQ_DESCRIPTION');
1042:
1043: l_rejected_by := wf_engine.GetItemAttrText
1044: (itemtype => l_item_type,
1045: itemkey => l_item_key,
1046: aname => 'APPROVER_DISPLAY_NAME');
1047:
1044: (itemtype => l_item_type,
1045: itemkey => l_item_key,
1046: aname => 'APPROVER_DISPLAY_NAME');
1047:
1048: l_preparer := wf_engine.GetItemAttrText
1049: (itemtype => l_item_type,
1050: itemkey => l_item_key,
1051: aname => 'PREPARER_DISPLAY_NAME');
1052:
1056: aname => 'JUSTIFICATION');
1057:
1058: if l_note is null then
1059:
1060: l_note := wf_engine.GetItemAttrText
1061: (itemtype => l_item_type,
1062: itemkey => l_item_key,
1063: aname => 'NOTE');
1064:
1286: set_doc_mgr_context(l_item_type, l_item_key);
1287:
1288: END IF; */
1289:
1290: l_document_id := wf_engine.GetItemAttrNumber
1291: (itemtype => l_item_type,
1292: itemkey => l_item_key,
1293: aname => 'DOCUMENT_ID');
1294:
1291: (itemtype => l_item_type,
1292: itemkey => l_item_key,
1293: aname => 'DOCUMENT_ID');
1294:
1295: l_org_id := wf_engine.GetItemAttrNumber
1296: (itemtype => l_item_type,
1297: itemkey => l_item_key,
1298: aname => 'ORG_ID');
1299:
1510: ** notification UI enhancement
1511: */
1512: get_item_info(document_id, l_item_type, l_item_key, l_notification_id);
1513:
1514: l_document_id := wf_engine.GetItemAttrNumber
1515: (itemtype => l_item_type,
1516: itemkey => l_item_key,
1517: aname => 'DOCUMENT_ID');
1518:
1515: (itemtype => l_item_type,
1516: itemkey => l_item_key,
1517: aname => 'DOCUMENT_ID');
1518:
1519: l_org_id := wf_engine.GetItemAttrNumber
1520: (itemtype => l_item_type,
1521: itemkey => l_item_key,
1522: aname => 'ORG_ID');
1523:
1950: ** notification UI enhancement
1951: */
1952: get_item_info(document_id, l_item_type, l_item_key, l_notification_id);
1953:
1954: l_document_id := wf_engine.GetItemAttrNumber
1955: (itemtype => l_item_type,
1956: itemkey => l_item_key,
1957: aname => 'DOCUMENT_ID');
1958:
1955: (itemtype => l_item_type,
1956: itemkey => l_item_key,
1957: aname => 'DOCUMENT_ID');
1958:
1959: l_org_id := wf_engine.GetItemAttrNumber
1960: (itemtype => l_item_type,
1961: itemkey => l_item_key,
1962: aname => 'ORG_ID');
1963:
2189: and trunc(sysdate) between per.EFFECTIVE_START_DATE
2190: and per.EFFECTIVE_END_DATE;
2191: BEGIN
2192:
2193: l_document_id := wf_engine.GetItemAttrNumber
2194: (itemtype => p_item_type,
2195: itemkey => p_item_key,
2196: aname => 'DOCUMENT_ID');
2197:
2194: (itemtype => p_item_type,
2195: itemkey => p_item_key,
2196: aname => 'DOCUMENT_ID');
2197:
2198: l_org_id := wf_engine.GetItemAttrNumber
2199: (itemtype => p_item_type,
2200: itemkey => p_item_key,
2201: aname => 'ORG_ID');
2202:
2713: elsif (funcmode = 'TIMEOUT') then --Bug 11664961
2714: l_action := 'NO ACTION';
2715: end if;
2716:
2717: l_req_header_id := wf_engine.GetItemAttrNumber
2718: (itemtype => itemtype,
2719: itemkey => itemkey,
2720: aname => 'DOCUMENT_ID');
2721: l_doc_type := wf_engine.GetItemAttrText
2717: l_req_header_id := wf_engine.GetItemAttrNumber
2718: (itemtype => itemtype,
2719: itemkey => itemkey,
2720: aname => 'DOCUMENT_ID');
2721: l_doc_type := wf_engine.GetItemAttrText
2722: (itemtype => itemtype,
2723: itemkey => itemkey,
2724: aname => 'DOCUMENT_TYPE');
2725: -- MIPR changes
2736:
2737: --Bug 11664961 (IF condition and the code in ELSE portion added)
2738: IF (l_action <> 'NO ACTION') THEN
2739:
2740: Wf_Directory.GetRoleOrigSysInfo(WF_ENGINE.CONTEXT_NEW_ROLE, l_origsys, l_new_recipient_id);
2741:
2742: ELSE
2743: BEGIN
2744: SELECT original_recipient, Decode(MORE_INFO_ROLE,
2746: MORE_INFO_ROLE)
2747:
2748: INTO l_original_recipient, l_current_recipient_role
2749: FROM wf_notifications
2750: WHERE notification_id = WF_ENGINE.context_nid
2751: AND ( MORE_INFO_ROLE IS NOT NULL OR
2752: RECIPIENT_ROLE <> ORIGINAL_RECIPIENT );
2753: EXCEPTION
2754: WHEN OTHERS THEN
2771:
2772: l_progress := '002';
2773:
2774: if (funcmode = 'ANSWER') then
2775: Wf_Directory.GetRoleOrigSysInfo(WF_ENGINE.CONTEXT_MORE_INFO_ROLE, l_origsys, l_current_recipient_id);
2776:
2777: ELSIF (funcmode = 'TIMEOUT') THEN --Bug 11664961
2778: Wf_Directory.GetRoleOrigSysInfo(l_current_recipient_role, l_origsys, l_current_recipient_id);
2779:
2777: ELSIF (funcmode = 'TIMEOUT') THEN --Bug 11664961
2778: Wf_Directory.GetRoleOrigSysInfo(l_current_recipient_role, l_origsys, l_current_recipient_id);
2779:
2780: else
2781: Wf_Directory.GetRoleOrigSysInfo(WF_ENGINE.CONTEXT_RECIPIENT_ROLE, l_origsys, l_current_recipient_id);
2782:
2783: end if;
2784:
2785: l_progress := '003';
2801:
2802: IF l_new_recipient_id IS NOT NULL THEN --Bug 11664961(IF condition added)
2803: update_action_history(p_action_code => l_action,
2804: p_recipient_id => l_new_recipient_id,
2805: p_note => WF_ENGINE.CONTEXT_USER_COMMENT,
2806: p_req_header_id => l_req_header_id,
2807: p_current_id => l_current_recipient_id,
2808: p_doc_type=> l_doc_type);
2809: END IF;
2810:
2811: l_progress := '005';
2812:
2813: IF (funcmode <> 'TIMEOUT') THEN --Bug 11664961(IF condition added)
2814: resultout := wf_engine.eng_completed || ':' || wf_engine.eng_null;
2815: END IF;
2816:
2817: return;
2818: end if;
2819:
2820:
2821: if (funcmode = 'RESPOND') then
2822:
2823: l_nid := WF_ENGINE.context_nid;
2824:
2825: l_result := wf_notification.GetAttrText(l_nid, 'RESULT');
2826:
2827: l_progress := '006';
2829: if((l_result = 'FORWARD') or (l_result = 'APPROVE_AND_FORWARD')) then
2830:
2831: l_forwardTo := wf_notification.GetAttrText(l_nid, 'FORWARD_TO_USERNAME_RESPONSE');
2832:
2833: l_forward_to_username_response := wf_engine.GetItemAttrText (itemtype => itemtype,
2834: itemkey => itemkey,
2835: aname => 'FORWARD_TO_USERNAME_RESPONSE');
2836:
2837: if(l_forwardTo is null) then
2843: l_progress := '007';
2844:
2845: -- Context setting revamp
2846: --
2847: if (wf_engine.preserved_context = TRUE) then
2848: l_preserved_ctx := 'TRUE';
2849: else
2850: l_preserved_ctx := 'FALSE';
2851: end if;
3141:
3142:
3143:
3144:
3145: resultout := wf_engine.eng_completed || ':' || wf_engine.eng_null;
3146: return;
3147: end if;
3148:
3149: -- Don't allow transfer
3149: -- Don't allow transfer
3150: if (funcmode = 'TRANSFER') then
3151: fnd_message.set_name('PO', 'PO_WF_NOTIF_NO_TRANSFER');
3152: app_exception.raise_exception;
3153: resultout := wf_engine.eng_completed;
3154: return;
3155: end if; -- end if for funcmode = 'TRANSFER'
3156:
3157: exception
3170: l_progress varchar2(200);
3171:
3172: BEGIN
3173:
3174: l_user_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
3175: itemkey => itemkey,
3176: aname => 'USER_ID');
3177: --
3178: l_application_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
3174: l_user_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
3175: itemkey => itemkey,
3176: aname => 'USER_ID');
3177: --
3178: l_application_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
3179: itemkey => itemkey,
3180: aname => 'APPLICATION_ID');
3181: --
3182: l_responsibility_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
3178: l_application_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
3179: itemkey => itemkey,
3180: aname => 'APPLICATION_ID');
3181: --
3182: l_responsibility_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
3183: itemkey => itemkey,
3184: aname => 'RESPONSIBILITY_ID');
3185:
3186: /* Set the context for the doc manager */
3357: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,l_progress);
3358: END IF;
3359:
3360: -- MIPR changes
3361: l_doc_id := wf_engine.GetItemAttrNumber (itemtype => itemtype, itemkey => itemkey, aname => 'DOCUMENT_ID');
3362:
3363: OPEN mipr_csr(l_doc_id, l_language);
3364: FETCH mipr_csr INTO l_mipr_type_disp;
3365: CLOSE mipr_csr;
3411: BEGIN
3412:
3413: -- Do nothing in cancel or timeout mode
3414: --
3415: if (funcmode <> wf_engine.eng_run) then
3416:
3417: resultout := wf_engine.eng_null;
3418: return;
3419:
3413: -- Do nothing in cancel or timeout mode
3414: --
3415: if (funcmode <> wf_engine.eng_run) then
3416:
3417: resultout := wf_engine.eng_null;
3418: return;
3419:
3420: end if;
3421:
3430: /* Bug# 2616355: kagarwal
3431: ** Desc Need to set the org context
3432: */
3433:
3434: l_orgid := wf_engine.GetItemAttrNumber (itemtype => itemtype,
3435: itemkey => itemkey,
3436: aname => 'ORG_ID');
3437:
3438: IF l_orgid is NOT NULL THEN
3445: IF (g_po_wf_debug = 'Y') THEN
3446: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,l_progress);
3447: END IF;
3448:
3449: resultout := wf_engine.eng_completed || ':' || 'ACTIVITY_PERFORMED';
3450:
3451:
3452: EXCEPTION
3453: WHEN OTHERS THEN
3473: BEGIN
3474:
3475: -- Do nothing in cancel or timeout mode
3476: --
3477: if (funcmode <> wf_engine.eng_run) then
3478:
3479: resultout := wf_engine.eng_null;
3480: return;
3481:
3475: -- Do nothing in cancel or timeout mode
3476: --
3477: if (funcmode <> wf_engine.eng_run) then
3478:
3479: resultout := wf_engine.eng_null;
3480: return;
3481:
3482: end if;
3483:
3493: /* Bug# 2616355: kagarwal
3494: ** Desc Need to set the org context
3495: */
3496:
3497: l_orgid := wf_engine.GetItemAttrNumber (itemtype => itemtype,
3498: itemkey => itemkey,
3499: aname => 'ORG_ID');
3500:
3501: IF l_orgid is NOT NULL THEN
3508: IF (g_po_wf_debug = 'Y') THEN
3509: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,l_progress);
3510: END IF;
3511:
3512: resultout := wf_engine.eng_completed || ':' || 'ACTIVITY_PERFORMED';
3513:
3514:
3515: EXCEPTION
3516: WHEN OTHERS THEN
3534: begin
3535:
3536: FND_PROFILE.GET('PO_ALLOW_REQ_APPRV_FORWARD', l_allowed);
3537:
3538: resultout := wf_engine.eng_completed || ':' || l_allowed;
3539:
3540: exception
3541: when others then
3542: resultout := wf_engine.eng_completed || ':' || 'Y';
3538: resultout := wf_engine.eng_completed || ':' || l_allowed;
3539:
3540: exception
3541: when others then
3542: resultout := wf_engine.eng_completed || ':' || 'Y';
3543:
3544: end Is_Forward_Action_Allowed;
3545:
3546: /* Bug# 2616255: kagarwal
3562: BEGIN
3563:
3564: -- Do nothing in cancel or timeout mode
3565: --
3566: if (funcmode <> wf_engine.eng_run) then
3567:
3568: resultout := wf_engine.eng_null;
3569: return;
3570:
3564: -- Do nothing in cancel or timeout mode
3565: --
3566: if (funcmode <> wf_engine.eng_run) then
3567:
3568: resultout := wf_engine.eng_null;
3569: return;
3570:
3571: end if;
3572:
3578: l_fwdfrom_user_name := PO_WF_UTIL_PKG.GetItemAttrText (itemtype => itemtype,
3579: itemkey => itemkey,
3580: aname => 'FORWARD_FROM_USER_NAME');
3581:
3582: l_orgid := wf_engine.GetItemAttrNumber (itemtype => itemtype,
3583: itemkey => itemkey,
3584: aname => 'ORG_ID');
3585:
3586: IF l_orgid is NOT NULL THEN
3593: IF (g_po_wf_debug = 'Y') THEN
3594: /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,l_progress);
3595: END IF;
3596:
3597: resultout := wf_engine.eng_completed || ':' || 'ACTIVITY_PERFORMED';
3598:
3599: EXCEPTION
3600: WHEN OTHERS THEN
3601: l_doc_string := PO_REQAPPROVAL_INIT1.get_error_doc(itemType, itemkey);