From 78c0c7bcb908413487adb21d7d55170ab1d1e9fe Mon Sep 17 00:00:00 2001 From: Maarten van der Heide Date: Wed, 22 Nov 2023 11:28:11 +0000 Subject: [PATCH] BLCC#81064 Indexatie/Contractkenmerken vermenigvuldigen met 1,044 svn path=/Customer/; revision=62652 --- onces/BLCC/BLCC#81064.sql | 119 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 onces/BLCC/BLCC#81064.sql diff --git a/onces/BLCC/BLCC#81064.sql b/onces/BLCC/BLCC#81064.sql new file mode 100644 index 000000000..720a089d4 --- /dev/null +++ b/onces/BLCC/BLCC#81064.sql @@ -0,0 +1,119 @@ +-- +-- $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