BLOS#79136 -- Herstructurering Locaties/Regio's/Clusters inclusief registratie Locatie - en Regiomanagers

svn path=/Customer/; revision=61987
This commit is contained in:
Jos Migo
2023-10-01 09:46:15 +00:00
parent 9f8bda2796
commit a591db9b2e

View File

@@ -0,0 +1,110 @@
-- Customer specific once-script voor BLOS
-- $Id$
--
-- Oncescript om eenmalig de locaties om te hangen naar nieuwe regio - clusters/disrict.
DEFINE thisfile = 'BLOS#79136_omhangen.SQL'
DEFINE dbuser = '^BLOS'
SET ECHO ON
SET DEFINE ON
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
WHENEVER SQLERROR EXIT;
SELECT adm.scriptspoolfile('&dbuser', '&thisfile') AS fcltlogfile FROM DUAL;
WHENEVER SQLERROR CONTINUE;
SPOOL &fcltlogfile
SET DEFINE OFF
------ payload begin ------
DECLARE
v_errormsg VARCHAR (200);
v_errorhint VARCHAR (200);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (150);
currentversion fac_module.fac_module_version%TYPE;
v_aanduiding VARCHAR (100);
v_count NUMBER;
v_alg_regio_key NUMBER (10) ;
v_alg_district_key NUMBER (10) ;
CURSOR c
IS
SELECT l.alg_locatie_key,
l.alg_locatie_code,
(SELECT kw.alg_onrgoedkenmerk_waarde
FROM alg_onrgoedkenmerk kw
WHERE kw.alg_onrgoed_niveau = 'L'
AND alg_onrgoed_key = l.alg_locatie_key
AND alg_kenmerk_key = 1200)
regio_nieuw,
(SELECT kw.alg_onrgoedkenmerk_waarde
FROM alg_onrgoedkenmerk kw
WHERE kw.alg_onrgoed_niveau = 'L'
AND alg_onrgoed_key = l.alg_locatie_key
AND alg_kenmerk_key = 1201)
cluster_nieuw
FROM alg_locatie l, alg_gebouw g
WHERE g.alg_locatie_key = l.alg_locatie_key
AND g.alg_gebouw_verwijder IS NULL
AND l.alg_locatie_verwijder IS NULL
-- AND l.alg_locatie_vervaldatum IS NULL AND g.alg_gebouw_vervaldatum IS NULL -- DEZE VERVALLEN WEL MEENEMEN IN VERWERKING
ORDER BY 1;
BEGIN
FOR rec IN c
LOOP
BEGIN
IF rec.regio_nieuw IS NOT NULL AND rec.cluster_nieuw IS NOT NULL
THEN
SELECT MAX(r.alg_regio_key)
INTO v_alg_regio_key
FROM alg_regio r
WHERE r.alg_regio_verwijder IS NULL AND UPPER(r.alg_regio_omschrijving) = UPPER(rec.regio_nieuw) ;
IF v_alg_regio_key IS NOT NULL
THEN
SELECT MAX(d.alg_district_key)
INTO v_alg_district_key
FROM alg_district d
WHERE d.alg_district_verwijder IS NULL AND d.alg_regio_key = v_alg_regio_key
AND UPPER(d.alg_district_omschrijving) = UPPER(rec.cluster_nieuw) ;
END IF;
IF v_alg_regio_key IS NOT NULL AND v_alg_district_key IS NOT NULL
THEN
UPDATE alg_locatie
SET alg_district_key = v_alg_district_key
WHERE alg_locatie_key = rec.alg_locatie_key ;
END IF;
END IF;
END;
END LOOP;
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