BLCC#75412 Indexatie/Contractkenmerken vermenigvuldigen met 1,0485

svn path=/Customer/; revision=58063
This commit is contained in:
Maarten van der Heide
2022-11-21 12:12:24 +00:00
parent c1e7256ad7
commit d57fb8ed02

119
onces/BLCC/BLCC#75412.sql Normal file
View File

@@ -0,0 +1,119 @@
--
-- $Id$
--
-- Customer specific once-script BLCC#75412.SQL.
DEFINE thisfile = 'BLCC#75412.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#75412
-- Voor alle in januari 2023 lopende (en definieve) Lease Agreement contracten
-- de velden Contracttarief H/K/L/O/T x 1.0485 (4,85%).
SET SERVEROUTPUT ON size 1000000;
DECLARE
CURSOR ct
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_contract
WHERE ins_discipline_key = 2122 -- Lease Agreement
AND TRUNC (cnt_contract_looptijd_van) < fac.safe_to_date ('31012023', 'ddmmyyyy') -- Van-datum < einde te factureren maand
AND cnt_contract_looptijd_tot > fac.safe_to_date ('01012023', 'ddmmyyyy') -- Tot-datum > begin te factureren maand
AND cnt_contract_status = 0 -- Definitief
AND cnt_contract_key = kc.cnt_contract_key)
ORDER BY kc.cnt_contract_key;
v_count NUMBER := 0;
BEGIN
FOR rec IN ct
LOOP
BEGIN
UPDATE cnt_kenmerkcontract kc
SET kc.cnt_kenmerkcontract_waarde = ROUND (1.0485 * 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, 'Tarieven H/K/L/O/T verhoogd met 4,85%');
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 2023 lopende (en definieve) SLA Managed Connectivity
-- contracten het veld Managed Connectivity (jaarbedrag) x 1.0485 (4,85%).
SET SERVEROUTPUT ON size 1000000;
DECLARE
CURSOR ct
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_contract
WHERE ins_discipline_key = 2185 -- SLA Managed Connectivity
AND TRUNC (cnt_contract_looptijd_van) < fac.safe_to_date ('31012023', 'ddmmyyyy') -- Van-datum < einde te factureren maand
AND cnt_contract_looptijd_tot > fac.safe_to_date ('01012023', 'ddmmyyyy') -- Tot-datum > begin te factureren maand
AND cnt_contract_status = 0 -- Definitief
AND cnt_contract_key = kc.cnt_contract_key)
ORDER BY kc.cnt_contract_key;
v_count NUMBER := 0;
BEGIN
FOR rec IN ct
LOOP
BEGIN
UPDATE cnt_kenmerkcontract kc
SET kc.cnt_kenmerkcontract_waarde = ROUND (1.0485 * kc.cnt_kenmerkcontract_waarde, 2)
WHERE kc.cnt_kenmerkcontract_key = rec.cnt_kenmerkcontract_key;
fac.trackaction ('CNTUPD', rec.cnt_contract_key, NULL, NULL, 'Managed Connectivity (jaarbedrag) verhoogd met 4,85%');
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