BLCC#81064 Indexatie/Contractkenmerken vermenigvuldigen met 1,044
svn path=/Customer/; revision=62652
This commit is contained in:
119
onces/BLCC/BLCC#81064.sql
Normal file
119
onces/BLCC/BLCC#81064.sql
Normal file
@@ -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<67>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<67>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
|
||||||
Reference in New Issue
Block a user