-- -- $Id$ -- -- Customer specific once-script BLCC#81064.SQL. DEFINE thisfile = 'BLCC#81064.sql' DEFINE dbuser = '^BLCC' SET ECHO ON SET DEFINE ON COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT; COLUMN fcltcusterr NEW_VALUE fcltcusterr NOPRINT; WHENEVER SQLERROR CONTINUE; SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL; SPOOL &fcltlogfile WHENEVER SQLERROR EXIT; SELECT adm.checkscriptcust('&dbuser') AS fcltcusterr FROM DUAL; WHENEVER SQLERROR CONTINUE; PROMPT &fcltcusterr SET DEFINE OFF ------ payload begin ------ -- BLCC#81064 -- Voor alle in januari 2024 lopende (en definieve) Lease Agreement contracten -- de velden Contracttarief H/K/L/O/T x 1.044 (4,4%). SET SERVEROUTPUT ON size 1000000; DECLARE CURSOR c IS SELECT DISTINCT kc.cnt_contract_key FROM cnt_kenmerkcontract kc WHERE kc.cnt_kenmerkcontract_verwijder IS NULL AND EXISTS (SELECT 1 FROM cnt_kenmerk WHERE cnt_srtkenmerk_key IN (385, 386, 387, 388, 389) -- Contracttarief H/K/L/O/T AND cnt_kenmerk_key = kc.cnt_kenmerk_key) AND EXISTS (SELECT 1 FROM cnt_v_aanwezigcontract WHERE ins_discipline_key = 2122 -- Lease Agreement AND TRUNC (cnt_contract_looptijd_van) < fac.safe_to_date ('31012024', 'ddmmyyyy') -- Van-datum < einde te factureren maand AND cnt_contract_looptijd_tot > fac.safe_to_date ('01012024', 'ddmmyyyy') -- Tot-datum > begin te factureren maand AND cnt_contract_status IN (0, 2) -- Definitief AND cnt_contract_key = kc.cnt_contract_key) ORDER BY kc.cnt_contract_key; v_count NUMBER := 0; BEGIN FOR rec IN c LOOP BEGIN UPDATE cnt_kenmerkcontract kc SET kc.cnt_kenmerkcontract_waarde = ROUND (1.044 * kc.cnt_kenmerkcontract_waarde, 2) WHERE EXISTS (SELECT 1 FROM cnt_kenmerk WHERE cnt_srtkenmerk_key IN (385, 386, 387, 388, 389) -- Contracttarief H/K/L/O/T AND cnt_kenmerk_key = kc.cnt_kenmerk_key) AND kc.cnt_contract_key = rec.cnt_contract_key; fac.trackaction ('CNTUPD', rec.cnt_contract_key, NULL, NULL, 'Contracttarieven geïndexeerd (4,4%)'); v_count := v_count + 1; END; END LOOP; DBMS_OUTPUT.PUT_LINE ('S: ' || TO_CHAR (v_count) || ' Lease Agreement contracten gewijzigd'); END; / -- Voor alle in januari 2024 lopende (en definieve) SLA Managed Connectivity -- contracten het veld Managed Connectivity (jaarbedrag) x 1.044 (4,4%). SET SERVEROUTPUT ON size 1000000; DECLARE CURSOR c IS SELECT kc.cnt_contract_key, kc.cnt_kenmerkcontract_key FROM cnt_kenmerkcontract kc WHERE kc.cnt_kenmerkcontract_verwijder IS NULL AND kc.cnt_kenmerk_key = 637 -- Managed Connectivity (jaarbedrag) AND EXISTS (SELECT 1 FROM cnt_v_aanwezigcontract WHERE ins_discipline_key = 2185 -- SLA Managed Connectivity AND TRUNC (cnt_contract_looptijd_van) < fac.safe_to_date ('31012024', 'ddmmyyyy') -- Van-datum < einde te factureren maand AND cnt_contract_looptijd_tot > fac.safe_to_date ('01012024', 'ddmmyyyy') -- Tot-datum > begin te factureren maand AND cnt_contract_status IN (0, 2) -- Definitief AND cnt_contract_key = kc.cnt_contract_key) ORDER BY kc.cnt_contract_key; v_count NUMBER := 0; BEGIN FOR rec IN c LOOP BEGIN UPDATE cnt_kenmerkcontract kc SET kc.cnt_kenmerkcontract_waarde = ROUND (1.044 * kc.cnt_kenmerkcontract_waarde, 2) WHERE kc.cnt_kenmerkcontract_key = rec.cnt_kenmerkcontract_key; fac.trackaction ('CNTUPD', rec.cnt_contract_key, NULL, NULL, 'Jaarbedrag geïndexeerd (4,4%)'); v_count := v_count + 1; END; END LOOP; DBMS_OUTPUT.PUT_LINE('S: ' || TO_CHAR (v_count) || ' SLA Managed Connectivity contracten gewijzigd'); END; / ------ payload end ------ SET DEFINE OFF BEGIN adm.systrackscriptId ('$Id$', 1); END; / COMMIT; SET ECHO OFF SPOOL OFF SET DEFINE ON PROMPT Logfile of this upgrade is: &fcltlogfile