From dad9fdc3f46a17c60cb9a37b10e49308a9cd54f2 Mon Sep 17 00:00:00 2001 From: Norbert Wassink Date: Thu, 21 Aug 2025 12:21:23 +0000 Subject: [PATCH] TDNL#90363 -- Inrichting MJOB via oPrognose-import. svn path=/Customer/trunk/; revision=70072 --- TDNL/TDNL.sql | 3019 +++++++++++++++++++++---------------------------- 1 file changed, 1295 insertions(+), 1724 deletions(-) diff --git a/TDNL/TDNL.sql b/TDNL/TDNL.sql index 0e1adb569..043f49b67 100644 --- a/TDNL/TDNL.sql +++ b/TDNL/TDNL.sql @@ -37,6 +37,9 @@ AS p_kenmerkdomein_key IN NUMBER, p_niveau IN VARCHAR2 DEFAULT NULL) RETURN VARCHAR2; + + FUNCTION getfirststartdate(p_startdatum IN DATE, p_refdatum IN DATE, p_cyclus IN NUMBER) + RETURN DATE; END; / @@ -160,6 +163,29 @@ CREATE OR REPLACE PACKAGE BODY TDNL AS END IF; RETURN v_value; END; + + + FUNCTION getfirststartdate(p_startdatum IN DATE, p_refdatum IN DATE, p_cyclus IN NUMBER) + RETURN DATE + AS + v_startdatum DATE; + BEGIN + IF (p_startdatum0) + THEN + v_startdatum := ADD_MONTHS(p_startdatum, p_cyclus*12); + + IF (v_startdatum 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; ---/ + CURSOR c IS + SELECT * + FROM fac_imp_ins + ORDER BY alg_gebouw_code, ins_deel_omschrijving; + + -- Controleer tijdens import-fase alleen op het bestaan van een kenmerk met de meegegeven omschrijving of kenmerk key. + -- De omschrijving (header van kolom) kan de omschrijving zijn van het kenmerksoort of het kenmerk. + -- De omschrijving van het kenmerksoort kan namelijk overruled worden door de omschrijving van het kenmerk. + -- Daarnaast kan hetzelfde kenmerk vaker voorkomen voor verschillende groepen. + -- Of het kenmerksoort/kenmerk wel is gedefinieerd voor de betreffende + -- object-discipline/groep/soort, volgt pas tijdens de update-fase)! + -- + -- p_kw is bijvoorbeeld 'Parkeercode', 'Parkeercode|3', 234 of 234|3 waarbij de tweede en laatste in groep 3 zitten + -- het resultaat is NULL (als niet gevonden) of Parkeercode|3 of 234|3 voor kenmer_key 234 in groep 3 + -- Als geen groep is meegegeven dan wordt 'Parkeercode|0' opgeleverd (de default groep) + FUNCTION bepaal_kenmerk (p_kw IN VARCHAR) + RETURN VARCHAR + IS + v_kenmerk_key NUMBER; + v_kenmerk_groep NUMBER; + v_kw VARCHAR(250); + BEGIN + v_kenmerk_groep := 0; + v_kw := p_kw; + IF INSTR (v_kw, '|') > 1 + THEN + v_kenmerk_groep := SUBSTR (v_kw, INSTR (v_kw, '|') + 1); + v_kw := SUBSTR (v_kw, 1, INSTR (v_kw, '|') - 1); + END IF; + + IF fac.safe_to_number (v_kw) IS NULL + THEN -- kenmerkwaarde is alfanumeriek (dus omschrijving)! + SELECT MIN(k.ins_kenmerk_key) + INTO v_kenmerk_key + FROM ins_v_aanwezigkenmerk k, + ins_v_aanwezigsrtkenmerk sk + WHERE k.ins_srtkenmerk_key = sk.ins_srtkenmerk_key + AND k.ins_kenmerk_groep = v_kenmerk_groep + AND COALESCE(UPPER(k.ins_kenmerk_omschrijving), sk.ins_srtkenmerk_upper) = UPPER(v_kw) + AND sk.ins_srtkenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S', 'X', 'B', 'V'); + ELSE -- kenmerkwaarde is numeriek (dus key)! + SELECT k.ins_kenmerk_key + INTO v_kenmerk_key + FROM ins_v_aanwezigkenmerk k, + ins_v_aanwezigsrtkenmerk sk + WHERE k.ins_srtkenmerk_key = sk.ins_srtkenmerk_key + AND k.ins_kenmerk_groep = v_kenmerk_groep + AND k.ins_kenmerk_key = fac.safe_to_number (v_kw) + AND sk.ins_srtkenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S', 'X', 'B', 'V'); + END IF; + + IF v_kenmerk_key IS NULL + THEN + RETURN NULL; + ELSE + -- Er is een kenmerksoort of kenmerk aanwezig met de omschrijving/kenmerk_key (v_kw) + RETURN v_kw || '|' || TO_CHAR(v_kenmerk_groep); + END IF; + EXCEPTION + WHEN NO_DATA_FOUND + THEN + IF p_kw IS NULL OR UPPER (p_kw) LIKE 'KENMERK%' + THEN + RETURN NULL; + ELSE + fac.imp_writelog (p_import_key, + 'W', + 'Fout bij bepalen kenmerk [' || p_kw || ']', + 'Bestaat niet of type ongeldig'); + COMMIT; + RETURN NULL; + END IF; + END; + +BEGIN + -- Eerst opruiming + DELETE FROM fac_imp_ins; + + COMMIT; + + v_count_tot := 0; + v_count_import := 0; + header_is_valid := 0; + + FOR rec1 IN c1 + LOOP + BEGIN + v_newline := rec1.fac_imp_file_line; + v_file_index := rec1.fac_imp_file_index; + v_errormsg := 'Fout bij opvragen importregel'; + v_aanduiding := ''; + v_ongeldig := 0; + -- Lees alle veldwaarden + fac.imp_getfield (v_newline, c_delim, v_oprognose_gebouw_code); -- Objectcode + fac.imp_getfield (v_newline, c_delim, v_ins_srtdeel_code); -- Componentcode + fac.imp_getfield (v_newline, c_delim, v_ins_deel_externnr); -- Element-ID + fac.imp_getfield (v_newline, c_delim, v_ins_deel_opmerking); -- Component omschrijving +-- fac.imp_getfield (v_newline, c_delim, v_ins_kenmerkwaarde1); -- Opmerkingen// + fac.imp_getfield (v_newline, c_delim, v_ins_kenmerkwaarde2); -- Fabrikant + fac.imp_getfield (v_newline, c_delim, v_ins_kenmerkwaarde3); -- Kenmerken + fac.imp_getfield (v_newline, c_delim, v_ins_kenmerkwaarde4); -- Type + fac.imp_getfield (v_newline, c_delim, v_ins_kenmerkwaarde5); -- Cap + fac.imp_getfield (v_newline, c_delim, v_ins_kenmerkwaarde6); -- Eenheid Cap + fac.imp_getfield (v_newline, c_delim, v_ins_deel_aantal); -- Aantal + fac.imp_getfield (v_newline, c_delim, v_ins_kenmerkwaarde7); -- Eenheid aantal + fac.imp_getfield (v_newline, c_delim, v_ins_kenmerkwaarde8); -- Bouwjaar + fac.imp_getfield (v_newline, c_delim, v_ins_kenmerkwaarde9); -- Foto + fac.imp_getfield (v_newline, c_delim, v_ins_kenmerkwaarde10); + fac.imp_getfield (v_newline, c_delim, v_ins_kenmerkwaarde11); + fac.imp_getfield (v_newline, c_delim, v_ins_kenmerkwaarde12); + fac.imp_getfield (v_newline, c_delim, v_ins_kenmerkwaarde13); + fac.imp_getfield (v_newline, c_delim, v_ins_kenmerkwaarde14); + fac.imp_getfield (v_newline, c_delim, v_ins_kenmerkwaarde15); + fac.imp_getfield (v_newline, c_delim, v_ins_kenmerkwaarde16); + fac.imp_getfield (v_newline, c_delim, v_ins_kenmerkwaarde17); + fac.imp_getfield (v_newline, c_delim, v_ins_kenmerkwaarde18); + fac.imp_getfield (v_newline, c_delim, v_ins_kenmerkwaarde19); + fac.imp_getfield (v_newline, c_delim, v_ins_kenmerkwaarde20); + + v_aanduiding := + '[' + || v_alg_gebouw_code + || '|' + || v_ins_deel_externnr + || '|' + || v_ins_srtdeel_code + || '] '; + + -- Ik controleer of ik een geldige header heb, dat is: in de juiste kolommen + -- de juiste kolomkop. Ik controleer daarbij alle NIET-kenmerk kolommen! + -- Ik negeer alles totdat ik een geldige header ben gepasseerd. + IF (header_is_valid = 0) + THEN + IF UPPER (v_oprognose_gebouw_code) = 'GEBOUW_CODE' + AND UPPER (v_ins_srtdeel_code) = 'SRTDEEL_CODE' + AND UPPER (v_ins_deel_externnr) = 'DEEL_EXTERNNR' + AND UPPER (v_ins_deel_opmerking) = 'DEEL_OPMERKING' + AND UPPER (v_ins_kenmerkwaarde2) = 'FABRIKANT' + AND UPPER (v_ins_kenmerkwaarde3) = 'OPMERKINGEN' + AND UPPER (v_ins_kenmerkwaarde4) = 'TYPE' + AND UPPER (v_ins_kenmerkwaarde5) = 'CAP' + AND UPPER (v_ins_kenmerkwaarde6) = 'EENHEID CAP' + AND UPPER (v_ins_deel_aantal) = 'DEEL_AANTAL' + AND UPPER (v_ins_kenmerkwaarde7) = 'EENHEID AANTAL' + AND UPPER (v_ins_kenmerkwaarde8) = 'BOUWJAAR' + AND UPPER (v_ins_kenmerkwaarde9) = 'FOTO' + THEN + v_ins_kenmerk_key1 := bepaal_kenmerk (v_ins_kenmerkwaarde1); + v_ins_kenmerk_key2 := bepaal_kenmerk (v_ins_kenmerkwaarde2); + v_ins_kenmerk_key3 := bepaal_kenmerk (v_ins_kenmerkwaarde3); + v_ins_kenmerk_key4 := bepaal_kenmerk (v_ins_kenmerkwaarde4); + v_ins_kenmerk_key5 := bepaal_kenmerk (v_ins_kenmerkwaarde5); + v_ins_kenmerk_key6 := bepaal_kenmerk (v_ins_kenmerkwaarde6); + v_ins_kenmerk_key7 := bepaal_kenmerk (v_ins_kenmerkwaarde7); + v_ins_kenmerk_key8 := bepaal_kenmerk (v_ins_kenmerkwaarde8); + v_ins_kenmerk_key9 := bepaal_kenmerk (v_ins_kenmerkwaarde9); + v_ins_kenmerk_key10 := bepaal_kenmerk (v_ins_kenmerkwaarde10); + v_ins_kenmerk_key11 := bepaal_kenmerk (v_ins_kenmerkwaarde11); + v_ins_kenmerk_key12 := bepaal_kenmerk (v_ins_kenmerkwaarde12); + v_ins_kenmerk_key13 := bepaal_kenmerk (v_ins_kenmerkwaarde13); + v_ins_kenmerk_key14 := bepaal_kenmerk (v_ins_kenmerkwaarde14); + v_ins_kenmerk_key15 := bepaal_kenmerk (v_ins_kenmerkwaarde15); + v_ins_kenmerk_key16 := bepaal_kenmerk (v_ins_kenmerkwaarde16); + v_ins_kenmerk_key17 := bepaal_kenmerk (v_ins_kenmerkwaarde17); + v_ins_kenmerk_key18 := bepaal_kenmerk (v_ins_kenmerkwaarde18); + v_ins_kenmerk_key19 := bepaal_kenmerk (v_ins_kenmerkwaarde19); + v_ins_kenmerk_key20 := bepaal_kenmerk (v_ins_kenmerkwaarde20); + + header_is_valid := 1; + ELSE + IF rec1.fac_imp_file_index = 1 + THEN + + fac.imp_writelog (p_import_key, + 'E', + 'Ongeldige header aangetroffen:', + 'GEBOUW_CODE: ' || UPPER (v_oprognose_gebouw_code) || CHR(10) || + 'SRTDEEL_CODE: ' || UPPER (v_ins_srtdeel_code) || CHR(10) || + 'DEEL_EXTERNNR: ' || UPPER (v_ins_deel_externnr) || CHR(10) || + 'DEEL_OPMERKING: ' || UPPER (v_ins_deel_opmerking) || CHR(10) || + 'FABRIKANT: ' || UPPER (v_ins_kenmerkwaarde2) || CHR(10) || + 'OPMERKINGEN: ' || UPPER (v_ins_kenmerkwaarde3) || CHR(10) || + 'TYPE: ' || UPPER (v_ins_kenmerkwaarde4) || CHR(10) || + 'CAP: ' || UPPER (v_ins_kenmerkwaarde5) || CHR(10) || + 'EENHEID CAP: ' || UPPER (v_ins_kenmerkwaarde6) || CHR(10) || + 'DEEL_AANTAL: ' || UPPER (v_ins_deel_aantal) || CHR(10) || + 'EENHEID AANTAL: ' || UPPER (v_ins_kenmerkwaarde7) || CHR(10) || + 'BOUWJAAR: ' || UPPER (v_ins_kenmerkwaarde8) || CHR(10) || + 'FOTO: ' || UPPER (v_ins_kenmerkwaarde9)); + END IF; + END IF; + ELSE + v_count_tot := v_count_tot + 1; + -- Controleer alle veldwaarden + + v_errormsg := 'Gebouwcode kan niet gevonden worden'; + v_oprognose_gebouw_code := TRIM (v_oprognose_gebouw_code); + + SELECT alg_gebouw_key, alg_gebouw_code, alg_locatie_code + INTO v_alg_gebouw_key, v_alg_gebouw_code, v_alg_locatie_code + FROM alg_gebouw g, alg_locatie l, alg_onrgoedkenmerk aok, alg_kenmerk ak + WHERE g.alg_locatie_key = l.alg_locatie_key + AND alg_gebouw_verwijder IS NULL + AND aok.alg_onrgoed_key = g.alg_gebouw_key + AND aok.alg_onrgoed_niveau='G' + AND ak.alg_kenmerk_key = aok.alg_kenmerk_key + AND ak.alg_kenmerk_code='OPROGNOSE_CODE' + AND UPPER(aok.alg_onrgoedkenmerk_waarde) = UPPER(v_oprognose_gebouw_code); + + v_alg_verdieping_volgnr := 0; + BEGIN + SELECT alg_verdieping_key + INTO v_alg_verdieping_key + FROM alg_verdieping + WHERE alg_verdieping_verwijder IS NULL + AND alg_gebouw_key = v_alg_gebouw_key + AND alg_verdieping_volgnr = 0; + EXCEPTION WHEN NO_DATA_FOUND + THEN + INSERT INTO alg_verdieping (alg_gebouw_key, alg_verdieping_volgnr, alg_verdieping_omschrijving, alg_verdieping_code) + VALUES (v_alg_gebouw_key, 0, 'Begane grond', '0') + RETURNING alg_verdieping_key INTO v_alg_verdieping_key; + fac.imp_writelog (p_import_key, 'I', v_aanduiding, 'Verdieping aangemaakt'); + END; + + v_alg_ruimte_nr := '_'; + BEGIN + SELECT alg_ruimte_key + INTO v_alg_ruimte_key + FROM alg_ruimte + WHERE alg_ruimte_verwijder IS NULL + AND alg_verdieping_key = v_alg_verdieping_key + AND alg_ruimte_nr = '_'; + EXCEPTION WHEN NO_DATA_FOUND + THEN + INSERT INTO alg_ruimte (alg_verdieping_key, alg_ruimte_nr, alg_ruimte_omschrijving) + VALUES (v_alg_verdieping_key, '_', 'MJOP ruimte') + RETURNING alg_ruimte_key INTO v_alg_ruimte_key; + fac.imp_writelog (p_import_key, 'I', v_aanduiding, 'Ruimte aangemaakt'); + END; + -- + + v_errormsg := 'Bepaal objectsoort'; + + BEGIN + v_ins_srtdeel_code := TRIM(v_ins_srtdeel_code); + SELECT ins_srtdeel_omschrijving, ins_srtdeel_key, ins_srtgroep_key + INTO v_ins_srtdeel_omschrijving, v_ins_srtdeel_key, v_ins_srtgroep_key + FROM ins_srtdeel + WHERE ins_srtdeel_verwijder IS NULL + AND ins_srtdeel_code = SUBSTR(v_ins_srtdeel_code,1,4); + + v_errormsg := 'Bepaal objectgroep'; + SELECT ins_srtgroep_omschrijving, ins_discipline_key + INTO v_ins_srtgroep_omschrijving, v_ins_discipline_key + FROM ins_srtgroep + WHERE ins_srtgroep_key = v_ins_srtgroep_key; + + v_errormsg := 'Bepaal discipline'; + SELECT ins_discipline_omschrijving + INTO v_ins_discipline_omschrijving + FROM ins_discipline + WHERE ins_discipline_key = v_ins_discipline_key; + + EXCEPTION WHEN NO_DATA_FOUND + THEN + v_errormsg := 'Nieuwe NL/SfB code'; + v_ins_discipline_omschrijving := 'MJOB'; + v_ins_srtdeel_omschrijving := SUBSTR(v_ins_srtdeel_code,1,4) || '-Onbekend'; + BEGIN + SELECT ins_srtgroep_omschrijving + INTO v_ins_srtgroep_omschrijving + FROM ins_v_srtgroep_gegevens + WHERE ins_discipline_omschrijving = 'MJOB' + AND SUBSTR(v_ins_srtdeel_code, 1, 2) = SUBSTR(ins_srtgroep_omschrijving, 1,2); + + EXCEPTION WHEN NO_DATA_FOUND + THEN + v_ins_srtgroep_omschrijving := SUBSTR(v_ins_srtdeel_code, 1, 2) || '-Onbekend'; + END; + END; + + BEGIN + v_errormsg := 'Bepaal object id - Kijk of het externnr bestaat'; + SELECT d.ins_deel_omschrijving + INTO v_ins_deel_omschrijving + FROM ins_v_deel_gegevens dg, ins_deel d + WHERE dg.ins_deel_key = d.ins_deel_key + AND dg.alg_gebouw_upper = v_alg_gebouw_code + AND d.ins_deel_externnr = v_ins_deel_externnr; + + EXCEPTION WHEN NO_DATA_FOUND + THEN + v_ins_deel_omschrijving := NULL; + END; + + IF v_ins_deel_omschrijving IS NULL + THEN + v_errormsg := 'Bepaal object id - maak een nieuw nummer aan'; + SELECT MAX(FAC.safe_to_number(SUBSTR(ins_deel_omschrijving, INSTR(ins_deel_omschrijving, '-')+1, 100))) + INTO v_ins_deel_volgnr + FROM ins_v_deel_gegevens + WHERE ins_discipline_omschrijving = 'MJOB' + AND ins_deel_omschrijving LIKE v_ins_srtdeel_code || '%'; + + IF v_ins_deel_volgnr IS NULL + THEN + v_ins_deel_volgnr := 0; + END IF; + +-- v_ins_deel_omschrijving := v_ins_srtdeel_code || LPAD(v_ins_deel_volgnr + 1, 3, '0'); + v_ins_deel_omschrijving := v_ins_srtdeel_code||'-'||v_ins_deel_externnr; + END IF; + + v_errormsg := 'Objectopmerking ongeldig'; + v_ins_deel_opmerking := TRIM (v_ins_deel_opmerking); + + IF LENGTH (v_ins_deel_opmerking) > 320 + THEN + v_ins_deel_opmerking := SUBSTR (v_ins_deel_opmerking, 1, 320); + fac.imp_writelog ( + p_import_key, + 'W', + v_aanduiding || v_errormsg, + 'Objectopmerking wordt afgebroken tot [' + || v_ins_deel_opmerking + || ']' + ); + END IF; + + -- + v_errormsg := 'Aantal ongeldig; maximale grootte 999999.99'; + v_ins_deel_aantal := TRIM (v_ins_deel_aantal); + v_ins_deel_aantal := REPLACE (v_ins_deel_aantal, ',', '.'); + v_ins_deel_aantal_n := NULL; + + IF (v_ins_deel_aantal IS NOT NULL AND fac.getSetting('ins_explode_objects') = 0) + THEN + IF (fac.safe_to_number (v_ins_deel_aantal) IS NULL) + THEN + v_ongeldig := 1; + fac.imp_writelog (p_import_key, + 'W', + v_aanduiding || v_errormsg, + 'Regel wordt overgeslagen!'); + ELSE + v_ins_deel_aantal_n := fac.safe_to_number (v_ins_deel_aantal); + END IF; + ELSE + v_ins_deel_aantal_n := 1; + END IF; + + -- + v_errorhint := 'Bepaling registratiedatum'; + v_ins_kenmerkwaarde8 := TRIM(v_ins_kenmerkwaarde8); + IF v_ins_kenmerkwaarde8 IS NOT NULL AND LENGTH(v_ins_kenmerkwaarde8) = 4 + THEN + v_ins_deel_aanmaak := '01-01-' || TRIM(v_ins_kenmerkwaarde8); + v_ins_deel_aanmaak_d := TO_DATE(v_ins_deel_aanmaak, 'dd-mm-yyyy'); + END IF; + + -- De rest alleen ff trimmen. + v_ins_kenmerkwaarde1 := TRIM (v_ins_kenmerkwaarde1); + v_ins_kenmerkwaarde2 := TRIM (v_ins_kenmerkwaarde2); + v_ins_kenmerkwaarde3 := TRIM (v_ins_kenmerkwaarde3); + v_ins_kenmerkwaarde4 := TRIM (v_ins_kenmerkwaarde4); + v_ins_kenmerkwaarde5 := TRIM (v_ins_kenmerkwaarde5); + v_ins_kenmerkwaarde6 := TRIM (v_ins_kenmerkwaarde6); + v_ins_kenmerkwaarde7 := TRIM (v_ins_kenmerkwaarde7); + v_ins_kenmerkwaarde8 := TRIM (v_ins_kenmerkwaarde8); + v_ins_kenmerkwaarde9 := TRIM (v_ins_kenmerkwaarde9); + v_ins_kenmerkwaarde10 := TRIM (v_ins_kenmerkwaarde10); + v_ins_kenmerkwaarde11 := TRIM (v_ins_kenmerkwaarde11); + v_ins_kenmerkwaarde12 := TRIM (v_ins_kenmerkwaarde12); + v_ins_kenmerkwaarde13 := TRIM (v_ins_kenmerkwaarde13); + v_ins_kenmerkwaarde14 := TRIM (v_ins_kenmerkwaarde14); + v_ins_kenmerkwaarde15 := TRIM (v_ins_kenmerkwaarde15); + v_ins_kenmerkwaarde16 := TRIM (v_ins_kenmerkwaarde16); + v_ins_kenmerkwaarde17 := TRIM (v_ins_kenmerkwaarde17); + v_ins_kenmerkwaarde18 := TRIM (v_ins_kenmerkwaarde18); + v_ins_kenmerkwaarde19 := TRIM (v_ins_kenmerkwaarde19); + v_ins_kenmerkwaarde20 := TRIM (v_ins_kenmerkwaarde20); + + -- Insert geformatteerde import record + IF v_ongeldig = 0 + THEN + BEGIN + v_errormsg := 'Fout bij wegschrijven importregel'; + + -- Als uit kenmerkheader een geldige kenmerksoort-key volgt, + -- dan is kenmerkwaarde gevuld met =; zoniet, + -- dan is kenmerkwaarde gevuld met ! + -- NB. Een NULL-waarde resulteert NIET in het wissen van een + -- kenmerkveld (bijwerken kan wel, maar wissen dus niet)! + INSERT INTO fac_imp_ins ( + ins_discipline_omschrijving, + ins_discipline_kostensoort, + 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_kenmerkwaarde1, + ins_kenmerkwaarde2, + ins_kenmerkwaarde3, + ins_kenmerkwaarde4, + ins_kenmerkwaarde5, + ins_kenmerkwaarde6, + ins_kenmerkwaarde7, + ins_kenmerkwaarde8, + ins_kenmerkwaarde9, + ins_kenmerkwaarde10, + ins_kenmerkwaarde11, + ins_kenmerkwaarde12, + ins_kenmerkwaarde13, + ins_kenmerkwaarde14, + ins_kenmerkwaarde15, + ins_kenmerkwaarde16, + ins_kenmerkwaarde17, + ins_kenmerkwaarde18, + ins_kenmerkwaarde19, + ins_kenmerkwaarde20, + ins_deel_aanmaak, + ins_deel_aantal, + ins_deel_externnr + ) + VALUES ( + v_ins_discipline_omschrijving, + v_ins_discipline_kostensoort, + v_ins_srtgroep_omschrijving, + SUBSTR(v_ins_srtdeel_code,1,4), + v_ins_srtdeel_omschrijving, + v_ins_deel_omschrijving, + v_ins_deel_opmerking, + v_alg_locatie_code, + v_alg_gebouw_code, + v_alg_verdieping_volgnr, + v_alg_ruimte_nr, + DECODE (v_ins_kenmerk_key1, NULL, v_ins_kenmerkwaarde1, DECODE(v_ins_kenmerk_key1, NULL, NULL, TO_CHAR (v_ins_kenmerk_key1) || '=' || SUBSTR (v_ins_kenmerkwaarde1, 1, 3900))), + DECODE (v_ins_kenmerk_key2, NULL, v_ins_kenmerkwaarde2, DECODE(v_ins_kenmerk_key2, NULL, NULL, TO_CHAR (v_ins_kenmerk_key2) || '=' || SUBSTR (v_ins_kenmerkwaarde2, 1, 3900))), + DECODE (v_ins_kenmerk_key3, NULL, v_ins_kenmerkwaarde3, DECODE(v_ins_kenmerk_key3, NULL, NULL, TO_CHAR (v_ins_kenmerk_key3) || '=' || SUBSTR (v_ins_kenmerkwaarde3, 1, 3900))), + DECODE (v_ins_kenmerk_key4, NULL, v_ins_kenmerkwaarde4, DECODE(v_ins_kenmerk_key4, NULL, NULL, TO_CHAR (v_ins_kenmerk_key4) || '=' || SUBSTR (v_ins_kenmerkwaarde4, 1, 3900))), + DECODE (v_ins_kenmerk_key5, NULL, v_ins_kenmerkwaarde5, DECODE(v_ins_kenmerk_key5, NULL, NULL, TO_CHAR (v_ins_kenmerk_key5) || '=' || SUBSTR (v_ins_kenmerkwaarde5, 1, 3900))), + DECODE (v_ins_kenmerk_key6, NULL, v_ins_kenmerkwaarde6, DECODE(v_ins_kenmerk_key6, NULL, NULL, TO_CHAR (v_ins_kenmerk_key6) || '=' || SUBSTR (v_ins_kenmerkwaarde6, 1, 3900))), + DECODE (v_ins_kenmerk_key7, NULL, v_ins_kenmerkwaarde7, DECODE(v_ins_kenmerk_key7, NULL, NULL, TO_CHAR (v_ins_kenmerk_key7) || '=' || SUBSTR (v_ins_kenmerkwaarde7, 1, 3900))), + DECODE (v_ins_kenmerk_key8, NULL, v_ins_kenmerkwaarde8, DECODE(v_ins_kenmerk_key8, NULL, NULL, TO_CHAR (v_ins_kenmerk_key8) || '=' || SUBSTR (v_ins_kenmerkwaarde8, 1, 3900))), + DECODE (v_ins_kenmerk_key9, NULL, v_ins_kenmerkwaarde9, DECODE(v_ins_kenmerk_key9, NULL, NULL, TO_CHAR (v_ins_kenmerk_key9) || '=' || SUBSTR (v_ins_kenmerkwaarde9, 1, 3900))), + DECODE (v_ins_kenmerk_key10, NULL, v_ins_kenmerkwaarde10, DECODE(v_ins_kenmerk_key10, NULL, NULL, TO_CHAR (v_ins_kenmerk_key10) || '=' || SUBSTR (v_ins_kenmerkwaarde10, 1, 3900))), + DECODE (v_ins_kenmerk_key11, NULL, v_ins_kenmerkwaarde11, DECODE(v_ins_kenmerk_key11, NULL, NULL, TO_CHAR (v_ins_kenmerk_key11) || '=' || SUBSTR (v_ins_kenmerkwaarde11, 1, 3900))), + DECODE (v_ins_kenmerk_key12, NULL, v_ins_kenmerkwaarde12, DECODE(v_ins_kenmerk_key12, NULL, NULL, TO_CHAR (v_ins_kenmerk_key12) || '=' || SUBSTR (v_ins_kenmerkwaarde12, 1, 3900))), + DECODE (v_ins_kenmerk_key13, NULL, v_ins_kenmerkwaarde13, DECODE(v_ins_kenmerk_key13, NULL, NULL, TO_CHAR (v_ins_kenmerk_key13) || '=' || SUBSTR (v_ins_kenmerkwaarde13, 1, 3900))), + DECODE (v_ins_kenmerk_key14, NULL, v_ins_kenmerkwaarde14, DECODE(v_ins_kenmerk_key14, NULL, NULL, TO_CHAR (v_ins_kenmerk_key14) || '=' || SUBSTR (v_ins_kenmerkwaarde14, 1, 3900))), + DECODE (v_ins_kenmerk_key15, NULL, v_ins_kenmerkwaarde15, DECODE(v_ins_kenmerk_key15, NULL, NULL, TO_CHAR (v_ins_kenmerk_key15) || '=' || SUBSTR (v_ins_kenmerkwaarde15, 1, 3900))), + DECODE (v_ins_kenmerk_key16, NULL, v_ins_kenmerkwaarde16, DECODE(v_ins_kenmerk_key16, NULL, NULL, TO_CHAR (v_ins_kenmerk_key16) || '=' || SUBSTR (v_ins_kenmerkwaarde16, 1, 3900))), + DECODE (v_ins_kenmerk_key17, NULL, v_ins_kenmerkwaarde17, DECODE(v_ins_kenmerk_key17, NULL, NULL, TO_CHAR (v_ins_kenmerk_key17) || '=' || SUBSTR (v_ins_kenmerkwaarde17, 1, 3900))), + DECODE (v_ins_kenmerk_key18, NULL, v_ins_kenmerkwaarde18, DECODE(v_ins_kenmerk_key18, NULL, NULL, TO_CHAR (v_ins_kenmerk_key18) || '=' || SUBSTR (v_ins_kenmerkwaarde18, 1, 3900))), + DECODE (v_ins_kenmerk_key19, NULL, v_ins_kenmerkwaarde19, DECODE(v_ins_kenmerk_key19, NULL, NULL, TO_CHAR (v_ins_kenmerk_key19) || '=' || SUBSTR (v_ins_kenmerkwaarde19, 1, 3900))), + DECODE (v_ins_kenmerk_key20, NULL, v_ins_kenmerkwaarde20, DECODE(v_ins_kenmerk_key20, NULL, NULL, TO_CHAR (v_ins_kenmerk_key20) || '=' || SUBSTR (v_ins_kenmerkwaarde20, 1, 3900))), + v_ins_deel_aanmaak_d, + v_ins_deel_aantal_n, + v_ins_deel_externnr + ); + + COMMIT; + v_count_import := v_count_import + 1; + END; + + END IF; + END IF; + EXCEPTION + WHEN OTHERS + THEN + oracle_err_num := SQLCODE; + oracle_err_mes := SUBSTR (SQLERRM, 1, 200); + v_errormsg := + v_errormsg + || ' ORACLE (error ' + || oracle_err_num + || '/' + || oracle_err_mes + || ')'; + fac.imp_writelog (p_import_key, + 'W', + v_aanduiding || v_errormsg, + ''); + COMMIT; + END; + END LOOP; + + + + IF (header_is_valid = 1) + THEN + fac.imp_writelog ( + p_import_key, + 'S', + 'Objecten/aantal ingelezen importregels: ' || TO_CHAR (v_count_tot), + '' + ); + fac.imp_writelog ( + p_import_key, + 'S', + 'Objecten/aantal ongeldige niet ingelezen importregels: ' + || TO_CHAR (v_count_tot - v_count_import), + '' + ); + END IF; + + COMMIT; +EXCEPTION + WHEN OTHERS + THEN + oracle_err_num := SQLCODE; + oracle_err_mes := SUBSTR (SQLERRM, 1, 200); + v_errormsg := + v_errormsg + || ' ORACLE (error ' + || oracle_err_num + || '/' + || oracle_err_mes + || ')'; + fac.imp_writelog (p_import_key, + 'E', + v_aanduiding || v_errormsg, + 'Inleesproces objecten afgebroken! regel:' || v_file_index); +END; +/ + +CREATE OR REPLACE PROCEDURE tdnl_update_mjobelementen ( + p_import_key IN NUMBER) +IS + v_aanduiding VARCHAR (400); + v_kenmerk_foto NUMBER; +BEGIN + fac_update_ins (p_import_key); + BEGIN + v_aanduiding:='Ophalen oprognose kenmerk key is mislukt'; + SELECT i.ins_kenmerk_key + INTO v_kenmerk_foto + FROM ins_kenmerk i + where i.ins_kenmerk_code='OPROGNOSE_FOTO' + AND i.ins_kenmerk_verwijder IS NULL; + + UPDATE ins_deel i + SET i.ins_deel_image = (SELECT ins_kenmerkdeel_waarde + FROM ins_kenmerkdeel + WHERE ins_deel_key=i.ins_deel_key + AND ins_kenmerk_key=v_kenmerk_foto) + WHERE i.ins_deel_key IN (SELECT ins_deel_key + FROM ins_kenmerkdeel + WHERE ins_kenmerk_key=v_kenmerk_foto); + + EXCEPTION + WHEN NO_DATA_FOUND THEN + fac.imp_writelog (p_import_key, + 'W', + v_aanduiding, + 'Afbeelding objecten updaten !'); + END; + +END; +/ +-- EINE MJOB Elementen Import +CREATE OR REPLACE PROCEDURE tdnl_import_mjobtaken (p_import_key IN NUMBER) +IS + c_delim VARCHAR2 (2) := fac.import_delimiter(p_import_key); + v_newline fac_imp_file.fac_imp_file_line%TYPE; -- 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_tot NUMBER (10); + v_count_import NUMBER (10); + v_ongeldig NUMBER (1); + v_aanduiding VARCHAR (400); + v_dummy VARCHAR (255); + v_oprognose_gebouw_code VARCHAR2 (255); + v_alg_gebouw_code VARCHAR2 (255); --VARCHAR2(12), + v_alg_locatie_code VARCHAR2 (255); --VARCHAR2(12), + v_ins_deel_externnr VARCHAR2 (255); --VARCHAR2(256), + v_ins_deel_omschrijving VARCHAR2 (255); --VARCHAR2(60), + v_ins_srtcontrole_omschrijving VARCHAR2 (255); --VARCHAR2(60), + v_ins_srtcontrole_level VARCHAR2 (255); --NUMBER(3), + v_ins_srtcontroledl_xcp_materia VARCHAR2 (255); --NUMBER(9,2), + v_ins_srtcontroledl_xcp_aantal VARCHAR2 (255); --NUMBER(8,2), + v_ins_srtcontroledl_xcp_startdat VARCHAR2 (255); --DATE, + v_ins_srtcontroledl_xcp_periode VARCHAR2 (255); --NUMBER(6,2) + v_ins_srtcontroledl_xcp_perc VARCHAR2 (255); --NUMBER(3) + v_ins_srtcontroledl_xcp_eenh VARCHAR2 (255); + + v_file_index NUMBER; + + CURSOR c1 + IS + SELECT * + FROM fac_imp_file + WHERE fac_import_key = p_import_key + ORDER BY fac_imp_file_index; + +BEGIN + -- Eerst opruiming --- 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,'€ ',''); -- 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 + v_count_tot := 0; + v_count_import := 0; + header_is_valid := 0; + + FOR rec1 IN c1 + LOOP + BEGIN + v_newline := rec1.fac_imp_file_line; + v_file_index := rec1.fac_imp_file_index; + v_errormsg := 'Fout bij opvragen importregel'; + v_aanduiding := ''; + v_ongeldig := 0; + -- Lees alle veldwaarden + + fac.imp_getfield (v_newline, c_delim, v_oprognose_gebouw_code); + fac.imp_getfield (v_newline, c_delim, v_ins_deel_externnr); + fac.imp_getfield (v_newline, c_delim, v_ins_deel_omschrijving); + fac.imp_getfield (v_newline, c_delim, v_ins_srtcontrole_omschrijving); + fac.imp_getfield (v_newline, c_delim, v_ins_srtcontroledl_xcp_materia); + fac.imp_getfield (v_newline, c_delim, v_ins_srtcontroledl_xcp_aantal); + fac.imp_getfield (v_newline, c_delim, v_ins_srtcontrole_level); + fac.imp_getfield (v_newline, c_delim, v_ins_srtcontroledl_xcp_startdat); + fac.imp_getfield (v_newline, c_delim, v_ins_srtcontroledl_xcp_periode); + fac.imp_getfield (v_newline, c_delim, v_ins_srtcontroledl_xcp_perc); + fac.imp_getfield (v_newline, c_delim, v_ins_srtcontroledl_xcp_eenh); + + v_aanduiding := + '[' + || v_alg_gebouw_code + || '|' + || v_ins_deel_externnr + || '|' + || v_ins_deel_omschrijving + || '|' + || v_ins_srtcontrole_omschrijving + || '] '; + + -- Ik controleer of ik een geldige header heb, dat is: in de juiste kolommen + -- de juiste kolomkop. Ik controleer daarbij alle NIET-kenmerk kolommen! + -- Ik negeer alles totdat ik een geldige header ben gepasseerd. + IF (header_is_valid = 0) + THEN + IF UPPER (v_oprognose_gebouw_code) = 'GEBOUW_CODE' + AND UPPER (v_ins_deel_externnr) = 'DEEL_EXTERNNR' + AND UPPER (v_ins_deel_omschrijving) = 'DEEL_OMSCHRIJVING' + AND UPPER (v_ins_srtcontrole_omschrijving) = 'SRTCONTROLE_OMSCHRIJVING' + AND UPPER (v_ins_srtcontroledl_xcp_materia) = 'SRTCONTROLEDL_XCP_MATERIA' + AND UPPER (v_ins_srtcontroledl_xcp_aantal) = 'SRTCONTROLEDL_XCP_AANTAL' + AND UPPER (v_ins_srtcontrole_level) = 'SRTCONTROLE_LEVEL' + AND UPPER (v_ins_srtcontroledl_xcp_startdat) = 'SRTCONTROLE_STARTJAAR' + AND UPPER (v_ins_srtcontroledl_xcp_periode) = 'SRTCONTROLE_PERIODE' + AND UPPER (v_ins_srtcontroledl_xcp_perc) = 'SRTCONTROLE_PERCENTAGE' + THEN + header_is_valid := 1; + ELSE + IF rec1.fac_imp_file_index = 1 + THEN + + fac.imp_writelog (p_import_key, + 'E', + 'Ongeldige header aangetroffen:', + 'GEBOUW_CODE: ' || UPPER (v_oprognose_gebouw_code) || CHR(10) || + 'DEEL_EXTERNNR: ' || UPPER (v_ins_deel_externnr) || CHR(10) || + 'DEEL_OMSCHRIJVING: ' || UPPER (v_ins_deel_omschrijving) || CHR(10) || + 'SRTCONTROLE_OMSCHRIJVING: ' || UPPER (v_ins_srtcontrole_omschrijving) || CHR(10) || + 'SRTCONTROLEDL_XCP_MATERIA: ' || UPPER (v_ins_srtcontroledl_xcp_materia) || CHR(10) || + 'SRTCONTROLEDL_XCP_AANTAL: ' || UPPER (v_ins_srtcontroledl_xcp_aantal) || CHR(10) || + 'SRTCONTROLE_LEVEL: ' || UPPER (v_ins_srtcontrole_level) || CHR(10) || + 'SRTCONTROLE_STARTJAAR: ' || UPPER (v_ins_srtcontroledl_xcp_startdat) || CHR(10) || + 'SRTCONTROLE_PERIODE: ' || UPPER (v_ins_srtcontroledl_xcp_periode) || CHR(10) || + 'SRTCONTROLE_PERCENTAGE: ' || UPPER (v_ins_srtcontroledl_xcp_perc)); + END IF; + END IF; + ELSE + v_count_tot := v_count_tot + 1; + -- Controleer alle veldwaarden + + v_errormsg := 'Gebouwcode kan niet gevonden worden'; + v_oprognose_gebouw_code := TRIM (v_oprognose_gebouw_code); + + BEGIN + SELECT g.alg_gebouw_code, l.alg_locatie_code + INTO v_alg_gebouw_code, v_alg_locatie_code + FROM alg_gebouw g, alg_onrgoedkenmerk aok, alg_kenmerk ak, alg_locatie l + WHERE g.alg_gebouw_verwijder IS NULL + AND aok.alg_onrgoed_key = g.alg_gebouw_key + AND aok.alg_onrgoed_niveau='G' + AND ak.alg_kenmerk_key = aok.alg_kenmerk_key + AND ak.alg_kenmerk_code='OPROGNOSE_CODE' + AND UPPER(aok.alg_onrgoedkenmerk_waarde) = UPPER(v_oprognose_gebouw_code) + AND l.alg_locatie_key=g.alg_locatie_key; + + EXCEPTION WHEN NO_DATA_FOUND + THEN + fac.imp_writelog ( + p_import_key, + 'E', + v_aanduiding || v_errormsg, + 'Gebouw is niet gevonden' + ); + v_ongeldig := 1; + END; + + + v_errormsg := 'Object externnr kan niet gevonden worden'; + v_ins_deel_externnr := TRIM (v_ins_deel_externnr); + IF v_ins_deel_externnr IS NOT NULL + THEN + BEGIN + SELECT 1 + INTO v_dummy + FROM ins_v_deel_gegevens dg, ins_deel d + WHERE dg.ins_deel_key = d.ins_deel_key + AND UPPER(d.ins_deel_externnr) = UPPER(v_ins_deel_externnr) + AND dg.alg_gebouw_upper = UPPER(v_alg_gebouw_code); + EXCEPTION WHEN NO_DATA_FOUND + THEN + fac.imp_writelog ( + p_import_key, + 'E', + v_aanduiding || v_errormsg, + 'Object is niet gevonden op extern id ' + ); + v_ongeldig := 1; + END; + END IF; + + v_errormsg := 'Controle op kosten'; + IF FAC.safe_to_number(v_ins_srtcontroledl_xcp_materia) IS NULL + THEN + fac.imp_writelog ( + p_import_key, + 'E', + v_aanduiding || v_errormsg,'' + ); + v_ongeldig := 1; + END IF; + + v_errormsg := 'Controle op aantal'; + IF v_ins_srtcontroledl_xcp_aantal IS NOT NULL AND FAC.safe_to_number(v_ins_srtcontroledl_xcp_aantal) IS NULL + THEN + fac.imp_writelog ( + p_import_key, + 'E', + v_aanduiding || v_errormsg,'' + ); + v_ongeldig := 1; + END IF; + + v_errormsg := 'Controle op startjaar'; + IF v_ins_srtcontroledl_xcp_startdat IS NOT NULL AND FAC.safe_to_date('01-01-' || v_ins_srtcontroledl_xcp_startdat, 'dd-mm-yyyy') IS NULL + THEN + fac.imp_writelog ( + p_import_key, + 'E', + v_aanduiding || v_errormsg,'' + ); + v_ongeldig := 1; + END IF; + + v_errormsg := 'Controle op periode'; + IF v_ins_srtcontroledl_xcp_periode IS NOT NULL AND FAC.safe_to_number(v_ins_srtcontroledl_xcp_periode) IS NULL + THEN + fac.imp_writelog ( + p_import_key, + 'E', + v_aanduiding || v_errormsg,'' + ); + v_ongeldig := 1; + END IF; + + v_errormsg := 'Controle op percentage'; + IF v_ins_srtcontroledl_xcp_perc IS NOT NULL AND FAC.safe_to_number(v_ins_srtcontroledl_xcp_perc) IS NULL + THEN + fac.imp_writelog ( + p_import_key, + 'E', + v_aanduiding || v_errormsg,'' + ); + v_ongeldig := 1; + END IF; + + -- Insert geformatteerde import record + IF v_ongeldig = 0 + THEN + BEGIN + v_errormsg := 'Fout bij wegschrijven importregel'; + + -- Als uit kenmerkheader een geldige kenmerksoort-key volgt, + -- dan is kenmerkwaarde gevuld met =; zoniet, + -- dan is kenmerkwaarde gevuld met ! + -- NB. Een NULL-waarde resulteert NIET in het wissen van een + -- kenmerkveld (bijwerken kan wel, maar wissen dus niet)! + + + INSERT INTO fac_imp_csv (FAC_IMPORT_KEY, + fac_imp_csv_index, + fac_imp_csv_col01, + fac_imp_csv_col02, + fac_imp_csv_col03, + fac_imp_csv_col04, + fac_imp_csv_col05, + fac_imp_csv_col06, + fac_imp_csv_col07, + fac_imp_csv_col08, + fac_imp_csv_col09, + fac_imp_csv_col10, + fac_imp_csv_col11, + fac_imp_csv_col12) + VALUES ( p_import_key, + v_file_index, + SUBSTR(v_alg_gebouw_code,1,12), + SUBSTR(v_ins_deel_externnr,1,256), + SUBSTR(v_ins_deel_omschrijving,1,60), + SUBSTR(v_ins_srtcontrole_omschrijving,1,60), + FAC.safe_to_number(v_ins_srtcontrole_level), + FAC.safe_to_number(v_ins_srtcontroledl_xcp_materia), -- de prijs m,oet per stuk zijn. + FAC.safe_to_number(v_ins_srtcontroledl_xcp_aantal), + '01-01-' || v_ins_srtcontroledl_xcp_startdat, + v_ins_srtcontroledl_xcp_periode, + FAC.safe_to_number(v_ins_srtcontroledl_xcp_perc), + v_ins_srtcontroledl_xcp_eenh, + SUBSTR(v_alg_locatie_code,1,12)); + + COMMIT; + v_count_import := v_count_import + 1; + END; + + END IF; + END IF; + EXCEPTION + WHEN OTHERS + THEN + oracle_err_num := SQLCODE; + oracle_err_mes := SUBSTR (SQLERRM, 1, 200); + v_errormsg := + v_errormsg + || ' ORACLE (error ' + || oracle_err_num + || '/' + || oracle_err_mes + || ')'; + fac.imp_writelog (p_import_key, + 'W', + v_aanduiding || v_errormsg, + ''); + COMMIT; + END; + END LOOP; + + IF (header_is_valid = 1) + THEN + fac.imp_writelog ( + p_import_key, + 'S', + 'Taken/aantal ingelezen importregels: ' || TO_CHAR (v_count_tot), + '' + ); + fac.imp_writelog ( + p_import_key, + 'S', + 'Taken/aantal ongeldige niet ingelezen importregels: ' + || TO_CHAR (v_count_tot - v_count_import), + '' + ); + END IF; + + COMMIT; +EXCEPTION + WHEN OTHERS + THEN + oracle_err_num := SQLCODE; + oracle_err_mes := SUBSTR (SQLERRM, 1, 200); + v_errormsg := + v_errormsg + || ' ORACLE (error ' + || oracle_err_num + || '/' + || oracle_err_mes + || ')'; + fac.imp_writelog (p_import_key, + 'E', + v_aanduiding || v_errormsg, + 'Inleesproces taken afgebroken! regel:' || v_file_index); +END tdnl_import_mjobtaken; +/ +CREATE OR REPLACE PROCEDURE tdnl_update_mjobtaken ( + p_import_key IN NUMBER) +IS + + CURSOR c IS + SELECT fac_imp_csv_col01 alg_gebouw_code, + fac_imp_csv_col02 ins_deel_externnr, + fac_imp_csv_col03 ins_deel_omschrijving, + fac_imp_csv_col04 ins_srtcontrole_omschrijving, + fac_imp_csv_col05 ins_srtcontrole_level, + fac_imp_csv_col06 ins_srtcontroledl_xcp_materia, + fac_imp_csv_col07 ins_srtcontroledl_xcp_aantal, + fac_imp_csv_col08 ins_srtcontroledl_xcp_startdat, + fac_imp_csv_col09 ins_srtcontroledl_xcp_periode, + fac_imp_csv_col10 ins_srtcontroledl_xcp_perc, + fac_imp_csv_col11 ins_srtcontroledl_xcp_eenh, + fac_imp_csv_col12 alg_locatie_code + FROM fac_imp_csv + WHERE fac_import_key=p_import_key; + + v_errormsg VARCHAR2 (1000); + v_errorhint VARCHAR2 (1000); + oracle_err_num NUMBER; + oracle_err_mes VARCHAR2 (200); + v_count_tot NUMBER (10); + v_count_import NUMBER (10); + v_ongeldig NUMBER (1); + v_aanduiding VARCHAR (400); + v_ins_deel_key NUMBER; + v_ins_deel_aantal NUMBER; + v_ins_srtdeel_key NUMBER; + v_ins_srtcontrole_key NUMBER; + v_ins_srtcontroledl_xcp_key NUMBER; + v_ctr_discipline_key NUMBER; + v_alg_gebouw_key NUMBER; + v_ins_srtdeel_code INS_SRTDEEL.INS_SRTDEEL_CODE%TYPE; + v_ins_deel_eenheid VARCHAR2(30); + v_ins_srtcontroledl_xcp_startdat DATE; + v_ins_srtcontroledl_xcp_aantal NUMBER; + v_ins_srtcontroledl_xcp_perc NUMBER; + v_refdate DATE; + +BEGIN + SELECT MIN(ctr_ins_discipline_key) + INTO v_ctr_discipline_key + FROM ctr_disc_params + WHERE ctr_disc_params_ismjob = 1; + + -- controleer op verwijderde records + FOR rec IN c + LOOP + BEGIN + v_ins_deel_key := NULL; + v_aanduiding := rec.alg_gebouw_code || '|' || rec.ins_deel_omschrijving || '|' || rec.ins_deel_externnr || '|' || rec.ins_srtcontrole_omschrijving; + v_errormsg := 'Gebouwcode kan niet gevonden worden'; + + BEGIN + SELECT g.alg_gebouw_key + INTO v_alg_gebouw_key + FROM alg_gebouw g, alg_locatie l + WHERE alg_gebouw_verwijder IS NULL + AND UPPER(alg_gebouw_code) = rec.alg_gebouw_code + AND l.alg_locatie_key=g.alg_locatie_key + AND l.alg_locatie_code=rec.alg_locatie_code; + EXCEPTION WHEN NO_DATA_FOUND + THEN + fac.imp_writelog ( + p_import_key, + 'E', + v_aanduiding || v_errormsg, + 'Gebouw is niet gevonden' + ); + END; + + v_errormsg := 'Objectid kan niet gevonden worden'; + IF rec.ins_deel_omschrijving IS NOT NULL + THEN + BEGIN + SELECT dg.ins_deel_key, + sd.ins_srtdeel_key, + sd.ins_srtdeel_code, + dg.ins_deel_aantal, + ken.ins_kenmerkdeel_waarde + INTO v_ins_deel_key, v_ins_srtdeel_key, v_ins_srtdeel_code, v_ins_deel_aantal, v_ins_deel_eenheid + FROM ins_v_deel_gegevens dg, + ins_srtdeel sd, + (SELECT ikd.ins_deel_key, ikd.ins_kenmerkdeel_waarde + FROM ins_kenmerkdeel ikd, ins_kenmerk ik + WHERE ikd.ins_kenmerk_key = ik.ins_kenmerk_key + AND ik.ins_kenmerk_code = 'MJOB_EENHEID_AANTAL' + AND ikd.ins_kenmerkdeel_verwijder IS NULL) ken + WHERE dg.ins_srtdeel_key = sd.ins_srtdeel_key + AND UPPER(dg.ins_deel_omschrijving) = UPPER(rec.ins_deel_omschrijving) + AND ken.ins_deel_key(+) = dg.ins_deel_key + AND dg.alg_gebouw_key = v_alg_gebouw_key; + + EXCEPTION WHEN NO_DATA_FOUND + THEN + fac.imp_writelog ( + p_import_key, + 'E', + v_aanduiding || v_errormsg, + 'Object is niet gevonden op id ' + ); + v_ongeldig := 1; + END; + END IF; + + v_errormsg := 'Object externnr kan niet gevonden worden'; + IF rec.ins_deel_externnr IS NOT NULL AND v_ins_deel_key IS NULL + THEN + BEGIN + SELECT d.ins_deel_key, sd.ins_srtdeel_key, sd.ins_srtdeel_code, d.ins_deel_aantal + INTO v_ins_deel_key, v_ins_srtdeel_key, v_ins_srtdeel_code, v_ins_deel_aantal + FROM ins_v_deel_gegevens dg, ins_deel d, ins_srtdeel sd + WHERE dg.ins_deel_key = d.ins_deel_key + AND d.ins_srtdeel_key = sd.ins_srtdeel_key + AND UPPER(d.ins_deel_externnr) = UPPER(rec.ins_deel_externnr) + AND dg.alg_gebouw_key = v_alg_gebouw_key; + EXCEPTION WHEN NO_DATA_FOUND + THEN + fac.imp_writelog ( + p_import_key, + 'E', + v_aanduiding || v_errormsg, + 'Object is niet gevonden op extern id ' + ); + v_ongeldig := 1; + END; + END IF; + + -- kijk of de srtcontrole al bestaat + v_errormsg := 'Kijk of de taak al bestaat'; + BEGIN + SELECT ins_srtcontrole_key + INTO v_ins_srtcontrole_key + FROM ins_srtcontrole + WHERE ins_srtinstallatie_key = v_ins_srtdeel_key + AND ins_srtcontrole_niveau = 'S' + AND ins_srtcontrole_omschrijving = SUBSTR(v_ins_srtdeel_code || ' - ' || rec.ins_srtcontrole_omschrijving, 1, 60) + AND ctr_discipline_key = v_ctr_discipline_key; + + UPDATE ins_srtcontrole + SET ins_srtcontrole_level = rec.ins_srtcontrole_level + WHERE ins_srtcontrole_key = v_ins_srtcontrole_key; + + EXCEPTION WHEN NO_DATA_FOUND + THEN + v_errormsg := 'Aanmaken nieuwe taak'; + 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, + ins_srtcontrole_materiaal, + ins_srtcontrole_percentage) + VALUES (v_ins_srtdeel_key, + 'S', + SUBSTR(v_ins_srtdeel_code || ' - ' || rec.ins_srtcontrole_omschrijving, 1, 60), + v_ctr_discipline_key, + 0, -- periode wordt in het xcp record opgegeven + 4, -- standaard jaar voor MJOB + rec.ins_srtcontrole_level, + 0, -- kosten worden in het xcp record vermeld. + 100) + RETURNING ins_srtcontrole_key INTO v_ins_srtcontrole_key; + END; + + v_ins_srtcontroledl_xcp_perc:=FAC.safe_to_number(rec.ins_srtcontroledl_xcp_perc)*100; + + IF v_ins_srtcontroledl_xcp_perc>100 THEN + v_ins_srtcontroledl_xcp_perc:=100; + END IF; + + IF v_ins_srtcontroledl_xcp_perc < 100 THEN + v_ins_srtcontroledl_xcp_aantal:=NULL; + ELSE + IF rec.ins_srtcontroledl_xcp_aantal <> v_ins_deel_aantal THEN + v_ins_srtcontroledl_xcp_aantal:=FAC.safe_to_number(rec.ins_srtcontroledl_xcp_aantal); + ELSE + v_ins_srtcontroledl_xcp_aantal:=NULL; + END IF; + + END IF; + + + -- wat is het aantal op de taak (in de oprognose staat een hvh_reken die we hier gebruiken ipv de ins_deel_aantal) + -- v_ins_srtcontroledl_xcp_aantal := FAC.safe_to_number(rec.ins_srtcontroledl_xcp_aantal); + -- IF (v_ins_srtcontroledl_xcp_aantal=1 AND v_ins_deel_aantal>1) + -- THEN + -- v_ins_srtcontroledl_xcp_aantal:= v_ins_deel_aantal; + -- END IF; + + + + -- Ophalen freeze jaar en eerst stardatum + v_ins_srtcontroledl_xcp_startdat:=FAC.safe_to_date(rec.ins_srtcontroledl_xcp_startdat, 'dd-mm-yyyy'); + v_refdate := FAC.safe_to_date('01-01-'||fac.getsetting('mjb_start_year'),'DD-MM-YYYY'); + + IF (v_ins_srtcontroledl_xcp_startdat<=v_refdate) + THEN + v_ins_srtcontroledl_xcp_startdat := tdnl.getfirststartdate(v_ins_srtcontroledl_xcp_startdat, v_refdate,rec.ins_srtcontroledl_xcp_periode); + END IF; + + + + -- kijk of de taak uitzondering al bestaat + + v_errormsg := 'Kijk of de XCP taak al bestaat'; + BEGIN + + + SELECT ins_srtcontroledl_xcp_key + INTO v_ins_srtcontroledl_xcp_key + FROM ins_srtcontroledl_xcp + WHERE ins_deel_key = v_ins_deel_key + AND ins_srtcontrole_key = v_ins_srtcontrole_key; + + UPDATE ins_srtcontroledl_xcp + SET ins_srtcontroledl_xcp_periode = FAC.safe_to_number(rec.ins_srtcontroledl_xcp_periode), + ins_srtcontroledl_xcp_aantal = v_ins_srtcontroledl_xcp_aantal, + ins_srtcontroledl_xcp_materia = FAC.safe_to_number(rec.ins_srtcontroledl_xcp_materia), + ins_srtcontroledl_xcp_perc = v_ins_srtcontroledl_xcp_perc, + ins_srtcontroledl_xcp_startdat = v_ins_srtcontroledl_xcp_startdat + WHERE ins_srtcontroledl_xcp_key = v_ins_srtcontroledl_xcp_key; + + EXCEPTION WHEN NO_DATA_FOUND + THEN + v_errormsg := 'Aanmaken nieuwe taak uitzondering '; + INSERT INTO ins_srtcontroledl_xcp (ins_deel_key, + ins_srtcontrole_key, + ins_srtcontroledl_xcp_periode, + ins_srtcontroledl_xcp_aantal, + ins_srtcontroledl_xcp_materia, + ins_srtcontroledl_xcp_perc, + ins_srtcontroledl_xcp_startdat, + ins_srtcontroledl_xcp_aanteh) + VALUES (v_ins_deel_key, + v_ins_srtcontrole_key, + FAC.safe_to_number(rec.ins_srtcontroledl_xcp_periode), + v_ins_srtcontroledl_xcp_aantal, + FAC.safe_to_number(rec.ins_srtcontroledl_xcp_materia), + v_ins_srtcontroledl_xcp_perc, + v_ins_srtcontroledl_xcp_startdat, + rec.ins_srtcontroledl_xcp_eenh) + RETURNING ins_srtcontroledl_xcp_key INTO v_ins_srtcontroledl_xcp_key; + END; + + -- Moeten we nu kijken welke XCP taken er zijn aangemaakt en of deze al afgerond hadden moeten zijn zodat ze niet worden doorgeschoven naar het volgene jaar ? + + + + + + + + fac.imp_writelog (p_import_key, 'I', v_aanduiding || 'Taak is aangemaakt: ' || v_aanduiding, ''); + COMMIT; + + -- TODO moeten we ook taken gaan verwijderen? + + EXCEPTION + WHEN OTHERS + THEN + oracle_err_num := SQLCODE; + oracle_err_mes := SUBSTR (SQLERRM, 1, 200); + v_errormsg := + v_errormsg + || ' ORACLE (error ' + || oracle_err_num + || '/' + || oracle_err_mes + || ')'; + fac.imp_writelog (p_import_key, + 'E', + v_aanduiding || v_errormsg, + ''); + COMMIT; + END; + END LOOP; + +END; +/ + +-- EIND MJOB Taken --- 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 éé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° C.' FROM DUAL UNION --- SELECT '5132','toegeleverde warmte, water boven 140° 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ën, algemeen (verzamelniveau)' FROM DUAL UNION --- SELECT '5221','fecaliën, standaard systeem' FROM DUAL UNION --- SELECT '5222','fecaliën, vacuümsysteem' FROM DUAL UNION --- SELECT '5223','fecaliën, overdruksysteem' FROM DUAL UNION --- SELECT '5226','fecalië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ï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ü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üm, algemeen (verzamelniveau)' FROM DUAL UNION --- SELECT '5421','perslucht en vacuüm, persluchtvoorziening' FROM DUAL UNION --- SELECT '5422','perslucht en vacuüm, vacuü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ïntegreerde systemen, algemeen (verzamelniveau)' FROM DUAL UNION --- SELECT '6451','geïntegreerde systemen, gesloten netwerken' FROM DUAL UNION --- SELECT '6452','geï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ï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ï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ï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ë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 (