111 lines
3.2 KiB
SQL
111 lines
3.2 KiB
SQL
-- 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
|