471: ||l_msg_data||fnd_global.local_chr(10) ;
472: l_cnt := l_cnt + 1 ;
473: END LOOP ;
474: x_error_msg := l_final_data;
475: WF_ENGINE.SetItemAttrText
476: (itemtype => p_itemtype,
477: itemkey => p_itemkey ,
478: aname => p_attr_name,
479: avalue => l_final_data );
477: itemkey => p_itemkey ,
478: aname => p_attr_name,
479: avalue => l_final_data );
480: --
481: l_appr_meaning := wf_engine.GetItemAttrText(
482: itemtype => p_itemtype,
483: itemkey => p_itemkey,
484: aname => 'AMS_APPROVAL_OBJECT_MEANING');
485:
482: itemtype => p_itemtype,
483: itemkey => p_itemkey,
484: aname => 'AMS_APPROVAL_OBJECT_MEANING');
485:
486: l_appr_obj_name := wf_engine.GetItemAttrText(
487: itemtype => p_itemtype,
488: itemkey => p_itemkey,
489: aname => 'AMS_APPROVAL_OBJECT_NAME');
490: --
493: fnd_message.set_token ('OBJ_NAME', l_appr_obj_name, FALSE);
494:
495: l_gen_err_sub := SUBSTR(fnd_message.get,1,240);
496:
497: Wf_Engine.SetItemAttrText
498: (itemtype => p_itemtype,
499: itemkey => p_itemkey ,
500: aname => 'ERR_SUBJECT',
501: avalue => l_gen_err_sub );
787: l_msg_data VARCHAR2(4000);
788: l_error_msg VARCHAR2(4000);
789: x_resource_id NUMBER;
790: l_index NUMBER;
791: l_save_threshold NUMBER := wf_engine.threshold;
792: -- [BEGIN OF BUG2631497 FIXING by mchang 23-OCT-2002]
793: l_user_id NUMBER;
794: l_resp_id NUMBER;
795: l_appl_id NUMBER;
830:
831: AMS_Utility_PVT.debug_message('Start :Item Type : '||itemtype
832: ||' Item key : '||itemkey);
833:
834: -- wf_engine.threshold := -1;
835: WF_ENGINE.CreateProcess (itemtype => itemtype,
836: itemkey => itemkey ,
837: process => p_workflowprocess);
838:
831: AMS_Utility_PVT.debug_message('Start :Item Type : '||itemtype
832: ||' Item key : '||itemkey);
833:
834: -- wf_engine.threshold := -1;
835: WF_ENGINE.CreateProcess (itemtype => itemtype,
836: itemkey => itemkey ,
837: process => p_workflowprocess);
838:
839: WF_ENGINE.SetItemUserkey(itemtype => itemtype,
835: WF_ENGINE.CreateProcess (itemtype => itemtype,
836: itemkey => itemkey ,
837: process => p_workflowprocess);
838:
839: WF_ENGINE.SetItemUserkey(itemtype => itemtype,
840: itemkey => itemkey ,
841: userkey => itemuserkey);
842:
843:
853: l_resp_id := FND_GLOBAL.resp_id;
854: l_appl_id := FND_GLOBAL.resp_appl_id;
855: l_security_group_id := FND_GLOBAL.security_group_id;
856:
857: WF_ENGINE.SetItemAttrNumber(itemtype => itemtype ,
858: itemkey => itemkey,
859: aname => 'USER_ID',
860: avalue => l_user_id
861: );
859: aname => 'USER_ID',
860: avalue => l_user_id
861: );
862:
863: WF_ENGINE.SetItemAttrNumber(itemtype => itemtype ,
864: itemkey => itemkey,
865: aname => 'RESPONSIBILITY_ID',
866: avalue => l_resp_id
867: );
865: aname => 'RESPONSIBILITY_ID',
866: avalue => l_resp_id
867: );
868:
869: WF_ENGINE.SetItemAttrNumber(itemtype => itemtype ,
870: itemkey => itemkey,
871: aname => 'APPLICATION_ID',
872: avalue => l_appl_id
873: );
871: aname => 'APPLICATION_ID',
872: avalue => l_appl_id
873: );
874:
875: WF_ENGINE.SetItemAttrNumber(itemtype => itemtype ,
876: itemkey => itemkey,
877: aname => 'SECURITY_GROUP_ID',
878: avalue => l_security_group_id -- was l_appl_id
879: );
880: -- [END OF BUG2631497 FIXING]
881:
882:
883: -- Activity Type (Some of valid values are 'CAMP','DELV','EVEH','EVEO'..);
884: WF_ENGINE.SetItemAttrText(itemtype => itemtype ,
885: itemkey => itemkey,
886: aname => 'AMS_ACTIVITY_TYPE',
887: avalue => p_activity_type );
888:
886: aname => 'AMS_ACTIVITY_TYPE',
887: avalue => p_activity_type );
888:
889: -- Activity ID (primary Id of Activity Object)
890: WF_ENGINE.SetItemAttrNumber(itemtype => itemtype ,
891: itemkey => itemkey,
892: aname => 'AMS_ACTIVITY_ID',
893: avalue => p_activity_id );
894:
894:
895:
896: -- Original Status Id (If error occurs we have to revert back to this
897: -- status )
898: WF_ENGINE.SetItemAttrNumber(itemtype => itemtype,
899: itemkey => itemkey,
900: aname => 'AMS_ORIG_STAT_ID',
901: avalue => p_orig_stat_id );
902:
901: avalue => p_orig_stat_id );
902:
903: -- New Status Id (If activity is approved status of activity is updated
904: -- by this status )
905: WF_ENGINE.SetItemAttrNumber(itemtype => itemtype,
906: itemkey => itemkey,
907: aname => 'AMS_NEW_STAT_ID',
908: avalue => p_new_stat_id );
909:
908: avalue => p_new_stat_id );
909:
910: -- Reject Status Id (If activity is approved status of activity is rejected
911: -- by this status )
912: WF_ENGINE.SetItemAttrNumber(itemtype => itemtype,
913: itemkey => itemkey,
914: aname => 'AMS_REJECT_STAT_ID',
915: avalue => p_reject_stat_id );
916:
915: avalue => p_reject_stat_id );
916:
917:
918: -- Object Version Number
919: WF_ENGINE.SetItemAttrNumber(itemtype => itemtype,
920: itemkey => itemkey,
921: aname => 'AMS_OBJECT_VERSION_NUMBER',
922: avalue => p_object_version_number );
923:
921: aname => 'AMS_OBJECT_VERSION_NUMBER',
922: avalue => p_object_version_number );
923:
924: -- Notes from the requester
925: WF_ENGINE.SetItemAttrText(itemtype => itemtype,
926: itemkey => itemkey,
927: aname => 'AMS_NOTES_FROM_REQUESTOR',
928: avalue => nvl(p_notes_from_requester,'') );
929:
926: itemkey => itemkey,
927: aname => 'AMS_NOTES_FROM_REQUESTOR',
928: avalue => nvl(p_notes_from_requester,'') );
929:
930: WF_ENGINE.SetItemAttrText(itemtype => itemtype,
931: itemkey => itemkey,
932: aname => 'DOCUMENT_ID',
933: avalue => itemtype || ':' ||itemkey);
934:
931: itemkey => itemkey,
932: aname => 'DOCUMENT_ID',
933: avalue => itemtype || ':' ||itemkey);
934:
935: WF_ENGINE.SetItemAttrNumber(itemtype => itemtype,
936: itemkey => itemkey,
937: aname => 'AMS_REQUESTER_ID',
938: avalue => p_requester_userid );
939:
939:
940: l_return_status := FND_API.G_RET_STS_SUCCESS;
941:
942:
943: WF_ENGINE.SetItemAttrText(itemtype => itemtype ,
944: itemkey => itemkey,
945: aname => 'AMS_APPROVAL_TYPE',
946: avalue => p_approval_type );
947:
955: RAISE FND_API.G_EXC_ERROR;
956: END IF;
957:
958:
959: WF_ENGINE.SetItemAttrText(itemtype => itemtype,
960: itemkey => itemkey,
961: aname => 'AMS_REQUESTER',
962: avalue => l_requester_role );
963:
961: aname => 'AMS_REQUESTER',
962: avalue => l_requester_role );
963:
964: /* genric flag requested by mumu.*/
965: WF_ENGINE.SetItemAttrText(itemtype => itemtype ,
966: itemkey => itemkey,
967: aname => 'AMS_GENERIC_FLAG',
968: avalue => p_gen_process_flag );
969:
966: itemkey => itemkey,
967: aname => 'AMS_GENERIC_FLAG',
968: avalue => p_gen_process_flag );
969:
970: WF_ENGINE.SetItemOwner(itemtype => itemtype,
971: itemkey => itemkey,
972: owner => l_requester_role);
973:
974:
972: owner => l_requester_role);
973:
974:
975: -- Start the Process
976: WF_ENGINE.StartProcess (itemtype => itemtype,
977: itemkey => itemkey);
978:
979:
980: -- Create the Submitted history record
1003:
1004: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
1005: RAISE Fnd_Api.G_EXC_ERROR;
1006: END IF;
1007: -- wf_engine.threshold := l_save_threshold ;
1008: EXCEPTION
1009:
1010: WHEN FND_API.G_EXC_ERROR THEN
1011: -- wf_engine.threshold := l_save_threshold ;
1007: -- wf_engine.threshold := l_save_threshold ;
1008: EXCEPTION
1009:
1010: WHEN FND_API.G_EXC_ERROR THEN
1011: -- wf_engine.threshold := l_save_threshold ;
1012: FND_MSG_PUB.Count_And_Get (
1013: p_encoded => FND_API.G_FALSE,
1014: p_count => l_msg_count,
1015: p_data => l_msg_data);
1038: wf_core.context ('ams_gen_approval_pvt', 'StartProcess',p_activity_type
1039: ,p_activity_id ,l_error_msg);
1040: RAISE;
1041: WHEN OTHERS THEN
1042: -- wf_engine.threshold := l_save_threshold ;
1043: FND_MSG_PUB.Count_And_Get (
1044: p_encoded => FND_API.G_FALSE,
1045: p_count => l_msg_count,
1046: p_data => l_msg_data);
1107: BEGIN
1108: FND_MSG_PUB.initialize();
1109: IF (funcmode = 'RUN') THEN
1110: -- get the acitvity id
1111: l_activity_id := wf_engine.GetItemAttrNumber(
1112: itemtype => itemtype,
1113: itemkey => itemkey,
1114: aname => 'AMS_ACTIVITY_ID' );
1115:
1113: itemkey => itemkey,
1114: aname => 'AMS_ACTIVITY_ID' );
1115:
1116: -- get the activity type
1117: l_activity_type := wf_engine.GetItemAttrText(
1118: itemtype => itemtype,
1119: itemkey => itemkey,
1120: aname => 'AMS_ACTIVITY_TYPE' );
1121:
1118: itemtype => itemtype,
1119: itemkey => itemkey,
1120: aname => 'AMS_ACTIVITY_TYPE' );
1121:
1122: l_approval_type := wf_engine.GetItemAttrText(
1123: itemtype => itemtype,
1124: itemkey => itemkey,
1125: aname => 'AMS_APPROVAL_TYPE' );
1126:
1279:
1280: BEGIN
1281: FND_MSG_PUB.initialize();
1282: IF (funcmode = 'RUN') THEN
1283: l_approval_detail_id := wf_engine.GetItemAttrNumber(
1284: itemtype => itemtype,
1285: itemkey => itemkey,
1286: aname => 'AMS_APPROVAL_DETAIL_ID' );
1287:
1284: itemtype => itemtype,
1285: itemkey => itemkey,
1286: aname => 'AMS_APPROVAL_DETAIL_ID' );
1287:
1288: l_current_seq := wf_engine.GetItemAttrText(
1289: itemtype => itemtype,
1290: itemkey => itemkey,
1291: aname => 'AMS_APPROVER_SEQ' );
1292:
1291: aname => 'AMS_APPROVER_SEQ' );
1292:
1293: -- 11.5.9
1294:
1295: l_activity_id := Wf_Engine.GetItemAttrNumber(
1296: itemtype => itemtype,
1297: itemkey => itemkey,
1298: aname => 'AMS_ACTIVITY_ID' );
1299:
1296: itemtype => itemtype,
1297: itemkey => itemkey,
1298: aname => 'AMS_ACTIVITY_ID' );
1299:
1300: l_activity_type := Wf_Engine.GetItemAttrText(
1301: itemtype => itemtype,
1302: itemkey => itemkey,
1303: aname => 'AMS_ACTIVITY_TYPE' );
1304:
1301: itemtype => itemtype,
1302: itemkey => itemkey,
1303: aname => 'AMS_ACTIVITY_TYPE' );
1304:
1305: l_version := Wf_Engine.GetItemAttrNumber(
1306: itemtype => itemtype,
1307: itemkey => itemkey,
1308: aname => 'AMS_OBJECT_VERSION_NUMBER' );
1309:
1306: itemtype => itemtype,
1307: itemkey => itemkey,
1308: aname => 'AMS_OBJECT_VERSION_NUMBER' );
1309:
1310: l_approval_type := Wf_Engine.GetItemAttrText(
1311: itemtype => itemtype,
1312: itemkey => itemkey,
1313: aname => 'AMS_APPROVAL_TYPE' );
1314:
1399: IF l_return_status <> FND_API.G_RET_STS_SUCCESS then
1400: RAISE FND_API.G_EXC_ERROR;
1401: END IF;
1402: -- Change for Bug 2535600
1403: l_prev_approver_disp_name := wf_engine.GetItemAttrText(
1404: itemtype => itemtype,
1405: itemkey => itemkey,
1406: aname => 'AMS_APPROVER_DISPLAY_NAME' );
1407:
1405: itemkey => itemkey,
1406: aname => 'AMS_APPROVER_DISPLAY_NAME' );
1407:
1408: -- Added for Bug 2535600
1409: wf_engine.SetItemAttrText( itemtype => itemtype,
1410: itemkey => itemkey,
1411: aname => 'AMS_PREV_APPROVER_DISP_NAME',
1412: avalue => l_prev_approver_disp_name);
1413:
1410: itemkey => itemkey,
1411: aname => 'AMS_PREV_APPROVER_DISP_NAME',
1412: avalue => l_prev_approver_disp_name);
1413:
1414: l_note := wf_engine.GetItemAttrText(itemtype => itemtype,
1415: itemkey => itemkey,
1416: aname => 'APPROVAL_NOTE');
1417:
1418: wf_engine.SetItemAttrText( itemtype => itemtype,
1414: l_note := wf_engine.GetItemAttrText(itemtype => itemtype,
1415: itemkey => itemkey,
1416: aname => 'APPROVAL_NOTE');
1417:
1418: wf_engine.SetItemAttrText( itemtype => itemtype,
1419: itemkey => itemkey,
1420: aname => 'AMS_PREV_APPROVER_NOTE',
1421: avalue => l_note);
1422:
1420: aname => 'AMS_PREV_APPROVER_NOTE',
1421: avalue => l_note);
1422:
1423: -- Need to be set to null or else it consolidates notes
1424: wf_engine.SetItemAttrText( itemtype => itemtype,
1425: itemkey => itemkey,
1426: aname => 'APPROVAL_NOTE',
1427: avalue => null);
1428:
1425: itemkey => itemkey,
1426: aname => 'APPROVAL_NOTE',
1427: avalue => null);
1428:
1429: wf_engine.SetItemAttrText( itemtype => itemtype,
1430: itemkey => itemkey,
1431: aname => 'AMS_APPROVER_DISPLAY_NAME',
1432: avalue => l_approver_display_name);
1433: -- End of 2535600
1432: avalue => l_approver_display_name);
1433: -- End of 2535600
1434:
1435:
1436: wf_engine.SetItemAttrText( itemtype => itemtype,
1437: itemkey => itemkey,
1438: aname => 'AMS_APPROVER',
1439: avalue => l_approver);
1440:
1437: itemkey => itemkey,
1438: aname => 'AMS_APPROVER',
1439: avalue => l_approver);
1440:
1441: wf_engine.SetItemAttrNumber(itemtype => itemtype,
1442: itemkey => itemkey,
1443: aname => 'AMS_APPROVER_ID',
1444: avalue => l_object_approver_id);
1445:
1565: l_appr_display_name VARCHAR2(360);
1566: BEGIN
1567: FND_MSG_PUB.initialize();
1568: IF (funcmode = 'RUN') THEN
1569: l_approval_detail_id := wf_engine.GetItemAttrNumber(
1570: itemtype => itemtype,
1571: itemkey => itemkey,
1572: aname => 'AMS_APPROVAL_DETAIL_ID' );
1573:
1570: itemtype => itemtype,
1571: itemkey => itemkey,
1572: aname => 'AMS_APPROVAL_DETAIL_ID' );
1573:
1574: l_current_seq := wf_engine.GetItemAttrText(
1575: itemtype => itemtype,
1576: itemkey => itemkey,
1577: aname => 'AMS_APPROVER_SEQ' );
1578:
1575: itemtype => itemtype,
1576: itemkey => itemkey,
1577: aname => 'AMS_APPROVER_SEQ' );
1578:
1579: l_approver_id := wf_engine.GetItemAttrNumber(
1580: itemtype => itemtype,
1581: itemkey => itemkey,
1582: aname => 'AMS_APPROVER_ID' );
1583:
1580: itemtype => itemtype,
1581: itemkey => itemkey,
1582: aname => 'AMS_APPROVER_ID' );
1583:
1584: l_activity_id := wf_engine.GetItemAttrNumber(
1585: itemtype => itemtype,
1586: itemkey => itemkey,
1587: aname => 'AMS_ACTIVITY_ID' );
1588:
1585: itemtype => itemtype,
1586: itemkey => itemkey,
1587: aname => 'AMS_ACTIVITY_ID' );
1588:
1589: l_activity_type := wf_engine.GetItemAttrText(
1590: itemtype => itemtype,
1591: itemkey => itemkey,
1592: aname => 'AMS_ACTIVITY_TYPE' );
1593:
1592: aname => 'AMS_ACTIVITY_TYPE' );
1593:
1594: -- Added for 11.5.9
1595: -- Bug 2535600
1596: wf_engine.SetItemAttrText( itemtype => itemtype,
1597: itemkey => itemkey,
1598: aname => 'AMS_APPROVAL_DATE',
1599: avalue => trunc(sysdate));
1600:
1597: itemkey => itemkey,
1598: aname => 'AMS_APPROVAL_DATE',
1599: avalue => trunc(sysdate));
1600:
1601: l_version := Wf_Engine.GetItemAttrNumber(
1602: itemtype => itemtype,
1603: itemkey => itemkey,
1604: aname => 'AMS_OBJECT_VERSION_NUMBER' );
1605:
1602: itemtype => itemtype,
1603: itemkey => itemkey,
1604: aname => 'AMS_OBJECT_VERSION_NUMBER' );
1605:
1606: l_approval_type := Wf_Engine.GetItemAttrText(
1607: itemtype => itemtype,
1608: itemkey => itemkey,
1609: aname => 'AMS_APPROVAL_TYPE' );
1610:
1607: itemtype => itemtype,
1608: itemkey => itemkey,
1609: aname => 'AMS_APPROVAL_TYPE' );
1610:
1611: l_note := Wf_Engine.GetItemAttrText(
1612: itemtype => itemtype,
1613: itemkey => itemkey,
1614: aname => 'APPROVAL_NOTE' );
1615:
1614: aname => 'APPROVAL_NOTE' );
1615:
1616: -- Start of addition for forward/reassign notification
1617:
1618: l_forward_nid := Wf_Engine.GetItemAttrNumber(
1619: itemtype => itemtype,
1620: itemkey => itemkey,
1621: aname => 'AMS_FORWARD_NID' );
1622: -- Commented for 3150550
1634: RAISE Fnd_Api.G_EXC_ERROR;
1635: END IF;
1636:
1637: -- Set the WF Attributes
1638: wf_engine.SetItemAttrText( itemtype => itemtype,
1639: itemkey => itemkey,
1640: aname => 'AMS_APPROVER',
1641: avalue => l_responder);
1642:
1640: aname => 'AMS_APPROVER',
1641: avalue => l_responder);
1642:
1643:
1644: wf_engine.SetItemAttrNumber(itemtype => itemtype,
1645: itemkey => itemkey,
1646: aname => 'AMS_APPROVER_ID',
1647: avalue => l_approver_id);
1648:
1646: aname => 'AMS_APPROVER_ID',
1647: avalue => l_approver_id);
1648:
1649:
1650: wf_engine.SetItemAttrText( itemtype => itemtype,
1651: itemkey => itemkey,
1652: aname => 'AMS_APPROVER_DISPLAY_NAME',
1653: avalue => l_appr_display_name);
1654:
1654:
1655: -- Reset the forward_nid wf attribute to null
1656: -- This is a must
1657:
1658: wf_engine.SetItemAttrNumber(itemtype => itemtype,
1659: itemkey => itemkey,
1660: aname => 'AMS_FORWARD_NID',
1661: avalue => null);
1662: END IF;
1693: p_current_seq => l_current_seq,
1694: x_next_seq => l_next_seq,
1695: x_required_flag => l_required_flag);
1696: IF l_next_seq is not null THEN
1697: wf_engine.SetItemAttrNumber(itemtype => itemtype,
1698: itemkey => itemkey,
1699: aname => 'AMS_APPROVER_SEQ',
1700: avalue => l_next_seq);
1701: resultout := 'COMPLETE:Y';
1796: -- RUN mode
1797: --
1798: IF (funcmode = 'RUN') THEN
1799: -- get the acitvity id
1800: l_activity_id := wf_engine.GetItemAttrNumber(
1801: itemtype => itemtype,
1802: itemkey => itemkey,
1803: aname => 'AMS_ACTIVITY_ID' );
1804:
1802: itemkey => itemkey,
1803: aname => 'AMS_ACTIVITY_ID' );
1804:
1805: -- get the activity type
1806: l_activity_type := wf_engine.GetItemAttrText(
1807: itemtype => itemtype,
1808: itemkey => itemkey,
1809: aname => 'AMS_ACTIVITY_TYPE' );
1810:
1807: itemtype => itemtype,
1808: itemkey => itemkey,
1809: aname => 'AMS_ACTIVITY_TYPE' );
1810:
1811: l_version := wf_engine.GetItemAttrNumber(
1812: itemtype => itemtype,
1813: itemkey => itemkey,
1814: aname => 'AMS_OBJECT_VERSION_NUMBER' );
1815:
1812: itemtype => itemtype,
1813: itemkey => itemkey,
1814: aname => 'AMS_OBJECT_VERSION_NUMBER' );
1815:
1816: l_approval_type := wf_engine.GetItemAttrText(
1817: itemtype => itemtype,
1818: itemkey => itemkey,
1819: aname => 'AMS_APPROVAL_TYPE' );
1820:
1817: itemtype => itemtype,
1818: itemkey => itemkey,
1819: aname => 'AMS_APPROVAL_TYPE' );
1820:
1821: l_orig_status_id := wf_engine.GetItemAttrNumber(
1822: itemtype => itemtype,
1823: itemkey => itemkey,
1824: aname => 'AMS_ORIG_STAT_ID' );
1825:
1823: itemkey => itemkey,
1824: aname => 'AMS_ORIG_STAT_ID' );
1825:
1826: -- Added by VMODUR on July-02-2002
1827: Wf_Engine.SetItemAttrText(itemtype => itemtype,
1828: itemkey => itemkey,
1829: aname => 'UPDATE_GEN_STATUS',
1830: avalue => 'ERROR');
1831:
1956: itemkey VARCHAR2(30) := p_itemkey ;
1957: itemtype VARCHAR2(30) := nvl(p_itemtype,'AMS_APPROVAL') ;
1958: BEGIN
1959: AMS_Utility_PVT.debug_message('Process Abort Process');
1960: WF_ENGINE.AbortProcess (itemtype => itemtype,
1961: itemkey => itemkey ,
1962: process => p_workflowprocess);
1963: EXCEPTION
1964: WHEN OTHERS THEN
2041: BEGIN
2042: l_itemType := nvl(substr(document_id, 1,instr(document_id,':')-1),'AMSGAPP');
2043: l_itemKey := substr(document_id, instr(document_id,':')+1);
2044:
2045: l_activity_type := wf_engine.GetItemAttrText(
2046: itemtype => l_itemtype,
2047: itemkey => l_itemkey,
2048: aname => 'AMS_ACTIVITY_TYPE' );
2049:
2046: itemtype => l_itemtype,
2047: itemkey => l_itemkey,
2048: aname => 'AMS_ACTIVITY_TYPE' );
2049:
2050: l_approval_type := wf_engine.GetItemAttrText(
2051: itemtype => l_itemtype,
2052: itemkey => l_itemkey,
2053: aname => 'AMS_APPROVAL_TYPE' );
2054:
2109: BEGIN
2110: l_itemType := nvl(substr(document_id, 1,instr(document_id,':')-1),'AMSGAPP');
2111: l_itemKey := substr(document_id, instr(document_id,':')+1);
2112:
2113: l_activity_type := wf_engine.GetItemAttrText(
2114: itemtype => l_itemtype,
2115: itemkey => l_itemkey,
2116: aname => 'AMS_ACTIVITY_TYPE' );
2117:
2114: itemtype => l_itemtype,
2115: itemkey => l_itemkey,
2116: aname => 'AMS_ACTIVITY_TYPE' );
2117:
2118: l_approval_type := wf_engine.GetItemAttrText(
2119: itemtype => l_itemtype,
2120: itemkey => l_itemkey,
2121: aname => 'AMS_APPROVAL_TYPE' );
2122:
2178: BEGIN
2179: l_itemType := nvl(substr(document_id, 1,instr(document_id,':')-1),'AMSGAPP');
2180: l_itemKey := substr(document_id, instr(document_id,':')+1);
2181:
2182: l_activity_type := wf_engine.GetItemAttrText(
2183: itemtype => l_itemtype,
2184: itemkey => l_itemkey,
2185: aname => 'AMS_ACTIVITY_TYPE' );
2186:
2183: itemtype => l_itemtype,
2184: itemkey => l_itemkey,
2185: aname => 'AMS_ACTIVITY_TYPE' );
2186:
2187: l_approval_type := wf_engine.GetItemAttrText(
2188: itemtype => l_itemtype,
2189: itemkey => l_itemkey,
2190: aname => 'AMS_APPROVAL_TYPE' );
2191:
2247: BEGIN
2248: l_itemType := nvl(substr(document_id, 1,instr(document_id,':')-1),'AMSGAPP');
2249: l_itemKey := substr(document_id, instr(document_id,':')+1);
2250:
2251: l_activity_type := wf_engine.GetItemAttrText(
2252: itemtype => l_itemtype,
2253: itemkey => l_itemkey,
2254: aname => 'AMS_ACTIVITY_TYPE' );
2255:
2252: itemtype => l_itemtype,
2253: itemkey => l_itemkey,
2254: aname => 'AMS_ACTIVITY_TYPE' );
2255:
2256: l_approval_type := wf_engine.GetItemAttrText(
2257: itemtype => l_itemtype,
2258: itemkey => l_itemkey,
2259: aname => 'AMS_APPROVAL_TYPE' );
2260:
2315: BEGIN
2316: l_itemType := nvl(substr(document_id, 1,instr(document_id,':')-1),'AMSGAPP');
2317: l_itemKey := substr(document_id, instr(document_id,':')+1);
2318:
2319: l_activity_type := wf_engine.GetItemAttrText(
2320: itemtype => l_itemtype,
2321: itemkey => l_itemkey,
2322: aname => 'AMS_ACTIVITY_TYPE' );
2323:
2320: itemtype => l_itemtype,
2321: itemkey => l_itemkey,
2322: aname => 'AMS_ACTIVITY_TYPE' );
2323:
2324: l_approval_type := wf_engine.GetItemAttrText(
2325: itemtype => l_itemtype,
2326: itemkey => l_itemkey,
2327: aname => 'AMS_APPROVAL_TYPE' );
2328:
2390: BEGIN
2391: l_itemType := nvl(substr(document_id, 1,instr(document_id,':')-1),'AMSGAPP');
2392: l_itemKey := substr(document_id, instr(document_id,':')+1);
2393:
2394: l_activity_type := wf_engine.GetItemAttrText(
2395: itemtype => l_itemtype,
2396: itemkey => l_itemkey,
2397: aname => 'AMS_ACTIVITY_TYPE' );
2398:
2395: itemtype => l_itemtype,
2396: itemkey => l_itemkey,
2397: aname => 'AMS_ACTIVITY_TYPE' );
2398:
2399: l_approval_type := wf_engine.GetItemAttrText(
2400: itemtype => l_itemtype,
2401: itemkey => l_itemkey,
2402: aname => 'AMS_APPROVAL_TYPE' );
2403:
2400: itemtype => l_itemtype,
2401: itemkey => l_itemkey,
2402: aname => 'AMS_APPROVAL_TYPE' );
2403:
2404: l_appr_meaning := wf_engine.GetItemAttrText(
2405: itemtype => l_itemtype,
2406: itemkey => l_itemkey,
2407: aname => 'AMS_APPROVAL_OBJECT_MEANING');
2408:
2405: itemtype => l_itemtype,
2406: itemkey => l_itemkey,
2407: aname => 'AMS_APPROVAL_OBJECT_MEANING');
2408:
2409: l_appr_obj_name := wf_engine.GetItemAttrText(
2410: itemtype => l_itemtype,
2411: itemkey => l_itemkey,
2412: aname => 'AMS_APPROVAL_OBJECT_NAME');
2413:
2419: EXECUTE IMMEDIATE dml_str USING IN document_id,IN display_type,IN OUT document, IN OUT document_type;
2420:
2421: elsif (l_return_stat = 'E') THEN -- no data found, generate a generic message
2422:
2423: l_errmsg := wf_engine.GetItemAttrText(
2424: itemtype => l_itemtype,
2425: itemkey => l_itemkey,
2426: aname => 'AMS_ERROR_MSG');
2427:
2462: l_approval_type varchar2(80);
2463:
2464:
2465: BEGIN
2466: l_activity_type := wf_engine.GetItemAttrText(
2467: itemtype => itemtype,
2468: itemkey => itemkey,
2469: aname => 'AMS_ACTIVITY_TYPE' );
2470:
2467: itemtype => itemtype,
2468: itemkey => itemkey,
2469: aname => 'AMS_ACTIVITY_TYPE' );
2470:
2471: l_approval_type := wf_engine.GetItemAttrText(
2472: itemtype => itemtype,
2473: itemkey => itemkey,
2474: aname => 'AMS_APPROVAL_TYPE' );
2475:
2495: funcmode in varchar2,
2496: resultout OUT NOCOPY varchar2 )
2497: IS
2498: BEGIN
2499: WF_ENGINE.SetItemAttrText(itemtype => itemtype ,
2500: itemkey => itemkey,
2501: aname => 'UPDATE_GEN_STATUS',
2502: avalue => 'APPROVED' );
2503: Update_Status(itemtype => itemtype,
2540: l_responder VARCHAR2(100);
2541: l_appr_display_name VARCHAR2(360);
2542: l_forward_nid NUMBER;
2543: BEGIN
2544: WF_ENGINE.SetItemAttrText(itemtype => itemtype ,
2545: itemkey => itemkey,
2546: aname => 'UPDATE_GEN_STATUS',
2547: avalue => 'REJECTED');
2548:
2547: avalue => 'REJECTED');
2548:
2549:
2550: -- Added by VM for 11.5.9
2551: l_activity_id := Wf_Engine.GetItemAttrNumber(
2552: itemtype => itemtype,
2553: itemkey => itemkey,
2554: aname => 'AMS_ACTIVITY_ID' );
2555:
2553: itemkey => itemkey,
2554: aname => 'AMS_ACTIVITY_ID' );
2555:
2556: -- get the activity type
2557: l_activity_type := Wf_Engine.GetItemAttrText(
2558: itemtype => itemtype,
2559: itemkey => itemkey,
2560: aname => 'AMS_ACTIVITY_TYPE' );
2561:
2558: itemtype => itemtype,
2559: itemkey => itemkey,
2560: aname => 'AMS_ACTIVITY_TYPE' );
2561:
2562: l_approver_seq := Wf_Engine.GetItemAttrNumber(
2563: itemtype => itemtype,
2564: itemkey => itemkey,
2565: aname => 'AMS_APPROVER_SEQ' );
2566:
2563: itemtype => itemtype,
2564: itemkey => itemkey,
2565: aname => 'AMS_APPROVER_SEQ' );
2566:
2567: l_version := Wf_Engine.GetItemAttrNumber(
2568: itemtype => itemtype,
2569: itemkey => itemkey,
2570: aname => 'AMS_OBJECT_VERSION_NUMBER' );
2571:
2568: itemtype => itemtype,
2569: itemkey => itemkey,
2570: aname => 'AMS_OBJECT_VERSION_NUMBER' );
2571:
2572: l_approver_id := Wf_Engine.GetItemAttrNumber(
2573: itemtype => itemtype,
2574: itemkey => itemkey,
2575: aname => 'AMS_APPROVER_ID' );
2576:
2573: itemtype => itemtype,
2574: itemkey => itemkey,
2575: aname => 'AMS_APPROVER_ID' );
2576:
2577: l_approval_detail_id := Wf_Engine.GetItemAttrNumber(
2578: itemtype => itemtype,
2579: itemkey => itemkey,
2580: aname => 'AMS_APPROVAL_DETAIL_ID' );
2581:
2578: itemtype => itemtype,
2579: itemkey => itemkey,
2580: aname => 'AMS_APPROVAL_DETAIL_ID' );
2581:
2582: l_approval_type := Wf_Engine.GetItemAttrText(
2583: itemtype => itemtype,
2584: itemkey => itemkey,
2585: aname => 'AMS_APPROVAL_TYPE' );
2586:
2583: itemtype => itemtype,
2584: itemkey => itemkey,
2585: aname => 'AMS_APPROVAL_TYPE' );
2586:
2587: l_note := Wf_Engine.GetItemAttrText(
2588: itemtype => itemtype,
2589: itemkey => itemkey,
2590: aname => 'APPROVAL_NOTE' );
2591: -- End 11.5.9
2590: aname => 'APPROVAL_NOTE' );
2591: -- End 11.5.9
2592: -- Start of addition for forward/reassign notification
2593:
2594: l_forward_nid := Wf_Engine.GetItemAttrNumber(
2595: itemtype => itemtype,
2596: itemkey => itemkey,
2597: aname => 'AMS_FORWARD_NID' );
2598: -- Commented for 3150550
2610: RAISE Fnd_Api.G_EXC_ERROR;
2611: END IF;
2612:
2613: -- Set the WF Attributes
2614: wf_engine.SetItemAttrText( itemtype => itemtype,
2615: itemkey => itemkey,
2616: aname => 'AMS_APPROVER',
2617: avalue => l_responder);
2618:
2616: aname => 'AMS_APPROVER',
2617: avalue => l_responder);
2618:
2619:
2620: wf_engine.SetItemAttrNumber(itemtype => itemtype,
2621: itemkey => itemkey,
2622: aname => 'AMS_APPROVER_ID',
2623: avalue => l_approver_id);
2624:
2622: aname => 'AMS_APPROVER_ID',
2623: avalue => l_approver_id);
2624:
2625:
2626: wf_engine.SetItemAttrText( itemtype => itemtype,
2627: itemkey => itemkey,
2628: aname => 'AMS_APPROVER_DISPLAY_NAME',
2629: avalue => l_appr_display_name);
2630:
2630:
2631: -- Reset the forward_nid wf attribute to null
2632: -- This is a must
2633:
2634: wf_engine.SetItemAttrNumber(itemtype => itemtype,
2635: itemkey => itemkey,
2636: aname => 'AMS_FORWARD_NID',
2637: avalue => null);
2638:
2749: l_process_type varchar2(80);
2750: l_activity_type varchar2(80);
2751: BEGIN
2752:
2753: l_activity_type := wf_engine.GetItemAttrText(
2754: itemtype => itemtype,
2755: itemkey => itemkey,
2756: aname => 'AMS_ACTIVITY_TYPE' );
2757:
2763: resultout := 'OTHER';
2764: end if;
2765:
2766: /* commented because of seed data change aug 17 2001
2767: l_process_type := wf_engine.GetItemAttrText(
2768: itemtype => itemtype,
2769: itemkey => itemkey,
2770: aname => 'AMS_APPROVAL_TYPE' );
2771: if (l_process_type = 'BUDGET_REQUEST'
2829: --
2830: IF (funcmode = 'RUN') THEN
2831:
2832: -- Get the Requestor
2833: l_requestor := Wf_Engine.GetItemAttrNumber(itemtype => itemtype,
2834: itemkey => itemkey,
2835: aname => 'AMS_REQUESTER_ID');
2836:
2837: -- Get the Approver
2834: itemkey => itemkey,
2835: aname => 'AMS_REQUESTER_ID');
2836:
2837: -- Get the Approver
2838: l_approver := Wf_Engine.GetItemAttrNumber(itemtype => itemtype,
2839: itemkey => itemkey,
2840: aname => 'AMS_APPROVER_ID');
2841:
2842: IF l_requestor = l_approver THEN
3113:
3114: l_appr_hist_rec AMS_Appr_Hist_Pvt.Appr_Hist_Rec_Type;
3115:
3116: BEGIN
3117: l_nid := wf_engine.context_nid;
3118:
3119: IF (funcmode = 'RESPOND') THEN
3120:
3121: l_result := upper(wf_notification.GETATTRTEXT(l_nid, 'RESULT'));
3130:
3131: -- Set the forwarded/transferred notification id so that
3132: -- we can use it later to see actual approver
3133:
3134: l_assignee := WF_ENGINE.context_text;
3135:
3136: -- ams_forward_nid is not really needed.
3137: wf_engine.SetItemAttrNumber(itemtype => itemtype,
3138: itemkey => itemkey,
3133:
3134: l_assignee := WF_ENGINE.context_text;
3135:
3136: -- ams_forward_nid is not really needed.
3137: wf_engine.SetItemAttrNumber(itemtype => itemtype,
3138: itemkey => itemkey,
3139: aname => 'AMS_FORWARD_NID',
3140: avalue => l_nid);
3141:
3148: RAISE Fnd_Api.G_EXC_ERROR;
3149: END IF;
3150:
3151: -- Set the WF Attributes
3152: wf_engine.SetItemAttrText( itemtype => itemtype,
3153: itemkey => itemkey,
3154: aname => 'AMS_APPROVER',
3155: avalue => l_assignee);
3156:
3153: itemkey => itemkey,
3154: aname => 'AMS_APPROVER',
3155: avalue => l_assignee);
3156:
3157: wf_engine.SetItemAttrNumber(itemtype => itemtype,
3158: itemkey => itemkey,
3159: aname => 'AMS_APPROVER_ID',
3160: avalue => l_new_approver_id);
3161:
3158: itemkey => itemkey,
3159: aname => 'AMS_APPROVER_ID',
3160: avalue => l_new_approver_id);
3161:
3162: wf_engine.SetItemAttrText( itemtype => itemtype,
3163: itemkey => itemkey,
3164: aname => 'AMS_APPROVER_DISPLAY_NAME',
3165: avalue => l_appr_display_name);
3166:
3165: avalue => l_appr_display_name);
3166:
3167: -- Update the approver details here
3168:
3169: l_activity_type := Wf_Engine.GetItemAttrText(
3170: itemtype => itemtype,
3171: itemkey => itemkey,
3172: aname => 'AMS_ACTIVITY_TYPE' );
3173:
3170: itemtype => itemtype,
3171: itemkey => itemkey,
3172: aname => 'AMS_ACTIVITY_TYPE' );
3173:
3174: l_version := Wf_Engine.GetItemAttrNumber(
3175: itemtype => itemtype,
3176: itemkey => itemkey,
3177: aname => 'AMS_OBJECT_VERSION_NUMBER'
3178: );
3176: itemkey => itemkey,
3177: aname => 'AMS_OBJECT_VERSION_NUMBER'
3178: );
3179:
3180: l_activity_id := Wf_Engine.GetItemAttrNumber(
3181: itemtype => itemtype,
3182: itemkey => itemkey,
3183: aname => 'AMS_ACTIVITY_ID' );
3184:
3181: itemtype => itemtype,
3182: itemkey => itemkey,
3183: aname => 'AMS_ACTIVITY_ID' );
3184:
3185: l_current_seq := Wf_Engine.GetItemAttrText(
3186: itemtype => itemtype,
3187: itemkey => itemkey,
3188: aname => 'AMS_APPROVER_SEQ' );
3189:
3186: itemtype => itemtype,
3187: itemkey => itemkey,
3188: aname => 'AMS_APPROVER_SEQ' );
3189:
3190: l_approval_type := Wf_Engine.GetItemAttrText(
3191: itemtype => itemtype,
3192: itemkey => itemkey,
3193: aname => 'AMS_APPROVAL_TYPE' );
3194: