309 lines
12 KiB
SQL
309 lines
12 KiB
SQL
--
|
|
-- $Id$
|
|
--
|
|
-- Customer specific once-script BLCC#75251.sql.
|
|
DEFINE thisfile = 'BLCC#75251.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#75251: Bijwerken ruimtegegevens op basis van 'ONRGOED2'-import!
|
|
|
|
-- *** PRE-CONDITIE ***
|
|
-- Alleen inlezen (niet verwerken!) van bestand via 'FIP: 2-Aanvullen
|
|
-- bouwlagen en ruimten'-import!
|
|
|
|
-- Verwijder FAC_IMPORT-entry voor vandaag/zojuist door _FACILITOR ingelezen
|
|
-- bestand (om verwerken te voorkomen).
|
|
-- NB. De FAC_IMPORT_USRDATA-tabel blijft gevuld!
|
|
DELETE FROM fac_import
|
|
WHERE fac_import_app_key = 3 -- FIP: 2-Aanvullen bouwlagen en ruimten
|
|
AND TRUNC (fac_import_datum_gelezen) = TRUNC (SYSDATE)
|
|
--AND fac_import_filenaam = '<xxx>.csv'
|
|
AND prs_perslid_key = 4 -- _FACILITOR
|
|
;
|
|
COMMIT;
|
|
|
|
-- Verwijderen ruimtefunctie (veld bij ruimte én ook achterliggende stamtabel
|
|
-- met ruimtefuncties!
|
|
/*
|
|
SELECT *
|
|
FROM alg_ruimte
|
|
WHERE alg_srtruimte_key IS NOT NULL;
|
|
|
|
SELECT *
|
|
FROM alg_ruimte r
|
|
WHERE EXISTS
|
|
(SELECT 1
|
|
FROM fac_imp_onrgoed2 i, alg_srtruimte sr
|
|
WHERE i.alg_srtruimte_omschrijving IS NOT NULL
|
|
AND UPPER (TRIM (i.alg_srtruimte_omschrijving)) = sr.alg_srtruimte_upper
|
|
AND fac.safe_to_number (i.alg_kenmerkwaarde3) = r.alg_ruimte_key
|
|
AND sr.alg_srtruimte_key = r.alg_srtruimte_key);
|
|
*/
|
|
INSERT INTO fac_tracking (fac_tracking_datum,
|
|
fac_srtnotificatie_key,
|
|
fac_tracking_refkey,
|
|
fac_tracking_oms)
|
|
SELECT SYSDATE,
|
|
118, -- 118=ALGRUP
|
|
r.alg_ruimte_key,
|
|
'Ruimtefunctie: ' || sr.alg_srtruimte_omschrijving || ' --> (gewist)'
|
|
FROM alg_ruimte r, alg_srtruimte sr
|
|
WHERE r.alg_srtruimte_key = sr.alg_srtruimte_key
|
|
ORDER BY r.alg_ruimte_key;
|
|
COMMIT;
|
|
|
|
UPDATE alg_ruimte
|
|
SET alg_srtruimte_key = NULL
|
|
WHERE alg_srtruimte_key IS NOT NULL;
|
|
COMMIT;
|
|
/*
|
|
SELECT *
|
|
FROM alg_srtruimte sr
|
|
WHERE NOT EXISTS (SELECT 1
|
|
FROM alg_ruimte
|
|
WHERE alg_srtruimte_key = sr.alg_srtruimte_key);
|
|
*/
|
|
DELETE FROM alg_srtruimte sr
|
|
WHERE NOT EXISTS (SELECT 1
|
|
FROM alg_ruimte
|
|
WHERE alg_srtruimte_key = sr.alg_srtruimte_key);
|
|
COMMIT;
|
|
|
|
-- Toevoegen nieuwe ruimtefuncties (in stamtabel)!
|
|
INSERT INTO alg_srtruimte (alg_srtruimte_omschrijving)
|
|
SELECT DISTINCT (SUBSTR (TRIM (i.alg_srtruimte_omschrijving), 1, 50))
|
|
FROM fac_imp_onrgoed2 i
|
|
WHERE i.alg_srtruimte_omschrijving IS NOT NULL
|
|
AND NOT EXISTS
|
|
(SELECT 1
|
|
FROM alg_srtruimte
|
|
WHERE alg_srtruimte_upper = UPPER (TRIM (i.alg_srtruimte_omschrijving)))
|
|
ORDER BY SUBSTR (TRIM (i.alg_srtruimte_omschrijving), 1, 50);
|
|
COMMIT;
|
|
|
|
-- Bijwerken ruimtefunctie-veld zoals ingelezen (indien gevuld)!
|
|
UPDATE alg_ruimte r
|
|
SET r.alg_srtruimte_key =
|
|
(SELECT sr.alg_srtruimte_key
|
|
FROM fac_imp_onrgoed2 i, alg_srtruimte sr
|
|
WHERE i.alg_srtruimte_omschrijving IS NOT NULL
|
|
AND UPPER (TRIM (i.alg_srtruimte_omschrijving)) = sr.alg_srtruimte_upper
|
|
AND fac.safe_to_number (i.alg_kenmerkwaarde3) = r.alg_ruimte_key)
|
|
WHERE EXISTS
|
|
(SELECT 1
|
|
FROM fac_imp_onrgoed2 i, alg_srtruimte sr
|
|
WHERE i.alg_srtruimte_omschrijving IS NOT NULL
|
|
AND UPPER (TRIM (i.alg_srtruimte_omschrijving)) = sr.alg_srtruimte_upper
|
|
AND fac.safe_to_number (i.alg_kenmerkwaarde3) = r.alg_ruimte_key);
|
|
COMMIT;
|
|
|
|
INSERT INTO fac_tracking (fac_tracking_datum,
|
|
fac_srtnotificatie_key,
|
|
fac_tracking_refkey,
|
|
fac_tracking_oms)
|
|
SELECT SYSDATE,
|
|
118, -- 118=ALGRUP
|
|
r.alg_ruimte_key,
|
|
'Ruimtefunctie: (leeg) --> ' || sr.alg_srtruimte_omschrijving
|
|
FROM alg_ruimte r, alg_srtruimte sr
|
|
WHERE r.alg_srtruimte_key = sr.alg_srtruimte_key
|
|
ORDER BY r.alg_ruimte_key;
|
|
COMMIT;
|
|
|
|
-- Bijwerken Verhuur classificatie-veld (key=1100) zoals ingelezen (indien gevuld)!
|
|
/*
|
|
SELECT *
|
|
FROM alg_onrgoedkenmerk
|
|
WHERE alg_kenmerk_key = 1100;
|
|
*/
|
|
INSERT INTO fac_tracking (fac_tracking_datum,
|
|
fac_srtnotificatie_key,
|
|
fac_tracking_refkey,
|
|
fac_tracking_oms)
|
|
SELECT SYSDATE,
|
|
118, -- 118=ALGRUP
|
|
ok.alg_onrgoed_key,
|
|
'Verhuur classificatie: ' || ud.fac_usrdata_omschr || ' --> (gewist)'
|
|
FROM alg_onrgoedkenmerk ok, fac_usrdata ud
|
|
WHERE ok.alg_onrgoedkenmerk_verwijder IS NULL
|
|
AND ok.alg_onrgoed_niveau = 'R'
|
|
AND ok.alg_kenmerk_key = 1100
|
|
AND fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) = ud.fac_usrdata_key
|
|
AND EXISTS -- Alleen wissen als nieuwe waarde ingelezen!
|
|
(SELECT 1
|
|
FROM fac_imp_onrgoed2
|
|
WHERE TRIM (alg_kenmerkwaarde1) IN ('A', 'B', 'N')
|
|
AND fac.safe_to_number (alg_kenmerkwaarde3) = ok.alg_onrgoed_key)
|
|
ORDER BY ok.alg_onrgoed_key;
|
|
COMMIT;
|
|
|
|
DELETE FROM alg_onrgoedkenmerk ok
|
|
WHERE ok.alg_onrgoedkenmerk_verwijder IS NULL
|
|
AND ok.alg_onrgoed_niveau = 'R'
|
|
AND ok.alg_kenmerk_key = 1100
|
|
AND EXISTS -- Alleen wissen als nieuwe waarde ingelezen!
|
|
(SELECT 1
|
|
FROM fac_imp_onrgoed2
|
|
WHERE TRIM (alg_kenmerkwaarde1) IN ('A', 'B', 'N')
|
|
AND fac.safe_to_number (alg_kenmerkwaarde3) = ok.alg_onrgoed_key);
|
|
COMMIT;
|
|
|
|
INSERT INTO alg_onrgoedkenmerk (alg_onrgoed_key,
|
|
alg_onrgoed_niveau,
|
|
alg_kenmerk_key,
|
|
alg_onrgoedkenmerk_waarde)
|
|
SELECT fac.safe_to_number (i.alg_kenmerkwaarde3),
|
|
'R',
|
|
1100,
|
|
DECODE (TRIM (alg_kenmerkwaarde1),
|
|
'A', '1622',
|
|
'B', '1624',
|
|
'1623') -- 'N'
|
|
FROM fac_imp_onrgoed2 i
|
|
WHERE TRIM (i.alg_kenmerkwaarde1) IN ('A', 'B', 'N')
|
|
AND EXISTS
|
|
(SELECT 1
|
|
FROM alg_ruimte
|
|
WHERE alg_ruimte_key = fac.safe_to_number (i.alg_kenmerkwaarde3))
|
|
AND NOT EXISTS
|
|
(SELECT 1
|
|
FROM alg_onrgoedkenmerk
|
|
WHERE alg_onrgoedkenmerk_verwijder IS NULL
|
|
AND alg_onrgoed_niveau = 'R'
|
|
AND alg_kenmerk_key = 1100
|
|
AND alg_onrgoed_key = fac.safe_to_number (i.alg_kenmerkwaarde3))
|
|
ORDER BY fac.safe_to_number (i.alg_kenmerkwaarde3);
|
|
COMMIT;
|
|
|
|
INSERT INTO fac_tracking (fac_tracking_datum,
|
|
fac_srtnotificatie_key,
|
|
fac_tracking_refkey,
|
|
fac_tracking_oms)
|
|
SELECT SYSDATE,
|
|
118, -- 118=ALGRUP
|
|
fac.safe_to_number (i.alg_kenmerkwaarde3),
|
|
'Verhuur classificatie: (leeg) --> '
|
|
|| DECODE (TRIM (alg_kenmerkwaarde1),
|
|
'A', 'Algemene ruimte, gebouwgebonden',
|
|
'B', 'Bombenisruimte',
|
|
'Algemene ruimte, verdiepinggebonden')
|
|
FROM fac_imp_onrgoed2 i
|
|
WHERE TRIM (i.alg_kenmerkwaarde1) IN ('A', 'B', 'N')
|
|
AND EXISTS
|
|
(SELECT 1
|
|
FROM alg_ruimte
|
|
WHERE alg_ruimte_key = fac.safe_to_number (i.alg_kenmerkwaarde3))
|
|
AND EXISTS
|
|
(SELECT 1
|
|
FROM alg_onrgoedkenmerk
|
|
WHERE alg_onrgoedkenmerk_verwijder IS NULL
|
|
AND alg_onrgoed_niveau = 'R'
|
|
AND alg_kenmerk_key = 1100
|
|
AND alg_onrgoed_key = fac.safe_to_number (i.alg_kenmerkwaarde3))
|
|
ORDER BY fac.safe_to_number (i.alg_kenmerkwaarde3);
|
|
COMMIT;
|
|
|
|
-- Verwijderen VVO Overeenkomst-veld (key=1720) bij ruimte!
|
|
/*
|
|
SELECT *
|
|
FROM alg_onrgoedkenmerk
|
|
WHERE alg_kenmerk_key = 1720;
|
|
*/
|
|
INSERT INTO fac_tracking (fac_tracking_datum,
|
|
fac_srtnotificatie_key,
|
|
fac_tracking_refkey,
|
|
fac_tracking_oms)
|
|
SELECT SYSDATE,
|
|
118, -- 118=ALGRUP
|
|
alg_onrgoed_key,
|
|
'VVO Overeenkomst: ' || alg_onrgoedkenmerk_waarde || ' --> (gewist)'
|
|
FROM alg_onrgoedkenmerk
|
|
WHERE alg_onrgoedkenmerk_verwijder IS NULL
|
|
AND alg_onrgoed_niveau = 'R'
|
|
AND alg_kenmerk_key = 1720
|
|
AND alg_onrgoedkenmerk_waarde IS NOT NULL
|
|
ORDER BY alg_onrgoed_key;
|
|
COMMIT;
|
|
|
|
DELETE FROM alg_onrgoedkenmerk
|
|
WHERE alg_onrgoedkenmerk_verwijder IS NULL
|
|
AND alg_onrgoed_niveau = 'R'
|
|
AND alg_kenmerk_key = 1720;
|
|
COMMIT;
|
|
|
|
-- Bijwerken VVO Overeenkomst-veld (key=1720) zoals ingelezen (indien gevuld)!
|
|
INSERT INTO alg_onrgoedkenmerk (alg_onrgoed_key,
|
|
alg_onrgoed_niveau,
|
|
alg_kenmerk_key,
|
|
alg_onrgoedkenmerk_waarde)
|
|
SELECT fac.safe_to_number (i.alg_kenmerkwaarde3),
|
|
'R',
|
|
1720,
|
|
TO_CHAR (ROUND (fac.safe_to_number (i.alg_kenmerkwaarde2), 2))
|
|
FROM fac_imp_onrgoed2 i
|
|
WHERE TRIM (i.alg_kenmerkwaarde2) IS NOT NULL
|
|
AND EXISTS
|
|
(SELECT 1
|
|
FROM alg_ruimte
|
|
WHERE alg_ruimte_key = fac.safe_to_number (i.alg_kenmerkwaarde3))
|
|
AND NOT EXISTS
|
|
(SELECT 1
|
|
FROM alg_onrgoedkenmerk
|
|
WHERE alg_onrgoedkenmerk_verwijder IS NULL
|
|
AND alg_onrgoed_niveau = 'R'
|
|
AND alg_kenmerk_key = 1720
|
|
AND alg_onrgoed_key = fac.safe_to_number (i.alg_kenmerkwaarde3))
|
|
ORDER BY fac.safe_to_number (i.alg_kenmerkwaarde3);
|
|
COMMIT;
|
|
|
|
INSERT INTO fac_tracking (fac_tracking_datum,
|
|
fac_srtnotificatie_key,
|
|
fac_tracking_refkey,
|
|
fac_tracking_oms)
|
|
SELECT SYSDATE,
|
|
118, -- 118=ALGRUP
|
|
fac.safe_to_number (i.alg_kenmerkwaarde3),
|
|
'VVO Overeenkomst: (leeg) --> ' || TRIM (i.alg_kenmerkwaarde2)
|
|
FROM fac_imp_onrgoed2 i
|
|
WHERE TRIM (i.alg_kenmerkwaarde2) IS NOT NULL
|
|
AND EXISTS
|
|
(SELECT 1
|
|
FROM alg_ruimte
|
|
WHERE alg_ruimte_key = fac.safe_to_number (i.alg_kenmerkwaarde3))
|
|
AND EXISTS
|
|
(SELECT 1
|
|
FROM alg_onrgoedkenmerk
|
|
WHERE alg_onrgoedkenmerk_verwijder IS NULL
|
|
AND alg_onrgoed_niveau = 'R'
|
|
AND alg_kenmerk_key = 1720
|
|
AND alg_onrgoed_key = fac.safe_to_number (i.alg_kenmerkwaarde3))
|
|
ORDER BY fac.safe_to_number (i.alg_kenmerkwaarde3);
|
|
COMMIT;
|
|
|
|
------ 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
|