4424:
4425: cursor csr_beneficiaries is
4426: select rowid,
4427: ben.*
4428: from ben_beneficiaries_f BEN
4429: where ben.effective_end_date >= p_validation_start_date
4430: and ben.element_entry_id = p_element_entry_id;
4431: --
4432: v_start_date date;
4481: -- PAY_ELEMENT_ENTRY_VALUES_F (Entry Values are always deleted).
4482: -- PAY_RUN_RESULTS (If nonrecurring, and exist).
4483: -- PAY_RUN_RESULT_VALUES (If nonrecurring, and exist).
4484: -- BEN_COVERED_DEPENDENTS_F (sic)
4485: -- BEN_BENEFICIARIES_F
4486: --
4487:
4488: PROCEDURE del_3p_entry_values
4489: (
4519: -- parent entry's end date prior to the extension of the end date.
4520: --
4521: select rowid,
4522: ben.*
4523: from ben_beneficiaries_f BEN
4524: where ben.element_entry_id = p_element_entry_id
4525: and ben.effective_end_date = p_validation_start_date -1;
4526: --
4527: begin
6479: --
6480: cursor csr_beneficiaries is
6481: select rowid,
6482: ben.*
6483: from ben_beneficiaries_f BEN
6484: where p_element_entry_EED between ben.effective_start_date and ben.effective_end_date
6485: and ben.element_entry_id = p_element_entry_id
6486: and not exists ( select null from ben_beneficiaries_f BEN2
6487: where ben2.element_entry_id = p_new_element_entry_id
6482: ben.*
6483: from ben_beneficiaries_f BEN
6484: where p_element_entry_EED between ben.effective_start_date and ben.effective_end_date
6485: and ben.element_entry_id = p_element_entry_id
6486: and not exists ( select null from ben_beneficiaries_f BEN2
6487: where ben2.element_entry_id = p_new_element_entry_id
6488: and ben2.source_id = ben.source_id
6489: and ben2.effective_start_date between
6490: p_new_element_entry_ESD and p_new_element_entry_EED);
6492:
6493: v_start_date date;
6494: v_end_date date;
6495: l_rowid rowid;
6496: l_beneficiary_id ben_beneficiaries_f.BENEFICIARY_ID%type;
6497:
6498: begin
6499:
6500: if p_element_entry_EED < p_element_entry_ESD then
6504:
6505: -- bug 13031629 , fix : do not update element_entry_id if there are no future element_entries
6506:
6507: if p_new_element_entry_id is null then
6508: update ben_beneficiaries_f set effective_end_date = p_element_entry_EED
6509: where element_entry_id = p_element_entry_id;
6510: else
6511: update ben_beneficiaries_f set element_entry_id = p_new_element_entry_id
6512: where element_entry_id = p_element_entry_id;
6507: if p_new_element_entry_id is null then
6508: update ben_beneficiaries_f set effective_end_date = p_element_entry_EED
6509: where element_entry_id = p_element_entry_id;
6510: else
6511: update ben_beneficiaries_f set element_entry_id = p_new_element_entry_id
6512: where element_entry_id = p_element_entry_id;
6513: end if;
6514: --
6515: else