Files
Customer/onces/DRIE/DRIE#65625.sql
Sander Schepers ad369f976d DRIE#65625 Once om de kenmerken te vullen bij de cilinders
svn path=/Customer/; revision=49909
2021-02-18 11:24:38 +00:00

106 lines
3.5 KiB
SQL

--
-- $Id$
--
-- Dit script vult kenmerken bij de Cilinders (Objecten) na het inlezen & verwerken van sleutels via een FIP import.
-- Na iedere import (inlezen & verwerken) moet dit script gedraaid worden om de kenmerken te vullen.
--
DEFINE thisfile = 'DRIE#65625.SQL'
DEFINE dbuser = '^DRIE'
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 ------
DECLARE
CURSOR c
IS
SELECT d.ins_deel_key AS ins_deel_key,
i.ins_kenmerkwaarde1 AS TYPE,
ins_kenmerkwaarde2 AS binnenbuiten
FROM ins_deel d,
ins_srtdeel sd,
fac_imp_sle i,
alg_v_locatie_gegevens l,
alg_v_allonrgoed_gegevens r
WHERE sd.ins_srtdeel_key = d.ins_srtdeel_key
AND sd.ins_srtgroep_key = 21 --Cilinders
AND i.ins_srtdeel_code = sd.ins_srtdeel_code
AND i.ins_srtdeel_omschrijving = sd.ins_srtdeel_omschrijving
AND i.alg_locatie_code = l.alg_locatie_code
AND i.cil_gebouw_code = r.alg_gebouw_code
AND i.cil_verdieping_code = r.alg_verdieping_code
AND i.cil_ruimte_nr = r.alg_ruimte_nr
AND d.ins_alg_ruimte_key = r.alg_onroerendgoed_keys
ORDER BY sd.ins_srtgroep_key DESC,
d.ins_srtdeel_key DESC,
d.ins_deel_key DESC;
v_count_type NUMBER;
v_count_bibu NUMBER;
BEGIN
FOR rec IN c
LOOP
BEGIN
--Eerst tellen of de kenmerken toevallig al gevuld zijn.
SELECT COUNT ( * )
INTO v_count_type
FROM ins_kenmerkdeel
WHERE ins_deel_key = rec.ins_deel_key
AND ins_kenmerkdeel_verwijder IS NULL
AND ins_kenmerk_key = 1; --Kenmerk 'Type'
SELECT COUNT ( * )
INTO v_count_bibu
FROM ins_kenmerkdeel
WHERE ins_deel_key = rec.ins_deel_key
AND ins_kenmerkdeel_verwijder IS NULL
AND ins_kenmerk_key = 2; --Kenmerk 'Binnen-Buiten'
--Als ze nog niet gevuld zijn, kunnen ze gevuld worden vanuit fac_imp_sle
IF v_count_type = 0
THEN
INSERT INTO ins_kenmerkdeel (ins_deel_key,
ins_kenmerk_key,
ins_kenmerkdeel_waarde)
VALUES (rec.ins_deel_key, 1, --Kenmerk 'Type'
rec.type);
END IF;
IF v_count_bibu = 0
THEN
INSERT INTO ins_kenmerkdeel (ins_deel_key,
ins_kenmerk_key,
ins_kenmerkdeel_waarde)
VALUES (rec.ins_deel_key, 2, --Kenmerk 'Binnen-Buiten'
rec.binnenbuiten);
END IF;
END;
END LOOP;
COMMIT;
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