209: --------------------- initialize -----------------------
210: SAVEPOINT Create_Approval_Details;
211: IF (AMS_DEBUG_HIGH_ON) THEN
212:
213: AMS_Utility_PVT.debug_message (l_full_name || ': Start');
214: END IF;
215: IF FND_API.to_boolean (p_init_msg_list) THEN
216: FND_MSG_PUB.initialize;
217: END IF;
242:
243: ----------------------- validate -----------------------
244: IF (AMS_DEBUG_HIGH_ON) THEN
245:
246: AMS_Utility_PVT.debug_message (l_full_name || ': Validate');
247: END IF;
248: Validate_approval_details (
249: p_api_version => L_API_VERSION,
250: p_init_msg_list => p_init_msg_list,
286: END IF;
287: -------------------------- insert --------------------------
288: IF (AMS_DEBUG_HIGH_ON) THEN
289:
290: AMS_Utility_PVT.debug_message (l_full_name || ': Insert');
291: END IF;
292: --
293: -- Insert into mutli-language supported table.
294: --
336: p_data => x_msg_data
337: );
338: IF (AMS_DEBUG_HIGH_ON) THEN
339:
340: AMS_Utility_PVT.debug_message (l_full_name || ': End');
341: END IF;
342:
343: EXCEPTION
344: WHEN FND_API.g_exc_error THEN
417: --------------------- initialize -----------------------
418: SAVEPOINT Update_approval_details;
419: IF (AMS_DEBUG_HIGH_ON) THEN
420:
421: AMS_Utility_PVT.debug_message (l_full_name || ': Start');
422: END IF;
423: IF FND_API.to_boolean (p_init_msg_list) THEN
424: FND_MSG_PUB.initialize;
425: END IF;
449:
450: ----------------------- validate ----------------------
451: IF (AMS_DEBUG_HIGH_ON) THEN
452:
453: AMS_Utility_PVT.debug_message (l_full_name || ': Validate');
454: END IF;
455: -- replace g_miss_char/num/date with current column values
456: Complete_approval_details_Rec(p_approval_details_rec,l_approval_details_Rec);
457: IF l_approval_details_Rec.seeded_flag = 'Y' THEN
495: THEN
496: -------------------------- update --------------------
497: IF (AMS_DEBUG_HIGH_ON) THEN
498:
499: AMS_Utility_PVT.debug_message (l_full_name || ': Update');
500: END IF;
501: OPEN c_rec_exists (l_Approval_Details_rec.approval_detail_id, p_Approval_Details_rec.OBJECT_VERSION_NUMBER);
502: FETCH c_rec_exists INTO l_dummy;
503: If c_rec_exists%NOTFOUND THEN
548: p_data => x_msg_data
549: );
550: IF (AMS_DEBUG_HIGH_ON) THEN
551:
552: AMS_Utility_PVT.debug_message (l_full_name || ': End');
553: END IF;
554:
555: EXCEPTION
556: WHEN FND_API.g_exc_error THEN
646: --------------------- initialize -----------------------
647: SAVEPOINT Delete_approval_details;
648: IF (AMS_DEBUG_HIGH_ON) THEN
649:
650: AMS_Utility_PVT.debug_message (l_full_name || ': Start');
651: END IF;
652: IF FND_API.to_boolean (p_init_msg_list) THEN
653: FND_MSG_PUB.initialize;
654: END IF;
664:
665: ------------------------ delete ------------------------
666: IF (AMS_DEBUG_HIGH_ON) THEN
667:
668: AMS_Utility_PVT.debug_message (l_full_name || ': Delete');
669: END IF;
670: -- Delete TL data
671: IF l_approval_details_rec.seeded_flag='N'
672: THEN
688: p_data => x_msg_data
689: );
690: IF (AMS_DEBUG_HIGH_ON) THEN
691:
692: AMS_Utility_PVT.debug_message (l_full_name || ': End');
693: END IF;
694:
695: EXCEPTION
696: WHEN FND_API.g_exc_error THEN
795:
796: --------------------- initialize -----------------------
797: IF (AMS_DEBUG_HIGH_ON) THEN
798:
799: AMS_Utility_PVT.debug_message (l_full_name || ': Start');
800: END IF;
801: IF FND_API.to_boolean (p_init_msg_list) THEN
802: FND_MSG_PUB.initialize;
803: END IF;
813:
814: ---------------------- validate ------------------------
815: IF (AMS_DEBUG_HIGH_ON) THEN
816:
817: AMS_Utility_PVT.debug_message (l_full_name || ': Check items');
818: END IF;
819: IF p_validation_level >= JTF_PLSQL_API.g_valid_level_item THEN
820: Check_Approval_details_Items (
821: p_approval_details_rec => p_approval_details_rec,
829: END IF;
830: END IF;
831: IF (AMS_DEBUG_HIGH_ON) THEN
832:
833: AMS_Utility_PVT.debug_message (l_full_name || ': Check record');
834: END IF;
835: IF p_validation_level >= JTF_PLSQL_API.g_valid_level_record THEN
836: Check_Approval_details_Record (
837: p_approval_details_rec => p_approval_details_rec,
853: p_data => x_msg_data
854: );
855: IF (AMS_DEBUG_HIGH_ON) THEN
856:
857: AMS_Utility_PVT.debug_message (l_full_name || ': End');
858: END IF;
859: EXCEPTION
860: WHEN FND_API.g_exc_error THEN
861: x_return_status := FND_API.g_ret_sts_error;
905: BEGIN
906: --
907: IF (AMS_DEBUG_HIGH_ON) THEN
908:
909: AMS_Utility_PVT.debug_message ('Inside Check_approval_details_Items0');
910: END IF;
911:
912: --IF p_validation_mode = JTF_PLSQL_API.g_create THEN --VMODUR 24-Jul-2002
913: --- some logic
943: IF (AMS_DEBUG_HIGH_ON) THEN
944:
945:
946:
947: AMS_Utility_PVT.debug_message ('Checking for the -ve max amounts');
948:
949: END IF;
950: -- For Claims, negative max amount is OK
951: If (p_approval_details_rec.approval_limit_to IS NOT NULL
965: IF (AMS_DEBUG_HIGH_ON) THEN
966:
967:
968:
969: AMS_Utility_PVT.debug_message ('Checking for the -ve min amounts');
970:
971: END IF;
972: -- For Claims, negative min amount is OK
973: If (p_approval_details_rec.approval_limit_from IS NOT NULL
987: IF (AMS_DEBUG_HIGH_ON) THEN
988:
989:
990:
991: AMS_Utility_PVT.debug_message ('Inside Check_approval_details_Items1');
992:
993: END IF;
994: If (p_approval_details_rec.approval_limit_from >= p_approval_details_rec.approval_limit_to) THEN
995: --dbms_output.put_line('AMS_APPR_MIN_MAX_AMT_ERR');
1004: IF (AMS_DEBUG_HIGH_ON) THEN
1005:
1006:
1007:
1008: AMS_Utility_PVT.debug_message ('Inside Check_approval_details_Items2');
1009:
1010: END IF;
1011: If (((p_approval_details_rec.approval_limit_to IS NOT NULL
1012: AND p_approval_details_rec.approval_limit_to <> FND_API.g_miss_num)
1027:
1028: --- some logic
1029: IF (AMS_DEBUG_HIGH_ON) THEN
1030:
1031: AMS_Utility_PVT.debug_message ('Inside Check_approval_details_Items3');
1032: END IF;
1033: -- Validate required items.
1034: Check_approval_dtls_Req_Items (
1035: p_approval_details_rec => p_approval_details_rec,
1040: END IF;
1041: --
1042: IF (AMS_DEBUG_HIGH_ON) THEN
1043:
1044: AMS_Utility_PVT.debug_message ('Inside Check_approval_details_Items4');
1045: END IF;
1046: -- Validate uniqueness.
1047: Check_approval_dtls_UK_Items (
1048: p_approval_details_rec => p_approval_details_rec,
1054: RETURN;
1055: END IF;
1056: IF (AMS_DEBUG_HIGH_ON) THEN
1057:
1058: AMS_Utility_PVT.debug_message ('Inside Check_approval_details_Items6');
1059: END IF;
1060: /* Check_approval_dtls_FK_Items(
1061: p_approval_details_rec => p_approval_details_rec,
1062: x_return_status => x_return_status
1067: END IF;
1068: */
1069: IF (AMS_DEBUG_HIGH_ON) THEN
1070:
1071: AMS_Utility_PVT.debug_message ('Inside Check_approval_details_Items7');
1072: END IF;
1073: Check_approval_dtls_Lkup_Items (
1074: p_approval_details_rec => p_approval_details_rec,
1075: x_return_status => x_return_status
1078: RETURN;
1079: END IF;
1080: IF (AMS_DEBUG_HIGH_ON) THEN
1081:
1082: AMS_Utility_PVT.debug_message ('Inside Check_approval_details_Items8');
1083: END IF;
1084: Check_approval_dtls_Flag_Items(
1085: p_approval_details_rec => p_approval_details_rec,
1086: x_return_status => x_return_status
1091: /*
1092: --- some logic
1093: IF (AMS_DEBUG_HIGH_ON) THEN
1094:
1095: AMS_Utility_PVT.debug_message ('Inside Check_approval_details_Items9');
1096: END IF;
1097: If (p_approval_details_rec.start_date_active > p_approval_details_rec.end_date_active) THEN
1098: --dbms_output.put_line('st > ed ');
1099: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
1104: END IF;
1105: END IF;
1106: IF (AMS_DEBUG_HIGH_ON) THEN
1107:
1108: AMS_Utility_PVT.debug_message ('Inside Check_approval_details_Items10');
1109: END IF;
1110: If (p_approval_details_rec.approval_type = 'BUDGET' )THEN
1111: if((p_approval_details_rec.approval_limit_from is NULL
1112: or p_approval_details_rec.approval_limit_from = FND_API.g_miss_num)
1122: END IF;
1123: END IF;
1124: IF (AMS_DEBUG_HIGH_ON) THEN
1125:
1126: AMS_Utility_PVT.debug_message ('Inside Check_approval_details_Items11');
1127: END IF;
1128: If (p_approval_details_rec.approval_limit_from >= p_approval_details_rec.approval_limit_to) THEN
1129: --dbms_output.put_line('AMS_APPR_MIN_MAX_AMT_ERR');
1130: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
1135: END IF;
1136: END IF;
1137: IF (AMS_DEBUG_HIGH_ON) THEN
1138:
1139: AMS_Utility_PVT.debug_message ('Inside Check_approval_details_Items12');
1140: END IF;
1141: If (((p_approval_details_rec.approval_limit_to IS NOT NULL
1142: AND p_approval_details_rec.approval_limit_to <> FND_API.g_miss_num)
1143: OR (p_approval_details_rec.approval_limit_from IS NOT NULL
1391:
1392: BEGIN
1393: IF (AMS_DEBUG_HIGH_ON) THEN
1394:
1395: AMS_UTILITY_PVT.DEBUG_MESSAGE('sTART DATE:'|| to_char( p_approval_details_rec.start_date_active,'DD_MON_YYYY'));
1396: END IF;
1397: IF (AMS_DEBUG_HIGH_ON) THEN
1398:
1399: AMS_UTILITY_PVT.DEBUG_MESSAGE('end DATE:'|| to_char( p_approval_details_rec.end_Date_active,'DD-MON-YYYY'));
1395: AMS_UTILITY_PVT.DEBUG_MESSAGE('sTART DATE:'|| to_char( p_approval_details_rec.start_date_active,'DD_MON_YYYY'));
1396: END IF;
1397: IF (AMS_DEBUG_HIGH_ON) THEN
1398:
1399: AMS_UTILITY_PVT.DEBUG_MESSAGE('end DATE:'|| to_char( p_approval_details_rec.end_Date_active,'DD-MON-YYYY'));
1400: END IF;
1401:
1402: if p_approval_details_rec.start_date_active is NOT NULL then
1403: if p_approval_details_rec.end_Date_active is NOT NULL then
1580:
1581: BEGIN
1582: IF (AMS_DEBUG_HIGH_ON) THEN
1583:
1584: AMS_UTILITY_PVT.debug_message('Private API:Check_Approval_Dtls_UK_Items');
1585: END IF;
1586: x_return_status := FND_API.G_RET_STS_SUCCESS;
1587:
1588: --Validate unique approval_id
1586: x_return_status := FND_API.G_RET_STS_SUCCESS;
1587:
1588: --Validate unique approval_id
1589: IF p_validation_mode = JTF_PLSQL_API.g_create THEN
1590: l_valid_flag := AMS_Utility_PVT.check_uniqueness(
1591: 'ams_approval_details',
1592: 'approval_detail_id = ''' || p_approval_details_rec.approval_detail_id ||'''');
1593: ELSE
1594: l_valid_flag := AMS_Utility_PVT.check_uniqueness(
1590: l_valid_flag := AMS_Utility_PVT.check_uniqueness(
1591: 'ams_approval_details',
1592: 'approval_detail_id = ''' || p_approval_details_rec.approval_detail_id ||'''');
1593: ELSE
1594: l_valid_flag := AMS_Utility_PVT.check_uniqueness(
1595: 'ams_approval_details',
1596: 'approval_detail_id = ''' || p_approval_details_rec.approval_detail_id ||
1597: ''' AND approval_detail_id <> ' || p_approval_details_rec.approval_detail_id);
1598: END IF;
1607: RETURN;
1608: END IF;
1609:
1610: --Validate unique apporval rule name
1611: -- Commented due to Bug 2776795 ams_utility_pvt check_uniqueness cannot handle names containing
1612: -- operators like 'AND'
1613: /*
1614:
1615: l_valid_flag := AMS_Utility_PVT.check_uniqueness(
1611: -- Commented due to Bug 2776795 ams_utility_pvt check_uniqueness cannot handle names containing
1612: -- operators like 'AND'
1613: /*
1614:
1615: l_valid_flag := AMS_Utility_PVT.check_uniqueness(
1616: 'ams_approval_details_vl', 'NAME = ''' || p_approval_details_rec.name ||
1617: ''' AND approval_detail_id <> ' || NVL(p_approval_details_rec.approval_detail_id,FND_API.G_MISS_NUM));
1618: */
1619:
1629:
1630: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
1631: IF (AMS_DEBUG_HIGH_ON) THEN
1632:
1633: AMS_UTILITY_PVT.debug_message('Check_Approval_Dtls_UK_Items: Inside error');
1634: END IF;
1635: FND_MESSAGE.set_name('AMS', 'AMS_DUP_NAME');
1636: FND_MSG_PUB.add;
1637: END IF;
1741: x_return_status := FND_API.G_RET_STS_SUCCESS;
1742: -- check approval_object
1743: IF (AMS_DEBUG_HIGH_ON) THEN
1744:
1745: AMS_Utility_PVT.debug_message ('Inside Check_FK__Items0');
1746: END IF;
1747: If p_approval_details_rec.approval_object <> FND_API.g_miss_char THEN
1748: ams_utility_pvt.get_lookup_meaning( 'AMS_APPROVAL_RULE_FOR',
1749: p_approval_details_rec.approval_object,
1744:
1745: AMS_Utility_PVT.debug_message ('Inside Check_FK__Items0');
1746: END IF;
1747: If p_approval_details_rec.approval_object <> FND_API.g_miss_char THEN
1748: ams_utility_pvt.get_lookup_meaning( 'AMS_APPROVAL_RULE_FOR',
1749: p_approval_details_rec.approval_object,
1750: x_return_status,
1751: l_meaning
1752: );
1759: END IF;
1760: END IF;
1761: IF (AMS_DEBUG_HIGH_ON) THEN
1762:
1763: AMS_Utility_PVT.debug_message ('Inside Check_FK__Items1');
1764: END IF;
1765: If p_approval_details_rec.approval_type <> FND_API.g_miss_char THEN
1766: ams_utility_pvt.get_lookup_meaning( 'AMS_APPROVAL_TYPE',
1767: p_approval_details_rec.approval_type,
1762:
1763: AMS_Utility_PVT.debug_message ('Inside Check_FK__Items1');
1764: END IF;
1765: If p_approval_details_rec.approval_type <> FND_API.g_miss_char THEN
1766: ams_utility_pvt.get_lookup_meaning( 'AMS_APPROVAL_TYPE',
1767: p_approval_details_rec.approval_type,
1768: x_return_status,
1769: l_meaning
1770: );
1777: END IF;
1778: END IF;
1779: IF (AMS_DEBUG_HIGH_ON) THEN
1780:
1781: AMS_Utility_PVT.debug_message ('Inside Check_FK__Items2');
1782: END IF;
1783: If (p_approval_details_rec.approval_object_type <> FND_API.g_miss_char
1784: AND p_approval_details_rec.approval_object_type IS NOT NULL) THEN
1785: IF (AMS_DEBUG_HIGH_ON) THEN
1783: If (p_approval_details_rec.approval_object_type <> FND_API.g_miss_char
1784: AND p_approval_details_rec.approval_object_type IS NOT NULL) THEN
1785: IF (AMS_DEBUG_HIGH_ON) THEN
1786:
1787: AMS_Utility_PVT.debug_message ('Inside Check_FK__Items21');
1788: END IF;
1789: IF p_approval_details_rec.approval_object = 'FUND' then
1790: IF (AMS_DEBUG_HIGH_ON) THEN
1791:
1788: END IF;
1789: IF p_approval_details_rec.approval_object = 'FUND' then
1790: IF (AMS_DEBUG_HIGH_ON) THEN
1791:
1792: AMS_Utility_PVT.debug_message ('Inside Check_FK__Items22');
1793: END IF;
1794: open c_appr_objt_type_exists(to_number(p_approval_details_rec.approval_object_type));
1795: fetch c_appr_objt_type_exists INTO l_dummy;
1796: close c_appr_objt_type_exists;
1807: p_approval_details_rec.approval_object = 'EONE' OR
1808: p_approval_details_rec.approval_object = 'EVEO' then
1809: IF (AMS_DEBUG_HIGH_ON) THEN
1810:
1811: AMS_Utility_PVT.debug_message ('Inside Check_FK__Items3');
1812: END IF;
1813: IF p_approval_details_rec.approval_object = 'CAMP' then
1814: l_lookup_type := 'AMS_MEDIA_TYPE';
1815: ELSE
1814: l_lookup_type := 'AMS_MEDIA_TYPE';
1815: ELSE
1816: l_lookup_type := 'AMS_EVENT_TYPE';
1817: END IF;
1818: ams_utility_pvt.get_lookup_meaning( l_lookup_type,
1819: p_approval_details_rec.approval_object_type,
1820: x_return_status,
1821: l_meaning
1822: );
1830: END IF;
1831: END iF;
1832: IF (AMS_DEBUG_HIGH_ON) THEN
1833:
1834: AMS_Utility_PVT.debug_message ('Inside Check_FK__Items4');
1835: END IF;
1836: IF (p_approval_details_rec.approval_priority IS NOT NULL AND
1837: p_approval_details_rec.approval_priority <> FND_API.g_miss_char) THEN
1838: IF p_approval_details_rec.approval_object = 'CAMP' OR
1837: p_approval_details_rec.approval_priority <> FND_API.g_miss_char) THEN
1838: IF p_approval_details_rec.approval_object = 'CAMP' OR
1839: p_approval_details_rec.approval_object = 'EVEH' OR
1840: p_approval_details_rec.approval_object = 'EVEO' then
1841: ams_utility_pvt.get_lookup_meaning( 'AMS_PRIORITY',
1842: p_approval_details_rec.approval_priority,
1843: x_return_status,
1844: l_meaning
1845: );
1853: END IF;
1854: END iF;
1855: IF (AMS_DEBUG_HIGH_ON) THEN
1856:
1857: AMS_Utility_PVT.debug_message ('Inside Check_FK__Items5');
1858: END IF;
1859:
1860: If p_approval_details_rec.custom_setup_id <> FND_API.g_miss_num THEN
1861: IF p_approval_details_rec.approval_object <> FND_API.g_miss_char THEN
1889: END IF;
1890: END IF;
1891: IF (AMS_DEBUG_HIGH_ON) THEN
1892:
1893: AMS_Utility_PVT.debug_message ('Inside Check_FK__Items6');
1894: END IF;
1895: IF p_approval_details_rec.business_unit_id is not null then
1896: OPEN c_get_org(p_approval_details_rec.business_unit_id ,
1897: p_approval_details_rec.business_group_id, 'BU') ;
1907: END IF;
1908: END IF;
1909: IF (AMS_DEBUG_HIGH_ON) THEN
1910:
1911: AMS_Utility_PVT.debug_message ('Inside Check_FK__Items7');
1912: END IF;
1913: IF p_approval_details_rec.organization_id is not null then
1914: OPEN c_get_org(p_approval_details_rec.organization_id ,
1915: p_approval_details_rec.business_group_id, '') ;
2014:
2015: IF ( p_min_amount >= l_min_amount AND p_min_amount < l_max_amount ) THEN
2016: IF (AMS_DEBUG_HIGH_ON) THEN
2017:
2018: Ams_Utility_Pvt.debug_message('The budget range is overlapping with that of existing rule ');
2019: END IF;
2020: amount_overlap := FND_API.to_boolean(FND_API.g_true);
2021:
2022: ELSIF ( p_max_amount > l_min_amount AND p_max_amount <= l_max_amount ) THEN
2021:
2022: ELSIF ( p_max_amount > l_min_amount AND p_max_amount <= l_max_amount ) THEN
2023: IF (AMS_DEBUG_HIGH_ON) THEN
2024:
2025: Ams_Utility_Pvt.debug_message('The budget range is overlapping with that of existing rule ');
2026: END IF;
2027: amount_overlap := FND_API.to_boolean(FND_API.g_true);
2028:
2029: ELSIF ( p_min_amount < l_min_amount AND p_max_amount > l_max_amount ) THEN
2028:
2029: ELSIF ( p_min_amount < l_min_amount AND p_max_amount > l_max_amount ) THEN
2030: IF (AMS_DEBUG_HIGH_ON) THEN
2031:
2032: Ams_Utility_Pvt.debug_message('The budget range is overlapping with that of existing rule ');
2033: END IF;
2034: amount_overlap := FND_API.to_boolean(FND_API.g_true);
2035:
2036: END IF;
2166: FETCH c_approval_dates INTO l_start_date, l_end_date;
2167: CLOSE c_approval_dates;
2168:
2169: IF (AMS_DEBUG_HIGH_ON) THEN
2170: Ams_Utility_Pvt.debug_message('l_start_date '||l_start_date);
2171: Ams_Utility_Pvt.debug_message('l_end_date '||l_end_date);
2172: Ams_Utility_Pvt.debug_message('p_rec_start_date '||p_start_date);
2173: Ams_Utility_Pvt.debug_message('p_rec_end_date '||p_end_date);
2174: END IF;
2167: CLOSE c_approval_dates;
2168:
2169: IF (AMS_DEBUG_HIGH_ON) THEN
2170: Ams_Utility_Pvt.debug_message('l_start_date '||l_start_date);
2171: Ams_Utility_Pvt.debug_message('l_end_date '||l_end_date);
2172: Ams_Utility_Pvt.debug_message('p_rec_start_date '||p_start_date);
2173: Ams_Utility_Pvt.debug_message('p_rec_end_date '||p_end_date);
2174: END IF;
2175:
2168:
2169: IF (AMS_DEBUG_HIGH_ON) THEN
2170: Ams_Utility_Pvt.debug_message('l_start_date '||l_start_date);
2171: Ams_Utility_Pvt.debug_message('l_end_date '||l_end_date);
2172: Ams_Utility_Pvt.debug_message('p_rec_start_date '||p_start_date);
2173: Ams_Utility_Pvt.debug_message('p_rec_end_date '||p_end_date);
2174: END IF;
2175:
2176: IF (p_start_date IS NOT NULL ) THEN
2169: IF (AMS_DEBUG_HIGH_ON) THEN
2170: Ams_Utility_Pvt.debug_message('l_start_date '||l_start_date);
2171: Ams_Utility_Pvt.debug_message('l_end_date '||l_end_date);
2172: Ams_Utility_Pvt.debug_message('p_rec_start_date '||p_start_date);
2173: Ams_Utility_Pvt.debug_message('p_rec_end_date '||p_end_date);
2174: END IF;
2175:
2176: IF (p_start_date IS NOT NULL ) THEN
2177:
2176: IF (p_start_date IS NOT NULL ) THEN
2177:
2178: IF (l_start_date <= trunc(SYSDATE) AND p_start_date <> l_start_date ) THEN
2179: IF (AMS_DEBUG_HIGH_ON) THEN
2180: Ams_Utility_Pvt.debug_message('You cannot update the Approval Rule start date as it is already active');
2181: END IF;
2182:
2183: IF Fnd_Msg_Pub.check_msg_level(Fnd_Msg_Pub.G_MSG_LVL_ERROR) THEN
2184: Fnd_Message.set_name('AMS', 'AMS_APRD_START_DATE_NO_UPDATE');
2192: AND p_start_date < trunc(SYSDATE)
2193: ) THEN
2194: IF (AMS_DEBUG_HIGH_ON) THEN
2195:
2196: Ams_Utility_Pvt.debug_message('Approval Rule Start Date cannot be less than the system date');
2197: END IF;
2198:
2199: IF Fnd_Msg_Pub.check_msg_level(Fnd_Msg_Pub.G_MSG_LVL_ERROR) THEN
2200: Fnd_Message.set_name('AMS', 'AMS_APRD_START_DATE_LT_SYSDATE');
2214: /* Checking the Dates are Valid Or Not */
2215: IF (p_start_date IS NOT NULL AND p_start_date < trunc(SYSDATE)) THEN
2216: IF (AMS_DEBUG_HIGH_ON) THEN
2217:
2218: Ams_Utility_Pvt.debug_message('Approval Rule Start Date cannot be less than the system date');
2219: END IF;
2220:
2221: IF Fnd_Msg_Pub.check_msg_level(Fnd_Msg_Pub.G_MSG_LVL_ERROR) THEN
2222: Fnd_Message.set_name('AMS', 'AMS_APRD_START_DATE_LT_SYSDATE');
2230: IF (p_start_date IS NOT NULL AND p_start_date < trunc(SYSDATE)
2231: AND l_start_date IS NOT NULL AND l_start_date > trunc(SYSDATE)) THEN
2232: IF (AMS_DEBUG_HIGH_ON) THEN
2233:
2234: Ams_Utility_Pvt.debug_message('Approval Rule Start Date cannot be less than the system date');
2235: END IF;
2236:
2237: IF Fnd_Msg_Pub.check_msg_level(Fnd_Msg_Pub.G_MSG_LVL_ERROR) THEN
2238: Fnd_Message.set_name('AMS', 'AMS_APRD_START_DATE_LT_SYSDATE');
2243:
2244: IF (p_end_date IS NOT NULL AND p_end_date < trunc(SYSDATE)) THEN
2245: IF (AMS_DEBUG_HIGH_ON) THEN
2246:
2247: Ams_Utility_Pvt.debug_message('Approval Rule End Date cannot be less than the system date');
2248: END IF;
2249:
2250: IF Fnd_Msg_Pub.check_msg_level(Fnd_Msg_Pub.G_MSG_LVL_ERROR) THEN
2251: Fnd_Message.set_name('AMS', 'AMS_APRD_END_DATE_LT_SYSDATE');
2257: IF (p_start_date IS NOT NULL AND p_end_date IS NOT NULL) THEN
2258: IF ( p_start_date > p_end_date ) THEN
2259: IF (AMS_DEBUG_HIGH_ON) THEN
2260:
2261: Ams_Utility_Pvt.debug_message('Approval Rule END Date cannot be less than Start Date');
2262: END IF;
2263:
2264: IF Fnd_Msg_Pub.check_msg_level(Fnd_Msg_Pub.G_MSG_LVL_ERROR) THEN
2265: Fnd_Message.set_name('AMS', 'AMS_APRD_ED_DATE_LT_ST_DATE');
2285: IF (AMS_DEBUG_HIGH_ON) THEN
2286:
2287:
2288:
2289: Ams_Utility_Pvt.debug_message('Entered Condition 1 ');
2290:
2291: END IF;
2292: IF (AMS_DEBUG_HIGH_ON) THEN
2293:
2290:
2291: END IF;
2292: IF (AMS_DEBUG_HIGH_ON) THEN
2293:
2294: Ams_Utility_Pvt.debug_message('The date range is overlapping with that of existing rule ');
2295: END IF;
2296:
2297: l_temp := l_temp + 1;
2298: v_approvalIds(l_temp) := l_approval_detail_id;
2306: IF (AMS_DEBUG_HIGH_ON) THEN
2307:
2308:
2309:
2310: Ams_Utility_Pvt.debug_message('Entered Condition 1 ');
2311:
2312: END IF;
2313: IF (AMS_DEBUG_HIGH_ON) THEN
2314:
2311:
2312: END IF;
2313: IF (AMS_DEBUG_HIGH_ON) THEN
2314:
2315: Ams_Utility_Pvt.debug_message('The date range is overlapping with that of existing rule ');
2316: END IF;
2317:
2318: l_temp := l_temp + 1;
2319: v_approvalIds(l_temp) := l_approval_detail_id;
2329: IF (AMS_DEBUG_HIGH_ON) THEN
2330:
2331:
2332:
2333: Ams_Utility_Pvt.debug_message('Entered Condition 2 ');
2334:
2335: END IF;
2336: IF (AMS_DEBUG_HIGH_ON) THEN
2337:
2334:
2335: END IF;
2336: IF (AMS_DEBUG_HIGH_ON) THEN
2337:
2338: Ams_Utility_Pvt.debug_message('The date range is overlapping with that of existing rule ');
2339: END IF;
2340:
2341: l_temp := l_temp + 1;
2342: v_approvalIds(l_temp) := l_approval_detail_id;
2348:
2349: IF( l_end_date IS NOT NULL AND l_start_date IS NOT NULL AND p_end_date IS NOT NULL AND p_start_date IS NOT NULL) THEN
2350:
2351: IF (AMS_DEBUG_HIGH_ON) THEN
2352: Ams_Utility_Pvt.debug_message('Entered Condition 3 ');
2353: Ams_Utility_Pvt.debug_message('p_start_date is ' || to_char(p_start_date));
2354: Ams_Utility_Pvt.debug_message('p_end_date is ' || to_char(p_end_date));
2355: Ams_Utility_Pvt.debug_message('l_start_date is ' || to_char(l_start_date));
2356: Ams_Utility_Pvt.debug_message('l_end_date is ' || to_char(l_end_date));
2349: IF( l_end_date IS NOT NULL AND l_start_date IS NOT NULL AND p_end_date IS NOT NULL AND p_start_date IS NOT NULL) THEN
2350:
2351: IF (AMS_DEBUG_HIGH_ON) THEN
2352: Ams_Utility_Pvt.debug_message('Entered Condition 3 ');
2353: Ams_Utility_Pvt.debug_message('p_start_date is ' || to_char(p_start_date));
2354: Ams_Utility_Pvt.debug_message('p_end_date is ' || to_char(p_end_date));
2355: Ams_Utility_Pvt.debug_message('l_start_date is ' || to_char(l_start_date));
2356: Ams_Utility_Pvt.debug_message('l_end_date is ' || to_char(l_end_date));
2357: END IF;
2350:
2351: IF (AMS_DEBUG_HIGH_ON) THEN
2352: Ams_Utility_Pvt.debug_message('Entered Condition 3 ');
2353: Ams_Utility_Pvt.debug_message('p_start_date is ' || to_char(p_start_date));
2354: Ams_Utility_Pvt.debug_message('p_end_date is ' || to_char(p_end_date));
2355: Ams_Utility_Pvt.debug_message('l_start_date is ' || to_char(l_start_date));
2356: Ams_Utility_Pvt.debug_message('l_end_date is ' || to_char(l_end_date));
2357: END IF;
2358:
2351: IF (AMS_DEBUG_HIGH_ON) THEN
2352: Ams_Utility_Pvt.debug_message('Entered Condition 3 ');
2353: Ams_Utility_Pvt.debug_message('p_start_date is ' || to_char(p_start_date));
2354: Ams_Utility_Pvt.debug_message('p_end_date is ' || to_char(p_end_date));
2355: Ams_Utility_Pvt.debug_message('l_start_date is ' || to_char(l_start_date));
2356: Ams_Utility_Pvt.debug_message('l_end_date is ' || to_char(l_end_date));
2357: END IF;
2358:
2359: IF ( p_start_date >= l_start_date AND p_start_date <= l_end_date
2352: Ams_Utility_Pvt.debug_message('Entered Condition 3 ');
2353: Ams_Utility_Pvt.debug_message('p_start_date is ' || to_char(p_start_date));
2354: Ams_Utility_Pvt.debug_message('p_end_date is ' || to_char(p_end_date));
2355: Ams_Utility_Pvt.debug_message('l_start_date is ' || to_char(l_start_date));
2356: Ams_Utility_Pvt.debug_message('l_end_date is ' || to_char(l_end_date));
2357: END IF;
2358:
2359: IF ( p_start_date >= l_start_date AND p_start_date <= l_end_date
2360: -- AND Condition added due to Bug 3275739
2361: -- We don't need to validate overlap with expired approval rules
2362: AND l_end_date >= trunc(SYSDATE)) THEN
2363: IF (AMS_DEBUG_HIGH_ON) THEN
2364:
2365: Ams_Utility_Pvt.debug_message('The date range is overlapping with that of existing rule ');
2366: END IF;
2367:
2368: l_temp := l_temp + 1;
2369: v_approvalIds(l_temp) := l_approval_detail_id;
2373: -- We don't need to validate overlap with expired approval rules
2374: AND l_end_date >= trunc(SYSDATE)) THEN
2375: IF (AMS_DEBUG_HIGH_ON) THEN
2376:
2377: Ams_Utility_Pvt.debug_message('The date range is overlapping with that of existing rule ');
2378: END IF;
2379:
2380: l_temp := l_temp + 1;
2381: v_approvalIds(l_temp) := l_approval_detail_id;
2385: -- We don't need to validate overlap with expired approval rules
2386: AND l_end_date >= trunc(SYSDATE)) THEN
2387: IF (AMS_DEBUG_HIGH_ON) THEN
2388:
2389: Ams_Utility_Pvt.debug_message('The date range is overlapping with that of existing rule ');
2390: END IF;
2391:
2392: l_temp := l_temp + 1;
2393: v_approvalIds(l_temp) := l_approval_detail_id;