Files
Customer/onces/BLCC/BLCC#77700.sql
Maarten van der Heide 96d626616b BLCC#77700 Once/Indexeren schoonmaaktarieven met 2% (actueel en op foto van 1 april)
svn path=/Customer/; revision=59924
2023-04-07 08:48:14 +00:00

103 lines
3.9 KiB
SQL
Raw Blame History

--
-- $Id$
--
-- Customer specific once-script BLCC#77700.SQL.
DEFINE thisfile = 'BLCC#77700.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#77700: ACTUAL schoonmaaktarieven (Basic/Premium/Excellent) in ruimte-
-- kenmerkvelden indexeren met 2%!
-- [Vermenigvuldigen met 1,02 en afronden op 2 decimalen]
SET SERVEROUTPUT ON size 1000000;
DECLARE
CURSOR c
IS
SELECT ok.alg_onrgoed_key,
k.alg_kenmerk_key,
k.alg_kenmerk_omschrijving,
ok.alg_onrgoedkenmerk_key,
fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) waarde_oud,
ROUND (fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) * 1.02, 2) waarde_nieuw,
k.alg_kenmerk_omschrijving
|| ': '
|| ok.alg_onrgoedkenmerk_waarde
|| ' --> '
|| TO_CHAR (ROUND (fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) * 1.02, 2))
tracking
FROM alg_v_aanwezigonrgoedkenmerk ok, alg_kenmerk k
WHERE fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) IS NOT NULL
AND ok.alg_onrgoed_niveau = 'R'
AND ok.alg_kenmerk_key = k.alg_kenmerk_key
AND k.alg_kenmerk_key IN (1540, 1541, 1542) -- Schoonmaaktarief Basic/Premium/Excellent
ORDER BY 1, 2;
v_count NUMBER := 0;
BEGIN
FOR rec IN c
LOOP
BEGIN
UPDATE alg_v_aanwezigonrgoedkenmerk
SET alg_onrgoedkenmerk_waarde = TO_CHAR (rec.waarde_nieuw)
WHERE alg_onrgoedkenmerk_key = rec.alg_onrgoedkenmerk_key;
fac.trackaction ('ALGRUP', rec.alg_onrgoed_key, NULL, NULL, rec.tracking);
v_count := v_count + 1;
END;
END LOOP;
DBMS_OUTPUT.PUT_LINE ('S: ' || TO_CHAR (v_count) || ' schoonmaaktarieven ge<67>ndexeerd');
END;
/
-- BLCC#77700: FROZEN schoonmaaktarieven (Basic/Premium/Excellent) in de foto
-- gemaakt op 1-4-2023 indexeren met 2%!
-- [Vermenigvuldigen met 1,02 en afronden op 2 decimalen]
/*
SELECT basic_tarief,
DECODE (basic_tarief, NULL, NULL, ROUND (basic_tarief * 1.02, 2))
basic2,
premium_tarief,
DECODE (premium_tarief, NULL, NULL, ROUND (premium_tarief * 1.02, 2))
premium2,
excellent_tarief,
DECODE (excellent_tarief, NULL, NULL, ROUND (excellent_tarief * 1.02, 2))
excellent2
FROM blcc_alg_freeze
WHERE TRUNC (freeze_datum) = fac.safe_to_date ('01-04-2023', 'dd-mm-yyyy')
AND (fac.safe_to_number (basic_tarief) IS NOT NULL OR fac.safe_to_number (premium_tarief) IS NOT NULL OR fac.safe_to_number (excellent_tarief) IS NOT NULL)
ORDER BY freeze_datum, alg_ruimte_key;
*/
UPDATE blcc_alg_freeze
SET basic_tarief = DECODE (basic_tarief, NULL, NULL, ROUND (basic_tarief * 1.02, 2)),
premium_tarief = DECODE (premium_tarief, NULL, NULL, ROUND (premium_tarief * 1.02, 2)),
excellent_tarief = DECODE (excellent_tarief, NULL, NULL, ROUND (excellent_tarief * 1.02, 2))
WHERE TRUNC (freeze_datum) = fac.safe_to_date ('01-04-2023', 'dd-mm-yyyy')
AND (fac.safe_to_number (basic_tarief) IS NOT NULL OR fac.safe_to_number (premium_tarief) IS NOT NULL OR fac.safe_to_number (excellent_tarief) IS NOT NULL);
------ 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