372:
373: --
374: -- Return if WF Not Running
375: --
376: IF (funcmode <> wf_engine.eng_run) THEN
377: --
378: resultout := wf_engine.eng_null;
379: RETURN;
380: --
374: -- Return if WF Not Running
375: --
376: IF (funcmode <> wf_engine.eng_run) THEN
377: --
378: resultout := wf_engine.eng_null;
379: RETURN;
380: --
381: END IF;
382: --
383:
384: -- GET BUDGET ITEM ATTRIBUTES for Subsequent Processing -----------------------
385:
386:
387: l_draft_version_id := wf_engine.GetItemAttrNumber(
388: itemtype => itemtype,
389: itemkey => itemkey,
390: aname => 'DRAFT_VERSION_ID'
391: );
391: );
392:
393: -- R12 MOAC, 19-JUL-05, jwhite
394: -- Project_id Needed for subsequent procedure call
395: l_project_id := wf_engine.GetItemAttrNumber( itemtype => itemtype,
396: itemkey => itemkey,
397: aname => 'PROJECT_ID' );
398:
399: /*Commented for bug 5233870*/
442: WHERE budget_version_id = l_draft_version_id;
443:
444:
445: --
446: resultout := wf_engine.eng_completed;
447: --
448:
449: EXCEPTION
450:
554: BEGIN
555: --
556: -- Return if WF Not Running
557: --
558: IF (funcmode <> wf_engine.eng_run) THEN
559: --
560: resultout := wf_engine.eng_null;
561: RETURN;
562: --
556: -- Return if WF Not Running
557: --
558: IF (funcmode <> wf_engine.eng_run) THEN
559: --
560: resultout := wf_engine.eng_null;
561: RETURN;
562: --
563: END IF;
564: --
564: --
565:
566: -- GET BUDGET ITEM ATTRIBUTES for Subsequent Processing -----------------------
567:
568: l_project_id := wf_engine.GetItemAttrNumber( itemtype => itemtype,
569: itemkey => itemkey,
570: aname => 'PROJECT_ID' );
571:
572: l_workflow_started_by_id := wf_engine.GetItemAttrNumber(itemtype => itemtype,
568: l_project_id := wf_engine.GetItemAttrNumber( itemtype => itemtype,
569: itemkey => itemkey,
570: aname => 'PROJECT_ID' );
571:
572: l_workflow_started_by_id := wf_engine.GetItemAttrNumber(itemtype => itemtype,
573: itemkey => itemkey,
574: aname => 'WORKFLOW_STARTED_BY_ID' );
575:
576: l_budget_type_code := wf_engine.GetItemAttrText(itemtype => itemtype,
572: l_workflow_started_by_id := wf_engine.GetItemAttrNumber(itemtype => itemtype,
573: itemkey => itemkey,
574: aname => 'WORKFLOW_STARTED_BY_ID' );
575:
576: l_budget_type_code := wf_engine.GetItemAttrText(itemtype => itemtype,
577: itemkey => itemkey,
578: aname => 'BUDGET_TYPE_CODE' );
579:
580:
577: itemkey => itemkey,
578: aname => 'BUDGET_TYPE_CODE' );
579:
580:
581: l_draft_version_id := wf_engine.GetItemAttrNumber(itemtype => itemtype,
582: itemkey => itemkey,
583: aname => 'DRAFT_VERSION_ID' );
584:
585: l_fin_plan_type_id := wf_engine.GetItemAttrNumber(itemtype => itemtype,
581: l_draft_version_id := wf_engine.GetItemAttrNumber(itemtype => itemtype,
582: itemkey => itemkey,
583: aname => 'DRAFT_VERSION_ID' );
584:
585: l_fin_plan_type_id := wf_engine.GetItemAttrNumber(itemtype => itemtype,
586: itemkey => itemkey,
587: aname => 'FIN_PLAN_TYPE_ID' );
588:
589: l_version_type := wf_engine.GetItemAttrText(itemtype => itemtype,
585: l_fin_plan_type_id := wf_engine.GetItemAttrNumber(itemtype => itemtype,
586: itemkey => itemkey,
587: aname => 'FIN_PLAN_TYPE_ID' );
588:
589: l_version_type := wf_engine.GetItemAttrText(itemtype => itemtype,
590: itemkey => itemkey,
591: aname => 'VERSION_TYPE' );
592:
593:
654: IF (l_baseliner_user_csr%FOUND)
655: THEN
656: CLOSE l_baseliner_user_csr;
657:
658: wf_engine.SetItemAttrNumber
659: (itemtype => itemtype,
660: itemkey => itemkey,
661: aname => 'BUDGET_BASELINER_ID',
662: avalue => l_baseliner_user_id );
660: itemkey => itemkey,
661: aname => 'BUDGET_BASELINER_ID',
662: avalue => l_baseliner_user_id );
663:
664: wf_engine.SetItemAttrText
665: (itemtype => itemtype,
666: itemkey => itemkey,
667: aname => 'BUDGET_BASELINER_NAME',
668: avalue => l_baseliner_user_name);
666: itemkey => itemkey,
667: aname => 'BUDGET_BASELINER_NAME',
668: avalue => l_baseliner_user_name);
669:
670: wf_engine.SetItemAttrText
671: (itemtype => itemtype,
672: itemkey => itemkey,
673: aname => 'BUDGET_BASELINER_FULL_NAME',
674: avalue => l_baseliner_full_name);
683: , role_display_name => l_baseliner_full_name
684: , expiration_date => sysdate+1
685: );
686:
687: wf_engine.SetItemAttrText
688: (itemtype => itemtype,
689: itemkey => itemkey,
690: aname => '#FROM_ROLE',
691: avalue => l_approver_role );
691: avalue => l_approver_role );
692:
693: --Bug 6994708
694:
695: resultout := wf_engine.eng_completed||':'||'T';
696: ELSE
697:
698: CLOSE l_baseliner_user_csr;
699: resultout := wf_engine.eng_completed||':'||'F';
695: resultout := wf_engine.eng_completed||':'||'T';
696: ELSE
697:
698: CLOSE l_baseliner_user_csr;
699: resultout := wf_engine.eng_completed||':'||'F';
700: END IF;
701: ELSE
702:
703: resultout := wf_engine.eng_completed||':'||'F';
699: resultout := wf_engine.eng_completed||':'||'F';
700: END IF;
701: ELSE
702:
703: resultout := wf_engine.eng_completed||':'||'F';
704: END IF;
705:
706:
707: EXCEPTION
819: BEGIN
820: --
821: -- Return if WF Not Running
822: --
823: IF (funcmode <> wf_engine.eng_run) THEN
824: --
825: resultout := wf_engine.eng_null;
826: RETURN;
827: --
821: -- Return if WF Not Running
822: --
823: IF (funcmode <> wf_engine.eng_run) THEN
824: --
825: resultout := wf_engine.eng_null;
826: RETURN;
827: --
828: END IF;
829: --
829: --
830:
831: -- GET BUDGET ITEM ATTRIBUTES for Subsequent Processing -----------------------
832:
833: l_project_id := wf_engine.GetItemAttrNumber( itemtype => itemtype,
834: itemkey => itemkey,
835: aname => 'PROJECT_ID' );
836:
837: l_workflow_started_by_id := wf_engine.GetItemAttrNumber(itemtype => itemtype,
833: l_project_id := wf_engine.GetItemAttrNumber( itemtype => itemtype,
834: itemkey => itemkey,
835: aname => 'PROJECT_ID' );
836:
837: l_workflow_started_by_id := wf_engine.GetItemAttrNumber(itemtype => itemtype,
838: itemkey => itemkey,
839: aname => 'WORKFLOW_STARTED_BY_ID' );
840:
841: l_budget_type_code := wf_engine.GetItemAttrText(itemtype => itemtype,
837: l_workflow_started_by_id := wf_engine.GetItemAttrNumber(itemtype => itemtype,
838: itemkey => itemkey,
839: aname => 'WORKFLOW_STARTED_BY_ID' );
840:
841: l_budget_type_code := wf_engine.GetItemAttrText(itemtype => itemtype,
842: itemkey => itemkey,
843: aname => 'BUDGET_TYPE_CODE' );
844:
845: l_mark_as_original := wf_engine.GetItemAttrText(itemtype => itemtype,
841: l_budget_type_code := wf_engine.GetItemAttrText(itemtype => itemtype,
842: itemkey => itemkey,
843: aname => 'BUDGET_TYPE_CODE' );
844:
845: l_mark_as_original := wf_engine.GetItemAttrText(itemtype => itemtype,
846: itemkey => itemkey,
847: aname => 'MARK_AS_ORIGINAL' );
848:
849: l_resource_list_id := wf_engine.GetItemAttrText(itemtype => itemtype,
845: l_mark_as_original := wf_engine.GetItemAttrText(itemtype => itemtype,
846: itemkey => itemkey,
847: aname => 'MARK_AS_ORIGINAL' );
848:
849: l_resource_list_id := wf_engine.GetItemAttrText(itemtype => itemtype,
850: itemkey => itemkey,
851: aname =>'RESOURCE_LIST_ID');
852:
853: l_project_type_class_code := wf_engine.GetItemAttrText(itemtype => itemtype,
849: l_resource_list_id := wf_engine.GetItemAttrText(itemtype => itemtype,
850: itemkey => itemkey,
851: aname =>'RESOURCE_LIST_ID');
852:
853: l_project_type_class_code := wf_engine.GetItemAttrText(itemtype => itemtype,
854: itemkey => itemkey,
855: aname =>'PROJECT_TYPE_CLASS_CODE');
856:
857: l_bgt_intg_flag := wf_engine.GetItemAttrText(itemtype => itemtype,
853: l_project_type_class_code := wf_engine.GetItemAttrText(itemtype => itemtype,
854: itemkey => itemkey,
855: aname =>'PROJECT_TYPE_CLASS_CODE');
856:
857: l_bgt_intg_flag := wf_engine.GetItemAttrText(itemtype => itemtype,
858: itemkey => itemkey,
859: aname =>'BGT_INTG_FLAG');
860:
861:
858: itemkey => itemkey,
859: aname =>'BGT_INTG_FLAG');
860:
861:
862: l_draft_version_id := wf_engine.GetItemAttrNumber(itemtype => itemtype,
863: itemkey => itemkey,
864: aname => 'DRAFT_VERSION_ID' );
865:
866: l_fin_plan_type_id := wf_engine.GetItemAttrNumber(itemtype => itemtype,
862: l_draft_version_id := wf_engine.GetItemAttrNumber(itemtype => itemtype,
863: itemkey => itemkey,
864: aname => 'DRAFT_VERSION_ID' );
865:
866: l_fin_plan_type_id := wf_engine.GetItemAttrNumber(itemtype => itemtype,
867: itemkey => itemkey,
868: aname => 'FIN_PLAN_TYPE_ID' );
869:
870: l_version_type := wf_engine.GetItemAttrText(itemtype => itemtype,
866: l_fin_plan_type_id := wf_engine.GetItemAttrNumber(itemtype => itemtype,
867: itemkey => itemkey,
868: aname => 'FIN_PLAN_TYPE_ID' );
869:
870: l_version_type := wf_engine.GetItemAttrText(itemtype => itemtype,
871: itemkey => itemkey,
872: aname => 'VERSION_TYPE' );
873:
874:
1043:
1044:
1045: IF (l_warnings_only = 'Y')
1046: THEN
1047: resultout := wf_engine.eng_completed||':'||'T';
1048: ELSE
1049: resultout := wf_engine.eng_completed||':'||'F';
1050: END IF;
1051:
1045: IF (l_warnings_only = 'Y')
1046: THEN
1047: resultout := wf_engine.eng_completed||':'||'T';
1048: ELSE
1049: resultout := wf_engine.eng_completed||':'||'F';
1050: END IF;
1051:
1052: --
1053:
1250:
1251: --
1252: -- Return if WF Not Running
1253: --
1254: IF (funcmode <> wf_engine.eng_run) THEN
1255: --
1256: resultout := wf_engine.eng_null;
1257: RETURN;
1258: --
1252: -- Return if WF Not Running
1253: --
1254: IF (funcmode <> wf_engine.eng_run) THEN
1255: --
1256: resultout := wf_engine.eng_null;
1257: RETURN;
1258: --
1259: END IF;
1260: --
1261:
1262:
1263: -- GET BUDGET ITEM ATTRIBUTES for Subsequent Processing -----------------------
1264:
1265: l_project_id := wf_engine.GetItemAttrNumber( itemtype => itemtype,
1266: itemkey => itemkey,
1267: aname => 'PROJECT_ID' );
1268:
1269:
1266: itemkey => itemkey,
1267: aname => 'PROJECT_ID' );
1268:
1269:
1270: l_budget_type_code := wf_engine.GetItemAttrText(itemtype => itemtype,
1271: itemkey => itemkey,
1272: aname => 'BUDGET_TYPE_CODE' );
1273:
1274: l_workflow_started_by_id := wf_engine.GetItemAttrNumber(itemtype => itemtype,
1270: l_budget_type_code := wf_engine.GetItemAttrText(itemtype => itemtype,
1271: itemkey => itemkey,
1272: aname => 'BUDGET_TYPE_CODE' );
1273:
1274: l_workflow_started_by_id := wf_engine.GetItemAttrNumber(itemtype => itemtype,
1275: itemkey => itemkey,
1276: aname => 'WORKFLOW_STARTED_BY_ID' );
1277:
1278:
1275: itemkey => itemkey,
1276: aname => 'WORKFLOW_STARTED_BY_ID' );
1277:
1278:
1279: l_baseliner_id := wf_engine.GetItemAttrNumber( itemtype => itemtype,
1280: itemkey => itemkey,
1281: aname => 'BUDGET_BASELINER_ID' );
1282:
1283: l_mark_as_original := wf_engine.GetItemAttrText(itemtype => itemtype,
1279: l_baseliner_id := wf_engine.GetItemAttrNumber( itemtype => itemtype,
1280: itemkey => itemkey,
1281: aname => 'BUDGET_BASELINER_ID' );
1282:
1283: l_mark_as_original := wf_engine.GetItemAttrText(itemtype => itemtype,
1284: itemkey => itemkey,
1285: aname => 'MARK_AS_ORIGINAL' );
1286:
1287: l_resource_list_id := wf_engine.GetItemAttrText(itemtype => itemtype,
1283: l_mark_as_original := wf_engine.GetItemAttrText(itemtype => itemtype,
1284: itemkey => itemkey,
1285: aname => 'MARK_AS_ORIGINAL' );
1286:
1287: l_resource_list_id := wf_engine.GetItemAttrText(itemtype => itemtype,
1288: itemkey => itemkey,
1289: aname =>'RESOURCE_LIST_ID');
1290:
1291: l_project_type_class_code := wf_engine.GetItemAttrText(itemtype => itemtype,
1287: l_resource_list_id := wf_engine.GetItemAttrText(itemtype => itemtype,
1288: itemkey => itemkey,
1289: aname =>'RESOURCE_LIST_ID');
1290:
1291: l_project_type_class_code := wf_engine.GetItemAttrText(itemtype => itemtype,
1292: itemkey => itemkey,
1293: aname => 'PROJECT_TYPE_CLASS_CODE');
1294:
1295: l_bgt_intg_flag := wf_engine.GetItemAttrText(itemtype => itemtype,
1291: l_project_type_class_code := wf_engine.GetItemAttrText(itemtype => itemtype,
1292: itemkey => itemkey,
1293: aname => 'PROJECT_TYPE_CLASS_CODE');
1294:
1295: l_bgt_intg_flag := wf_engine.GetItemAttrText(itemtype => itemtype,
1296: itemkey => itemkey,
1297: aname =>'BGT_INTG_FLAG');
1298:
1299: l_fck_req_flag := wf_engine.GetItemAttrText(itemtype => itemtype,
1295: l_bgt_intg_flag := wf_engine.GetItemAttrText(itemtype => itemtype,
1296: itemkey => itemkey,
1297: aname =>'BGT_INTG_FLAG');
1298:
1299: l_fck_req_flag := wf_engine.GetItemAttrText(itemtype => itemtype,
1300: itemkey => itemkey,
1301: aname =>'FCK_REQ_FLAG');
1302:
1303:
1301: aname =>'FCK_REQ_FLAG');
1302:
1303:
1304:
1305: l_draft_version_id := wf_engine.GetItemAttrNumber(itemtype => itemtype,
1306: itemkey => itemkey,
1307: aname => 'DRAFT_VERSION_ID' );
1308:
1309: l_fin_plan_type_id := wf_engine.GetItemAttrNumber(itemtype => itemtype,
1305: l_draft_version_id := wf_engine.GetItemAttrNumber(itemtype => itemtype,
1306: itemkey => itemkey,
1307: aname => 'DRAFT_VERSION_ID' );
1308:
1309: l_fin_plan_type_id := wf_engine.GetItemAttrNumber(itemtype => itemtype,
1310: itemkey => itemkey,
1311: aname => 'FIN_PLAN_TYPE_ID' );
1312:
1313: l_version_type := wf_engine.GetItemAttrText(itemtype => itemtype,
1309: l_fin_plan_type_id := wf_engine.GetItemAttrNumber(itemtype => itemtype,
1310: itemkey => itemkey,
1311: aname => 'FIN_PLAN_TYPE_ID' );
1312:
1313: l_version_type := wf_engine.GetItemAttrText(itemtype => itemtype,
1314: itemkey => itemkey,
1315: aname => 'VERSION_TYPE' );
1316:
1317:
1328: , p_err_code => l_err_code);
1329: */
1330:
1331: -- Bug 8464143
1332: l_resp_id := wf_engine.GetItemAttrNumber
1333: (itemtype => itemtype,
1334: itemkey => itemkey,
1335: aname => 'RESPONSIBILITY_ID' );
1336:
1354: IF (l_baseliner_user_details_csr%FOUND)
1355: THEN
1356: CLOSE l_baseliner_user_details_csr;
1357:
1358: wf_engine.SetItemAttrNumber
1359: (itemtype => itemtype,
1360: itemkey => itemkey,
1361: aname => 'BUDGET_BASELINER_ID',
1362: avalue => l_baseliner_id );
1360: itemkey => itemkey,
1361: aname => 'BUDGET_BASELINER_ID',
1362: avalue => l_baseliner_id );
1363:
1364: wf_engine.SetItemAttrText
1365: (itemtype => itemtype,
1366: itemkey => itemkey,
1367: aname => 'BUDGET_BASELINER_NAME',
1368: avalue => l_baseliner_user_name);
1366: itemkey => itemkey,
1367: aname => 'BUDGET_BASELINER_NAME',
1368: avalue => l_baseliner_user_name);
1369:
1370: wf_engine.SetItemAttrText
1371: (itemtype => itemtype,
1372: itemkey => itemkey,
1373: aname => 'BUDGET_BASELINER_FULL_NAME',
1374: avalue => l_baseliner_full_name);
1379: , role_display_name => l_baseliner_full_name
1380: , expiration_date => sysdate+1
1381: );
1382:
1383: wf_engine.SetItemAttrText
1384: (itemtype => itemtype,
1385: itemkey => itemkey,
1386: aname => '#FROM_ROLE',
1387: avalue => l_baseliner_role );
1561: (p_item_type => itemtype
1562: , p_item_key => itemkey
1563: );
1564:
1565: resultout := wf_engine.eng_completed||':'||'F';
1566:
1567: /* 4995380: Added code to set the WF status to 'REJECTED'
1568: so that the changes can be done and the Baseline can be submitted
1569: once again, if Baseline fails. */
1638: WHERE budget_version_id = l_draft_version_id;
1639: -- -------------------------------------------------------------
1640:
1641: -- FAIL Workflow and Exit
1642: resultout := wf_engine.eng_completed||':'||'F';
1643: RETURN ;
1644:
1645: END IF; -- l_return_status <> FND_API.G_RET_STS_SUCCESS
1646:
1711:
1712:
1713: IF (l_warnings_only = 'Y')
1714: THEN
1715: resultout := wf_engine.eng_completed||':'||'T';
1716: ELSE
1717: /* 4995380: Added code to set the WF status to 'REJECTED'
1718: so that the changes can be done and the Baseline can be submitted
1719: once again, if there are any errors and l_warnings_only = 'N'. */
1720: UPDATE pa_budget_versions
1721: SET budget_status_code = 'W'
1722: , wf_status_code = 'REJECTED'
1723: WHERE budget_version_id = l_draft_version_id;
1724: resultout := wf_engine.eng_completed||':'||'F';
1725: END IF;
1726:
1727: EXCEPTION
1728:
1777: l_budget_type_code pa_budget_types.budget_type_code%TYPE;
1778:
1779: Begin
1780:
1781: l_budget_type_code := wf_engine.GetItemAttrText(itemtype => itemtype,
1782: itemkey => itemkey,
1783: aname => 'BUDGET_TYPE_CODE' );
1784:
1785:
1786: l_federal_enabled := NVL(FND_PROFILE.value('FV_ENABLED'), 'N');
1787:
1788:
1789: If l_federal_enabled = 'Y' and l_budget_type_code is NOT NULL then
1790: resultout := wf_engine.eng_completed||':'||'T';
1791: Else
1792: resultout := wf_engine.eng_completed||':'||'F';
1793: End if;
1794:
1788:
1789: If l_federal_enabled = 'Y' and l_budget_type_code is NOT NULL then
1790: resultout := wf_engine.eng_completed||':'||'T';
1791: Else
1792: resultout := wf_engine.eng_completed||':'||'F';
1793: End if;
1794:
1795: Return;
1796: End IS_FEDERAL_ENABLED;