106 lines
3.5 KiB
SQL
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
|