Files
Customer/TDNL/TDNL.sql
Norbert Wassink 68952be03c TDNL#80795 -- Migratie CONN omgeving naar TDNL omgeving
svn path=/Customer/trunk/; revision=64658
2024-05-15 06:37:48 +00:00

3249 lines
151 KiB
SQL
Raw Blame History

--
-- $$Id$
--
-- Script containing customer specific sql statements for the FACILITOR database
-- Voor dbuser invullen: - indien script voor 1 klant is: 'AADS' (de klantcode, zoals vermeld in fac_version_cust)
-- - script is voor meerdere klanten: 'AAXX' (de groepcode, zoals vermeld in fac_version_group)
-- - script is voor meerdere klanten met naam volgens een bepaald patroon: '^AA|^ASMS|^GULU|^NMMS|^RABO|^ZKHM'
-- Ook als het script gedraaid wordt voor de verkeerde cust wordt er een logfile gemaakt.
-- (dit in tegenstelling tot sample_xxxx.sql)
DEFINE thisfile = 'TDNL.SQL'
DEFINE dbuser = 'TDNL'
SET ECHO ON
SET DEFINE ON
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
COLUMN fcltcusttxt NEW_VALUE fcltcusttxt NOPRINT;
WHENEVER SQLERROR CONTINUE;
SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL;
SPOOL &fcltlogfile
WHENEVER SQLERROR EXIT;
SELECT adm.checkscriptcust('&dbuser') AS fcltcusttxt FROM DUAL;
WHENEVER SQLERROR CONTINUE;
---------------------------------------
PROMPT &fcltcusttxt
---------------------------------------
SET DEFINE OFF
------ payload begin ------
CREATE OR REPLACE PACKAGE TDNL
AS
FUNCTION getemaillist(contract_key IN NUMBER) RETURN varchar2;
FUNCTION get_flex_value (pmodule IN VARCHAR2,
p_kenmerk_key IN NUMBER,
p_ref_key IN NUMBER,
p_kenmerkdomein_key IN NUMBER,
p_niveau IN VARCHAR2 DEFAULT NULL)
RETURN VARCHAR2;
END;
/
CREATE OR REPLACE PACKAGE BODY TDNL AS
-- functie voor het opahlen van email adressen bi contract die plaats egnodnen zijn
-- email adressen zijn van de kenmerken concessie diecteir, operationeel manager en locatie manager
FUNCTION getemaillist(contract_key IN NUMBER) RETURN varchar2
AS
v_count NUMBER;
v_alg_plaats_key cnt_contract_plaats.cnt_alg_plaats_key%TYPE;
v_alg_plaats_code cnt_contract_plaats.cnt_alg_plaats_code%TYPE;
v_emails VARCHAR2(2000);
BEGIN
SELECT COUNT(*) INTo v_count
from cnt_contract_plaats
where cnt_contract_key=contract_key AND cnt_contract_plaats_verwijder IS NULL;
IF v_count=1 THEN
-- Ophalen welke locatie/plaats het betreft
SELECT cnt_alg_plaats_key, cnt_alg_plaats_code
INTO v_alg_plaats_key, v_alg_plaats_code
FROM cnt_contract_plaats
WHERE cnt_contract_key=contract_key;
-- Gaan we kijken of we een concessie directeur kunnen vinden
SELECT LISTAGG(email,';') WITHIN GROUP (ORDER BY email)
INTO v_emails
FROM (
SELECT
(SELECT p.prs_perslid_email
FROM prs_perslid p
WHERE p.prs_perslid_key=aok.alg_onrgoedkenmerk_waarde
AND p.prs_perslid_verwijder IS NULL) email
FROM alg_onrgoedkenmerk aok,
alg_kenmerk ak
WHERE aok.alg_onrgoed_key=v_alg_plaats_key
AND aok.alg_onrgoed_niveau='D'
AND UPPER(ak.alg_kenmerk_omschrijving)='CONCESSIE DIRECTEUR'
AND aok.alg_kenmerk_key = ak.alg_kenmerk_key
UNION
SELECT
(SELECT p.prs_perslid_email
FROM prs_perslid p
WHERE p.prs_perslid_key=aok.alg_onrgoedkenmerk_waarde
AND p.prs_perslid_verwijder IS NULL) email
FROM alg_onrgoedkenmerk aok,
alg_kenmerk ak
WHERE aok.alg_onrgoed_key=v_alg_plaats_key
AND aok.alg_onrgoed_niveau='D'
AND UPPER(ak.alg_kenmerk_omschrijving)='OPERATIONEEL MANAGER'
AND aok.alg_kenmerk_key = ak.alg_kenmerk_key
UNION
SELECT
(SELECT p.prs_perslid_email
FROM prs_perslid p
WHERE p.prs_perslid_key=aok.alg_onrgoedkenmerk_waarde
AND p.prs_perslid_verwijder IS NULL) email
FROM alg_onrgoedkenmerk aok,
alg_kenmerk ak
WHERE aok.alg_onrgoed_key=v_alg_plaats_key
AND aok.alg_onrgoed_niveau='L'
AND UPPER(ak.alg_kenmerk_omschrijving)='LOCATIE MANAGER'
AND aok.alg_kenmerk_key = ak.alg_kenmerk_key
UNION
SELECT
(SELECT p.prs_perslid_email
FROM prs_perslid p
WHERE p.prs_perslid_key=aok.alg_onrgoedkenmerk_waarde
AND p.prs_perslid_verwijder IS NULL) email
FROM alg_onrgoedkenmerk aok,
alg_kenmerk ak
WHERE aok.alg_onrgoed_key=v_alg_plaats_key
AND aok.alg_onrgoed_niveau='D'
AND UPPER(ak.alg_kenmerk_omschrijving)='MANAGER FACILITAIR'
AND aok.alg_kenmerk_key = ak.alg_kenmerk_key
UNION
SELECT
(SELECT p.prs_perslid_email
FROM prs_perslid p
WHERE p.prs_perslid_key=aok.alg_onrgoedkenmerk_waarde
AND p.prs_perslid_verwijder IS NULL) email
FROM alg_onrgoedkenmerk aok,
alg_kenmerk ak
WHERE aok.alg_onrgoed_key=v_alg_plaats_key
AND aok.alg_onrgoed_niveau='D'
AND UPPER(ak.alg_kenmerk_omschrijving)='MANAGER VASTGOED'
AND aok.alg_kenmerk_key = ak.alg_kenmerk_key
UNION
SELECT p.prs_perslid_email
FROM prs_perslid p,
cnt_contract c
WHERE c.cnt_contract_key=contract_key
AND p.prs_perslid_key = c.prs_perslid_key_beh
);
END IF;
RETURN v_emails;
END;
FUNCTION get_flex_value (
pmodule IN VARCHAR2,
p_kenmerk_key IN NUMBER,
p_ref_key IN NUMBER,
p_kenmerkdomein_key IN NUMBER,
p_niveau IN VARCHAR2 DEFAULT NULL)
RETURN VARCHAR2
AS
v_value VARCHAR2 (4000);
v_kenmerkdomein_key NUMBER (10);
BEGIN
v_value :=
flx.getflex (pmodule,
p_kenmerk_key,
p_ref_key,
p_niveau);
IF p_kenmerkdomein_key IS NOT NULL
THEN
v_value := flx.getdomeinwaarde (p_kenmerkdomein_key, v_value);
END IF;
RETURN v_value;
END;
END;
/
-- IMPORTS
-- Import KPN aan gebouw koppelen
CREATE OR REPLACE PROCEDURE TDNL_IMPORT_GEBOUW_KPN(p_import_key IN NUMBER)
AS
BEGIN
fac_import_genericcsv(p_import_key);
END;
/
CREATE OR REPLACE PROCEDURE TDNL_UPDATE_GEBOUW_KPN(p_import_key IN NUMBER)
AS
CURSOR c
IS
SELECT fac_imp_csv_key fac_imp_csv_key,
fac_imp_csv_col02 locatie_code,
fac_imp_csv_col07 KPN_nr
FROM fac_imp_csv
WHERE fac_import_key = p_import_key;
v_errormsg VARCHAR2 (1000);
v_errorhint VARCHAR2 (1000);
v_aanduiding VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_error NUMBER;
v_count NUMBER;
v_alg_locatie_key NUMBER;
v_kostenplaats_key NUMBER;
BEGIN
v_count:=0;
FOR rec IN C
LOOP
IF LOWER(rec.locatie_code) <>'locatiecode'
AND LOWER(rec.kpn_nr) <> 'kostenplaats'
THEN
BEGIN
v_aanduiding:='Locatie met code :'||rec.locatie_code||' niet gevonden';
SELECT l.alg_locatie_key
INTO v_alg_locatie_key
FROM alg_locatie l
WHERE l.alg_locatie_code='3549'
AND l.alg_locatie_verwijder IS NULL
AND (l.alg_locatie_vervaldatum IS NULL
OR l.alg_locatie_vervaldatum > SYSDATE);
v_aanduiding:='Kostenplaats met code :'||rec.KPN_NR||' niet gevonden';
SELECT k.prs_kostenplaats_key
INTO v_kostenplaats_key
FROM prs_kostenplaats k
WHERE k.prs_kostenplaats_nr=rec.KPN_nr
AND k.prs_kostenplaats_verwijder IS NULL;
UPDATE alg_gebouw g
SET g.prs_kostenplaats_key=v_kostenplaats_key
WHERE g.alg_locatie_key=v_alg_locatie_key
AND g.alg_gebouw_verwijder IS NULL
AND (g.alg_gebouw_vervaldatum IS NULL
OR g.alg_gebouw_vervaldatum > SYSDATE);
v_count:=v_count+1;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
v_errorhint := v_errormsg || ' - ' || v_aanduiding;
fac.imp_writelog (p_import_key,
'W',
v_errormsg,
v_errorhint);
END;
END IF;
END LOOP;
DELETE FROM fac_imp_csv
WHERE fac_import_key = p_import_key;
fac.imp_writelog (p_import_key,
'I',
'Succes',
'Er zijn '||v_count||' locaties voorzien van een kostenplaats');
EXCEPTION
WHEN OTHERS THEN
v_errorhint := v_errormsg || ' - ' || v_aanduiding;
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
v_errormsg := 'error ' || oracle_err_num || '/' || oracle_err_mes;
fac.imp_writelog (p_import_key,
'E',
v_errormsg,
v_errorhint);
END;
/
-- Imports verbruiks objecten met evt niet aanweizge ruimtes
CREATE OR REPLACE PROCEDURE TDNL_IMPORT_VERBRUIKSOBJ (p_import_key IN NUMBER)
AS
CURSOR c
IS
SELECT fac_imp_csv_key fac_imp_csv_key,
fac_imp_csv_col01 ins_deel_key_org,
fac_imp_csv_col02 ins_discipline_omschrijving,
fac_imp_csv_col03 ins_kostenplaats,
fac_imp_csv_col04 ins_srtgroep_omschrijving,
fac_imp_csv_col05 ins_srtdeel_code,
fac_imp_csv_col06 ins_srtdeel_omschrijving,
fac_imp_csv_col07 ins_deel_omschrijving,
fac_imp_csv_col08 ins_deel_opmerking,
fac_imp_csv_col09 ins_deel_resreveerbaar,
fac_imp_csv_col10 ins_deel_eenheid,
fac_imp_csv_col11 prijs,
fac_imp_csv_col12 alg_locatie_code,
fac_imp_csv_col13 alg_gebouw_code,
fac_imp_csv_col14 alg_verdipeing_nr,
fac_imp_csv_col15 alg_ruimte_nr,
fac_imp_csv_col22 ins_deel_aanmaak,
fac_imp_csv_col23 ins_deel_vervaldatum,
fac_imp_csv_col24 ins_deel_aantal
from fac_imp_csv
WHERE fac_import_key = p_import_key;
v_errormsg VARCHAR2 (1000);
v_errorhint VARCHAR2 (1000);
v_aanduiding VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_error NUMBER;
v_count NUMBER;
v_alg_locatie_key NUMBER;
v_alg_gebouw_key NUMBER;
v_alg_verdieping_key NUMBER;
v_alg_ruimte_key NUMBER;
BEGIN
fac_import_genericcsv(p_import_key);
FOR rec IN C
LOOP
v_errorhint:='Locatie niet gevonden';
v_error:=1;
SELECT l.alg_locatie_key INTO v_alg_locatie_key
FROM alg_locatie l
WHERE l.alg_locatie_code =rec.alg_locatie_code
AND l.alg_locatie_verwijder IS NULL;
v_errorhint:='Gebouw niet gevonden';
v_error:=2;
SELECT g.alg_gebouw_key INTO v_alg_gebouw_key
FROM alg_gebouw g
WHERE g.alg_gebouw_code=rec.alg_locatie_code
AND g.alg_locatie_key = v_alg_locatie_key
AND g.alg_gebouw_verwijder IS NULL;
v_errorhint:='Verdieping niet gevonden';
v_error:=3;
BEGIN
SELECT v.alg_verdieping_key INTO v_alg_verdieping_key
FROM alg_verdieping v
WHERE v.alg_verdieping_volgnr=0 -- we willen een verdpeing 0 hebben onafhanleijk wat in de csv staat.
AND v.alg_gebouw_key=v_alg_gebouw_key
AND v.alg_verdieping_verwijder IS NULL;
EXCEPTION WHEN NO_DATA_FOUND THEN
INSERT INTO alg_verdieping (alg_gebouw_key,
alg_verdieping_code,
alg_verdieping_omschrijving,
alg_verdieping_volgnr,
alg_verdieping_aanmaak)
VALUES (v_alg_gebouw_key,
'00',
'Verdieping 0',
0,
SYSDATE)
RETURN alg_verdieping_key INTO v_alg_verdieping_key; -- Gaan we v_error op 4 zetten want als er geen verdieping si moet er ook een ruimte worden aangemaakt.
UPDATE fac_imp_csv
SET fac_imp_csv_col14 = '0'
WHERE fac_imp_csv_key = rec.fac_imp_csv_key;
END;
v_errorhint:='Ruimte niet gevonden';
v_error:=4;
BEGIN
SELECT r.alg_ruimte_key INTO v_alg_ruimte_key
FROM alg_ruimte r
WHERE r.alg_ruimte_nr='0.00'
AND r.alg_verdieping_key=v_alg_verdieping_key
AND r.alg_ruimte_verwijder IS NULL;
EXCEPTION WHEN NO_DATA_FOUND THEN
v_errorhint:='Fout bij aanmkaken ruimte';
INSERT INTO alg_ruimte (alg_verdieping_key,
alg_ruimte_nr,
alg_ruimte_upper_nr,
alg_ruimte_omschrijving,
alg_ruimte_aanmaak)
VALUES (v_alg_verdieping_key,
'0.00',
UPPER ('0.00'),
'Gehele gebouw',
SYSDATE);
UPDATE fac_imp_csv
SET fac_imp_csv_col15 = '0.00'
WHERE fac_imp_csv_key = rec.fac_imp_csv_key; -- Gaan we de imp_+cscv aanpassen zodat dit nieuw aangemaakt ruimteNr gebruikt wordt
END;
END LOOP;
-- eerste even opschonen
DELETE FROM fac_imp_ins;
-- Gaan we nu de fac_imp_ins vullen
INSERT INTO fac_imp_ins
(ins_discipline_omschrijving,
ins_srtgroep_omschrijving,
ins_srtdeel_code,
ins_srtdeel_omschrijving,
ins_deel_omschrijving,
ins_deel_opmerking,
alg_locatie_code,
alg_gebouw_code,
alg_verdieping_volgnr,
alg_ruimte_nr,
ins_deel_AANMAAK,
ins_deel_vervaldatum,
ins_deel_aantal)
SELECT fac_imp_csv_col02,
fac_imp_csv_col04,
fac_imp_csv_col05,
fac_imp_csv_col06,
fac_imp_csv_col07,
fac_imp_csv_col08,
fac_imp_csv_col12,
fac_imp_csv_col12,
'0',
'0.00',
TO_DATE(fac_imp_csv_col22,'DD-MM-YYYY'),
TO_DATE(fac_imp_csv_col23,'DD-MM-YYYY'),
fac_imp_csv_col24
FROM fac_imp_csv
WHERE fac_import_key = p_import_key;
EXCEPTION
WHEN OTHERS THEN
v_errorhint := v_errormsg || ' - ' || v_aanduiding;
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
v_errormsg := 'error ' || oracle_err_num || '/' || oracle_err_mes;
fac.imp_writelog (p_import_key,
'E',
v_errormsg,
v_errorhint);
END;
/
CREATE OR REPLACE PROCEDURE TDNL_UPDATE_VERBRUIKSOBJ (p_import_key IN NUMBER)
AS
BEGIN
fac_update_ins(p_import_key);
-- De csv tabel opruimen
DELETE
FROM fac_imp_csv
WHERE fac_import_key = p_import_key;
END;
/
CREATE OR REPLACE PROCEDURE TDNL_IMPORT_VERBRUIKSWAARDES (p_import_key IN NUMBER)
AS
BEGIN
fac_import_genericcsv(p_import_key);
END;
/
CREATE OR REPLACE PROCEDURE TDNL_UPDATE_VERBRUIKSWAARDES (p_import_key IN NUMBER)
AS
CURSOR c
IS
SELECT fac_imp_csv_key fac_imp_csv_key,
fac_imp_csv_col01 ins_deel_omschrijving,
fac_imp_csv_col02 kenmerk_waarde,
fac_imp_csv_col03 kenmerk_aanmaakdatum,
fac_imp_csv_col04 kenmerk_verwijderdatum
from fac_imp_csv
WHERE fac_import_key = p_import_key
ORDER BY fac_imp_csv_index;
v_errormsg VARCHAR2 (1000);
v_errorhint VARCHAR2 (1000);
v_aanduiding VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_error NUMBER;
v_count NUMBER;
v_counter NUMBER;
v_records NUMBER;
v_ins_kenmerk_key NUMBER;
v_ins_deel_key NUMBER;
v_kenmerk_aanmaakdatum DATE;
v_kenmerk_verwijderdatum DATE;
BEGIN
v_records:=0;
v_counter:=0;
v_aanduiding := 'Kenmerk key voor Meterstand niet gevonden';
SELECT ins_kenmerk_key INTO v_ins_kenmerk_key
FROM ins_kenmerk ik
WHERE ik.ins_kenmerk_code='METERSTAND' AND ik.ins_kenmerk_verwijder IS NULL;
IF v_ins_kenmerk_key>0 THEN
FOR rec IN c
LOOP
IF v_counter>0 THEN --- De header lezen we niet in
-- gaan we eerst het object opzoeken als de ins_deel_omschrijving anders dan de vorige
v_aanduiding:= 'Object met omschrijving '||rec.ins_deel_omschrijving||' is niet gevonden';
SELECT i.ins_deel_key INTO v_ins_deel_key
FROM ins_deel i
WHERE i.ins_deel_omschrijving=rec.ins_deel_omschrijving
AND i.ins_deel_verwijder IS NULL
;
v_kenmerk_aanmaakdatum:= TO_DATE(rec.kenmerk_aanmaakdatum,'DD-MM-YYYY HH24:MI:SS');
v_kenmerk_verwijderdatum:=TO_DATE(rec.kenmerk_verwijderdatum,'DD-MM-YYYY HH24:MI:SS');
v_aanduiding:= '1-Fout bij wegschrijven van Meterstand voor object '||rec.ins_deel_omschrijving||'-'||v_ins_deel_key||' met waarde '||rec.kenmerk_waarde;
-- KIJKEN OF ER AL EEN KENMERK IS op de deel_key, kenmerk-key en aanmaak datum en verwijder datum
SELECT COUNT(*) INTO v_count
FROM ins_kenmerkdeel
WHERE ins_deel_key=v_ins_deel_key
AND ins_kenmerk_key=v_ins_kenmerk_key
AND ins_kenmerkdeel_aanmaak = v_kenmerk_aanmaakdatum
AND ins_kenmerkdeel_verwijder=v_kenmerk_verwijderdatum
AND ins_kenmerkdeel_waarde=rec.kenmerk_waarde;
IF v_count=0 AND v_ins_deel_key >0 THEN
INSERT INTO ins_kenmerkdeel (ins_deel_key,
ins_kenmerk_key,
ins_kenmerkdeel_aanmaak,
ins_kenmerkdeel_verwijder,
ins_kenmerkdeel_waarde)
VALUES (v_ins_deel_key,
v_ins_kenmerk_key,
v_kenmerk_aanmaakdatum,
v_kenmerk_verwijderdatum,
rec.kenmerk_waarde);
v_records:=v_records+1;
END IF;
ELSE
v_counter:=v_counter+1;
END IF;
END LOOP;
END IF;
fac.imp_writelog (p_import_key,
'S',
'Er zijn '||v_records||' regels aan ins_Kenmerkdeel toegeovegd',
'');
-- Nu de csv data weer verwijderen
DELETE FROM fac_imp_csv
WHERE fac_import_key = p_import_key;
EXCEPTION
WHEN OTHERS THEN
v_errorhint := v_errormsg || ' - ' || v_aanduiding;
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
v_errormsg := 'error ' || oracle_err_num || '/' || oracle_err_mes;
fac.imp_writelog (p_import_key,
'E',
v_errormsg,
v_errorhint);
END;
/
-- Import meldingen uit CONN omgeveing
CREATE OR REPLACE PROCEDURE TDNL_IMPORT_MELDINGEN(p_import_key IN NUMBER)
AS
BEGIN
fac_import_genericcsv(p_import_key);
END;
/
CREATE OR REPLACE PROCEDURE TDNL_UPDATE_MELDINGEN(p_import_key IN NUMBER)
AS
CURSOR c
IS
SELECT fac_imp_csv_col01 mld_melding_key,
fac_imp_csv_col02 alg_locatie_code,
fac_imp_csv_col03 alg_ruimte_nr,
fac_imp_csv_col04 mld_stdmelding,
TO_DATE(fac_imp_csv_col05,'DD-MM-YYYY HH24:MI:SS') mld_datum,
TO_DATE(fac_imp_csv_col06,'DD-MM-YYYY HH24:MI:SS') mld_afmelddatum,
fac_imp_csv_col07 mld_uitvoertijd,
fac_imp_csv_col08 mld_uitvoertijd_eenheid,
fac_imp_csv_col09 mld_onderwerp,
fac_imp_csv_col10 mld_status_key,
fac_imp_csv_col11 prs_aanvrager_email,
fac_imp_csv_col12 prs_behandelaar_email,
fac_imp_csv_col13 kostenplaats_code,
fac_imp_csv_col14 mld_omschrijving
from fac_imp_csv
WHERE fac_import_key = p_import_key;
v_locatie_key NUMBER;
v_ruimte_key NUMBER;
v_aanvrager_key NUMBER;
v_behandelaar_key NUMBER;
v_stdmelding_key NUMBER;
v_kostenplaats_key NUMBER;
v_mld_meldbron_key NUMBER;
v_error NUMBER;
v_mldkey NUMBER;
BEGIN
v_stdmelding_key := 1; -- standaard worden alle migratie meldingen op de stdmelding overig gezet
v_mld_meldbron_key :=5;
FOR rec IN c
LOOP
BEGIN
SELECT alg_locatie_key INTO v_locatie_key
FROm alg_locatie l
WHERE l.alg_locatie_code = rec.alg_locatie_code;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
-- wat wordt de fall back locatie
v_error:=1;
v_locatie_key:=0;
END;
BEGIN
SELECT a.alg_ruimte_key INTO v_ruimte_key
FROm alg_v_ruimte_gegevens_all a
WHERE a.alg_locatie_key = v_locatie_key
AND a.ALG_RUIMTE_NR = rec.alg_ruimte_nr;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
-- wat wordt de fall back locatie
v_error:=1;
v_ruimte_key:=0;
END;
BEGIN
SELECT prs_perslid_key into v_behandelaar_key
FROM prs_perslid
WHERE prs_perslid_email = rec.prs_behandelaar_email;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
-- Wat wordt de fallback aanvrager
v_error:=1;
v_aanvrager_key:=0;
END;
BEGIN
SELECT prs_perslid_key into v_aanvrager_key
FROM prs_perslid
WHERE prs_perslid_email = rec.prs_aanvrager_email;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
-- wat wordt de fallvback behandelaar
v_error:=1;
v_aanvrager_key:=0;
END;
BEGIN
SELECT prs_kostenplaats_key into v_kostenplaats_key
FROM prs_kostenplaats
WHERE prs_KOSTENPLAATS_NR = rec.kostenplaats_code;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
-- wat wordt de fallvback behandelaar
v_error:=0;
v_kostenplaats_key:=0;
END;
IF v_error=0 THEN
INSERT INTO mld_melding (mld_melding_module,
mld_meldbron_key,
mld_alg_locatie_key,
mld_alg_onroerendgoed_keys,
mld_melding_datum,
mld_melding_onderwerp,
mld_melding_omschrijving,
mld_melding_behandelaar_key,
mld_melding_behandelaar2_key,
mld_stdmelding_key,
mld_melding_t_uitvoertijd,
mld_melding_einddatum,
prs_perslid_key,
prs_perslid_key_voor,
mld_melding_status,
mld_melding_spoed,
MLD_MELDING_EXTERNNR)
VALUES ('MLD',
v_mld_meldbron_key,
v_locatie_key,
NULL,
rec.mld_datum,
rec.mld_onderwerp,
rec.mld_omschrijving,
v_behandelaar_key, -- mld_melding_behandelaar_key
NULL, -- mld_melding_behandelaar2_key
v_stdmelding_key,
MLD_T_UITVOERTIJD(rec.mld_uitvoertijd,rec.mld_uitvoertijd_eenheid),
rec.mld_afmelddatum,
v_aanvrager_key,
v_aanvrager_key,
rec.mld_status_key,
3,
rec.mld_melding_key
)
RETURNING mld_melding_key
INTO v_mldkey;
INSERT INTO mld_melding_note (mld_melding_key,
mld_melding_note_aanmaak,
mld_melding_note_wijzigdatum,
prs_perslid_key,
mld_melding_note_omschrijving,
mld_melding_note_flag)
VALUES (v_mldkey,
rec.mld_datum,
SYSDATE,
NULL, -- Facilitor
'Migratie melding van Meldingnr ' || rec.mld_melding_key,
0);
END IF;
END LOOP;
-- Nu de csv data weer verwijderen
DELETE
FROM fac_imp_csv
WHERE fac_import_key = p_import_key;
END;
/
-- EINDE meldingen import
-- Import tracking
CREATE OR REPLACE PROCEDURE TDNL_IMPORT_TRACKING(p_import_key IN NUMBER)
AS
BEGIN
fac_import_genericcsv(p_import_key);
END;
/
CREATE OR REPLACE PROCEDURE TDNL_UPDATE_TRACKING(p_import_key IN NUMBER)
AS
CURSOR c
IS
SELECT fac_imp_csv_col01 module,
fac_imp_csv_col02 entity_id,
fac_imp_csv_col03 fac_tracking_oms,
fac_imp_csv_col04 fac_srtnotificatie_key,
fac_imp_csv_col05 fac_tracking_datum,
fac_imp_csv_col06 prs_perslid_email,
fac_imp_csv_col07 prs_perslid_oslogin
from fac_imp_csv
WHERE fac_import_key = p_import_key;
v_errormsg VARCHAR2 (1000);
v_errorhint VARCHAR2 (1000);
v_aanduiding VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_error NUMBER;
v_count NUMBER;
v_entity_key NUMBER;
v_prs_perslid_key NUMBER;
BEGIN
FOR rec in c
LOOP
BEGIN
v_errormsg:='Ophalen van '||rec.module||' met key '||rec.entity_id||' is mislukt';
IF rec.module='CNT'
THEN
SElect cnt_contract_key into v_entity_key
FROM cnt_contract c
where c.cnt_contract_nummer=rec.entity_id
AND c.cnt_contract_verwijder IS NULL;
ELSIF rec.module='INS'
THEN
SELECT ins_deel_key
INTO v_entity_key
FROM ins_deel i
WHERE i.ins_deel_omschrijving=rec.entity_id
AND i.ins_deel_verwijder IS NULL;
END IF;
v_errormsg:='Ophalen van '||rec.prs_perslid_email||'/'||rec.prs_perslid_oslogin||' is mislukt';
SELECT prs_perslid_key
into v_prs_perslid_key
FROM prs_perslid p
where p.prs_perslid_email=rec.prs_perslid_email
OR p.prs_perslid_oslogin=rec.prs_perslid_oslogin;
INSERT INTO fac_tracking( fac_tracking_refkey,
fac_tracking_oms,
fac_srtnotificatie_key,
fac_tracking_datum,
prs_perslid_key)
VALUES( v_entity_key,
rec.fac_tracking_oms,
rec.fac_srtnotificatie_key,
rec.fac_tracking_datum,
v_prs_perslid_key);
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_error:=1;
fac.imp_writelog (p_import_key,
'E',
v_errormsg,
v_errorhint);
END;
END LOOP;
-- Nu de csv data weer verwijderen
DELETE
FROM fac_imp_csv
WHERE fac_import_key = p_import_key;
END;
/
-- EINDE IMPORT MELDINGEN
-- IMPORT Opdrachten
CREATE OR REPLACE PROCEDURE TDNL_IMPORT_OPDRACHTEN(p_import_key IN NUMBER)
AS
BEGIN
fac_import_genericcsv(p_import_key);
END;
/
CREATE OR REPLACE PROCEDURE TDNL_UPDATE_OPDRACHTEN(p_import_key IN NUMBER)
AS
CURSOR opd
IS
SELECT *
FROM fac_imp_csv f
WHERE f.fac_import_key = p_import_key;
v_date DATE;
BEGIN
-- Om wat voor melding gaat het,
-- Welk opdracht type is het,
-- Welke relatie is het,
-- Wat is de discipline key van de Overig vakgroep (mld_opdr_discipline_key)
SELECT SYSDATE INTO v_date FROM DUAL;
-- Nu de csv data weer verwijderen
DELETE FROM fac_imp_csv
WHERE fac_import_key = p_import_key;
END;
/
-- EINDE IMPORT OPDRACHTEN
-- Import taken uit CONN omgeving
CREATE OR REPLACE PROCEDURE TDNL_IMPORT_TAKEN(p_import_key IN NUMBER)
AS
BEGIN
fac_import_genericcsv(p_import_key);
END;
/
CREATE OR REPLACE PROCEDURE TDNL_UPDATE_TAKEN(p_import_key IN NUMBER)
AS
CURSOR c
IS
SELECT fac_imp_csv_col02 ins_deel_omschrijving,
fac_imp_csv_col03 ins_deel_aanmtal,
fac_imp_csv_col04 ins_deel_aanmaak,
fac_imp_csv_col05 ins_discipline,
fac_imp_csv_col06 ins_groep,
fac_imp_csv_col07 ins_srtdeel_code,
fac_imp_csv_col08 ins_srtdeel,
fac_imp_csv_col09 ins_srtcontrole_key,
fac_imp_csv_col10 ins_srtcontrole_omschrijving,
fac_imp_csv_col11 ins_srtcontrole_niveau,
fac_imp_csv_col13 ctr_disipline_omschrijving,
fac_imp_csv_col14 ins_srtcontrole_cyclus,
fac_imp_csv_col15 ins_srtcontrole_eenheid,
fac_imp_csv_col16 ins_srtcontrole_eenheid_key,
fac_imp_csv_col17 ins_deelsrtcontrole_key,
fac_imp_csv_col18 ins_deelsrtcotrole_datum,
fac_imp_csv_col20 ins_deelsrtcotrole_nextdatum,
fac_imp_csv_col21 ins_deelsrtcotrole_status_key,
fac_imp_csv_col23 ins_deelsrtcontrole_opm,
fac_imp_csv_col24 prs_perslid_oslogin,
fac_imp_csv_col25 prs_perslid_email
from fac_imp_csv
WHERE fac_import_key = p_import_key;
v_errormsg VARCHAR2 (1000);
v_errorhint VARCHAR2 (1000);
v_aanduiding VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_error NUMBER;
v_count NUMBER;
v_ins_deel_key NUMBER;
v_ins_srtdeel_key NUMBER;
v_ins_srtcontrole_key NUMBER;
v_srtcontrole_level NUMBER;
v_srtcontrole_percentage NUMBER;
v_srtcontrole_omschrijving VARCHAR2(60);
v_taak_cyclus NUMBER;
v_taak_eenheid NUMBER;
v_taakcat_key NUMBER;
v_taak_datum DATE;
v_prs_perslid_key NUMBER;
BEGIN
v_count:=0;
FOR rec IN c
LOOP
v_error:=0;
v_count:=v_count+1;
v_errormsg:='Object '||rec.ins_deel_omschrijving|| ' niet gevonden.';
BEGIN
SELECT i.ins_deel_key, i.ins_srtdeel_key
INTO v_ins_deel_key, v_ins_srtdeel_key
FROM ins_deel i
WHERE i.ins_deel_omschrijving=rec.ins_deel_omschrijving;
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_error:=1;
fac.imp_writelog (p_import_key,
'E',
v_errormsg,
v_errorhint);
END;
v_errormsg:='Taak categorie '||rec.ctr_disipline_omschrijving|| ' niet gevonden.';
BEGIN
SELECT ins_discipline_key
INTO v_taakcat_key
FROM ctr_v_aanwezigdiscipline
WHERE UPPER(ins_discipline_omschrijving) = UPPER(rec.ctr_disipline_omschrijving)
AND ins_discipline_module='CTR'
AND ins_discipline_verwijder IS NULL;
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_error:=1;
fac.imp_writelog (p_import_key,
'E',
v_errormsg,
v_errorhint);
END;
v_errormsg:='Persoon '||rec.prs_perslid_email||'/'||rec.prs_perslid_oslogin||' niet gevonden.';
BEGIN
SELECT p.prs_perslid_key
INTO v_prs_perslid_key
FROM prs_perslid p
WHERE p.prs_perslid_email = rec.prs_perslid_email
OR p.prs_perslid_oslogin= rec.prs_perslid_oslogin;
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_error:=1;
fac.imp_writelog (p_import_key,
'E',
v_errormsg,
v_errorhint);
END;
IF (v_error=0)
THEN
v_srtcontrole_level := 10;
v_srtcontrole_percentage:=0;
v_srtcontrole_omschrijving:= rec.ins_srtcontrole_omschrijving;
v_taak_cyclus := fac.safe_to_number(rec.ins_srtcontrole_cyclus);
v_taak_eenheid := fac.safe_to_number(rec.ins_srtcontrole_eenheid_key);
IF INSTR(rec.ins_deelsrtcotrole_datum,':') > 0
THEN
v_taak_datum := fac.safe_to_date(rec.ins_deelsrtcotrole_datum,'DD-MM-YYYY HH24:MI');
ELSE
v_taak_datum := fac.safe_to_date(rec.ins_deelsrtcotrole_datum,'DD-MM-YYYY');
END IF;
IF v_taak_cyclus=0 THEN
v_taak_cyclus:=99;
END IF;
v_errormsg:= 'Soorttaak is niet gevonden';
-- Hebben we al een srtcontrole onder dit objectsoort en deze omschrijving ?
BEGIN
SELECT isc.ins_srtcontrole_key
INTO v_ins_srtcontrole_key
FROM ins_srtcontrole isc
WHERE isc.ins_srtcontrole_omschrijving = rec.ins_srtcontrole_omschrijving
AND isc.ins_Srtcontrole_periode = v_taak_cyclus
AND ins_srtcontrole_eenheid = v_taak_eenheid
AND ins_srtcontrole_level=v_srtcontrole_level
AND isc.ins_srtcontrole_niveau='S';
INSERT INTO ins_deelsrtcontrole(
ins_deel_key,
ins_srtcontrole_key,
ins_deelsrtcontrole_datum,
ins_deelsrtcontrole_datum_org,
ins_controlemode_key,
prs_perslid_key,
ins_deelsrtcontrole_status,
ins_scenario_key,
ins_deelsrtcontrole_opmerking)
VALUES(
v_ins_deel_key,
v_ins_srtcontrole_key,
v_taak_datum,
v_taak_datum,
10,
v_prs_perslid_key,
6,
1,
rec.ins_deelsrtcontrole_opm);
EXCEPTION
WHEN NO_DATA_FOUND
THEN
v_errorhint := 'Aanmaken srtcontrole';
fac.imp_writelog (p_import_key,
'W',
v_count||'-'||v_taak_cyclus,
v_errorhint);
-- nu moet we een ins_srtcontrole aanmaken
INSERT INTO ins_srtcontrole (
ins_srtinstallatie_key,
ins_srtcontrole_niveau,
ins_srtcontrole_omschrijving,
ctr_discipline_key,
ins_Srtcontrole_periode,
ins_srtcontrole_eenheid,
ins_srtcontrole_level
)
VALUES (
v_ins_srtdeel_key,
'S',
v_srtcontrole_omschrijving,
v_taakcat_key,
v_taak_cyclus,
v_taak_eenheid,
v_srtcontrole_level
)
RETURNING ins_srtcontrole_key INTO v_ins_srtcontrole_key;
INSERT INTO ins_deelsrtcontrole(
ins_deel_key,
ins_srtcontrole_key,
ins_deelsrtcontrole_datum,
ins_deelsrtcontrole_datum_org,
ins_controlemode_key,
prs_perslid_key,
ins_deelsrtcontrole_status,
ins_scenario_key,
ins_deelsrtcontrole_opmerking)
VALUES(
v_ins_deel_key,
v_ins_srtcontrole_key,
v_taak_datum,
v_taak_datum,
10,
v_prs_perslid_key,
6,
1,
rec.ins_deelsrtcontrole_opm);
END;
END IF;
END LOOP;
-- Nu de csv data weer verwijderen
DELETE FROM fac_imp_csv
WHERE fac_import_key = p_import_key;
EXCEPTION
WHEN OTHERS THEN
v_errorhint := v_errormsg || ' - ' || v_aanduiding;
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
v_errormsg := 'error ' || oracle_err_num || '/' || oracle_err_mes;
fac.imp_writelog (p_import_key,
'E',
v_errormsg,
v_errorhint);
END;
/
-- Oprognose import MJOB
CREATE OR REPLACE PROCEDURE TDNL_IMPORT_ASSETS_INI(p_import_key IN NUMBER)
AS
c_fielddelimitor VARCHAR2 (1) := ';';
v_newline VARCHAR2 (4000); -- Input line
v_errormsg VARCHAR2 (1000);
v_errorhint VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
header_is_valid NUMBER;
v_count NUMBER;
v_ongeldig NUMBER (1);
v_mode NUMBER (1);
v_aanduiding VARCHAR2 (200);
v_all_null BOOLEAN;
v_count_error NUMBER (10);
v_count_tot NUMBER (10);
v_count_import NUMBER (10);
-- De importvelden:
v_alg_ruimte_nr VARCHAR2(100);
v_gebouw_code VARCHAR2(100);
v_ins_discipline_txt VARCHAR2(100);
v_ins_discipline_omschrijving VARCHAR2(100);
d_ins_discipline_omschrijving VARCHAR2(100);
v_ins_srtgroep_code VARCHAR2(100);
v_ins_srtgroep_omschrijving VARCHAR2(100);
d_ins_srtgroep_omschrijving VARCHAR2(100);
v_ins_srtdeel_code VARCHAR2(100);
v_ins_srtdeel_omschrijving VARCHAR2(100);
d_ins_srtdeel_omschrijving VARCHAR2(100);
v_ins_deel_txt VARCHAR2(100);
v_ins_deel_code VARCHAR2(100);
v_ins_deel_eenheid VARCHAR2(100);
v_ins_deel_omschrijving VARCHAR2(100);
v_ins_deel_opmerking VARCHAR2(1000);
v_ins_deel_component VARCHAR2(1000);
v_ins_srtcontrole_periode_txt VARCHAR2(100);
v_ins_srtcontrole_prijs_txt VARCHAR2(100);
v_ins_deel_percentage NUMBER;
v_ins_srtcontrole_periode NUMBER;
v_kenmerk1 VARCHAR2(1000);
v_kenmerk2 VARCHAR2(1000);
v_kenmerk3 VARCHAR2(1000);
v_kenmerk4 VARCHAR2(1000);
v_kenmerk5 VARCHAR2(1000);
v_kenmerk6 VARCHAR2(1000);
v_kenmerk7 VARCHAR2(1000);
v_kenmerk8 VARCHAR2(1000);
v_kenmerk9 VARCHAR2(1000);
v_kenmerk10 VARCHAR2(1000);
v_kenmerk11 VARCHAR2(1000);
v_kenmerk12 VARCHAR2(1000);
v_kenmerk13 VARCHAR2(1000);
v_kenmerk14 VARCHAR2(1000);
v_kenmerk15 VARCHAR2(1000);
v_kenmerk16 VARCHAR2(1000);
v_kenmerk17 VARCHAR2(1000);
v_kenmerk18 VARCHAR2(1000);
v_kenmerk19 VARCHAR2(1000);
v_dumm NUMBER (10,2);
v_ins_deel_aanmaak_text VARCHAR2(10);
v_ins_deel_aanmaak DATE;
v_ins_deel_startjaar DATE;
v_ins_deel_aantal_text VARCHAR2(20);
v_ins_deel_aantal NUMBER;
v_ins_srtcontrole_prijs NUMBER(10,2);
v_alg_locatie_code VARCHAR2(20);
v_alg_gebouw_code VARCHAR2(20);
v_alg_verdieping_volgnr NUMBER;
v_srtk_code_rvb_key NUMBER;
v_srtk_opm_key NUMBER;
v_srtk_merk_key NUMBER;
v_discipline_key NUMBER;
v_srtgroep_key NUMBER;
v_startjaar NUMBER;
v_cyclus NUMBER;
v_error NUMBER:=0;
v_objectcount NUMBER:=0;
v_volgnr VARCHAR2(5);
CURSOR c
IS
SELECT *
FROM fac_imp_file
WHERE fac_import_key = p_import_key
ORDER BY fac_imp_file_index;
CURSOR nlsfb_dis
IS
SELECT '1-Onderbouw' ins_omsch FROM DUAL
UNION
SELECT '2-Ruwbouw' ins_omsch FROM DUAL
UNION
SELECT '3-Afbouw' ins_omsch FROM DUAL
UNION
SELECT '4-Afwerkingen' ins_omsch FROM DUAL
UNION
SELECT '5-Installaties werktuigbouwkundig' ins_omsch FROM DUAL
UNION
SELECT '6-Installaties elektrotechnisch' ins_omsch FROM DUAL
UNION
SELECT '7-Vaste voorzieningen' ins_omsch FROM DUAL
UNION
SELECT '8-Losse gebruiks inventaris' ins_omsch FROM DUAL
UNION
SELECT '9-Terrein' AS ins_omsch FROM DUAL
UNION
SELECT '0-Indirecte projectvoorzieningen' AS ins_omsch FROM DUAL;
CURSOR nlsfb_grp
IS
SELECT '11-bodemvoorzieningen' groep FROM DUAL
UNION
SELECT '13-vloeren op grondslag' groep FROM DUAL
UNION
SELECT '16-funderingsconstructie' groep FROM DUAL
UNION
SELECT '17-paalfundering' groep FROM DUAL
UNION
SELECT '19-onderhoud algemeen' groep FROM DUAL
UNION
SELECT '21-buitenwanden' groep FROM DUAL
UNION
SELECT '22-binnenwanden' FROM DUAL
UNION
SELECT '23-vloeren, galerijen' FROM DUAL
UNION
SELECT '24-trappen en hellingen' FROM DUAL
UNION
SELECT '25-binnenzijde gevelconstructie' FROM DUAL
UNION
SELECT '26-vloerconstructie' FROM DUAL
UNION
SELECT '27-daken' FROM DUAL
UNION
SELECT '28-hoofddraagkonstrukties' FROM DUAL
UNION
SELECT '29-draagconstructie' FROM DUAL
UNION
SELECT '31-buitenwandopeningen' FROM DUAL
UNION
SELECT '32-binnenwandopeningen' FROM DUAL
UNION
SELECT '33-vloeropeningen' FROM DUAL
UNION
SELECT '34-balustrades en leuningen' FROM DUAL
UNION
SELECT '35-plafonds' FROM DUAL
UNION
SELECT '37-dakopeningen' FROM DUAL
UNION
SELECT '38-inbouwpakketten' FROM DUAL
UNION
SELECT '39-afbouw' FROM DUAL
UNION
SELECT '41-buitenwandafwerkingen' FROM DUAL
UNION
SELECT '42-binnenwandafwerkingen' FROM DUAL
UNION
SELECT '43-vloerafwerkingen' FROM DUAL
UNION
SELECT '44-trap- en hellingafwerkingen' FROM DUAL
UNION
SELECT '45-plafondafwerkingen' FROM DUAL
UNION
SELECT '46-schilderwerk' FROM DUAL
UNION
SELECT '47-dakafwerkingen' FROM DUAL
UNION
SELECT '48-afwerkingspakketten' FROM DUAL
UNION
SELECT '49-afwerking algemeen' FROM DUAL
UNION
SELECT '51-warmte-opwekking' FROM DUAL
UNION
SELECT '52-afvoeren' FROM DUAL
UNION
SELECT '53-water' FROM DUAL
UNION
SELECT '54-gas' FROM DUAL
UNION
SELECT '55-koude-opwekking' FROM DUAL
UNION
SELECT '56-warmtedistributie' FROM DUAL
UNION
SELECT '57-luchtbehandeling' FROM DUAL
UNION
SELECT '58-regeling klimaat en sanitair' FROM DUAL
UNION
SELECT '59-mechanische installaties' FROM DUAL
UNION
SELECT '61-centrale elektrotechnische voorzieningen' FROM DUAL
UNION
SELECT '62-kracht' FROM DUAL
UNION
SELECT '63-verlichting' FROM DUAL
UNION
SELECT '64-communicatie' FROM DUAL
UNION
SELECT '65-beveiliging' FROM DUAL
UNION
SELECT '66-transport' FROM DUAL
UNION
SELECT '67-gebouwbeheersysteem' FROM DUAL
UNION
SELECT '69-electrische installaties algemeen' FROM DUAL
UNION
SELECT '71-vaste verkeersvoorzieningen' FROM DUAL
UNION
SELECT '72-vaste gebruikersvoorzieningen' FROM DUAL
UNION
SELECT '73-vaste keukenvoorzieningen' FROM DUAL
UNION
SELECT '74-vaste sanitaire voorzieningen' FROM DUAL
UNION
SELECT '75-vaste onderhoudsvoorzieningen' FROM DUAL
UNION
SELECT '76-vaste opslagvoorzieningen' FROM DUAL
UNION
SELECT '79-vaste inrichtingen' FROM DUAL
UNION
SELECT '80-losse inrichting' FROM DUAL
UNION
SELECT '81-losse inventaris voor verkeersruimten' FROM DUAL
UNION
SELECT '82-losse inventaris voor gebruiksruimten' FROM DUAL
UNION
SELECT '83-losse keukeninventaris' FROM DUAL
UNION
SELECT '84-losse sanitaire inventaris' FROM DUAL
UNION
SELECT '85-losse schoonmaakinventaris' FROM DUAL
UNION
SELECT '86-losse opberginventaris' FROM DUAL
UNION
SELECT '89-losse inventaris' FROM DUAL
UNION
SELECT '90-terrein' FROM DUAL
UNION
SELECT '91-grondvoorzieningen' FROM DUAL
UNION
SELECT '92-opstallen' FROM DUAL
UNION
SELECT '93-omeheiningen' FROM DUAL
UNION
SELECT '94-terreinafwerking' FROM DUAL
UNION
SELECT '95-terreininstallaties, werktuigkundig' FROM DUAL
UNION
SELECT '96-terreininstallaties, elektrotechnisch' FROM DUAL
UNION
SELECT '97-terreininrichting standaard' FROM DUAL
UNION
SELECT '98-terreininrichting bijzonder' FROM DUAL
UNION
SELECT '99-terrein algemeen' FROM DUAL
UNION
SELECT '00-indirecte projectvoorzieningen' FROM DUAL;
BEGIN
v_count_error := 0;
header_is_valid := 0;
v_count_tot := 0;
v_count_import := 0;
v_errormsg := 'Eerts fac_imp_ins opschonen';
DELETE fac_imp_ins;
COMMIT;
v_errormsg := 'Hebben we al NL_SFB disciplines ';
SELECT COUNT(*) into v_count FROM ins_discipline where ins_discipline_omschrijving IN ('0-Algemeen','3-Afbouw');
IF v_count=0 THEN
v_errormsg := 'NLFSB structuur aanlegen';
FOR rec_dis IN nlsfb_dis
LOOP
BEGIN
SELECT ins_discipline_key INTO v_discipline_key FROM ins_discipline where UPPER(ins_discipline_omschrijving)=UPPER(rec_dis.ins_omsch);
EXCEPTION
WHEN NO_DATA_FOUND THEN
INSERT INTO ins_tab_discipline (ins_discipline_omschrijving,
ins_discipline_min_level)
VALUES (rec_dis.ins_omsch, 1)
RETURNING ins_discipline_key
INTO v_discipline_key;
INSERT INTO ins_disc_params (ins_discipline_key,
ins_disc_params_autonum)
VALUES (v_discipline_key, 2);
END;
END LOOP;
END IF;
FOR rec_grp IN nlsfb_grp
LOOP
SELECT ins_discipline_key
INTO v_discipline_key
FROM ins_tab_discipline
WHERE SUBSTR (ins_discipline_omschrijving, 1, 2) =
SUBSTR (rec_grp.groep, 1, 1) || '-';
BEGIN
SELECT ins_srtgroep_key
INTO v_srtgroep_key
FROM ins_srtgroep
WHERE UPPER (ins_srtgroep_omschrijving) = UPPER (rec_grp.groep)
AND ins_discipline_key = v_discipline_key;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
INSERT INTO ins_srtgroep (ins_discipline_key,
ins_srtgroep_omschrijving)
VALUES (v_discipline_key, rec_grp.groep);
END;
END LOOP;
FOR rec IN c
LOOP
BEGIN
V_count_import := v_count_import +1;
v_errormsg := 'Fout FETCH te importeren rij '||v_count_import;
v_error:=0;
v_newline := rec.fac_imp_file_line;
IF v_count_import >1 THEN
v_errormsg := 'Fout opvragen K1 te importeren rij '||v_count_import;
v_aanduiding := '';
v_gebouw_code:='';
-- Lees alle veldwaarden
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 1, v_gebouw_code);
v_errormsg := 'Fout opvragen K3 te importeren rij '||v_count_import;
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 3, v_ins_srtdeel_code);
v_errormsg := 'Fout opvragen K4 te importeren rij '||v_count_import;
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 4, v_ins_deel_opmerking);
v_errormsg := 'Fout opvragen K6 te importeren rij '||v_count_import;
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 6, v_kenmerk1); -- Taak omschrijving
v_errormsg := 'Fout opvragen K8 te importeren rij '||v_count_import;
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 8, v_ins_deel_aantal_text);
v_errormsg := 'Fout opvragen K9 te importeren rij '||v_count_import;
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 9, v_kenmerk2); -- eenheid
v_errormsg := 'Fout opvragen K10 te importeren rij '||v_count_import;
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 10, v_kenmerk3); -- kosten
v_errormsg := 'Fout opvragen K16 te importeren rij '||v_count_import;
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 16, v_kenmerk4); -- startjaar
v_errormsg := 'Fout opvragen K11 te importeren rij '||v_count_import;
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 11, v_kenmerk5); -- cyclus
IF LENGTH(v_gebouw_code) > 0 -- AND UPPER(v_kenmerk1) NOT LIKE 'HERSTELLEN%'
THEN
v_errormsg := 'vervangen , door . '||v_count_import;
v_ins_srtdeel_code := REPLACE(v_ins_srtdeel_code,',','.');
v_errormsg := 'Tekens uit prijs verwijderen '||v_count_import;
v_kenmerk3 := REPLACE(v_kenmerk3,'<EFBFBD> ',''); -- euro teken van prijs halen
v_kenmerk3 := REPLACE(v_kenmerk3,'.',''); -- duizentallen verwijderen
v_kenmerk3 := REPLACE(v_kenmerk3,',','.'); -- , omzetten naar .
-- v_aanduiding := v_ins_deel_omschrijving || '|' || v_kenmerk4;
v_count_tot := v_count_tot + 1;
v_errormsg := 'Fout bij toevoegen te impoteren v_ins_discipline_omschrijving: ' || v_ins_srtdeel_code;
BEGIN
SELECT d.ins_discipline_omschrijving,ins_discipline_key
INTO d_ins_discipline_omschrijving, v_discipline_key
FROM ins_discipline d
WHERE SUBSTR (d.ins_discipline_omschrijving, 1, 1) = SUBSTR (v_ins_srtdeel_code, 1, 1) AND d.ins_discipline_verwijder IS NULL;
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_errormsg:='Fout bij achterhalen discipline';
v_error:=1;
--d_ins_discipline_omschrijving := SUBSTR (v_ins_srtdeel_code, 1, 1) || '-'|| v_ins_discipline_omschrijving;
END;
v_errormsg := 'Fout bij toevoegen te impoteren v_ins_srtgroep_omschrijving: ' || v_ins_srtdeel_code;
d_ins_srtgroep_omschrijving:='';
BEGIN
SELECT sg.ins_srtgroep_omschrijving,ins_srtgroep_key
INTO d_ins_srtgroep_omschrijving,v_srtgroep_key
FROM ins_srtgroep sg
WHERE SUBSTR (sg.ins_srtgroep_omschrijving, 1, 2) = SUBSTR (v_ins_srtdeel_code, 1, 2);
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_errormsg:='Fout bij achterhalen srtgroep';
v_error :=1;
END;
v_errormsg := 'Fout bij toevoegen te impoteren v_ins_srtdeel_omschrijving: ' || v_ins_srtdeel_code ||'('||v_count_import||')';
d_ins_srtdeel_omschrijving:='';
SELECT TRIM(omsch) INTO v_ins_srtdeel_omschrijving FROM tdnl_v_select_nlsfb_grpsoort WHERE code=v_ins_srtdeel_code;
BEGIN
SELECT sd.ins_srtdeel_omschrijving
INTO d_ins_srtdeel_omschrijving
FROM ins_srtdeel sd
WHERE sd.ins_srtdeel_code = v_ins_srtdeel_code
AND sd.ins_srtdeel_verwijder IS NULL;
EXCEPTION
WHEN NO_DATA_FOUND THEN
d_ins_srtdeel_omschrijving := v_ins_srtdeel_omschrijving;
END;
v_errormsg := 'Fout bij toevoegen te impoteren v_alg_ruimte_nr: ' || v_alg_ruimte_nr;
BEGIN
SELECT alg_locatie_code, alg_gebouw_upper, alg_verdieping_code, alg_ruimte_nr
INTO v_alg_locatie_code,v_alg_gebouw_code, v_alg_verdieping_volgnr, v_alg_ruimte_nr
FROM alg_v_ruimte_gegevens where alg_locatie_code=SUBSTR(v_gebouw_code,3,6) AND alg_verdieping_upper='VERDIEPING 0' AND alg_ruimte_nr='_001';
EXCEPTION
WHEN NO_DATA_FOUND
THEN
v_errormsg:= 'Locatie/Gebouw heet geen "Verdieping 0" en RuimteNr "_001"';
v_error:=1;
END;
v_errormsg := '1 Fout bij toevoegen te impoteren startjaar('||v_ins_deel_omschrijving||'): ' || v_kenmerk15;
v_ins_deel_aanmaak := SYSDATE;
v_errormsg := 'Fout bij toevoegen te impoteren v_ins_deel_aantal_txt: ' || v_ins_deel_aantal;
IF v_ins_deel_aantal_text IS NOT NULL
THEN
v_ins_deel_aantal_text := REPLACE(v_ins_deel_aantal_text,'.','');
v_ins_deel_aantal_text := REPLACE(v_ins_deel_aantal_text,',','.');
v_ins_deel_aantal := to_number(v_ins_deel_aantal_text);
ELSE
v_ins_deel_aantal := 1;
END IF;
v_errormsg := '1 Fout bij ophalen ins_deel : '||v_ins_deel_opmerking;
v_ins_deel_omschrijving:='';
v_volgnr:=0;
v_objectcount:=0;
BEGIN
v_errormsg := '2 Fout bij ophalen ins_deel : '||v_ins_deel_opmerking;
SELECT DISTINCT (ins_deel_omschrijving) INTO v_ins_deel_omschrijving
FROM FAC_IMP_INS
WHERE UPPER(ins_deel_opmerking) = UPPER(v_ins_deel_opmerking)
AND alg_locatie_code=SUBSTR(v_gebouw_code,3,6)
AND INS_SRTDEEL_CODE=v_ins_srtdeel_code;
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_errormsg := '3 Fout bij ophalen ins_deel : '||v_ins_deel_opmerking;
SELECT COUNT(*) INTO v_objectCount
FROM (SELECT DISTINCT (ins_deel_omschrijving) FROM FAC_IMP_INS
WHERE alg_locatie_code=SUBSTR(v_gebouw_code,3,6)
AND INS_SRTDEEL_CODE=v_ins_srtdeel_code);
v_volgnr:=v_objectcount+1;
v_ins_deel_omschrijving := SUBSTR(v_gebouw_code,3,6)||'-'||v_ins_srtdeel_code||'-'||v_volgnr;
v_error:=0;
END;
v_errormsg:=' Fout bij toevoegen in fac_imp_ins : '||v_count ;
IF v_error=0 THEN
INSERT INTO fac_imp_ins (ins_discipline_omschrijving,
ins_srtgroep_omschrijving,
ins_srtdeel_code,
ins_srtdeel_omschrijving,
ins_deel_omschrijving,
ins_deel_opmerking,
alg_locatie_code,
alg_gebouw_code,
alg_verdieping_volgnr,
alg_ruimte_nr,
ins_deel_aanmaak,
ins_deel_aantal,
ins_kenmerkwaarde1, -- Taak omschrijving
ins_kenmerkwaarde2, -- eenheid ?
ins_kenmerkwaarde3, -- kosten ?
ins_kenmerkwaarde4, -- startjaar
ins_kenmerkwaarde5,
ins_kenmerkwaarde6) -- cyclus
VALUES (SUBSTR(d_ins_discipline_omschrijving, 1,60),
SUBSTR(d_ins_srtgroep_omschrijving, 1, 60),
SUBSTR(v_ins_srtdeel_code,1,10),
SUBSTR(v_ins_srtdeel_omschrijving, 1, 100),
v_ins_deel_omschrijving,
SUBSTR(v_ins_deel_opmerking, 1, 320),
SUBSTR(v_gebouw_code,3,6),
SUBSTR(v_alg_gebouw_code, 1, 12),
v_alg_verdieping_volgnr,
SUBSTR(v_alg_ruimte_nr,1,20),
v_ins_deel_aanmaak,
to_number(v_ins_deel_aantal),
v_kenmerk1,
v_kenmerk2,
v_kenmerk3,
v_kenmerk4,
v_kenmerk5,
v_count_import);
COMMIT;
ELSE
fac.imp_writelog (p_import_key,
'W',
v_errormsg,
v_errorhint);
END IF;
ELSE
v_errormsg := 'Locatie code '||v_gebouw_code||'-'||v_count_import;
fac.imp_writelog (p_import_key,
'W',
v_errormsg,
v_errorhint);
END IF;
END IF;
EXCEPTION
WHEN OTHERS
THEN
v_errorhint := v_errormsg || ' - ' || v_aanduiding;
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
v_errormsg := 'error ' || oracle_err_num || '/' || oracle_err_mes;
fac.imp_writelog (p_import_key,
'E',
v_errormsg,
v_errorhint);
END;
END LOOP;
EXCEPTION
WHEN OTHERS
THEN
v_errorhint := v_errormsg || ' - ' || v_aanduiding;
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
v_errormsg := 'error ' || oracle_err_num || '/' || oracle_err_mes;
fac.imp_writelog (p_import_key,
'E',
v_errormsg,
v_errorhint);
END;
/
CREATE OR REPLACE PROCEDURE TDNL_UPDATE_ASSETS_INI(p_import_key IN NUMBER)
AS
CURSOR sel IS
SELECT * FROM fac_imp_ins;
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_errormsg VARCHAR2 (200);
v_errorhint VARCHAR2 (200);
v_aanduiding VARCHAR2 (100);
v_deel_key NUMBER;
v_srtdeel_key NUMBER;
v_srtcontrole_key NUMBER;
v_srtcontroledl_xcp_key NUMBER;
v_taakcat_key NUMBER;
v_srtcontrole_omschrijving INS_SRTCONTROLE.INS_SRTCONTROLE_OMSCHRIJVING%TYPE;
v_srtcontrole_periode INS_SRTCONTROLE.INS_SRTCONTROLE_PERIODE%TYPE;
v_srtcontrole_materiaal INS_SRTCONTROLE.INS_SRTCONTROLE_MATERIAAL%TYPE;
v_srtcontrole_percentage INS_SRTCONTROLE.INS_SRTCONTROLE_PERCENTAGE%TYPE;
v_srtcontrole_level INS_SRTCONTROLE.INS_SRTCONTROLE_LEVEL%TYPE;
v_percentage NUMBER;
v_materiaal INS_SRTCONTROLEDL_XCP.INS_SRTCONTROLEDL_XCP_MATERIA%TYPE;
ins_deel_key NUMBER;
ins_srtdeel_key NUMBER;
v_count NUMBER;
v_error NUMBER;
v_taak_cyclus NUMBER;
v_taak_afmeld_date DATE;
v_taak_afmeld_jaar NUMBER;
v_taak_nextyear NUMBER;
v_xcprecords NUMBER;
BEGIN
fac_update_ins(p_import_key);
v_count:=0;
-- LOOP Over alle geimporteerde objecten
FOR rec IN sel
LOOP
v_error:=0;
BEGIN
v_count:=v_count+1;
-- volgens mij is deze niet meer nodig
v_materiaal := FAC.safe_to_number (rec.INS_KENMERKWAARDE3);
-- Haal het object op
v_errorhint := 'Zoek object';
SELECT ins_deel_key, ins_srtdeel_key
INTO v_deel_key, v_srtdeel_key
FROM ins_deel
WHERE ins_deel_omschrijving = rec.ins_deel_omschrijving
AND ins_deel_verwijder IS NULL;
--Haal de taakgroep op
v_errorhint := 'Problemen bij ophalen taakcategorie';
SELECT ins_discipline_key
INTO v_taakcat_key
FROM INS_TAB_DISCIPLINE
WHERE UPPER(ins_discipline_omschrijving) = 'MJOB'
AND ins_discipline_module='CTR'
AND ins_discipline_verwijder IS NULL;
--v_taakcat_key:=2621; -- MJOB
v_taak_cyclus := TO_NUMBER(COALESCE(rec.ins_kenmerkwaarde5,0));
v_taak_nextyear := TO_NUMBER(rec.ins_kenmerkwaarde4);
IF (v_taak_cyclus=0 AND v_taak_nextyear>=2022)
OR (v_taak_cyclus <> 0 AND v_taak_nextyear <> 0)
THEN
BEGIN
IF v_taak_cyclus=1 AND v_taak_nextyear <=2022 THEN
v_taak_afmeld_jaar := 2022;
ELSE
--v_taak_afmeld_jaar := v_taak_nextyear - v_taak_cyclus;
v_taak_afmeld_jaar := v_taak_nextyear;
END IF;
v_taak_afmeld_date := TO_DATE('0101'||v_taak_afmeld_jaar,'ddmmyyyy');
--v_srtcontrole_omschrijving:='';
v_srtcontrole_omschrijving:= SUBSTR(rec.ins_kenmerkwaarde1,0,50);
v_srtcontrole_omschrijving:=v_srtcontrole_omschrijving || '-'|| rec.ins_srtdeel_code;
-- Heb ik deze srtcontrole al
SELECT ins_srtcontrole_key,
ins_srtcontrole_periode,
ins_srtcontrole_materiaal,
ins_srtcontrole_percentage
INTO v_srtcontrole_key,
v_srtcontrole_periode,
v_srtcontrole_materiaal,
v_srtcontrole_percentage
FROM ins_srtcontrole
WHERE ins_srtinstallatie_key = v_srtdeel_key
AND ins_srtcontrole_niveau = 'S'
AND ctr_discipline_key = v_taakcat_key
AND ins_srtcontrole_omschrijving=v_srtcontrole_omschrijving;
IF v_taak_cyclus=0 THEN
v_taak_cyclus:=99;
END IF;
-- Controle of er al een xcp record vor dit ins_del srtcontrole al aanwezig is.
SELECT COUNT(*)
INTO v_xcprecords
FROM ins_srtcontroledl_xcp
WHERE ins_srtcontrole_key=v_srtcontrole_key
AND ins_deel_key=v_deel_key;
IF v_xcprecords=0 THEN
INSERT INTO ins_srtcontroledl_xcp
(ins_srtcontrole_key,
ins_deel_key,
ins_srtcontroledl_xcp_aantal,
ins_srtcontroledl_xcp_eenheid,
ins_srtcontroledl_xcp_periode,
ins_srtcontroledl_xcp_materia,
ins_srtcontroledl_xcp_startdat,
ins_srtcontroledl_xcp_aanteh)
VALUES (v_srtcontrole_key,
v_deel_key,
rec.ins_deel_aantal,
4,
v_taak_cyclus,
v_materiaal,
v_taak_afmeld_date,
rec.ins_kenmerkwaarde2);
END IF;
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_errorhint := 'Bepalen level';
v_srtcontrole_level := 10;
v_srtcontrole_percentage:=0;
v_srtcontrole_omschrijving:= SUBSTR(rec.ins_kenmerkwaarde1,0,50);
v_srtcontrole_omschrijving:=v_srtcontrole_omschrijving || '-'|| rec.ins_srtdeel_code;
IF v_taak_cyclus=0 THEN
v_taak_cyclus:=99;
END IF;
v_errorhint := 'Aanmaken srtcontrole';
fac.imp_writelog (p_import_key,
'W',
v_count||'-'||v_taak_cyclus||-v_taak_nextyear,
v_errorhint);
-- nu moet we een ins_srtcontrole aanmaken
INSERT INTO ins_srtcontrole (
ins_srtinstallatie_key,
ins_srtcontrole_niveau,
ins_srtcontrole_omschrijving,
ctr_discipline_key,
ins_Srtcontrole_periode,
ins_srtcontrole_eenheid,
ins_srtcontrole_level
)
VALUES (
v_srtdeel_key,
'S',
v_srtcontrole_omschrijving,
v_taakcat_key,
0,
4, -- Jaarlijks
v_srtcontrole_level
)
RETURNING ins_srtcontrole_key INTO v_srtcontrole_key;
INSERT INTO ins_srtcontroledl_xcp (
ins_srtcontrole_key,
ins_srtcontroledl_xcp_materia,
ins_srtcontroledl_xcp_periode,
ins_srtcontroledl_xcp_eenheid,
ins_srtcontroledl_xcp_aantal,
ins_deel_key,
ins_srtcontroledl_xcp_startdat,
ins_srtcontroledl_xcp_aanteh)
VALUES (v_srtcontrole_key,
v_materiaal,
v_taak_cyclus,
4,
rec.ins_deel_aantal,
v_deel_key,
v_taak_afmeld_date,
rec.ins_kenmerkwaarde2)
RETURNING ins_srtcontroledl_xcp_key
INTO v_srtcontroledl_xcp_key;
COMMIT;
WHEN OTHERS
THEN
v_errorhint := v_errormsg || ' - ' || v_aanduiding;
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
v_errormsg := 'error ' || oracle_err_num || '/' || oracle_err_mes;
fac.imp_writelog (p_import_key,
'E',
v_count||'-'||rec.ins_deel_omschrijving||'-'||v_errormsg,
v_errorhint);
END;
END IF;
EXCEPTION
WHEN OTHERS
THEN
v_errorhint := v_errormsg || ' - ' || v_aanduiding;
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
v_errormsg := 'error ' || oracle_err_num || '/' || oracle_err_mes;
fac.imp_writelog (p_import_key,
'E',
v_count||'-'||v_errormsg,
v_errorhint);
END;
END LOOP;
END;
/
-- Einde CONN_UPDATE_ASSETS
-- EINDE IMPORTS
-- VIEWS
-- View met alle NL SFB groepen tbv van OPrognose assets import
CREATE OR REPLACE FORCE VIEW TDNL_V_SELECT_NLSFB_GRPSOORT
(
code,
omsch)
AS
SELECT '1110' code,'grond, algemeen (verzamelniveau)' omsch FROM DUAL UNION
SELECT '1111','grond, ontgravingen' FROM DUAL UNION
SELECT '1112','grond, aanvullingen' FROM DUAL UNION
SELECT '1113','grond, sloop- en rooiwerkzaamheden' FROM DUAL UNION
SELECT '1115','grond, damwanden' FROM DUAL UNION
SELECT '1120','water, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '1124','water, bemalingen' FROM DUAL UNION
SELECT '1125','water, damwanden' FROM DUAL UNION
SELECT '1310','niet constructief, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '1311','niet constructief, bodemafsluitingen' FROM DUAL UNION
SELECT '1312','niet constructief, vloeren als gebouwonderdeel' FROM DUAL UNION
SELECT '1313','niet constructief, vloeren als bestrating' FROM DUAL UNION
SELECT '1320','constructief, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '1321','constructief, bodemafsluitingen' FROM DUAL UNION
SELECT '1322','constructief, vloeren als gebouwonderdeel' FROM DUAL UNION
SELECT '1325','constructief, grondverbeteringen' FROM DUAL UNION
SELECT '1610','voeten en balken, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '1611','voeten en balken, fundatie voeten' FROM DUAL UNION
SELECT '1612','voeten en balken, fundatie balken' FROM DUAL UNION
SELECT '1613','voeten en balken, fundatie poeren' FROM DUAL UNION
SELECT '1614','voeten en balken, gevelwanden (-200)' FROM DUAL UNION
SELECT '1615','voeten en balken, grondverbeteringen' FROM DUAL UNION
SELECT '1620','keerwanden, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '1621','keerwanden, grondkerende wanden' FROM DUAL UNION
SELECT '1622','keerwanden, waterkerende wanden' FROM DUAL UNION
SELECT '1623','keerwanden, gevelwanden (-200)' FROM DUAL UNION
SELECT '1625','keerwanden, grondverbeteringen' FROM DUAL UNION
SELECT '1710','niet geheid, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '1711','niet geheid, dragend palen geboord' FROM DUAL UNION
SELECT '1712','niet geheid, dragende palen geschroefd' FROM DUAL UNION
SELECT '1713','niet geheid, trekverankeringen' FROM DUAL UNION
SELECT '1714','niet geheid, pijler-putring-funderingen' FROM DUAL UNION
SELECT '1715','niet geheid, bodeminjecties' FROM DUAL UNION
SELECT '1720','geheid, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '1721','geheid, dragende palen' FROM DUAL UNION
SELECT '1722','geheid, palen ingeheide bekisting' FROM DUAL UNION
SELECT '1723','geheid, trekverankeringen' FROM DUAL UNION
SELECT '1725','geheid, damwanden-funderingen' FROM DUAL UNION
SELECT '2110','niet constructief, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '2111','niet constructief, massieve wanden' FROM DUAL UNION
SELECT '2112','niet constructief, spouwwanden' FROM DUAL UNION
SELECT '2113','niet constructief, systeemwanden' FROM DUAL UNION
SELECT '2114','niet constructief, vlieswanden' FROM DUAL UNION
SELECT '2115','niet constructief, borstweringen' FROM DUAL UNION
SELECT '2116','niet constructief, boeiboorden' FROM DUAL UNION
SELECT '2120','constructief, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '2121','constructief, massieve wanden' FROM DUAL UNION
SELECT '2122','constructief, spouwwanden' FROM DUAL UNION
SELECT '2123','constructief, systeemwanden' FROM DUAL UNION
SELECT '2125','constructief, borstweringen' FROM DUAL UNION
SELECT '2210','niet constructief, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '2211','niet constructief, massieve wanden' FROM DUAL UNION
SELECT '2212','niet constructief, spouwwanden' FROM DUAL UNION
SELECT '2213','niet constructief, systeemwanden vast' FROM DUAL UNION
SELECT '2214','niet constructief, systeemwanden verplaatsbaar' FROM DUAL UNION
SELECT '2220','constructief, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '2221','constructief, massieve wanden' FROM DUAL UNION
SELECT '2222','constructief, spouwwanden' FROM DUAL UNION
SELECT '2223','constructief, systeemwanden vast' FROM DUAL UNION
SELECT '2310','niet constructief, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '2311','niet constructief, vrijdragende vloeren' FROM DUAL UNION
SELECT '2312','niet constructief, balkons' FROM DUAL UNION
SELECT '2313','niet constructief, galerijen' FROM DUAL UNION
SELECT '2314','niet constructief, bordessen' FROM DUAL UNION
SELECT '2315','niet constructief, vloeren t.b.v. technische voorzieningen' FROM DUAL UNION
SELECT '2320','constructief, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '2321','constructief, vrijdragende vloeren' FROM DUAL UNION
SELECT '2322','constructief, balkons' FROM DUAL UNION
SELECT '2323','constructief, galerijen' FROM DUAL UNION
SELECT '2324','constructief, bordessen' FROM DUAL UNION
SELECT '2325','constructief, vloeren t.b.v. technische voorzieningen' FROM DUAL UNION
SELECT '2410','trappen, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '2411','trappen, rechte steektrappen' FROM DUAL UNION
SELECT '2412','trappen, niet-rechte steektrappen' FROM DUAL UNION
SELECT '2413','trappen, spiltrappen' FROM DUAL UNION
SELECT '2415','trappen, bordessen' FROM DUAL UNION
SELECT '2420','hellingen, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '2421','hellingen, beloopbare hellingen' FROM DUAL UNION
SELECT '2422','hellingen, berijdbare hellingen' FROM DUAL UNION
SELECT '2425','hellingen, bordessen' FROM DUAL UNION
SELECT '2430','ladders en klimijzers, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '2431','ladders en klimijzers, ladders' FROM DUAL UNION
SELECT '2432','ladders en klimijzers, klimijzers' FROM DUAL UNION
SELECT '2435','ladders en klimijzers, bordessen' FROM DUAL UNION
SELECT '2710','niet constructief, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '2711','niet constructief, vlakke daken' FROM DUAL UNION
SELECT '2712','niet constructief, hellende daken' FROM DUAL UNION
SELECT '2713','niet constructief, luifels' FROM DUAL UNION
SELECT '2714','niet constructief, overkappingen' FROM DUAL UNION
SELECT '2716','niet constructief, gootconstructies' FROM DUAL UNION
SELECT '2720','constructief, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '2721','constructief, vlakke daken' FROM DUAL UNION
SELECT '2722','constructief, hellende daken' FROM DUAL UNION
SELECT '2723','constructief, luifels' FROM DUAL UNION
SELECT '2724','constructief, overkappingen' FROM DUAL UNION
SELECT '2726','constructief, gootconstructies' FROM DUAL UNION
SELECT '2810','kolommen en liggers, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '2811','kolommen en liggers, kolom-/liggerconstructies' FROM DUAL UNION
SELECT '2812','kolommen en liggers, spanten' FROM DUAL UNION
SELECT '2820','wanden en vloeren, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '2821','wanden en vloeren, wand-/vloerconstructies' FROM DUAL UNION
SELECT '2830','ruimte-eenheden, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '2831','ruimte-eenheden, doosconstructies' FROM DUAL UNION
SELECT '3110','niet gevuld, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '3111','niet gevuld, daglichtopeningen' FROM DUAL UNION
SELECT '3112','niet gevuld, buitenluchtopeningen' FROM DUAL UNION
SELECT '3120','gevuld met ramen, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '3121','gevuld met ramen, gesloten ramen' FROM DUAL UNION
SELECT '3122','gevuld met ramen, ramen draaiend aan een kant' FROM DUAL UNION
SELECT '3123','gevuld met ramen, schuiframen' FROM DUAL UNION
SELECT '3124','gevuld met ramen, ramen draaiend op verticale of horizontale as' FROM DUAL UNION
SELECT '3125','gevuld met ramen, combinatieramen' FROM DUAL UNION
SELECT '3130','gevuld met deuren, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '3131','gevuld met deuren, draaideuren' FROM DUAL UNION
SELECT '3132','gevuld met deuren, schuifdeuren' FROM DUAL UNION
SELECT '3133','gevuld met deuren, tuimeldeuren' FROM DUAL UNION
SELECT '3134','gevuld met deuren, tourniqets' FROM DUAL UNION
SELECT '3140','gevuld met puien, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '3141','gevuld met puien, gesloten puien' FROM DUAL UNION
SELECT '3210','niet gevuld, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '3211','niet gevuld, openingen als doorgang' FROM DUAL UNION
SELECT '3212','niet gevuld, openingen als doorzicht' FROM DUAL UNION
SELECT '3220','gevuld met ramen, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '3221','gevuld met ramen, gesloten ramen' FROM DUAL UNION
SELECT '3222','gevuld met ramen, ramen draaiend aan een kant' FROM DUAL UNION
SELECT '3223','gevuld met ramen, schuiframen' FROM DUAL UNION
SELECT '3224','gevuld met ramen, ramen draaiend op verticale of horizontale as' FROM DUAL UNION
SELECT '3225','gevuld met ramen, combinatieramen' FROM DUAL UNION
SELECT '3230','gevuld met deuren, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '3231','gevuld met deuren, draaideuren' FROM DUAL UNION
SELECT '3232','gevuld met deuren, schuifdeuren' FROM DUAL UNION
SELECT '3233','gevuld met deuren, tuimeldeuren' FROM DUAL UNION
SELECT '3234','gevuld met deuren, tourniqets' FROM DUAL UNION
SELECT '3240','gevuld met puien, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '3241','gevuld met puien, gesloten puien' FROM DUAL UNION
SELECT '3310','niet gevuld, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '3311','niet gevuld, openingen als doorgang' FROM DUAL UNION
SELECT '3312','niet gevuld, openingen als doorzicht' FROM DUAL UNION
SELECT '3320','gevuld, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '3321','gevuld, beloopbare vullingen' FROM DUAL UNION
SELECT '3322','gevuld, niet-beloopbare vullingen' FROM DUAL UNION
SELECT '3410','balustrades, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '3411','balustrades, binnenbalustrades' FROM DUAL UNION
SELECT '3412','balustrades, buitenbalustrades' FROM DUAL UNION
SELECT '3420','leuningen, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '3421','leuningen, binnenleuningen' FROM DUAL UNION
SELECT '3422','leuningen, buitenleuningen' FROM DUAL UNION
SELECT '3431','leuningen, binnentrapleuning hout' FROM DUAL UNION
SELECT '3710','niet gevuld, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '3711','niet gevuld, daglichtopeningen' FROM DUAL UNION
SELECT '3712','niet gevuld, buitenluchtopeningen' FROM DUAL UNION
SELECT '3720','gevuld, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '3721','gevuld, gesloten ramen' FROM DUAL UNION
SELECT '3722','gevuld, ramen draaiend aan <20><>n kant' FROM DUAL UNION
SELECT '3723','gevuld, schuiframen' FROM DUAL UNION
SELECT '3724','gevuld, ramen draaiend op een as' FROM DUAL UNION
SELECT '3725','gevuld, combinatieramen' FROM DUAL UNION
SELECT '3810','algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '3811','inbouwpakketten met te openen delen' FROM DUAL UNION
SELECT '3812','inbouwpakketten met gesloten delen' FROM DUAL UNION
SELECT '4110','algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '4111','afwerklagen' FROM DUAL UNION
SELECT '4112','bekledingen' FROM DUAL UNION
SELECT '4113','voorzetwanden' FROM DUAL UNION
SELECT '4210','algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '4211','afwerklagen' FROM DUAL UNION
SELECT '4212','bekledingen' FROM DUAL UNION
SELECT '4310','verhoogd, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '4311','verhoogd, podiums' FROM DUAL UNION
SELECT '4312','verhoogd, installatievloeren' FROM DUAL UNION
SELECT '4320','niet verhoogd, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '4321','niet verhoogd, afwerklagen' FROM DUAL UNION
SELECT '4322','niet verhoogd, bekledingen' FROM DUAL UNION
SELECT '4323','niet verhoogd, systeemvloerafwerkingen' FROM DUAL UNION
SELECT '4410','trapafwerkingen, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '4411','trapafwerkingen, afwerklagen' FROM DUAL UNION
SELECT '4412','trapafwerkingen, bekledingen' FROM DUAL UNION
SELECT '4413','trapafwerkingen, systeemafwerkingen' FROM DUAL UNION
SELECT '4420','hellingafwerkingen, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '4421','hellingafwerkingen, afwerklagen' FROM DUAL UNION
SELECT '4422','hellingafwerkingen, bekledingen' FROM DUAL UNION
SELECT '4423','hellingafwerkingen, systeemafwerkingen' FROM DUAL UNION
SELECT '4510','verlaagd, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '4511','verlaagd, verlaagde plafonds' FROM DUAL UNION
SELECT '4512','verlaagd, systeem plafonds' FROM DUAL UNION
SELECT '4514','verlaagd, koofconstructies' FROM DUAL UNION
SELECT '4515','verlaagd, gordijnplanken' FROM DUAL UNION
SELECT '4520','niet verlaagd, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '4521','niet verlaagd, afwerkingen' FROM DUAL UNION
SELECT '4522','niet verlaagd, bekledingen' FROM DUAL UNION
SELECT '4523','niet verlaagd, systeemafwerkingen' FROM DUAL UNION
SELECT '4524','niet verlaagd, koofconstructies' FROM DUAL UNION
SELECT '4525','niet verlaagd, gordijnplanken' FROM DUAL UNION
SELECT '4621','buitenschilderwerk, hout' FROM DUAL UNION
SELECT '4622','binnenschilderwerk, spuitwerk' FROM DUAL UNION
SELECT '4624','binnenschilderwerk, trap hout transparant' FROM DUAL UNION
SELECT '4628','binnenschilderwerk, betoncontructie' FROM DUAL UNION
SELECT '4631','buitenschilderwerk, kozijn en raam hout dekkend' FROM DUAL UNION
SELECT '4632','binnenschilderwerk, kozijn en raam staal' FROM DUAL UNION
SELECT '4645','buitenschilderwerk, plafond hout dekkend' FROM DUAL UNION
SELECT '4710','afwerkingen, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '4711','afwerkingen, vlakke dakafwerkingen' FROM DUAL UNION
SELECT '4712','afwerkingen, hellende dakafwerkingen' FROM DUAL UNION
SELECT '4713','afwerkingen, luifel afwerkingen' FROM DUAL UNION
SELECT '4714','afwerkingen, overkappings afwerkingen' FROM DUAL UNION
SELECT '4715','afwerkingen, beloopbare dakafwerkingen' FROM DUAL UNION
SELECT '4716','afwerkingen, berijdbare dakafwerkingen' FROM DUAL UNION
SELECT '4720','bekledingen, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '4721','bekledingen, vlakke bekledingen' FROM DUAL UNION
SELECT '4722','bekledingen, hellende bekledingen' FROM DUAL UNION
SELECT '4723','bekledingen, luifel bekledingen' FROM DUAL UNION
SELECT '4724','bekledingen, overkapping bekledingen' FROM DUAL UNION
SELECT '4725','bekledingen, beloopbare dak bekledingen' FROM DUAL UNION
SELECT '4726','bekledingen, berijdbare dak bekledingen' FROM DUAL UNION
SELECT '4810','algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '4811','naadloze afwerkingen' FROM DUAL UNION
SELECT '4812','overige afwerkingen' FROM DUAL UNION
SELECT '5110','lokaal, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '5111','lokaal, gasvormige brandstoffen' FROM DUAL UNION
SELECT '5112','lokaal, vloeibare brandstoffen' FROM DUAL UNION
SELECT '5113','lokaal, vaste brandstoffen' FROM DUAL UNION
SELECT '5114','lokaal, schoorstenen/kanalen (niet bouwkundig)' FROM DUAL UNION
SELECT '5116','lokaal, gecombineerde tapwaterverwarming' FROM DUAL UNION
SELECT '5119','lokaal, brandstoffenopslag' FROM DUAL UNION
SELECT '5120','centraal, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '5121','centraal, gasvormige brandstoffen' FROM DUAL UNION
SELECT '5122','centraal, vloeibare brandstoffen' FROM DUAL UNION
SELECT '5123','centraal, vaste brandstoffen' FROM DUAL UNION
SELECT '5124','centraal, schoorstenen/kanalen (niet bouwkundig)' FROM DUAL UNION
SELECT '5126','centraal, gecombineerde tapwater verwarming' FROM DUAL UNION
SELECT '5129','centraal, brandstoffenopslag' FROM DUAL UNION
SELECT '5130','toegeleverde warmte, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '5131','toegeleverde warmte, water tot 140<34> C.' FROM DUAL UNION
SELECT '5132','toegeleverde warmte, water boven 140<34> C.' FROM DUAL UNION
SELECT '5133','toegeleverde warmte, stoom' FROM DUAL UNION
SELECT '5136','toegeleverde warmte, gecombineerde tapwaterverwarming' FROM DUAL UNION
SELECT '5140','warmte-krachtkoppeling, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '5141','warmte-krachtkoppeling, total-energy' FROM DUAL UNION
SELECT '5144','warmte-krachtkoppeling, schoorstenen/kanalen (niet bouwkundig)' FROM DUAL UNION
SELECT '5146','warmte-krachtkoppeling, gecombineerde tapwaterverwarming' FROM DUAL UNION
SELECT '5149','warmte-krachtkoppeling, brandstoffenopslag' FROM DUAL UNION
SELECT '5150','bijzonder, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '5151','bijzonder, warmtepomp' FROM DUAL UNION
SELECT '5152','bijzonder, zonnecollectoren' FROM DUAL UNION
SELECT '5153','bijzonder, accumulatie' FROM DUAL UNION
SELECT '5154','bijzonder, aardwarmte' FROM DUAL UNION
SELECT '5155','bijzonder, kernenergie' FROM DUAL UNION
SELECT '5210','regenwater, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '5211','regenwater, afvoerinstallatie in het gebouw' FROM DUAL UNION
SELECT '5212','regenwater, afvoerinstallatie buiten het gebouw' FROM DUAL UNION
SELECT '5216','regenwater, pompsysteem' FROM DUAL UNION
SELECT '5220','fecali<EFBFBD>n, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '5221','fecali<EFBFBD>n, standaard systeem' FROM DUAL UNION
SELECT '5222','fecali<EFBFBD>n, vacu<63>msysteem' FROM DUAL UNION
SELECT '5223','fecali<EFBFBD>n, overdruksysteem' FROM DUAL UNION
SELECT '5226','fecali<EFBFBD>n, pompsysteem' FROM DUAL UNION
SELECT '5230','afvalwater, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '5231','afvalwater, huishoudelijk afval' FROM DUAL UNION
SELECT '5232','afvalwater, bedrijfsafval' FROM DUAL UNION
SELECT '5236','afvalwater, pompsysteem' FROM DUAL UNION
SELECT '5240','gecombineerd, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '5241','gecombineerd, ge<67>ntegreerd systeem' FROM DUAL UNION
SELECT '5246','gecombineerd, pompsysteem' FROM DUAL UNION
SELECT '5250','speciaal, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '5251','speciaal, chemisch verontreinigd afvalwater' FROM DUAL UNION
SELECT '5252','speciaal, biologisch besmet afvalwater' FROM DUAL UNION
SELECT '5253','speciaal, radioactief besmet afvalwater' FROM DUAL UNION
SELECT '5256','speciaal, pompsysteem' FROM DUAL UNION
SELECT '5260','vast vuil, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '5261','vast vuil, stortkokers' FROM DUAL UNION
SELECT '5262','vast vuil, vacu<63>msysteem' FROM DUAL UNION
SELECT '5263','vast vuil, persluchtsysteem' FROM DUAL UNION
SELECT '5264','vast vuil, verdichtingssysteem' FROM DUAL UNION
SELECT '5265','vast vuil, verbrandingssysteem' FROM DUAL UNION
SELECT '5310','drinkwater, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '5311','drinkwater, netaansluiting' FROM DUAL UNION
SELECT '5312','drinkwater, bronaansluiting' FROM DUAL UNION
SELECT '5313','drinkwater, reinwaterkelderaansluiting' FROM DUAL UNION
SELECT '5314','drinkwater, drukverhoging' FROM DUAL UNION
SELECT '5319','drinkwater, opslagtanks' FROM DUAL UNION
SELECT '5320','verwarmd tapwater, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '5321','verwarmd tapwater, direct verwarmd met voorraad' FROM DUAL UNION
SELECT '5322','verwarmd tapwater, indirect verwarmd met voorraad' FROM DUAL UNION
SELECT '5323','verwarmd tapwater, doorstroom direct verwarmd' FROM DUAL UNION
SELECT '5324','verwarmd tapwater, doorstroom indirect verwarmd' FROM DUAL UNION
SELECT '5330','bedrijfswater, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '5331','bedrijfswater, onthard-watersysteem' FROM DUAL UNION
SELECT '5332','bedrijfswater, demi-watersysteem' FROM DUAL UNION
SELECT '5333','bedrijfswater, gedistilleerd-watersysteem' FROM DUAL UNION
SELECT '5334','bedrijfswater, zwembad-watersysteem' FROM DUAL UNION
SELECT '5340','gebruiksstoom en condens, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '5341','gebruiksstoom en condens, lage-druk stoomsysteem' FROM DUAL UNION
SELECT '5342','gebruiksstoom en condens, hoge-druk stoomsysteem' FROM DUAL UNION
SELECT '5344','gebruiksstoom en condens, condens verzamelsysteem' FROM DUAL UNION
SELECT '5350','waterbehandeling, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '5351','waterbehandeling, filtratiesysteem' FROM DUAL UNION
SELECT '5352','waterbehandeling, absorptiesysteem' FROM DUAL UNION
SELECT '5353','waterbehandeling, ontgassingsysteem' FROM DUAL UNION
SELECT '5354','waterbehandeling, destillatiesysteem' FROM DUAL UNION
SELECT '5410','brandstof, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '5411','brandstof, aardgasvoorziening' FROM DUAL UNION
SELECT '5412','brandstof, butaanvoorziening' FROM DUAL UNION
SELECT '5413','brandstof, propaanvoorziening' FROM DUAL UNION
SELECT '5414','brandstof, LPG-voorziening' FROM DUAL UNION
SELECT '5420','perslucht en vacu<63>m, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '5421','perslucht en vacu<63>m, persluchtvoorziening' FROM DUAL UNION
SELECT '5422','perslucht en vacu<63>m, vacu<63>mvoorziening' FROM DUAL UNION
SELECT '5430','medisch, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '5431','medisch, zuurstofvoorziening' FROM DUAL UNION
SELECT '5432','medisch, carbogeenvoorziening' FROM DUAL UNION
SELECT '5433','medisch, lachgasvoorziening' FROM DUAL UNION
SELECT '5434','medisch, koolzuurvoorziening' FROM DUAL UNION
SELECT '5435','medisch, medische luchtvoorziening' FROM DUAL UNION
SELECT '5440','technisch, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '5441','technisch, stikstofvoorziening' FROM DUAL UNION
SELECT '5442','technisch, waterstofvoorziening' FROM DUAL UNION
SELECT '5443','technisch, argonvoorziening' FROM DUAL UNION
SELECT '5444','technisch, heliumvoorziening' FROM DUAL UNION
SELECT '5445','technisch, acetyleenvoorziening' FROM DUAL UNION
SELECT '5446','technisch, propaanvoorziening' FROM DUAL UNION
SELECT '5447','technisch, koolzuurvoorziening' FROM DUAL UNION
SELECT '5450','bijzonder, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '5451','bijzonder, voorziening zuivere gassen' FROM DUAL UNION
SELECT '5452','bijzonder, voorziening menggassen' FROM DUAL UNION
SELECT '5510','lokaal, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '5511','lokaal, raamkoelers' FROM DUAL UNION
SELECT '5512','lokaal, splitsystemen' FROM DUAL UNION
SELECT '5513','lokaal, compactsystemen' FROM DUAL UNION
SELECT '5520','centraal, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '5521','centraal, compressorensystemen' FROM DUAL UNION
SELECT '5522','centraal, absorptiesystemen' FROM DUAL UNION
SELECT '5523','centraal, grondwatersystemen' FROM DUAL UNION
SELECT '5524','centraal, oppervlaktewatersystemen' FROM DUAL UNION
SELECT '5530','distributie, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '5531','distributie, distributiesystemen' FROM DUAL UNION
SELECT '5610','water, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '5611','water, radiatorsystemen' FROM DUAL UNION
SELECT '5612','water, convectorsystemen' FROM DUAL UNION
SELECT '5613','water, vloerverwarmingssystemen' FROM DUAL UNION
SELECT '5620','stoom, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '5621','stoom, radiatorsystemen' FROM DUAL UNION
SELECT '5622','stoom, convectorsystemen' FROM DUAL UNION
SELECT '5624','stoom, stralingspanelen' FROM DUAL UNION
SELECT '5630','lucht, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '5631','lucht, directe distributiesysteem' FROM DUAL UNION
SELECT '5632','lucht, systeem met stralingsoverdracht' FROM DUAL UNION
SELECT '5640','bijzonder, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '5641','bijzonder, zonnewarmtesystemen' FROM DUAL UNION
SELECT '5642','bijzonder, aardwarmtesystemen' FROM DUAL UNION
SELECT '5643','bijzonder, centraal warmtepompsysteem' FROM DUAL UNION
SELECT '5710','natuurlijke ventilatie, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '5711','natuurlijke ventilatie, voorzieningen regelbaar' FROM DUAL UNION
SELECT '5712','natuurlijke ventilatie, voorzieningen niet regelbaar' FROM DUAL UNION
SELECT '5720','lokale mechanische afzuiging, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '5721','lokale mechanische afzuiging, afzuiginstallatie' FROM DUAL UNION
SELECT '5730','centrale mechanische afzuiging, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '5731','centrale mechanische afzuiging, afzuiginstallatie' FROM DUAL UNION
SELECT '5740','lokale mechanische ventilatie, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '5741','lokale mechanische ventilatie, ventilatie-installatie' FROM DUAL UNION
SELECT '5750','centrale mechanische ventilatie, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '5751','centrale mechanische ventilatie, ventilatie-installatie' FROM DUAL UNION
SELECT '5752','centrale mechanische ventilatie, ventilatie-installatie met warmteterugwinning' FROM DUAL UNION
SELECT '5760','lokaal, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '5761','lokaal, luchtbehandelingsinstallatie' FROM DUAL UNION
SELECT '5770','centraal, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '5771','centraal, luchtbehandelingsinstallatie' FROM DUAL UNION
SELECT '5810','specifieke regelingen, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '5811','specifieke regelingen, specifieke regeling' FROM DUAL UNION
SELECT '5812','specifieke regelingen, gecombineerde regeling' FROM DUAL UNION
SELECT '5820','centrale melding, meting en sturing, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '5821','centrale melding, meting en sturing, specifieke regeling' FROM DUAL UNION
SELECT '5822','centrale melding, meting en sturing, gecombineerde regeling' FROM DUAL UNION
SELECT '6110','energie, noodstroom, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '6111','energie, noodstroom, eigen energieopwekking' FROM DUAL UNION
SELECT '6120','aarding, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '6121','aarding, veiligheidsaarding' FROM DUAL UNION
SELECT '6122','aarding, medische aarding' FROM DUAL UNION
SELECT '6123','aarding, speciale aarding' FROM DUAL UNION
SELECT '6124','aarding, statische elektriciteit' FROM DUAL UNION
SELECT '6125','aarding, bliksemafleiding' FROM DUAL UNION
SELECT '6126','aarding, potentiaalvereffening' FROM DUAL UNION
SELECT '6130','kanalisatie, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '6131','kanalisatie, t.b.v. installaties voor hoge spanning' FROM DUAL UNION
SELECT '6132','kanalisatie, t.b.v. installaties voor lage spanning' FROM DUAL UNION
SELECT '6133','kanalisatie, t.b.v. installaties voor communicatie of beveiliging' FROM DUAL UNION
SELECT '6140','energie, hoogspanning, algemeen' FROM DUAL UNION
SELECT '6141','energie, hoogspanning, 1 Kv en hoger' FROM DUAL UNION
SELECT '6150','energie, laagspanning, algemeen' FROM DUAL UNION
SELECT '6151','energie, laagspanning, lager dan 1 Kv en hoger dan 100 V' FROM DUAL UNION
SELECT '6160','energie, zeer lage spanning, algemeen' FROM DUAL UNION
SELECT '6161','energie, zeer lage spanning, lager dan 100 V' FROM DUAL UNION
SELECT '6170','bliksemafleiding, algemeen' FROM DUAL UNION
SELECT '6171','bliksemafleiding' FROM DUAL UNION
SELECT '6210','hoogspanning, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '6211','hoogspanning, 1 t/m 3 Kv' FROM DUAL UNION
SELECT '6212','hoogspanning, boven 3 Kv' FROM DUAL UNION
SELECT '6220','laagspanning, onbewaakt, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '6221','laagspanning, onbewaakt, 220/230 V - 380 V' FROM DUAL UNION
SELECT '6222','laagspanning, onbewaakt, 380 V - 660 V' FROM DUAL UNION
SELECT '6223','laagspanning, onbewaakt, 660 V - 1 Kv' FROM DUAL UNION
SELECT '6230','laagspanning, bewaakt, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '6231','laagspanning, bewaakt, 220/230 V - 380 V' FROM DUAL UNION
SELECT '6232','laagspanning, bewaakt, 380 V - 660 V' FROM DUAL UNION
SELECT '6233','laagspanning, bewaakt, 660 V - 1 kV' FROM DUAL UNION
SELECT '6240','laagspanning, gestabiliseerd, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '6241','laagspanning, gestabiliseerd, 220/230 V - 380 V' FROM DUAL UNION
SELECT '6242','laagspanning, gestabiliseerd, 380 V - 660 V' FROM DUAL UNION
SELECT '6243','laagspanning, gestabiliseerd, 660 V - 1 Kv' FROM DUAL UNION
SELECT '6250','laagspanning, gecompenseerd, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '6251','laagspanning, gecompenseerd, 220/230 V - 380 V' FROM DUAL UNION
SELECT '6252','laagspanning, gecompenseerd, 380 V - 660 V' FROM DUAL UNION
SELECT '6253','laagspanning, gecompenseerd, 660 V - 1 Kv' FROM DUAL UNION
SELECT '6310','standaard, onbewaakt, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '6311','standaard, onbewaakt, 220/230 V' FROM DUAL UNION
SELECT '6312','standaard, onbewaakt, 115 V' FROM DUAL UNION
SELECT '6313','standaard, onbewaakt, 42 V' FROM DUAL UNION
SELECT '6314','standaard, onbewaakt, 24 V' FROM DUAL UNION
SELECT '6320','calamiteiten, decentraal gevoed, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '6323','calamiteiten, decentraal gevoed, 42 V' FROM DUAL UNION
SELECT '6324','calamiteiten, decentraal gevoed, 24 V' FROM DUAL UNION
SELECT '6330','bijzonder, onbewaakt, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '6331','bijzonder, onbewaakt, 220/230 V' FROM DUAL UNION
SELECT '6332','bijzonder, onbewaakt, 115 V' FROM DUAL UNION
SELECT '6333','bijzonder, onbewaakt, 42 V' FROM DUAL UNION
SELECT '6334','bijzonder, onbewaakt, 24 V' FROM DUAL UNION
SELECT '6340','standaard, bewaakt, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '6341','standaard, bewaakt, 220/230 V' FROM DUAL UNION
SELECT '6342','standaard, bewaakt, 115 V' FROM DUAL UNION
SELECT '6343','standaard, bewaakt, 42 V' FROM DUAL UNION
SELECT '6344','standaard, bewaakt, 24 V' FROM DUAL UNION
SELECT '6350','calamiteiten, centraal gevoed, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '6351','calamiteiten, centraal gevoed, 220/230 V' FROM DUAL UNION
SELECT '6352','calamiteiten, centraal gevoed, 115 V' FROM DUAL UNION
SELECT '6353','calamiteiten, centraal gevoed, 42 V' FROM DUAL UNION
SELECT '6354','calamiteiten, centraal gevoed, 24 V' FROM DUAL UNION
SELECT '6360','bijzonder, bewaakt, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '6361','bijzonder, bewaakt, 220/230 V' FROM DUAL UNION
SELECT '6362','bijzonder, bewaakt, 115 V' FROM DUAL UNION
SELECT '6363','bijzonder, bewaakt, 42 V' FROM DUAL UNION
SELECT '6364','bijzonder, bewaakt, 24 V' FROM DUAL UNION
SELECT '6370','reclame, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '6371','reclame, 220/230 V' FROM DUAL UNION
SELECT '6372','reclame, 115 V' FROM DUAL UNION
SELECT '6373','reclame, 42 V' FROM DUAL UNION
SELECT '6374','reclame, 24 V' FROM DUAL UNION
SELECT '6375','reclame, 1 Kv en hoger' FROM DUAL UNION
SELECT '6410','overdracht van signalen, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '6411','overdracht van signalen, algemene signaleringen' FROM DUAL UNION
SELECT '6412','overdracht van signalen, algemene personenoproep' FROM DUAL UNION
SELECT '6413','overdracht van signalen, tijdsignalering' FROM DUAL UNION
SELECT '6414','overdracht van signalen, aanwezigheid-/beletsignalering' FROM DUAL UNION
SELECT '6420','overdracht van geluid/spraak, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '6421','overdracht van geluid/spraak, telefoon' FROM DUAL UNION
SELECT '6422','overdracht van geluid/spraak, intercom' FROM DUAL UNION
SELECT '6423','overdracht van geluid/spraak, radio/mobilofoon' FROM DUAL UNION
SELECT '6424','overdracht van geluid/spraak, geluidsdistributie' FROM DUAL UNION
SELECT '6425','overdracht van geluid/spraak, vertaalsystemen' FROM DUAL UNION
SELECT '6426','overdracht van geluid/spraak, conferentiesystemen' FROM DUAL UNION
SELECT '6430','overdracht van beelden, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '6431','overdracht van beelden, gesloten televisiecircuits' FROM DUAL UNION
SELECT '6432','overdracht van beelden, beeldreproductie' FROM DUAL UNION
SELECT '6433','overdracht van beelden, film/dia/overhead' FROM DUAL UNION
SELECT '6440','overdracht van data, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '6441','overdracht van data, gesloten datanet' FROM DUAL UNION
SELECT '6442','overdracht van data, openbaar datanet' FROM DUAL UNION
SELECT '6450','ge<EFBFBD>ntegreerde systemen, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '6451','ge<EFBFBD>ntegreerde systemen, gesloten netwerken' FROM DUAL UNION
SELECT '6452','ge<EFBFBD>ntegreerde systemen, openbare netwerken' FROM DUAL UNION
SELECT '6460','antenne-inrichtingen, algemeen' FROM DUAL UNION
SELECT '6510','brand, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '6511','brand, detectie en alarmering' FROM DUAL UNION
SELECT '6512','brand, deurvergrendelingen en -ontgrendelingen' FROM DUAL UNION
SELECT '6513','brand, brandbestrijding' FROM DUAL UNION
SELECT '6520','braak, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '6521','braak, detectie en alarmering' FROM DUAL UNION
SELECT '6522','braak, toegangscontrole' FROM DUAL UNION
SELECT '6530','overlast, detectie en alarmering, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '6531','overlast, detectie en alarmering, zonweringsinstallatie' FROM DUAL UNION
SELECT '6532','overlast, detectie en alarmering, elektromagnetische voorzieningen' FROM DUAL UNION
SELECT '6533','overlast, detectie en alarmering, elektromagnetische voorzieningen' FROM DUAL UNION
SELECT '6534','overlast, detectie en alarmering, overspanningsbeveiliging' FROM DUAL UNION
SELECT '6535','overlast, detectie en alarmering, gassenbeveiliging' FROM DUAL UNION
SELECT '6536','overlast, detectie en alarmering, vloeistofbeveiliging' FROM DUAL UNION
SELECT '6537','overlast, detectie en alarmering, stralingsbeveiliging' FROM DUAL UNION
SELECT '6539','overlast, detectie en alarmering, overige beveiligingen' FROM DUAL UNION
SELECT '6540','sociale alarmering, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '6541','sociale alarmering, nooddetectie gesloten systemen' FROM DUAL UNION
SELECT '6542','sociale alarmering, nooddetectie open systemen' FROM DUAL UNION
SELECT '6550','milieu-overlast, detectie en alarmering, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '6610','liften en heftableaus, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '6611','liften en heftableaus, elektrische liften' FROM DUAL UNION
SELECT '6612','liften en heftableaus, hydraulische liften' FROM DUAL UNION
SELECT '6613','liften en heftableaus, trapliften' FROM DUAL UNION
SELECT '6614','liften en heftableaus, heftableaus' FROM DUAL UNION
SELECT '6620','roltrappen en rolpaden, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '6621','roltrappen en rolpaden, roltrappen' FROM DUAL UNION
SELECT '6622','roltrappen en rolpaden, rolpaden' FROM DUAL UNION
SELECT '6630','goederen, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '6631','goederen, goederenliften' FROM DUAL UNION
SELECT '6632','goederen, goederenheffers' FROM DUAL UNION
SELECT '6633','goederen, baantransportmiddelen' FROM DUAL UNION
SELECT '6634','goederen, bandtransportmiddelen' FROM DUAL UNION
SELECT '6635','goederen, baktransportmiddelen' FROM DUAL UNION
SELECT '6636','goederen, hijswerktuigen' FROM DUAL UNION
SELECT '6637','goederen, vrije-baan-transportvoertuigen' FROM DUAL UNION
SELECT '6640','documenten, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '6641','documenten, buizenpost' FROM DUAL UNION
SELECT '6642','documenten, railcontainer banen' FROM DUAL UNION
SELECT '6644','documenten, bandtransportmiddelen' FROM DUAL UNION
SELECT '6710','bediening en signalering, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '6711','bediening en signalering, elektrotechnische systemen' FROM DUAL UNION
SELECT '6712','bediening en signalering, optische systemen' FROM DUAL UNION
SELECT '6713','bediening en signalering, pneumatische systemen' FROM DUAL UNION
SELECT '6714','bediening en signalering, ge<67>ntegreerde systemen' FROM DUAL UNION
SELECT '6720','gebouwautomatisering, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '6721','gebouwautomatisering, elektrotechnische systemen' FROM DUAL UNION
SELECT '6722','gebouwautomatisering, optische systemen' FROM DUAL UNION
SELECT '6723','gebouwautomatisering, pneumatische systemen' FROM DUAL UNION
SELECT '6724','gebouwautomatisering, ge<67>ntegreerde systemen' FROM DUAL UNION
SELECT '6730','regelinstallaties klimaat en sanitair (op afstand), algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '6731','regelinstallaties klimaat en sanitair (op afstand), elektrotechnische systemen' FROM DUAL UNION
SELECT '6732','regelinstallaties klimaat en sanitair (op afstand), optische systemen' FROM DUAL UNION
SELECT '6733','regelinstallaties klimaat en sanitair (op afstand), pneumatische systemen' FROM DUAL UNION
SELECT '6734','regelinstallaties klimaat en sanitair (op afstand), ge<67>ntegreerde systemen' FROM DUAL UNION
SELECT '7110','standaard, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '7111','standaard, meubileringen' FROM DUAL UNION
SELECT '7112','standaard, bewegwijzeringen' FROM DUAL UNION
SELECT '7113','standaard, kunstwerken' FROM DUAL UNION
SELECT '7114','standaard, decoraties e.d.' FROM DUAL UNION
SELECT '7120','bijzonder, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '7121','bijzonder, meubileringen' FROM DUAL UNION
SELECT '7122','bijzonder, bewegwijzeringen' FROM DUAL UNION
SELECT '7123','bijzonder, specifieke voorz. (o.a. loopleuningen)' FROM DUAL UNION
SELECT '7210','standaard, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '7211','standaard, meubilering' FROM DUAL UNION
SELECT '7212','standaard, lichtweringen' FROM DUAL UNION
SELECT '7213','standaard, gordijnvoorzieningen' FROM DUAL UNION
SELECT '7214','standaard, beschermende voorzieningen' FROM DUAL UNION
SELECT '7220','bijzonder, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '7221','bijzonder, meubilering voor specifieke functiedoeleinden' FROM DUAL UNION
SELECT '7222','bijzonder, instrumenten/apparatuur' FROM DUAL UNION
SELECT '7310','standaard, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '7311','standaard, keukenmeubilering' FROM DUAL UNION
SELECT '7312','standaard, keukenapparatuur' FROM DUAL UNION
SELECT '7320','bijzonder, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '7321','bijzonder, keukenmeubilering' FROM DUAL UNION
SELECT '7322','bijzonder, keukenapparatuur' FROM DUAL UNION
SELECT '7410','standaard, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '7411','standaard, sanitaire toestellen normaal' FROM DUAL UNION
SELECT '7412','standaard, sanitaire toestellen aangepast' FROM DUAL UNION
SELECT '7413','standaard, accessoires' FROM DUAL UNION
SELECT '7420','bijzonder, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '7421','bijzonder, sanitaire toestellen voor bijzondere toepassing' FROM DUAL UNION
SELECT '7422','bijzonder, ingebouwde sanitaire voorzieningen' FROM DUAL UNION
SELECT '7510','standaard, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '7511','standaard, gebouwonderhoudsvoorzieningen' FROM DUAL UNION
SELECT '7512','standaard, interieur onderhoudsvoorzieningen' FROM DUAL UNION
SELECT '7513','standaard, gevelonderhoudsvoorzieningen' FROM DUAL UNION
SELECT '7520','bijzonder, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '7521','bijzonder, gebouwonderhoudsvoorzieningen' FROM DUAL UNION
SELECT '7522','bijzonder, interieur onderhoudsvoorzieningen' FROM DUAL UNION
SELECT '7523','bijzonder, gemechaniseerde gevelonderhoudsvoorzieningen' FROM DUAL UNION
SELECT '7610','standaard, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '7611','standaard, meubileringen' FROM DUAL UNION
SELECT '7620','bijzonder, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '7621','bijzonder, gemechaniseerde voorzieningen' FROM DUAL UNION
SELECT '7622','bijzonder, specifieke voorzieningen' FROM DUAL UNION
SELECT '8110','standaard, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '8111','standaard, meubilering' FROM DUAL UNION
SELECT '8112','standaard, bewegwijzering' FROM DUAL UNION
SELECT '8113','standaard, kunstwerken' FROM DUAL UNION
SELECT '8114','standaard, decoraties e.d.' FROM DUAL UNION
SELECT '8120','bijzonder, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '8121','bijzonder, meubilering' FROM DUAL UNION
SELECT '8122','bijzonder, bewegwijzering' FROM DUAL UNION
SELECT '8123','bijzonder, specifieke voorzieningen (o.a. afvalbakken)' FROM DUAL UNION
SELECT '8210','standaard, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '8211','standaard, meubilering' FROM DUAL UNION
SELECT '8212','standaard, lichtweringen/verduisteringen' FROM DUAL UNION
SELECT '8213','standaard, stofferingen' FROM DUAL UNION
SELECT '8220','bijzonder, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '8221','bijzonder, meubilering voor specifieke functiedoeleinden' FROM DUAL UNION
SELECT '8222','bijzonder, instrumenten/apparatuur' FROM DUAL UNION
SELECT '8310','standaard, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '8311','standaard, keukenmeubilering' FROM DUAL UNION
SELECT '8312','standaard, keukenapparatuur' FROM DUAL UNION
SELECT '8313','standaard, kleine keukeninventaris' FROM DUAL UNION
SELECT '8320','bijzonder, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '8321','bijzonder, keukeninrichting' FROM DUAL UNION
SELECT '8322','bijzonder, keukenapparatuur' FROM DUAL UNION
SELECT '8323','bijzonder, kleine keukeninventaris' FROM DUAL UNION
SELECT '8324','bijzonder, transportmiddelen' FROM DUAL UNION
SELECT '8410','standaard, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '8411','standaard, afvalvoorzieningen' FROM DUAL UNION
SELECT '8412','standaard, voorzieningen t.b.v. hygi<67>ne' FROM DUAL UNION
SELECT '8413','standaard, accessoires' FROM DUAL UNION
SELECT '8420','bijzonder, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '8421','bijzonder, sanitaire toestellen voor bijzondere toepassing' FROM DUAL UNION
SELECT '8510','standaard, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '8511','standaard, schoonmaakapparatuur' FROM DUAL UNION
SELECT '8512','standaard, vuilopslag' FROM DUAL UNION
SELECT '8513','standaard, vuiltransport' FROM DUAL UNION
SELECT '8520','bijzonder, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '8521','bijzonder, schoonmaakapparatuur' FROM DUAL UNION
SELECT '8522','bijzonder, vuilopslag' FROM DUAL UNION
SELECT '8523','bijzonder, vuiltransport' FROM DUAL UNION
SELECT '8610','standaard, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '8611','standaard, meubileringen' FROM DUAL UNION
SELECT '8620','bijzonder, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '8621','bijzonder, gemechaniseerde voorzieningen' FROM DUAL UNION
SELECT '8622','bijzonder, specifieke voorzieningen' FROM DUAL UNION
SELECT '9010','grondvoorzieningen, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '9011','grondvoorzieningen, verwijderen obstakels' FROM DUAL UNION
SELECT '9012','grondvoorzieningen, grondwaterverlagingen' FROM DUAL UNION
SELECT '9013','grondvoorzieningen, drainagevoorzieningen' FROM DUAL UNION
SELECT '9020','opstallen, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '9021','opstallen, gebouwtjes met speciale functie' FROM DUAL UNION
SELECT '9022','opstallen, overkappingen' FROM DUAL UNION
SELECT '9030','omheiningen, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '9031','omheiningen, muren' FROM DUAL UNION
SELECT '9032','omheiningen, hekwerken' FROM DUAL UNION
SELECT '9033','omheiningen, overige afscheidingen' FROM DUAL UNION
SELECT '9034','omheiningen, toegangen' FROM DUAL UNION
SELECT '9040','terreinafwerkingen, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '9041','terreinafwerkingen, verhardingen' FROM DUAL UNION
SELECT '9042','terreinafwerkingen, beplantingen' FROM DUAL UNION
SELECT '9043','terreinafwerkingen, waterpartijen' FROM DUAL UNION
SELECT '9044','terreinafwerkingen, keerwanden en balustrades' FROM DUAL UNION
SELECT '9045','terreinafwerkingen, pergolas' FROM DUAL UNION
SELECT '9050','terreinvoorzieningen, werktuigbouwkundig, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '9051','terreinvoorzieningen, werktuigbouwkundig, verwarmingsvoorzieningen' FROM DUAL UNION
SELECT '9052','terreinvoorzieningen, werktuigbouwkundig, afvoervoorzieningen' FROM DUAL UNION
SELECT '9053','terreinvoorzieningen, werktuigbouwkundig, watervoorzieningen' FROM DUAL UNION
SELECT '9054','terreinvoorzieningen, werktuigbouwkundig, gasvoorzieningen' FROM DUAL UNION
SELECT '9055','terreinvoorzieningen, werktuigbouwkundig, koudeopwekkingsvoorzieningen' FROM DUAL UNION
SELECT '9056','terreinvoorzieningen, werktuigbouwkundig, warmtedistributievoorzieningen' FROM DUAL UNION
SELECT '9057','terreinvoorzieningen, werktuigbouwkundig, luchtbehandelingsvoorzieningen' FROM DUAL UNION
SELECT '9058','terreinvoorzieningen, werktuigbouwkundig, regelingvoorzieningen' FROM DUAL UNION
SELECT '9060','terreinvoorzieningen, elektrotechnisch, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '9061','terreinvoorzieningen, elektrotechnisch, elektrotechnische en aardingsvoorzieningen' FROM DUAL UNION
SELECT '9062','terreinvoorzieningen, elektrotechnisch, krachtvoorzieningen' FROM DUAL UNION
SELECT '9063','terreinvoorzieningen, elektrotechnisch, lichtvoorzieningen' FROM DUAL UNION
SELECT '9064','terreinvoorzieningen, elektrotechnisch, communicatievoorzieningen' FROM DUAL UNION
SELECT '9065','terreinvoorzieningen, elektrotechnisch, beveiligingsvoorzieningen' FROM DUAL UNION
SELECT '9066','terreinvoorzieningen, elektrotechnisch, transportvoorzieningen' FROM DUAL UNION
SELECT '9067','terreinvoorzieningen, elektrotechnisch, beheervoorzieningen' FROM DUAL UNION
SELECT '9070','terreininrichtingen, standaard, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '9071','terreininrichtingen, standaard, terreinmeubilering' FROM DUAL UNION
SELECT '9072','terreininrichtingen, standaard, bewegwijzering' FROM DUAL UNION
SELECT '9073','terreininrichtingen, standaard, kunstwerken' FROM DUAL UNION
SELECT '9074','terreininrichtingen, standaard, decoraties e.d.' FROM DUAL UNION
SELECT '9080','terreininrichtingen, bijzonder, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '9081','terreininrichtingen, bijzonder, terreinmeubilering' FROM DUAL UNION
SELECT '9082','terreininrichtingen, bijzonder, specifieke voorzieningen' FROM DUAL UNION
SELECT '9083','terreininrichtingen, bijzonder, bijzondere verhardingen' FROM DUAL UNION
SELECT '0010','werkterreininrichting, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '0011','werkterreininrichting, bijkomende werken' FROM DUAL UNION
SELECT '0012','werkterreininrichting, personen/materiaalvoorzieningen' FROM DUAL UNION
SELECT '0013','werkterreininrichting, energievoorzieningen' FROM DUAL UNION
SELECT '0014','werkterreininrichting, beveiligingsvoorzieningen' FROM DUAL UNION
SELECT '0015','werkterreininrichting, doorwerkvoorzieningen' FROM DUAL UNION
SELECT '0016','werkterreininrichting, voorzieningen belendende percelen' FROM DUAL UNION
SELECT '0017','werkterreininrichting, onderhoudsvoorzieningen' FROM DUAL UNION
SELECT '0020','materieelvoorzieningen, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '0021','materieelvoorzieningen, transport' FROM DUAL UNION
SELECT '0022','materieelvoorzieningen, gereedschappen' FROM DUAL UNION
SELECT '0030','risicodekking, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '0031','risicodekking, verzekeringen' FROM DUAL UNION
SELECT '0032','risicodekking, waarborgen' FROM DUAL UNION
SELECT '0033','risicodekking, prijsstijgingen' FROM DUAL UNION
SELECT '0040','projectorganisatie, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '0041','projectorganisatie, administratie' FROM DUAL UNION
SELECT '0042','projectorganisatie, uitvoering' FROM DUAL UNION
SELECT '0043','projectorganisatie, documentatie' FROM DUAL UNION
SELECT '0050','bedrijfsorganisatie, algemeen (verzamelniveau)' FROM DUAL UNION
SELECT '0051','bedrijfsorganisatie, bestuur en directie' FROM DUAL UNION
SELECT '0052','bedrijfsorganisatie, winstregelingen' FROM DUAL;
CREATE OR REPLACE VIEW tdnl_v_gebouw_xy
(
id,
coordx,
coordy,
waarde,
title,
regio,
consessie,
color
)
AS
SELECT l.alg_locatie_key id,
l.alg_locatie_x coordx,
l.alg_locatie_y coordy,
l.alg_locatie_code waarde,
l.ALG_LOCATIE_OMSCHRIJVING title,
rg.alg_regio_omschrijving regio,
d.alg_district_omschrijving concessie,
COALESCE((SELECT fud.fac_usrdata_omschr
FROM fac_usrtab fut,
fac_usrdata fud
WHERE UPPER(fut.fac_usrtab_naam)=UPPER('ProdLijnKleur')
AND fud.fac_usrtab_key = fut.fac_usrtab_key
AND UPPER(fud.fac_usrdata_code)=UPPER(SUBSTR(rg.alg_regio_upper,1,2))),'#A3CAB8') color
FROM alg_v_aanweziglocatie l,
alg_v_aanwezigdistrict d,
alg_v_aanwezigregio rg
WHERE l.alg_locatie_x IS NOT NULL
AND l.alg_locatie_y IS NOT NULL
AND d.alg_district_key = l.alg_district_key
AND rg.alg_regio_key = d.alg_regio_key;
CREATE OR REPLACE VIEW tdnl_v_gebouw_rap
(
alg_productlijn,
alg_regio,
alg_locatie_code,
alg_locatie,
alg_locatie_x,
alg_locatie_y,
alg_gebouw_code,
alg_gebouw,
alg_gebouw_x,
alg_gebouw_y,
kenmerk,
kenmerkwaarde
)
AS
SELECT r.alg_regio_omschrijving,
d.alg_district_omschrijving,
l.alg_locatie_code,
l.alg_locatie_omschrijving,
l.alg_locatie_x,
l.alg_locatie_y,
g.alg_gebouw_code,
g.alg_gebouw_omschrijving,
g.alg_gebouw_x,
g.alg_gebouw_y,
ak.alg_kenmerk_omschrijving kenmerk,
tdnl.get_flex_value ('ALG',
ak.alg_kenmerk_key,
g.alg_gebouw_key,
fkd.fac_kenmerkdomein_key,
'G')
kenmerkwaarde
FROM alg_regio r,
alg_district d,
alg_locatie l,
alg_gebouw g,
alg_kenmerk ak,
alg_onrgoedkenmerk ao,
fac_kenmerkdomein fkd
WHERE l.alg_locatie_key = g.alg_locatie_key
and d.alg_district_key = l.alg_district_key
and r.alg_regio_key = d.alg_regio_key
AND ao.alg_kenmerk_key = ak.alg_kenmerk_key
AND ao.alg_onrgoed_key = g.alg_gebouw_key
AND fkd.fac_kenmerkdomein_key(+) = ak.fac_kenmerkdomein_key
AND ao.alg_onrgoed_niveau = 'G';
CREATE OR REPLACE VIEW tdnl_v_concessie_locatie_matrix
(
concessie_key,
Concessie,
locatie_key,
locatie,
concessie_directeur_key,
concessie_directeur,
operationeel_manager_key,
operationeel_manager,
locatie_manager_key,
locatie_manager
)
AS
SELECT c.alg_district_key concessie_key,
c .alg_district_omschrijving Concessie,
l.alg_locatie_key locatie_key,
l.alg_locatie_omschrijving locatie,
(SELECT p.prs_perslid_key
FROM alg_onrgoedkenmerk ok, prs_v_perslid_fullnames p
WHERE ok.alg_onrgoed_key = c.alg_district_key
AND ok.alg_kenmerk_key = 1020
AND ok.alg_onrgoed_niveau = 'D'
AND p.prs_perslid_key =
FAC.SAFE_TO_NUMBER (ok.alg_onrgoedkenmerk_waarde))
concessie_directeur_key,
(SELECT p.prs_perslid_naam_full
FROM alg_onrgoedkenmerk ok, prs_v_perslid_fullnames p
WHERE ok.alg_onrgoed_key = c.alg_district_key
AND ok.alg_kenmerk_key = 1020
AND ok.alg_onrgoed_niveau = 'D'
AND p.prs_perslid_key =
FAC.SAFE_TO_NUMBER (ok.alg_onrgoedkenmerk_waarde))
concessie_directeur,
(SELECT p.prs_perslid_key
FROM alg_onrgoedkenmerk ok, prs_v_perslid_fullnames p
WHERE ok.alg_onrgoed_key = c.alg_district_key
AND ok.alg_kenmerk_key = 1021
AND ok.alg_onrgoed_niveau = 'D'
AND p.prs_perslid_key =
FAC.SAFE_TO_NUMBER (ok.alg_onrgoedkenmerk_waarde))
operationeel_manager_key,
(SELECT p.prs_perslid_naam_full
FROM alg_onrgoedkenmerk ok, prs_v_perslid_fullnames p
WHERE ok.alg_onrgoed_key = c.alg_district_key
AND ok.alg_kenmerk_key = 1021
AND ok.alg_onrgoed_niveau = 'D'
AND p.prs_perslid_key =
FAC.SAFE_TO_NUMBER (ok.alg_onrgoedkenmerk_waarde))
operationeel_manager,
(SELECT p.prs_perslid_key
FROM alg_onrgoedkenmerk ok, prs_v_perslid_fullnames p
WHERE ok.alg_onrgoed_key = c.alg_district_key
AND ok.alg_kenmerk_key = 1022
AND ok.alg_onrgoed_niveau = 'L'
AND p.prs_perslid_key =
FAC.SAFE_TO_NUMBER (ok.alg_onrgoedkenmerk_waarde))
locatie_manager_key,
(SELECT p.prs_perslid_naam_full
FROM alg_onrgoedkenmerk ok, prs_v_perslid_fullnames p
WHERE ok.alg_onrgoed_key = c.alg_district_key
AND ok.alg_kenmerk_key = 1022
AND ok.alg_onrgoed_niveau = 'L'
AND p.prs_perslid_key =
FAC.SAFE_TO_NUMBER (ok.alg_onrgoedkenmerk_waarde))
locatie_manager
FROM alg_district c,
alg_locatie l
WHERE l.alg_district_key = c.alg_district_key;
CREATE OR REPLACE VIEW TDN_V_MLD_LAADPALEN
(
locatie_code,
locatie_omschrijving,
mld_status,
aantal
)
AS
SELECT l.alg_locatie_code,
l.alg_locatie_omschrijving,
mstat.mld_statuses_omschrijving,
COUNT (*)
FROM mld_melding m,
mld_stdmelding sm,
mld_statuses mstat,
alg_locatie l
WHERE m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_stdmelding_code = 'LAADPAALSTORING'
AND l.alg_locatie_key = m.mld_alg_locatie_key
AND m.mld_melding_status = mstat.mld_statuses_key
AND mstat.mld_statuses_omschrijving IN
('Nieuw', 'Te accepteren', 'Uitgegeven',' In behandeling','Afgemeld')
GROUP BY l.alg_locatie_code, l.alg_locatie_omschrijving,mstat.mld_statuses_omschrijving;
CREATE OR REPLACE VIEW TDNL_V_CONCESSIEDIRECTEUREN
(
PRS_PERSLID_KEY,
PRS_PERSLID_NAAM
)
AS
SELECT pf.prs_perslid_key,
pf.prs_perslid_naam_friendly
FROM prs_perslid p,
prs_v_perslid_fullnames pf,
prs_kenmerk pk,
prs_kenmerklink pkl
WHERE UPPER (pk.prs_kenmerk_omschrijving) = 'IS CONCESSIE DIRECTEUR'
AND pkl.prs_kenmerk_key = pk.prs_kenmerk_key
AND pkl.prs_kenmerklink_waarde = 1
AND p.prs_perslid_key = pkl.prs_link_key
AND p.prs_perslid_verwijder IS NULL
AND pf.prs_perslid_key = p.prs_perslid_key;
CREATE OR REPLACE VIEW TDNL_V_OPERATMANAGER
(
PRS_PERSLID_KEY,
PRS_PERSLID_NAAM
)
AS
SELECT pf.prs_perslid_key,
pf.prs_perslid_naam_friendly
FROM prs_perslid p,
prs_v_perslid_fullnames pf,
prs_kenmerk pk,
prs_kenmerklink pkl
WHERE UPPER (pk.prs_kenmerk_omschrijving) = 'IS OPERATIONAAL MANAGER'
AND pkl.prs_kenmerk_key = pk.prs_kenmerk_key
AND pkl.prs_kenmerklink_waarde = 1
AND p.prs_perslid_key = pkl.prs_link_key
AND p.prs_perslid_verwijder IS NULL
AND pf.prs_perslid_key = p.prs_perslid_key;
CREATE OR REPLACE VIEW TDNL_V_LOCATIEMANAGER
(
PRS_PERSLID_KEY,
PRS_PERSLID_NAAM
)
AS
SELECT pf.prs_perslid_key,
pf.prs_perslid_naam_friendly
FROM prs_perslid p,
prs_v_perslid_fullnames pf,
prs_kenmerk pk,
prs_kenmerklink pkl
WHERE UPPER (pk.prs_kenmerk_omschrijving) = 'IS LOCATIE MANAGER'
AND pkl.prs_kenmerk_key = pk.prs_kenmerk_key
AND pkl.prs_kenmerklink_waarde = 1
AND p.prs_perslid_key = pkl.prs_link_key
AND p.prs_perslid_verwijder IS NULL
AND pf.prs_perslid_key = p.prs_perslid_key;
CREATE OR REPLACE VIEW TDNL_V_FACILITAIRMANAGER
(
PRS_PERSLID_KEY,
PRS_PERSLID_NAAM
)
AS
SELECT pf.prs_perslid_key,
pf.prs_perslid_naam_friendly
FROM prs_perslid p,
prs_v_perslid_fullnames pf,
prs_kenmerk pk,
prs_kenmerklink pkl
WHERE UPPER (pk.prs_kenmerk_omschrijving) = 'IS MANAGER FACILITAIR'
AND pkl.prs_kenmerk_key = pk.prs_kenmerk_key
AND pkl.prs_kenmerklink_waarde = 1
AND p.prs_perslid_key = pkl.prs_link_key
AND p.prs_perslid_verwijder IS NULL
AND pf.prs_perslid_key = p.prs_perslid_key;
CREATE OR REPLACE VIEW TDNL_V_FACILITAIRAANSP
(
PRS_PERSLID_KEY,
PRS_PERSLID_NAAM
)
AS
SELECT pf.prs_perslid_key,
pf.prs_perslid_naam_friendly
FROM prs_perslid p,
prs_v_perslid_fullnames pf,
prs_kenmerk pk,
prs_kenmerklink pkl
WHERE UPPER (pk.prs_kenmerk_omschrijving) = 'IS FACILITAIR AANSPREEKPUNT'
AND pkl.prs_kenmerk_key = pk.prs_kenmerk_key
AND pkl.prs_kenmerklink_waarde = 1
AND p.prs_perslid_key = pkl.prs_link_key
AND p.prs_perslid_verwijder IS NULL
AND pf.prs_perslid_key = p.prs_perslid_key;
CREATE OR REPLACE VIEW TDNL_V_VASTGOEDMANAGER
(
PRS_PERSLID_KEY,
PRS_PERSLID_NAAM
)
AS
SELECT pf.prs_perslid_key,
pf.prs_perslid_naam_friendly
FROM prs_perslid p,
prs_v_perslid_fullnames pf,
prs_kenmerk pk,
prs_kenmerklink pkl
WHERE UPPER (pk.prs_kenmerk_omschrijving) = 'IS MANAGER VASTGOED'
AND pkl.prs_kenmerk_key = pk.prs_kenmerk_key
AND pkl.prs_kenmerklink_waarde = 1
AND p.prs_perslid_key = pkl.prs_link_key
AND p.prs_perslid_verwijder IS NULL
AND pf.prs_perslid_key = p.prs_perslid_key;
CREATE OR REPLACE VIEW TDNL_V_WERKPLAATSMANAGER
(
PRS_PERSLID_KEY,
PRS_PERSLID_NAAM
)
AS
SELECT pf.prs_perslid_key,
pf.prs_perslid_naam_friendly
FROM prs_perslid p,
prs_v_perslid_fullnames pf,
prs_kenmerk pk,
prs_kenmerklink pkl
WHERE UPPER (pk.prs_kenmerk_omschrijving) = 'IS MANAGER WERKPLAATS'
AND pkl.prs_kenmerk_key = pk.prs_kenmerk_key
AND pkl.prs_kenmerklink_waarde = 1
AND p.prs_perslid_key = pkl.prs_link_key
AND p.prs_perslid_verwijder IS NULL
AND pf.prs_perslid_key = p.prs_perslid_key;
CREATE OR REPLACE VIEW TDNL_V_SChOONMAAKRONDES
(
melding_key,
melding_datum,
melding_status,
melding_melder,
locatie_code,
locatie_omschrijving,
damestoilet,
damestoiet_opm,
herentoilet,
herentoilet_opm,
middelen,
middelen_opm,
vloer,
vloer_opm,
gang,
gang_opm,
bureau,
bureau_opm,
werkkast,
werkkast_opm,
trap,
trap_opm,
glasbewassing,
glasbewassing_opm
)
AS
SELECT m.mld_melding_key,
TRUNC (m.MLD_MELDING_DATUM)
melding_datum,
stat.mld_statuses_omschrijving status,
p.prs_perslid_naam_friendly melder,
l.alg_locatie_code,
l.alg_locatie_omschrijving,
(SELECT fud.fac_usrdata_omschr
FROM mld_kenmerk k, mld_kenmerkmelding mkm, fac_usrdata fud
WHERE mkm.mld_melding_key = m.mld_melding_key
AND k.mld_kenmerk_key = mkm.mld_kenmerk_key
AND k.mld_kenmerk_code = 'DAMESTOILET'
AND fud.fac_usrdata_key = mkm.mld_kenmerkmelding_waarde)
damestoilet,
(SELECT mkm.mld_kenmerkmelding_waarde
FROM mld_kenmerk k, mld_kenmerkmelding mkm
WHERE mkm.mld_melding_key = m.mld_melding_key
AND k.mld_kenmerk_key = mkm.mld_kenmerk_key
AND k.mld_kenmerk_code = 'DAMESTOILET_OPM')
damestoilet_opm,
(SELECT fud.fac_usrdata_omschr
FROM mld_kenmerk k, mld_kenmerkmelding mkm, fac_usrdata fud
WHERE mkm.mld_melding_key = m.mld_melding_key
AND k.mld_kenmerk_key = mkm.mld_kenmerk_key
AND k.mld_kenmerk_code = 'HERENTOILET'
AND fud.fac_usrdata_key = mkm.mld_kenmerkmelding_waarde)
herentoilet,
(SELECT mkm.mld_kenmerkmelding_waarde
FROM mld_kenmerk k, mld_kenmerkmelding mkm
WHERE mkm.mld_melding_key = m.mld_melding_key
AND k.mld_kenmerk_key = mkm.mld_kenmerk_key
AND k.mld_kenmerk_code = 'HERENTOILET_OPM')
herentoilet_opm,
(SELECT fud.fac_usrdata_omschr
FROM mld_kenmerk k, mld_kenmerkmelding mkm, fac_usrdata fud
WHERE mkm.mld_melding_key = m.mld_melding_key
AND k.mld_kenmerk_key = mkm.mld_kenmerk_key
AND k.mld_kenmerk_code = 'MIDDELEN'
AND fud.fac_usrdata_key = mkm.mld_kenmerkmelding_waarde)
middelen,
(SELECT mkm.mld_kenmerkmelding_waarde
FROM mld_kenmerk k, mld_kenmerkmelding mkm
WHERE mkm.mld_melding_key = m.mld_melding_key
AND k.mld_kenmerk_key = mkm.mld_kenmerk_key
AND k.mld_kenmerk_code = 'MIDDELEN_OPM')
middelen_opm,
(SELECT fud.fac_usrdata_omschr
FROM mld_kenmerk k, mld_kenmerkmelding mkm, fac_usrdata fud
WHERE mkm.mld_melding_key = m.mld_melding_key
AND k.mld_kenmerk_key = mkm.mld_kenmerk_key
AND k.mld_kenmerk_code = 'VLOER'
AND fud.fac_usrdata_key = mkm.mld_kenmerkmelding_waarde)
vloer,
(SELECT mkm.mld_kenmerkmelding_waarde
FROM mld_kenmerk k, mld_kenmerkmelding mkm
WHERE mkm.mld_melding_key = m.mld_melding_key
AND k.mld_kenmerk_key = mkm.mld_kenmerk_key
AND k.mld_kenmerk_code = 'VLOER_OPM')
vloer_opm,
(SELECT fud.fac_usrdata_omschr
FROM mld_kenmerk k, mld_kenmerkmelding mkm, fac_usrdata fud
WHERE mkm.mld_melding_key = m.mld_melding_key
AND k.mld_kenmerk_key = mkm.mld_kenmerk_key
AND k.mld_kenmerk_code = 'GANG'
AND fud.fac_usrdata_key = mkm.mld_kenmerkmelding_waarde)
gang,
(SELECT mkm.mld_kenmerkmelding_waarde
FROM mld_kenmerk k, mld_kenmerkmelding mkm
WHERE mkm.mld_melding_key = m.mld_melding_key
AND k.mld_kenmerk_key = mkm.mld_kenmerk_key
AND k.mld_kenmerk_code = 'GANG_OPM')
gang_opm,
(SELECT fud.fac_usrdata_omschr
FROM mld_kenmerk k, mld_kenmerkmelding mkm, fac_usrdata fud
WHERE mkm.mld_melding_key = m.mld_melding_key
AND k.mld_kenmerk_key = mkm.mld_kenmerk_key
AND k.mld_kenmerk_code = 'BUREAU'
AND fud.fac_usrdata_key = mkm.mld_kenmerkmelding_waarde)
bureau,
(SELECT mkm.mld_kenmerkmelding_waarde
FROM mld_kenmerk k, mld_kenmerkmelding mkm
WHERE mkm.mld_melding_key = m.mld_melding_key
AND k.mld_kenmerk_key = mkm.mld_kenmerk_key
AND k.mld_kenmerk_code = 'BUREAU_OPM')
bureau_opm,
(SELECT fud.fac_usrdata_omschr
FROM mld_kenmerk k, mld_kenmerkmelding mkm, fac_usrdata fud
WHERE mkm.mld_melding_key = m.mld_melding_key
AND k.mld_kenmerk_key = mkm.mld_kenmerk_key
AND k.mld_kenmerk_code = 'WERKKAST'
AND fud.fac_usrdata_key = mkm.mld_kenmerkmelding_waarde)
werkkast,
(SELECT mkm.mld_kenmerkmelding_waarde
FROM mld_kenmerk k, mld_kenmerkmelding mkm
WHERE mkm.mld_melding_key = m.mld_melding_key
AND k.mld_kenmerk_key = mkm.mld_kenmerk_key
AND k.mld_kenmerk_code = 'WERKKAST_OPM')
werkkast_opm,
(SELECT fud.fac_usrdata_omschr
FROM mld_kenmerk k, mld_kenmerkmelding mkm, fac_usrdata fud
WHERE mkm.mld_melding_key = m.mld_melding_key
AND k.mld_kenmerk_key = mkm.mld_kenmerk_key
AND k.mld_kenmerk_code = 'TRAP'
AND fud.fac_usrdata_key = mkm.mld_kenmerkmelding_waarde)
trap,
(SELECT mkm.mld_kenmerkmelding_waarde
FROM mld_kenmerk k, mld_kenmerkmelding mkm
WHERE mkm.mld_melding_key = m.mld_melding_key
AND k.mld_kenmerk_key = mkm.mld_kenmerk_key
AND k.mld_kenmerk_code = 'TRAP_OPM')
trap_opm,
(SELECT fud.fac_usrdata_omschr
FROM mld_kenmerk k, mld_kenmerkmelding mkm, fac_usrdata fud
WHERE mkm.mld_melding_key = m.mld_melding_key
AND k.mld_kenmerk_key = mkm.mld_kenmerk_key
AND k.mld_kenmerk_code = 'GLASBEWAS'
AND fud.fac_usrdata_key = mkm.mld_kenmerkmelding_waarde)
glasbewassing,
(SELECT mkm.mld_kenmerkmelding_waarde
FROM mld_kenmerk k, mld_kenmerkmelding mkm
WHERE mkm.mld_melding_key = m.mld_melding_key
AND k.mld_kenmerk_key = mkm.mld_kenmerk_key
AND k.mld_kenmerk_code = 'GLASBEWAS_OPM')
glasbewassing_opm
FROM mld_melding m,
prs_v_perslid_fullnames_all p,
mld_statuses stat,
alg_v_aanweziglocatie l
WHERE m.mld_stdmelding_key = 63
AND stat.mld_statuses_key = m.mld_melding_status
AND p.prs_perslid_key = m.prs_perslid_key
AND l.alg_locatie_key = m.mld_alg_locatie_key;
-- EINDE VIEWS
-- COUPA EXPORT VIEWS/PROCEDURES
-- Bijlage view tbv export naar coupa
CREATE OR REPLACE VIEW tdnl_v_coupa_bijlages
AS
SELECT o.mld_opdr_key,
o.mld_opdr_externsyncdate extern_syncdate,
(SELECT ko.mld_kenmerkopdr_waarde
FROM mld_kenmerkopdr ko
WHERE ko.mld_opdr_key = o.mld_opdr_key
AND ko.mld_kenmerk_key=62 -- A=62 P=
AND ko.mld_kenmerkopdr_waarde IS NOT NULL) coupa_id,
fb.fac_bijlagen_filename bestand,
fb.fac_bijlagen_disk_directory path,
fb.fac_bijlagen_aanmaak bijlage_aanmaak
FROM mld_opdr o, fac_v_bijlagen fb
WHERE fb.fac_bijlagen_refkey=o.mld_opdr_key
AND o.mld_statusopdr_key IN (4,5)
AND fb.fac_bijlagen_kenmerk_key=64 -- A=64 P=
AND fb.fac_bijlagen_module='MLD';
-- NOTIFICATIE JOBS
-- Notificatie tbv rappeltermijn conrtracten
CREATE OR REPLACE VIEW TDNL_V_NOTI_CNTRAPPEL
(
code,
sender,
receiver,
text,
key,
par1,
par2,
xkey,
xemail,
xmobile,
fac_srtnotificatie_key,
attachments,
xsender,
prs_bedrijfadres_key
)
AS
SELECT 'CUST01',
'',
c.prs_perslid_key_beh,
'Rappel: Contract '
|| c.cnt_contract_nummer_intern||DECODE(cnt_contract_versie, NULL, '', '.'||cnt_contract_versie)
|| ' ('
|| c.cnt_contract_omschrijving
|| ' '
|| b.prs_bedrijf_naam
|| ')'
|| ' moet uiterlijk per '
|| TO_CHAR (cnt.cnt_getopzegdatum (c.cnt_contract_key), 'DD-MM-YYYY')
|| ' worden verlengd of opgezegd.',
c.cnt_contract_key,
c.cnt_contract_nummer_intern,
cnt.cnt_getopzegdatum (c.cnt_contract_key),
NULL,
TDNL.getemaillist(c.cnt_contract_key) xemail,
NULL xmobile,
NULL fac_srtnotificatie_key,
NULL attachments,
NULL xsender,
NULL prs_bedrijfadres_key
FROM cnt_v_aanwezigcontract c, prs_bedrijf b
WHERE b.prs_bedrijf_key = c.cnt_prs_bedrijf_key
AND cnt_contract_verwijder IS NULL
AND cnt_contract_status = 0 /* actief */
AND (SYSDATE BETWEEN cnt.cnt_getrappeldatum (c.cnt_contract_key) AND cnt.cnt_getopzegdatum (c.cnt_contract_key))
AND cnt.getnieuwsteversiekey(c.cnt_contract_key) = c.cnt_contract_key;
-- Notificatie naar bezoekers op de dag van het bezoek
CREATE OR REPLACE VIEW tdnl_v_noti_bezoeker
(
sender,
receiver,
text,
code,
key,
xkey,
xemail,
xmobile,
par1
)
AS
SELECT NULL sender,
NULL receiver,
'Uw bezoek aan Transdev op '
|| TO_CHAR (bez_afspraak_datum, 'DD-MM-YYYY')
|| ' , '
|| TO_CHAR (bez_afspraak_datum, 'HH24:MI') text,
'CUST04' code,
a.bez_afspraak_key key,
bez_bezoekers_key xkey,
bez_bezoekers_email xemail,
NULL xmobile,
a.bez_afspraak_datum
FROM bez_afspraak a, bez_bezoekers b
WHERE a.bez_afspraak_key = b.bez_afspraak_key
AND TRUNC(a.bez_afspraak_datum) = TRUNC(SYSDATE)
AND b.bez_bezoekers_email IS NOT NULL
AND NOT EXISTS
(SELECT 1
FROM fac_tracking t
WHERE t.fac_srtnotificatie_key =405
AND t.fac_tracking_refkey = a.bez_afspraak_key
AND t.fac_tracking_oms LIKE '%CUST03%');
-- Notificatie op dag van aanmaak van de afspraak
CREATE OR REPLACE VIEW tdnl_v_noti_bez_aanmaak
(
sender,
receiver,
text,
code,
key,
xkey,
xemail,
xmobile,
par1
)
AS
SELECT NULL sender,
NULL receiver,
'Uw bezoek aan Transdev op '
|| TO_CHAR (bez_afspraak_datum, 'DD-MM-YYYY')
|| ' , '
|| TO_CHAR (bez_afspraak_datum, 'HH24:MI') text,
'CUST03' code,
a.bez_afspraak_key key,
bez_bezoekers_key xkey,
bez_bezoekers_email xemail,
NULL xmobile,
a.bez_afspraak_datum
FROM bez_afspraak a, bez_bezoekers b
WHERE a.bez_afspraak_key = b.bez_afspraak_key
AND a.bez_afspraak_aanmaak BETWEEN f.fac_notificatie_job_lastrun AND f.fac_notificatie_job_nextrun
AND b.bez_bezoekers_email IS NOT NULL
AND NOT EXISTS
(SELECT 1
FROM fac_tracking t
WHERE t.fac_srtnotificatie_key = 405
AND t.fac_tracking_refkey = a.bez_afspraak_key
AND t.fac_tracking_oms LIKE '%CUST02%');
-- EIND NOTIFICATIE JOBS
------ payload end ------
SET DEFINE OFF
BEGIN adm.systrackscriptId ('$Id$', 0); END;
/
COMMIT;
SET ECHO OFF
SPOOL OFF
SET DEFINE ON
PROMPT Logfile of this upgrade is: &fcltlogfile