diff --git a/CNT/CNT_PAC.SRC b/CNT/CNT_PAC.SRC index fc5a089a..3bc6e905 100644 --- a/CNT/CNT_PAC.SRC +++ b/CNT/CNT_PAC.SRC @@ -271,7 +271,7 @@ CREATE OR REPLACE PACKAGE BODY cnt AS AND cn.cnt_contract_verwijder IS NULL ); - tracking VARCHAR2(4000); + tracking VARCHAR2(4000); next_termijn cnt_termijn.cnt_termijn_key%TYPE; next_einddatum cnt_contract.cnt_contract_looptijd_tot%TYPE; BEGIN @@ -294,15 +294,19 @@ CREATE OR REPLACE PACKAGE BODY cnt AS INTO next_termijn , next_einddatum FROM cnt_verlengschema - WHERE cnt_contract_key = cnt_verloopt.cnt_contract_key - AND cnt_verlengschema_einddatum = cnt_verloopt.dtnieuw; - -- + WHERE cnt_verlengschema_einddatum = + (SELECT MIN(cnt_verlengschema_einddatum) + FROM cnt_verlengschema + WHERE cnt_contract_key = cnt_verloopt.cnt_contract_key + AND cnt_verlengschema_einddatum > cnt_verloopt.dtnieuw + ); + UPDATE cnt_contract SET cnt_contract_verleng_termijn = next_termijn - , cnt_contract_looptijd_tot = next_einddatum WHERE cnt_contract_key = cnt_verloopt.cnt_contract_key; EXCEPTION WHEN NO_DATA_FOUND THEN NULL; + -- Laat laatste verlengtermijn staan als er geen volgende in het schema gevonden kan worden. END; END LOOP; END;