92:
93: --first check that the ultimate end date should not be before the start date
94: IF(trunc(p_renewal_end_date) < p_new_start_date) THEN
95:
96: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_NEW_START_MORE_FINAL_END');
97: FND_MESSAGE.set_token('START_DATE', to_char(trunc(p_new_start_date), 'DD-MON-YYYY'));
98: FND_MESSAGE.set_token('REN_UP_TO_DATE', to_char(trunc(p_renewal_end_date), 'DD-MON-YYYY'));
99:
100: IF (FND_LOG.level_error >= FND_LOG.g_current_runtime_level) THEN
93: --first check that the ultimate end date should not be before the start date
94: IF(trunc(p_renewal_end_date) < p_new_start_date) THEN
95:
96: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_NEW_START_MORE_FINAL_END');
97: FND_MESSAGE.set_token('START_DATE', to_char(trunc(p_new_start_date), 'DD-MON-YYYY'));
98: FND_MESSAGE.set_token('REN_UP_TO_DATE', to_char(trunc(p_renewal_end_date), 'DD-MON-YYYY'));
99:
100: IF (FND_LOG.level_error >= FND_LOG.g_current_runtime_level) THEN
101: FND_LOG.message(FND_LOG.level_error, l_mod_name || '.derive_end_date', FALSE);
94: IF(trunc(p_renewal_end_date) < p_new_start_date) THEN
95:
96: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_NEW_START_MORE_FINAL_END');
97: FND_MESSAGE.set_token('START_DATE', to_char(trunc(p_new_start_date), 'DD-MON-YYYY'));
98: FND_MESSAGE.set_token('REN_UP_TO_DATE', to_char(trunc(p_renewal_end_date), 'DD-MON-YYYY'));
99:
100: IF (FND_LOG.level_error >= FND_LOG.g_current_runtime_level) THEN
101: FND_LOG.message(FND_LOG.level_error, l_mod_name || '.derive_end_date', FALSE);
102: END IF;
1245:
1246: END Commented for bug 5493685 */
1247:
1248: IF l_count = 0 THEN
1249: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_NO_JTF_RESOURCE');
1250: FND_MESSAGE.set_token('PARTY', l_party_name);
1251: FND_MESSAGE.set_token('COUNTRY', l_country_code);
1252: FND_MESSAGE.set_token('STATE', l_state_code);
1253: IF (FND_LOG.level_error >= FND_LOG.g_current_runtime_level) THEN
1246: END Commented for bug 5493685 */
1247:
1248: IF l_count = 0 THEN
1249: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_NO_JTF_RESOURCE');
1250: FND_MESSAGE.set_token('PARTY', l_party_name);
1251: FND_MESSAGE.set_token('COUNTRY', l_country_code);
1252: FND_MESSAGE.set_token('STATE', l_state_code);
1253: IF (FND_LOG.level_error >= FND_LOG.g_current_runtime_level) THEN
1254: FND_LOG.message(FND_LOG.level_error, l_mod_name || '.get_winners_error', FALSE);
1247:
1248: IF l_count = 0 THEN
1249: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_NO_JTF_RESOURCE');
1250: FND_MESSAGE.set_token('PARTY', l_party_name);
1251: FND_MESSAGE.set_token('COUNTRY', l_country_code);
1252: FND_MESSAGE.set_token('STATE', l_state_code);
1253: IF (FND_LOG.level_error >= FND_LOG.g_current_runtime_level) THEN
1254: FND_LOG.message(FND_LOG.level_error, l_mod_name || '.get_winners_error', FALSE);
1255: END IF;
1248: IF l_count = 0 THEN
1249: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_NO_JTF_RESOURCE');
1250: FND_MESSAGE.set_token('PARTY', l_party_name);
1251: FND_MESSAGE.set_token('COUNTRY', l_country_code);
1252: FND_MESSAGE.set_token('STATE', l_state_code);
1253: IF (FND_LOG.level_error >= FND_LOG.g_current_runtime_level) THEN
1254: FND_LOG.message(FND_LOG.level_error, l_mod_name || '.get_winners_error', FALSE);
1255: END IF;
1256: FND_MSG_PUB.add;
1441: ELSIF(l_prof_enable_sc = 'YES') THEN
1442: --for YES:Derive, delete all existing sales credits and derive specified type of sales credit
1443: IF (l_prof_rev_type IS NULL) THEN
1444: --without the profile setup we cannot recreate the sales credit
1445: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_INVD_PROFILE_VALUE');
1446: FND_MESSAGE.set_token('PROFILE', 'OKS_REVENUE_TYPE');
1447: IF (FND_LOG.level_error >= FND_LOG.g_current_runtime_level) THEN
1448: FND_LOG.message(FND_LOG.level_error, l_mod_name || '.rev_type_chk', FALSE);
1449: END IF;
1442: --for YES:Derive, delete all existing sales credits and derive specified type of sales credit
1443: IF (l_prof_rev_type IS NULL) THEN
1444: --without the profile setup we cannot recreate the sales credit
1445: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_INVD_PROFILE_VALUE');
1446: FND_MESSAGE.set_token('PROFILE', 'OKS_REVENUE_TYPE');
1447: IF (FND_LOG.level_error >= FND_LOG.g_current_runtime_level) THEN
1448: FND_LOG.message(FND_LOG.level_error, l_mod_name || '.rev_type_chk', FALSE);
1449: END IF;
1450: FND_MSG_PUB.add;
1455: END IF;
1456: ELSIF (l_prof_enable_sc = 'DRT') THEN
1457: --for DRT:Derive for Revenue Type and Retain Other, delete and derive specified type of sales credit
1458: IF (l_prof_rev_type IS NULL) THEN
1459: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_INVD_PROFILE_VALUE');
1460: FND_MESSAGE.set_token('PROFILE', 'OKS_REVENUE_TYPE');
1461: IF (FND_LOG.level_error >= FND_LOG.g_current_runtime_level) THEN
1462: FND_LOG.message(FND_LOG.level_error, l_mod_name || '.rev_type_chk', FALSE);
1463: END IF;
1456: ELSIF (l_prof_enable_sc = 'DRT') THEN
1457: --for DRT:Derive for Revenue Type and Retain Other, delete and derive specified type of sales credit
1458: IF (l_prof_rev_type IS NULL) THEN
1459: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_INVD_PROFILE_VALUE');
1460: FND_MESSAGE.set_token('PROFILE', 'OKS_REVENUE_TYPE');
1461: IF (FND_LOG.level_error >= FND_LOG.g_current_runtime_level) THEN
1462: FND_LOG.message(FND_LOG.level_error, l_mod_name || '.rev_type_chk', FALSE);
1463: END IF;
1464: FND_MSG_PUB.add;
1480: OPEN c_k_hdr(p_chr_id);
1481: FETCH c_k_hdr INTO l_org_id, l_party_id;
1482: CLOSE c_k_hdr;
1483: IF (l_org_id IS NULL) THEN
1484: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_INV_CONTRACT');
1485: FND_MESSAGE.set_token('CONTRACT_ID', p_chr_id);
1486: IF (FND_LOG.level_error >= FND_LOG.g_current_runtime_level) THEN
1487: FND_LOG.message(FND_LOG.level_error, l_mod_name || '.get_k_org_party', FALSE);
1488: END IF;
1481: FETCH c_k_hdr INTO l_org_id, l_party_id;
1482: CLOSE c_k_hdr;
1483: IF (l_org_id IS NULL) THEN
1484: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_INV_CONTRACT');
1485: FND_MESSAGE.set_token('CONTRACT_ID', p_chr_id);
1486: IF (FND_LOG.level_error >= FND_LOG.g_current_runtime_level) THEN
1487: FND_LOG.message(FND_LOG.level_error, l_mod_name || '.get_k_org_party', FALSE);
1488: END IF;
1489: FND_MSG_PUB.ADD;
1522: FETCH c_res_salesrep INTO l_salesrep_id;
1523: CLOSE c_res_salesrep;
1524:
1525: IF l_salesrep_id IS NULL THEN
1526: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_NO_SREP_FOR_RES');
1527: FND_MESSAGE.set_token('RESOURCE_ID', l_resource_id);
1528: IF (FND_LOG.level_error >= FND_LOG.g_current_runtime_level) THEN
1529: FND_LOG.message(FND_LOG.level_error, l_mod_name || '.get_jtf_salesrep', FALSE);
1530: END IF;
1523: CLOSE c_res_salesrep;
1524:
1525: IF l_salesrep_id IS NULL THEN
1526: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_NO_SREP_FOR_RES');
1527: FND_MESSAGE.set_token('RESOURCE_ID', l_resource_id);
1528: IF (FND_LOG.level_error >= FND_LOG.g_current_runtime_level) THEN
1529: FND_LOG.message(FND_LOG.level_error, l_mod_name || '.get_jtf_salesrep', FALSE);
1530: END IF;
1531: FND_MSG_PUB.ADD;
1540: FND_LOG.string(FND_LOG.level_statement, l_mod_name || '.get_salesrep', 'salesrep from profile option OKS_SALESPERSON_ID='||l_salesrep_id);
1541: END IF;
1542:
1543: IF l_salesrep_id IS NULL THEN
1544: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_INVD_PROFILE_VALUE');
1545: FND_MESSAGE.set_token('PROFILE', 'OKS_SALESPERSON_ID');
1546: IF (FND_LOG.level_error >= FND_LOG.g_current_runtime_level) THEN
1547: FND_LOG.message(FND_LOG.level_error, l_mod_name || '.get_prof_salesrep', FALSE);
1548: END IF;
1541: END IF;
1542:
1543: IF l_salesrep_id IS NULL THEN
1544: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_INVD_PROFILE_VALUE');
1545: FND_MESSAGE.set_token('PROFILE', 'OKS_SALESPERSON_ID');
1546: IF (FND_LOG.level_error >= FND_LOG.g_current_runtime_level) THEN
1547: FND_LOG.message(FND_LOG.level_error, l_mod_name || '.get_prof_salesrep', FALSE);
1548: END IF;
1549: FND_MSG_PUB.add;
1568: OPEN c_get_org_name(l_org_id);
1569: FETCH c_get_org_name INTO l_org_name;
1570: CLOSE c_get_org_name;
1571:
1572: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_SALESREP_ORG_MATCH');
1573: FND_MESSAGE.set_token('SALESREP_NAME', l_salesrep_name);
1574: FND_MESSAGE.set_token('ORG_NAME', l_org_name);
1575: IF (FND_LOG.level_event >= FND_LOG.g_current_runtime_level) THEN
1576: FND_LOG.message(FND_LOG.level_event, l_mod_name || '.org_id_match', FALSE);
1569: FETCH c_get_org_name INTO l_org_name;
1570: CLOSE c_get_org_name;
1571:
1572: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_SALESREP_ORG_MATCH');
1573: FND_MESSAGE.set_token('SALESREP_NAME', l_salesrep_name);
1574: FND_MESSAGE.set_token('ORG_NAME', l_org_name);
1575: IF (FND_LOG.level_event >= FND_LOG.g_current_runtime_level) THEN
1576: FND_LOG.message(FND_LOG.level_event, l_mod_name || '.org_id_match', FALSE);
1577: END IF;
1570: CLOSE c_get_org_name;
1571:
1572: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_SALESREP_ORG_MATCH');
1573: FND_MESSAGE.set_token('SALESREP_NAME', l_salesrep_name);
1574: FND_MESSAGE.set_token('ORG_NAME', l_org_name);
1575: IF (FND_LOG.level_event >= FND_LOG.g_current_runtime_level) THEN
1576: FND_LOG.message(FND_LOG.level_event, l_mod_name || '.org_id_match', FALSE);
1577: END IF;
1578: FND_MSG_PUB.add;
1589: FND_LOG.string(FND_LOG.level_statement, l_mod_name || '.get_ven_mer_id', 'vendor/merhant details, l_cpl_id='||l_cpl_id||' ,l_rle_code='||l_rle_code);
1590: END IF;
1591:
1592: IF (l_cpl_id IS NULL) THEN
1593: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_NO_VENDOR_MERCHANT');
1594: FND_MESSAGE.set_token('CONTRACT_ID', to_char(p_chr_id));
1595: IF (FND_LOG.level_error >= FND_LOG.g_current_runtime_level) THEN
1596: FND_LOG.message(FND_LOG.level_error, l_mod_name || '.get_ven_mer_id', FALSE);
1597: END IF;
1590: END IF;
1591:
1592: IF (l_cpl_id IS NULL) THEN
1593: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_NO_VENDOR_MERCHANT');
1594: FND_MESSAGE.set_token('CONTRACT_ID', to_char(p_chr_id));
1595: IF (FND_LOG.level_error >= FND_LOG.g_current_runtime_level) THEN
1596: FND_LOG.message(FND_LOG.level_error, l_mod_name || '.get_ven_mer_id', FALSE);
1597: END IF;
1598: FND_MSG_PUB.add;
1610: FND_LOG.string(FND_LOG.level_statement, l_mod_name || '.get_cro_code', 'cro_code for role '||l_rle_code||' ,l_cro_code='||l_cro_code);
1611: END IF;
1612:
1613: IF (l_cro_code IS NULL) THEN
1614: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_NO_K_SRC_FOR_SREP');
1615: FND_MESSAGE.set_token('RLE_CODE', l_rle_code);
1616: IF (FND_LOG.level_error >= FND_LOG.g_current_runtime_level) THEN
1617: FND_LOG.message(FND_LOG.level_error, l_mod_name || '.get_cro_code', FALSE);
1618: END IF;
1611: END IF;
1612:
1613: IF (l_cro_code IS NULL) THEN
1614: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_NO_K_SRC_FOR_SREP');
1615: FND_MESSAGE.set_token('RLE_CODE', l_rle_code);
1616: IF (FND_LOG.level_error >= FND_LOG.g_current_runtime_level) THEN
1617: FND_LOG.message(FND_LOG.level_error, l_mod_name || '.get_cro_code', FALSE);
1618: END IF;
1619: FND_MSG_PUB.add;
1637:
1638: --just log the fact that no salesgroup was found, no error thrown
1639: IF (l_sales_group_id = -1) THEN
1640: IF (FND_LOG.level_event >= FND_LOG.g_current_runtime_level) THEN
1641: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_NO_SALES_GROUP');
1642: FND_MESSAGE.set_token('SALESREP_ID', to_char(l_salesrep_id));
1643: FND_LOG.message(FND_LOG.level_event, l_mod_name || '.get_sales_group', TRUE);
1644: END IF;
1645: END IF;
1638: --just log the fact that no salesgroup was found, no error thrown
1639: IF (l_sales_group_id = -1) THEN
1640: IF (FND_LOG.level_event >= FND_LOG.g_current_runtime_level) THEN
1641: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_NO_SALES_GROUP');
1642: FND_MESSAGE.set_token('SALESREP_ID', to_char(l_salesrep_id));
1643: FND_LOG.message(FND_LOG.level_event, l_mod_name || '.get_sales_group', TRUE);
1644: END IF;
1645: END IF;
1646:
1703: l_prof_rev_type_dist := nvl(FND_PROFILE.VALUE('OKS_REVENUE_TYPE_DIST'), '0');
1704: l_percent := to_number(l_prof_rev_type_dist);
1705:
1706: IF (l_percent < 0 OR l_percent > 100) THEN
1707: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_INVD_PROFILE_VALUE');
1708: FND_MESSAGE.set_token('PROFILE', 'OKS_REVENUE_TYPE_DIST');
1709: IF (FND_LOG.level_error >= FND_LOG.g_current_runtime_level) THEN
1710: FND_LOG.message(FND_LOG.level_error, l_mod_name || '.get_rev_type_dist', FALSE);
1711: END IF;
1704: l_percent := to_number(l_prof_rev_type_dist);
1705:
1706: IF (l_percent < 0 OR l_percent > 100) THEN
1707: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_INVD_PROFILE_VALUE');
1708: FND_MESSAGE.set_token('PROFILE', 'OKS_REVENUE_TYPE_DIST');
1709: IF (FND_LOG.level_error >= FND_LOG.g_current_runtime_level) THEN
1710: FND_LOG.message(FND_LOG.level_error, l_mod_name || '.get_rev_type_dist', FALSE);
1711: END IF;
1712: FND_MSG_PUB.add;
2792: FETCH c_chk_invoice_rule INTO l_rule_id;
2793: CLOSE c_chk_invoice_rule;
2794:
2795: IF(l_rule_id IS NULL) THEN
2796: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_INV_INVOICE_RULE');
2797: FND_MESSAGE.set_token('INVOICE_RULE_ID', l_invoice_rule_id);
2798: IF (FND_LOG.level_error >= FND_LOG.g_current_runtime_level) THEN
2799: FND_LOG.message(FND_LOG.level_error, l_mod_name || '.validate_invoice_rule', FALSE);
2800: END IF;
2793: CLOSE c_chk_invoice_rule;
2794:
2795: IF(l_rule_id IS NULL) THEN
2796: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_INV_INVOICE_RULE');
2797: FND_MESSAGE.set_token('INVOICE_RULE_ID', l_invoice_rule_id);
2798: IF (FND_LOG.level_error >= FND_LOG.g_current_runtime_level) THEN
2799: FND_LOG.message(FND_LOG.level_error, l_mod_name || '.validate_invoice_rule', FALSE);
2800: END IF;
2801: FND_MSG_PUB.ADD;
2811: FETCH c_chk_accounting_rule INTO l_rule_id;
2812: CLOSE c_chk_accounting_rule;
2813:
2814: IF(l_rule_id IS NULL) THEN
2815: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_INV_ACCTG_RULE');
2816: FND_MESSAGE.set_token('ACCTG_RULE_ID', l_account_rule_id);
2817: IF (FND_LOG.level_error >= FND_LOG.g_current_runtime_level) THEN
2818: FND_LOG.message(FND_LOG.level_error, l_mod_name || '.validate_accounting_rule', FALSE);
2819: END IF;
2812: CLOSE c_chk_accounting_rule;
2813:
2814: IF(l_rule_id IS NULL) THEN
2815: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_INV_ACCTG_RULE');
2816: FND_MESSAGE.set_token('ACCTG_RULE_ID', l_account_rule_id);
2817: IF (FND_LOG.level_error >= FND_LOG.g_current_runtime_level) THEN
2818: FND_LOG.message(FND_LOG.level_error, l_mod_name || '.validate_accounting_rule', FALSE);
2819: END IF;
2820: FND_MSG_PUB.ADD;
4076: FETCH c_k_hdr INTO l_k_app_id, l_k_num, l_k_mod, l_k_ste_code, l_k_ste_meaning,
4077: l_k_scs_code, l_k_template_yn, l_k_date_terminated, l_k_date_renewed, l_k_end_date;
4078:
4079: IF (c_k_hdr%notfound) THEN
4080: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_INV_CONTRACT');
4081: FND_MESSAGE.set_token('CONTRACT_ID', p_chr_id);
4082: IF (FND_LOG.level_error >= FND_LOG.g_current_runtime_level) THEN
4083: FND_LOG.message(FND_LOG.level_error, l_mod_name || '.get_k_values', FALSE);
4084: END IF;
4077: l_k_scs_code, l_k_template_yn, l_k_date_terminated, l_k_date_renewed, l_k_end_date;
4078:
4079: IF (c_k_hdr%notfound) THEN
4080: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_INV_CONTRACT');
4081: FND_MESSAGE.set_token('CONTRACT_ID', p_chr_id);
4082: IF (FND_LOG.level_error >= FND_LOG.g_current_runtime_level) THEN
4083: FND_LOG.message(FND_LOG.level_error, l_mod_name || '.get_k_values', FALSE);
4084: END IF;
4085: FND_MSG_PUB.ADD;
4111: FETCH c_check_line_warr INTO l_k_line_id;
4112: CLOSE c_check_line_warr;
4113:
4114: IF (l_k_line_id IS NOT NULL) THEN
4115: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_WARRANTY_DNR');
4116: FND_MESSAGE.set_token('NUMBER', l_k_num_mod);
4117: l_msg_count := l_msg_count + 1;
4118: x_validation_tbl(l_msg_count).code := 'OKS_WARRANTY_DNR';
4119: x_validation_tbl(l_msg_count).message := FND_MESSAGE.get;
4112: CLOSE c_check_line_warr;
4113:
4114: IF (l_k_line_id IS NOT NULL) THEN
4115: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_WARRANTY_DNR');
4116: FND_MESSAGE.set_token('NUMBER', l_k_num_mod);
4117: l_msg_count := l_msg_count + 1;
4118: x_validation_tbl(l_msg_count).code := 'OKS_WARRANTY_DNR';
4119: x_validation_tbl(l_msg_count).message := FND_MESSAGE.get;
4120: x_validation_status := G_VALID_STS_ERROR;
4115: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_WARRANTY_DNR');
4116: FND_MESSAGE.set_token('NUMBER', l_k_num_mod);
4117: l_msg_count := l_msg_count + 1;
4118: x_validation_tbl(l_msg_count).code := 'OKS_WARRANTY_DNR';
4119: x_validation_tbl(l_msg_count).message := FND_MESSAGE.get;
4120: x_validation_status := G_VALID_STS_ERROR;
4121: --we don't need to do any more checks if this is a warranty contract
4122: RETURN;
4123: END IF;
4123: END IF;
4124:
4125: --error if contract is template
4126: IF (nvl(l_k_template_yn, 'X') = 'Y') THEN
4127: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_K_TEMPLATE');
4128: FND_MESSAGE.set_token('NUMBER', l_k_num_mod);
4129: l_msg_count := l_msg_count + 1;
4130: x_validation_tbl(l_msg_count).code := 'OKS_K_TEMPLATE';
4131: x_validation_tbl(l_msg_count).message := FND_MESSAGE.get;
4124:
4125: --error if contract is template
4126: IF (nvl(l_k_template_yn, 'X') = 'Y') THEN
4127: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_K_TEMPLATE');
4128: FND_MESSAGE.set_token('NUMBER', l_k_num_mod);
4129: l_msg_count := l_msg_count + 1;
4130: x_validation_tbl(l_msg_count).code := 'OKS_K_TEMPLATE';
4131: x_validation_tbl(l_msg_count).message := FND_MESSAGE.get;
4132: x_validation_status := G_VALID_STS_ERROR;
4127: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_K_TEMPLATE');
4128: FND_MESSAGE.set_token('NUMBER', l_k_num_mod);
4129: l_msg_count := l_msg_count + 1;
4130: x_validation_tbl(l_msg_count).code := 'OKS_K_TEMPLATE';
4131: x_validation_tbl(l_msg_count).message := FND_MESSAGE.get;
4132: x_validation_status := G_VALID_STS_ERROR;
4133: END IF;
4134:
4135: --error if contract end date is not null
4133: END IF;
4134:
4135: --error if contract end date is not null
4136: IF (l_k_end_date IS NULL) THEN
4137: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_NO_PERPETUAL');
4138: FND_MESSAGE.set_token('COMPONENT', l_k_num_mod);
4139: l_msg_count := l_msg_count + 1;
4140: x_validation_tbl(l_msg_count).code := 'OKS_NO_PERPETUAL';
4141: x_validation_tbl(l_msg_count).message := FND_MESSAGE.get;
4134:
4135: --error if contract end date is not null
4136: IF (l_k_end_date IS NULL) THEN
4137: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_NO_PERPETUAL');
4138: FND_MESSAGE.set_token('COMPONENT', l_k_num_mod);
4139: l_msg_count := l_msg_count + 1;
4140: x_validation_tbl(l_msg_count).code := 'OKS_NO_PERPETUAL';
4141: x_validation_tbl(l_msg_count).message := FND_MESSAGE.get;
4142: x_validation_status := G_VALID_STS_ERROR;
4137: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_NO_PERPETUAL');
4138: FND_MESSAGE.set_token('COMPONENT', l_k_num_mod);
4139: l_msg_count := l_msg_count + 1;
4140: x_validation_tbl(l_msg_count).code := 'OKS_NO_PERPETUAL';
4141: x_validation_tbl(l_msg_count).message := FND_MESSAGE.get;
4142: x_validation_status := G_VALID_STS_ERROR;
4143: END IF;
4144:
4145: --if p_date is null, use contract end date + 1 . If contract end date is also null use sysdate
4147:
4148:
4149: --error if status not in 'ACTIVE', 'EXPIRED' and 'SIGNED'
4150: IF (l_k_ste_code NOT IN ('ACTIVE', 'EXPIRED', 'SIGNED')) THEN
4151: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_INVALID_K_STATUS');
4152: FND_MESSAGE.set_token('STATUS', l_k_ste_meaning);
4153: l_msg_count := l_msg_count + 1;
4154: x_validation_tbl(l_msg_count).code := 'OKS_INVALID_K_STATUS';
4155: x_validation_tbl(l_msg_count).message := FND_MESSAGE.get;
4148:
4149: --error if status not in 'ACTIVE', 'EXPIRED' and 'SIGNED'
4150: IF (l_k_ste_code NOT IN ('ACTIVE', 'EXPIRED', 'SIGNED')) THEN
4151: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_INVALID_K_STATUS');
4152: FND_MESSAGE.set_token('STATUS', l_k_ste_meaning);
4153: l_msg_count := l_msg_count + 1;
4154: x_validation_tbl(l_msg_count).code := 'OKS_INVALID_K_STATUS';
4155: x_validation_tbl(l_msg_count).message := FND_MESSAGE.get;
4156: x_validation_status := G_VALID_STS_ERROR;
4151: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_INVALID_K_STATUS');
4152: FND_MESSAGE.set_token('STATUS', l_k_ste_meaning);
4153: l_msg_count := l_msg_count + 1;
4154: x_validation_tbl(l_msg_count).code := 'OKS_INVALID_K_STATUS';
4155: x_validation_tbl(l_msg_count).message := FND_MESSAGE.get;
4156: x_validation_status := G_VALID_STS_ERROR;
4157: END IF;
4158:
4159: --error if contract has been terminated for a future date
4157: END IF;
4158:
4159: --error if contract has been terminated for a future date
4160: IF (l_k_date_terminated IS NOT NULL) THEN
4161: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_FUTURE_TERMINATED_K');
4162: FND_MESSAGE.set_token('NUMBER', l_k_num_mod);
4163: l_msg_count := l_msg_count + 1;
4164: x_validation_tbl(l_msg_count).code := 'OKS_FUTURE_TERMINATED_K';
4165: x_validation_tbl(l_msg_count).message := FND_MESSAGE.get;
4158:
4159: --error if contract has been terminated for a future date
4160: IF (l_k_date_terminated IS NOT NULL) THEN
4161: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_FUTURE_TERMINATED_K');
4162: FND_MESSAGE.set_token('NUMBER', l_k_num_mod);
4163: l_msg_count := l_msg_count + 1;
4164: x_validation_tbl(l_msg_count).code := 'OKS_FUTURE_TERMINATED_K';
4165: x_validation_tbl(l_msg_count).message := FND_MESSAGE.get;
4166: x_validation_status := G_VALID_STS_ERROR;
4161: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_FUTURE_TERMINATED_K');
4162: FND_MESSAGE.set_token('NUMBER', l_k_num_mod);
4163: l_msg_count := l_msg_count + 1;
4164: x_validation_tbl(l_msg_count).code := 'OKS_FUTURE_TERMINATED_K';
4165: x_validation_tbl(l_msg_count).message := FND_MESSAGE.get;
4166: x_validation_status := G_VALID_STS_ERROR;
4167: END IF;
4168:
4169: --check if contract has been renewed
4184: FND_LOG.string(FND_LOG.level_statement, l_mod_name || '.after_get_k_access_level', 'l_k_access_level=' || l_k_access_level);
4185: END IF;
4186:
4187: IF (nvl(l_k_access_level, 'X') <> 'U') THEN
4188: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_NO_UPDATE');
4189: FND_MESSAGE.set_token('CHR', l_k_num_mod);
4190: l_msg_count := l_msg_count + 1;
4191: x_validation_tbl(l_msg_count).code := 'OKS_NO_UPDATE';
4192: x_validation_tbl(l_msg_count).message := FND_MESSAGE.get;
4185: END IF;
4186:
4187: IF (nvl(l_k_access_level, 'X') <> 'U') THEN
4188: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_NO_UPDATE');
4189: FND_MESSAGE.set_token('CHR', l_k_num_mod);
4190: l_msg_count := l_msg_count + 1;
4191: x_validation_tbl(l_msg_count).code := 'OKS_NO_UPDATE';
4192: x_validation_tbl(l_msg_count).message := FND_MESSAGE.get;
4193: x_validation_status := G_VALID_STS_ERROR;
4188: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_NO_UPDATE');
4189: FND_MESSAGE.set_token('CHR', l_k_num_mod);
4190: l_msg_count := l_msg_count + 1;
4191: x_validation_tbl(l_msg_count).code := 'OKS_NO_UPDATE';
4192: x_validation_tbl(l_msg_count).message := FND_MESSAGE.get;
4193: x_validation_status := G_VALID_STS_ERROR;
4194: END IF;
4195:
4196: --before doing any line level validations, check if there are valid lines to begin with
4216: FETCH c_check_line_rencon INTO l_k_line_id;
4217: CLOSE c_check_line_rencon;
4218:
4219: IF (l_k_line_id IS NULL) THEN
4220: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_K_RENEW_CONSOLIDATED');
4221: l_msg_count := l_msg_count + 1;
4222: x_validation_tbl(l_msg_count).code := 'OKS_K_RENEW_CONSOLIDATED';
4223: x_validation_tbl(l_msg_count).message := FND_MESSAGE.get;
4224: x_validation_status := G_VALID_STS_ERROR;
4219: IF (l_k_line_id IS NULL) THEN
4220: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_K_RENEW_CONSOLIDATED');
4221: l_msg_count := l_msg_count + 1;
4222: x_validation_tbl(l_msg_count).code := 'OKS_K_RENEW_CONSOLIDATED';
4223: x_validation_tbl(l_msg_count).message := FND_MESSAGE.get;
4224: x_validation_status := G_VALID_STS_ERROR;
4225: END IF;
4226: END IF;
4227:
4255: RAISE FND_API.g_exc_error;
4256: END IF;
4257:
4258: IF (nvl(l_k_ren_type, 'X') = 'DNR') THEN
4259: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_DNR_MSG');
4260: l_msg_count := l_msg_count + 1;
4261: x_validation_tbl(l_msg_count).code := 'OKS_DNR_MSG';
4262: x_validation_tbl(l_msg_count).message := FND_MESSAGE.get;
4263: x_validation_status := G_VALID_STS_ERROR;
4258: IF (nvl(l_k_ren_type, 'X') = 'DNR') THEN
4259: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_DNR_MSG');
4260: l_msg_count := l_msg_count + 1;
4261: x_validation_tbl(l_msg_count).code := 'OKS_DNR_MSG';
4262: x_validation_tbl(l_msg_count).message := FND_MESSAGE.get;
4263: x_validation_status := G_VALID_STS_ERROR;
4264: END IF;
4265:
4266:
4292:
4293: --renewed contract is CANCELLED - warning
4294: IF(nvl(l_renk_ste_code, 'X') = 'CANCELLED' )THEN
4295:
4296: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_ALREADY_NOT_RENEWED');
4297: --FND_MESSAGE.set_token('CHR', l_k_num_mod);
4298: l_msg_count := l_msg_count + 1;
4299: x_validation_tbl(l_msg_count).code := 'OKS_ALREADY_NOT_RENEWED';
4300: x_validation_tbl(l_msg_count).message := FND_MESSAGE.get;
4293: --renewed contract is CANCELLED - warning
4294: IF(nvl(l_renk_ste_code, 'X') = 'CANCELLED' )THEN
4295:
4296: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_ALREADY_NOT_RENEWED');
4297: --FND_MESSAGE.set_token('CHR', l_k_num_mod);
4298: l_msg_count := l_msg_count + 1;
4299: x_validation_tbl(l_msg_count).code := 'OKS_ALREADY_NOT_RENEWED';
4300: x_validation_tbl(l_msg_count).message := FND_MESSAGE.get;
4301: IF (x_validation_status <> G_VALID_STS_ERROR) THEN
4296: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_ALREADY_NOT_RENEWED');
4297: --FND_MESSAGE.set_token('CHR', l_k_num_mod);
4298: l_msg_count := l_msg_count + 1;
4299: x_validation_tbl(l_msg_count).code := 'OKS_ALREADY_NOT_RENEWED';
4300: x_validation_tbl(l_msg_count).message := FND_MESSAGE.get;
4301: IF (x_validation_status <> G_VALID_STS_ERROR) THEN
4302: x_validation_status := G_VALID_STS_WARNING;
4303: END IF;
4304:
4304:
4305: --renewed contract is ENETERED - error
4306: ELSIF (nvl(l_renk_ste_code, 'X') = 'ENTERED' ) THEN
4307:
4308: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_RENCOPY_ENTERED');
4309: FND_MESSAGE.set_token('NUMBER', l_k_num_mod);
4310: FND_MESSAGE.set_token('RENCOPY', l_renk_num);
4311: l_msg_count := l_msg_count + 1;
4312: x_validation_tbl(l_msg_count).code := 'OKS_RENCOPY_ENTERED';
4305: --renewed contract is ENETERED - error
4306: ELSIF (nvl(l_renk_ste_code, 'X') = 'ENTERED' ) THEN
4307:
4308: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_RENCOPY_ENTERED');
4309: FND_MESSAGE.set_token('NUMBER', l_k_num_mod);
4310: FND_MESSAGE.set_token('RENCOPY', l_renk_num);
4311: l_msg_count := l_msg_count + 1;
4312: x_validation_tbl(l_msg_count).code := 'OKS_RENCOPY_ENTERED';
4313: x_validation_tbl(l_msg_count).message := FND_MESSAGE.get;
4306: ELSIF (nvl(l_renk_ste_code, 'X') = 'ENTERED' ) THEN
4307:
4308: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_RENCOPY_ENTERED');
4309: FND_MESSAGE.set_token('NUMBER', l_k_num_mod);
4310: FND_MESSAGE.set_token('RENCOPY', l_renk_num);
4311: l_msg_count := l_msg_count + 1;
4312: x_validation_tbl(l_msg_count).code := 'OKS_RENCOPY_ENTERED';
4313: x_validation_tbl(l_msg_count).message := FND_MESSAGE.get;
4314: x_validation_status := G_VALID_STS_ERROR;
4309: FND_MESSAGE.set_token('NUMBER', l_k_num_mod);
4310: FND_MESSAGE.set_token('RENCOPY', l_renk_num);
4311: l_msg_count := l_msg_count + 1;
4312: x_validation_tbl(l_msg_count).code := 'OKS_RENCOPY_ENTERED';
4313: x_validation_tbl(l_msg_count).message := FND_MESSAGE.get;
4314: x_validation_status := G_VALID_STS_ERROR;
4315:
4316: --all other statuses treated as ACTIVE ( ACTIVE/EXPIRED/SIGNED/QA_HOLD etc) -error
4317: ELSE
4314: x_validation_status := G_VALID_STS_ERROR;
4315:
4316: --all other statuses treated as ACTIVE ( ACTIVE/EXPIRED/SIGNED/QA_HOLD etc) -error
4317: ELSE
4318: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_RENCOPY_APPROVE');
4319: FND_MESSAGE.set_token('NUMBER', l_k_num_mod);
4320: FND_MESSAGE.set_token('RENCOPY', l_renk_num);
4321: l_msg_count := l_msg_count + 1;
4322: x_validation_tbl(l_msg_count).code := 'OKS_RENCOPY_APPROVE';
4315:
4316: --all other statuses treated as ACTIVE ( ACTIVE/EXPIRED/SIGNED/QA_HOLD etc) -error
4317: ELSE
4318: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_RENCOPY_APPROVE');
4319: FND_MESSAGE.set_token('NUMBER', l_k_num_mod);
4320: FND_MESSAGE.set_token('RENCOPY', l_renk_num);
4321: l_msg_count := l_msg_count + 1;
4322: x_validation_tbl(l_msg_count).code := 'OKS_RENCOPY_APPROVE';
4323: x_validation_tbl(l_msg_count).message := FND_MESSAGE.get;
4316: --all other statuses treated as ACTIVE ( ACTIVE/EXPIRED/SIGNED/QA_HOLD etc) -error
4317: ELSE
4318: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_RENCOPY_APPROVE');
4319: FND_MESSAGE.set_token('NUMBER', l_k_num_mod);
4320: FND_MESSAGE.set_token('RENCOPY', l_renk_num);
4321: l_msg_count := l_msg_count + 1;
4322: x_validation_tbl(l_msg_count).code := 'OKS_RENCOPY_APPROVE';
4323: x_validation_tbl(l_msg_count).message := FND_MESSAGE.get;
4324: x_validation_status := G_VALID_STS_ERROR;
4319: FND_MESSAGE.set_token('NUMBER', l_k_num_mod);
4320: FND_MESSAGE.set_token('RENCOPY', l_renk_num);
4321: l_msg_count := l_msg_count + 1;
4322: x_validation_tbl(l_msg_count).code := 'OKS_RENCOPY_APPROVE';
4323: x_validation_tbl(l_msg_count).message := FND_MESSAGE.get;
4324: x_validation_status := G_VALID_STS_ERROR;
4325:
4326: END IF; --of IF( nvl(l_renk_ste_code, 'X') = 'CANCELLED' )THEN
4327:
4344: FETCH c_check_line_term_canc INTO l_k_line_id;
4345: CLOSE c_check_line_term_canc;
4346:
4347: IF (l_k_line_id IS NULL) THEN
4348: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_LINES_SUBLINES_TERMINATED');
4349: l_msg_count := l_msg_count + 1;
4350: x_validation_tbl(l_msg_count).code := 'OKS_LINES_SUBLINES_TERMINATED';
4351: x_validation_tbl(l_msg_count).message := FND_MESSAGE.get;
4352: IF (x_validation_status <> G_VALID_STS_ERROR) THEN
4347: IF (l_k_line_id IS NULL) THEN
4348: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_LINES_SUBLINES_TERMINATED');
4349: l_msg_count := l_msg_count + 1;
4350: x_validation_tbl(l_msg_count).code := 'OKS_LINES_SUBLINES_TERMINATED';
4351: x_validation_tbl(l_msg_count).message := FND_MESSAGE.get;
4352: IF (x_validation_status <> G_VALID_STS_ERROR) THEN
4353: x_validation_status := G_VALID_STS_WARNING;
4354: END IF;
4355: END IF;
4360: FETCH c_check_line_dnr INTO l_k_line_id;
4361: CLOSE c_check_line_dnr;
4362:
4363: IF (l_k_line_id IS NULL) THEN
4364: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_LINES_DNR');
4365: l_msg_count := l_msg_count + 1;
4366: x_validation_tbl(l_msg_count).code := 'OKS_LINES_DNR';
4367: x_validation_tbl(l_msg_count).message := FND_MESSAGE.get;
4368: IF (x_validation_status <> G_VALID_STS_ERROR) THEN
4363: IF (l_k_line_id IS NULL) THEN
4364: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_LINES_DNR');
4365: l_msg_count := l_msg_count + 1;
4366: x_validation_tbl(l_msg_count).code := 'OKS_LINES_DNR';
4367: x_validation_tbl(l_msg_count).message := FND_MESSAGE.get;
4368: IF (x_validation_status <> G_VALID_STS_ERROR) THEN
4369: x_validation_status := G_VALID_STS_WARNING;
4370: END IF;
4371: END IF;
4910: FETCH c_k_hdr INTO l_org_id, l_cpl_id;
4911: CLOSE c_k_hdr;
4912:
4913: IF (l_org_id IS NULL) THEN
4914: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_INV_CONTRACT');
4915: FND_MESSAGE.set_token('CONTRACT_ID', p_chr_id);
4916: IF (FND_LOG.level_error >= FND_LOG.g_current_runtime_level) THEN
4917: FND_LOG.message(FND_LOG.level_error, l_mod_name || '.basic_validation', FALSE);
4918: END IF;
4911: CLOSE c_k_hdr;
4912:
4913: IF (l_org_id IS NULL) THEN
4914: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_INV_CONTRACT');
4915: FND_MESSAGE.set_token('CONTRACT_ID', p_chr_id);
4916: IF (FND_LOG.level_error >= FND_LOG.g_current_runtime_level) THEN
4917: FND_LOG.message(FND_LOG.level_error, l_mod_name || '.basic_validation', FALSE);
4918: END IF;
4919: FND_MSG_PUB.ADD;
4981: --commented out, do not throw error if no helpdesk setup
4982: --so that renewal can continue
4983: /*
4984: IF (l_user_id IS NULL) THEN
4985: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_NO_HELPDESK');
4986: IF (FND_LOG.level_error >= FND_LOG.g_current_runtime_level) THEN
4987: FND_LOG.message(FND_LOG.level_error, l_mod_name || '.get_helpdesk_user', FALSE);
4988: END IF;
4989: FND_MSG_PUB.ADD;
5221: l_k_renewal_end_date, l_k_currency_code;
5222:
5223: --invalid contract id or if it's not a service contract
5224: IF (c_k_hdr%notfound) THEN
5225: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_INV_CONTRACT');
5226: FND_MESSAGE.set_token('CONTRACT_ID', p_chr_id);
5227: IF (FND_LOG.level_error >= FND_LOG.g_current_runtime_level) THEN
5228: FND_LOG.message(FND_LOG.level_error, l_mod_name || '.basic_validation1', FALSE);
5229: END IF;
5222:
5223: --invalid contract id or if it's not a service contract
5224: IF (c_k_hdr%notfound) THEN
5225: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_INV_CONTRACT');
5226: FND_MESSAGE.set_token('CONTRACT_ID', p_chr_id);
5227: IF (FND_LOG.level_error >= FND_LOG.g_current_runtime_level) THEN
5228: FND_LOG.message(FND_LOG.level_error, l_mod_name || '.basic_validation1', FALSE);
5229: END IF;
5230: FND_MSG_PUB.ADD;
5234: CLOSE c_k_hdr;
5235:
5236: --new start date < original end date
5237: IF (p_new_start_date IS NOT NULL) AND (p_new_start_date < l_k_end_date) THEN
5238: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_NEW_START_MORE_END');
5239: IF (FND_LOG.level_error >= FND_LOG.g_current_runtime_level) THEN
5240: FND_LOG.message(FND_LOG.level_error, l_mod_name || '.basic_validation2', FALSE);
5241: END IF;
5242: FND_MSG_PUB.ADD;
5244: END IF;
5245:
5246: --new end date < new start date, if new start date is null use old end date + 1
5247: IF (p_new_end_date IS NOT NULL) AND (p_new_end_date < nvl(p_new_start_date, l_k_end_date + 1)) THEN
5248: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_INVALID_END_DATE');
5249: FND_MESSAGE.set_token('START_DATE', to_char(nvl(p_new_start_date, l_k_end_date + 1)));
5250: FND_MESSAGE.set_token('END_DATE', to_char(p_new_end_date));
5251: IF (FND_LOG.level_error >= FND_LOG.g_current_runtime_level) THEN
5252: FND_LOG.message(FND_LOG.level_error, l_mod_name || '.basic_validation3', FALSE);
5245:
5246: --new end date < new start date, if new start date is null use old end date + 1
5247: IF (p_new_end_date IS NOT NULL) AND (p_new_end_date < nvl(p_new_start_date, l_k_end_date + 1)) THEN
5248: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_INVALID_END_DATE');
5249: FND_MESSAGE.set_token('START_DATE', to_char(nvl(p_new_start_date, l_k_end_date + 1)));
5250: FND_MESSAGE.set_token('END_DATE', to_char(p_new_end_date));
5251: IF (FND_LOG.level_error >= FND_LOG.g_current_runtime_level) THEN
5252: FND_LOG.message(FND_LOG.level_error, l_mod_name || '.basic_validation3', FALSE);
5253: END IF;
5246: --new end date < new start date, if new start date is null use old end date + 1
5247: IF (p_new_end_date IS NOT NULL) AND (p_new_end_date < nvl(p_new_start_date, l_k_end_date + 1)) THEN
5248: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_INVALID_END_DATE');
5249: FND_MESSAGE.set_token('START_DATE', to_char(nvl(p_new_start_date, l_k_end_date + 1)));
5250: FND_MESSAGE.set_token('END_DATE', to_char(p_new_end_date));
5251: IF (FND_LOG.level_error >= FND_LOG.g_current_runtime_level) THEN
5252: FND_LOG.message(FND_LOG.level_error, l_mod_name || '.basic_validation3', FALSE);
5253: END IF;
5254: FND_MSG_PUB.ADD;
5313: --add all validation messages to the FND_MSG_PUB stack
5314: FOR i in l_validation_tbl.FIRST..l_validation_tbl.LAST LOOP
5315: --OKS_USER_DEFINED_MESSAGE is a special message, with the message body = MESSAGE
5316: --This is a workaround, because we can't directly add messages to the msg API list
5317: --using FND_MSG_PUB.add. FND_MSG_PUB.add expects messages on the message stack (FND_MESSAGE.set_name)
5318: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_USER_DEFINED_MESSAGE');
5319: FND_MESSAGE.set_token('MESSAGE', l_validation_tbl(i).message);
5320: FND_MSG_PUB.add;
5321: END LOOP;
5314: FOR i in l_validation_tbl.FIRST..l_validation_tbl.LAST LOOP
5315: --OKS_USER_DEFINED_MESSAGE is a special message, with the message body = MESSAGE
5316: --This is a workaround, because we can't directly add messages to the msg API list
5317: --using FND_MSG_PUB.add. FND_MSG_PUB.add expects messages on the message stack (FND_MESSAGE.set_name)
5318: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_USER_DEFINED_MESSAGE');
5319: FND_MESSAGE.set_token('MESSAGE', l_validation_tbl(i).message);
5320: FND_MSG_PUB.add;
5321: END LOOP;
5322: RAISE FND_API.g_exc_error;
5315: --OKS_USER_DEFINED_MESSAGE is a special message, with the message body = MESSAGE
5316: --This is a workaround, because we can't directly add messages to the msg API list
5317: --using FND_MSG_PUB.add. FND_MSG_PUB.add expects messages on the message stack (FND_MESSAGE.set_name)
5318: FND_MESSAGE.set_name(G_OKS_APP_NAME, 'OKS_USER_DEFINED_MESSAGE');
5319: FND_MESSAGE.set_token('MESSAGE', l_validation_tbl(i).message);
5320: FND_MSG_PUB.add;
5321: END LOOP;
5322: RAISE FND_API.g_exc_error;
5323: END IF;