952: l_end_date date;
953: l_end_date_disp varchar2(40);
954: BEGIN
955: if(p_stub_days is not null and p_stub_days <> OKL_API.G_MISS_CHAR) then -- end date for stub entry.
956: l_end_date := FND_DATE.canonical_to_date(p_start_date) + to_number(p_stub_days);
957: l_end_date := l_end_date - 1;
958: l_end_date_disp := OKL_LLA_UTIL_PVT.get_display_date(nvl(FND_DATE.date_to_canonical(l_end_date),''));
959: else -- end date for level entry.
960: -- cklee/mvasudev,06-02-2005,Bug#4392051/okl.h 4437938
954: BEGIN
955: if(p_stub_days is not null and p_stub_days <> OKL_API.G_MISS_CHAR) then -- end date for stub entry.
956: l_end_date := FND_DATE.canonical_to_date(p_start_date) + to_number(p_stub_days);
957: l_end_date := l_end_date - 1;
958: l_end_date_disp := OKL_LLA_UTIL_PVT.get_display_date(nvl(FND_DATE.date_to_canonical(l_end_date),''));
959: else -- end date for level entry.
960: -- cklee/mvasudev,06-02-2005,Bug#4392051/okl.h 4437938
961: --l_end_date := get_end_date(FND_DATE.canonical_to_date(p_start_date), p_frequency, TO_NUMBER(NVL(p_period,0)));
962: --l_end_date := get_end_date(FND_DATE.canonical_to_date(p_start_date), p_frequency, TO_NUMBER(NVL(p_period,0)),p_start_day);
957: l_end_date := l_end_date - 1;
958: l_end_date_disp := OKL_LLA_UTIL_PVT.get_display_date(nvl(FND_DATE.date_to_canonical(l_end_date),''));
959: else -- end date for level entry.
960: -- cklee/mvasudev,06-02-2005,Bug#4392051/okl.h 4437938
961: --l_end_date := get_end_date(FND_DATE.canonical_to_date(p_start_date), p_frequency, TO_NUMBER(NVL(p_period,0)));
962: --l_end_date := get_end_date(FND_DATE.canonical_to_date(p_start_date), p_frequency, TO_NUMBER(NVL(p_period,0)),p_start_day);
963:
964: l_end_date := get_end_date(FND_DATE.canonical_to_date(p_start_date), p_frequency, TO_NUMBER(NVL(p_period,0)),p_start_day, p_contract_end_date); --Bug#5441811
965:
958: l_end_date_disp := OKL_LLA_UTIL_PVT.get_display_date(nvl(FND_DATE.date_to_canonical(l_end_date),''));
959: else -- end date for level entry.
960: -- cklee/mvasudev,06-02-2005,Bug#4392051/okl.h 4437938
961: --l_end_date := get_end_date(FND_DATE.canonical_to_date(p_start_date), p_frequency, TO_NUMBER(NVL(p_period,0)));
962: --l_end_date := get_end_date(FND_DATE.canonical_to_date(p_start_date), p_frequency, TO_NUMBER(NVL(p_period,0)),p_start_day);
963:
964: l_end_date := get_end_date(FND_DATE.canonical_to_date(p_start_date), p_frequency, TO_NUMBER(NVL(p_period,0)),p_start_day, p_contract_end_date); --Bug#5441811
965:
966: l_end_date_disp := OKL_LLA_UTIL_PVT.get_display_date(NVL(FND_DATE.date_to_canonical(l_end_date),''));
960: -- cklee/mvasudev,06-02-2005,Bug#4392051/okl.h 4437938
961: --l_end_date := get_end_date(FND_DATE.canonical_to_date(p_start_date), p_frequency, TO_NUMBER(NVL(p_period,0)));
962: --l_end_date := get_end_date(FND_DATE.canonical_to_date(p_start_date), p_frequency, TO_NUMBER(NVL(p_period,0)),p_start_day);
963:
964: l_end_date := get_end_date(FND_DATE.canonical_to_date(p_start_date), p_frequency, TO_NUMBER(NVL(p_period,0)),p_start_day, p_contract_end_date); --Bug#5441811
965:
966: l_end_date_disp := OKL_LLA_UTIL_PVT.get_display_date(NVL(FND_DATE.date_to_canonical(l_end_date),''));
967: end if;
968: return l_end_date_disp;
962: --l_end_date := get_end_date(FND_DATE.canonical_to_date(p_start_date), p_frequency, TO_NUMBER(NVL(p_period,0)),p_start_day);
963:
964: l_end_date := get_end_date(FND_DATE.canonical_to_date(p_start_date), p_frequency, TO_NUMBER(NVL(p_period,0)),p_start_day, p_contract_end_date); --Bug#5441811
965:
966: l_end_date_disp := OKL_LLA_UTIL_PVT.get_display_date(NVL(FND_DATE.date_to_canonical(l_end_date),''));
967: end if;
968: return l_end_date_disp;
969: EXCEPTION
970: WHEN OTHERS THEN
981: RETURN NUMBER
982: IS
983:
984: --Modified cursor for bug 6007644
985: --Added FND_DATE.canonical_to_date(RULE_INFORMATION2)+to_number(RULE_INFORMATION7) to return the recurrence date
986: --Also added FND_DATE.canonical_to_date(rule_information2) to covert the rule_information2 to date format
987: CURSOR l_okl_stub_start_csr
988: IS
989: SELECT MAX(FND_DATE.canonical_to_date(RULE_INFORMATION2)+to_number(RULE_INFORMATION7)) start_date
982: IS
983:
984: --Modified cursor for bug 6007644
985: --Added FND_DATE.canonical_to_date(RULE_INFORMATION2)+to_number(RULE_INFORMATION7) to return the recurrence date
986: --Also added FND_DATE.canonical_to_date(rule_information2) to covert the rule_information2 to date format
987: CURSOR l_okl_stub_start_csr
988: IS
989: SELECT MAX(FND_DATE.canonical_to_date(RULE_INFORMATION2)+to_number(RULE_INFORMATION7)) start_date
990: FROM OKC_RULES_V
985: --Added FND_DATE.canonical_to_date(RULE_INFORMATION2)+to_number(RULE_INFORMATION7) to return the recurrence date
986: --Also added FND_DATE.canonical_to_date(rule_information2) to covert the rule_information2 to date format
987: CURSOR l_okl_stub_start_csr
988: IS
989: SELECT MAX(FND_DATE.canonical_to_date(RULE_INFORMATION2)+to_number(RULE_INFORMATION7)) start_date
990: FROM OKC_RULES_V
991: WHERE rgp_id = p_rgp_id
992: AND dnz_chr_id = p_dnz_chr_id
993: AND object2_id1 = p_slh_id
992: AND dnz_chr_id = p_dnz_chr_id
993: AND object2_id1 = p_slh_id
994: AND id <> p_rule_id
995: AND rule_information_category = 'LASLL' --| 17-Jan-06 cklee Fixed bug#4956483 |
996: AND FND_DATE.canonical_to_date(rule_information2) < FND_DATE.canonical_to_date(p_start_date)
997: AND rule_information7 IS NOT NULL
998: ORDER BY start_date;
999:
1000: CURSOR l_okl_chr_start_csr
1090: P_SLH_ID IN VARCHAR2
1091: ) IS
1092: SELECT
1093: SLL.*,
1094: FND_DATE.canonical_to_date(nvl(SLL.RULE_INFORMATION2,null)) START_DATE,
1095: OKL_LA_PAYMENTS_PVT.get_order_sequence(SLL.RULE_INFORMATION1) SEQUENCE
1096: FROM OKC_RULES_B SLL
1097: WHERE
1098: SLL.DNZ_CHR_ID = P_CHR_ID
1173: rule_rec.rule_information7 <> OKL_API.G_MISS_CHAR ) then
1174: l_start_date := l_end_date + 1;
1175: l_end_date := l_start_date + to_number(rule_rec.rule_information7);
1176: l_end_date := l_end_date - 1;
1177: l_rulv_rec.rule_information2 := FND_DATE.date_to_canonical(l_start_date);
1178: l_rulv_rec.id := rule_rec.id;
1179:
1180: -- START: cklee/mvasudev,06-02-2005,Bug#4392051/okl.h 4437938
1181: IF (l_sll_count > 1 ) THEN
1202: rule_rec.rule_information3 <> OKL_API.G_MISS_CHAR ) then
1203: l_start_date := l_end_date + 1;
1204: --l_end_date := get_end_date(l_start_date, rule_rec.OBJECT1_ID1, rule_rec.RULE_INFORMATION3);
1205: l_end_date := get_end_date(l_start_date, rule_rec.OBJECT1_ID1, rule_rec.RULE_INFORMATION3,l_start_day, l_contract_end_date);--Bug#5441811
1206: l_rulv_rec.rule_information2 := FND_DATE.date_to_canonical(l_start_date);
1207: l_rulv_rec.id := rule_rec.id;
1208:
1209: -- Bug# 6438785
1210: -- Added to avoid validating payment end date when this API is called
1279: l_payment_code := get_payment_type(to_char(p_slh_id));
1280: IF(l_payment_code = 'VARIABLE_INTEREST_SCHEDULE' AND l_end_date < l_contract_end_date
1281: AND (p_update_type IS NOT NULL AND p_update_type <> 'DELETE')) THEN
1282: l_stub_rulv_rec.id := null;
1283: l_stub_rulv_rec.rule_information2 := FND_DATE.date_to_canonical(l_end_date+1);
1284: l_stub_rulv_rec.rule_information7 := (l_contract_end_date - l_end_date);
1285: l_stub_rulv_rec.rule_information8 := 0;
1286: l_stub_rulv_rec.rule_information3 := null;
1287: l_stub_rulv_rec.rule_information6 := null;