-- -- $Id$ -- -- Script containing customer specific sql statements for the A-Point database DEFINE thisfile = 'APGR.SQL' DEFINE dbuser = '^APGR' DEFINE custid = 'APGR' SET ECHO ON SET DEFINE ON COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT; WHENEVER SQLERROR EXIT; SELECT adm.scriptspoolfile('&dbuser', '&thisfile') AS fcltlogfile FROM DUAL; WHENEVER SQLERROR CONTINUE; SPOOL &fcltlogfile SET DEFINE OFF ------ payload begin ------ -- -- Personen import -- CREATE OR REPLACE PROCEDURE apgr_import_prs (p_import_key IN NUMBER) AS oracle_err_num NUMBER; oracle_err_mes VARCHAR2 (200); v_errormsg VARCHAR2 (400); v_errorhint VARCHAR2 (400); v_newline FAC_IMP_FILE.FAC_IMP_FILE_LINE%TYPE; CURSOR c1 IS SELECT l.alg_locatie_code, pw.alg_gebouw_code, pw.alg_verdieping_volgnr, pw.alg_ruimte_nr, p.prs_perslid_oslogin FROM prs_v_perslidwerkplek_gegevens pw, prs_perslid p, alg_locatie l, fac_imp_perslid f WHERE p.prs_perslid_key = pw.prs_perslid_key AND pw.alg_locatie_key = l.alg_locatie_key AND UPPER (p.prs_perslid_oslogin) = UPPER (f.prs_perslid_oslogin) AND p.prs_perslid_verwijder IS NULL; BEGIN BEGIN SELECT fac_imp_file_line INTO v_newline FROM fac_imp_file WHERE fac_import_key = p_import_key AND fac_imp_file_index = 1; IF v_newline LIKE CHR (TO_NUMBER ('EF', 'xx')) || CHR (TO_NUMBER ('BB', 'xx')) || CHR (TO_NUMBER ('BF', 'xx')) || '%' THEN -- EF BB BF aangetroffen fac.imp_writelog (p_import_key, 'W', 'Byte Order Mark aangetroffen', 'Bestand heeft onbehandeld UTF-8 formaat.' ); v_newline := SUBSTR (v_newline, 4); END IF; -- Verwijder de dubbele quotes v_newline := REPLACE (v_newline, '"'); UPDATE fac_imp_file SET fac_imp_file_line = v_newline WHERE fac_import_key = p_import_key AND fac_imp_file_index = 1; EXCEPTION WHEN OTHERS THEN fac.imp_writelog (p_import_key, 'E', 'Fout bij controle op Byte Order Mark', '' ); END; v_errorhint := 'Generieke update'; -- de sequence array staat beschreven in PRS_PAC.SRC bij de prs.import_perslid proc prs.import_perslid (p_import_key, '0;0;0;0;0;0;8;11;0;6;' || '0;0;0;0;0;10;5;4;0;0;' || '1;9;0;0;0;0;3;0;0;0;'|| '0;0;0;0;0;0;0;0;0;0;'|| '0;0;0;0;0;0', 'title;Type;Group;mail;telephoneNumber;givenName;company;department;sAMAccountName;ipPhone;sn%' ); -- Handmatig ingelezen prs_perslid_nr behouden, deze staat niet in de AD export UPDATE fac_imp_perslid SET prs_perslid_nr = (SELECT p.prs_perslid_nr FROM prs_v_perslid_gegevens p WHERE UPPER (fac_imp_perslid.prs_perslid_oslogin) = UPPER (p.prs_perslid_oslogin)); -- De AD export kent geen plaatsgegevens, dus deze moeten behouden blijven uit de handmatige prs import BEGIN FOR rec in c1 LOOP UPDATE fac_imp_perslid SET alg_locatie_code = rec.alg_locatie_code, alg_gebouw_code = rec.alg_gebouw_code, alg_verdieping_volgnr = rec.alg_verdieping_volgnr, alg_ruimte_nr = rec.alg_ruimte_nr WHERE UPPER (prs_perslid_oslogin) = UPPER (rec.prs_perslid_oslogin); END LOOP; END; COMMIT; EXCEPTION WHEN OTHERS THEN 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 apgr_import_prs; / CREATE OR REPLACE PROCEDURE apgr_update_prs ( p_import_key IN NUMBER ) IS -- Alle personen verwijderen die niet meer in import bestand voorkomen. CURSOR c_del IS SELECT p.prs_perslid_key, p.prs_perslid_oslogin, pf.prs_perslid_naam_full FROM fac_imp_perslid i, prs_perslid p, prs_v_perslid_fullnames_all pf WHERE UPPER (p.prs_perslid_oslogin) = UPPER (i.prs_perslid_oslogin(+)) AND pf.prs_perslid_key = p.prs_perslid_key AND p.prs_perslid_oslogin IS NOT NULL AND i.prs_perslid_oslogin IS NULL AND p.prs_perslid_verwijder IS NULL AND substr(p.prs_perslid_oslogin, 1, 1) != '_' ORDER BY 2; v_count NUMBER; BEGIN -- generic update SELECT count(*) INTO v_count FROM fac_imp_perslid; IF v_count < 150 THEN fac.imp_writelog (p_import_key, 'E', 'Het aantal te importeren personen is te klein (' || TO_CHAR (v_count) || ')', 'Zie Specificatie' ); RETURN; END IF; -- 'LOGIN' betekent dat op basis van OSLOGIN wordt gematched. -- 'A' betekent altijd alle (andere/overige) werkplekken verwijderen prs.update_perslid (p_import_key, 'LOGIN', NULL); apgr_post_update_prs(p_import_key); -- Verwijder personen die niet meer in de import voorkomen. FOR rec IN c_del LOOP BEGIN prs.delete_perslid (p_import_key, rec.prs_perslid_key); END; END LOOP; END apgr_update_prs; / CREATE OR REPLACE PROCEDURE apgr_post_update_prs (p_import_key IN NUMBER) AS -- Personen die in de ADgroup "FMIS_Personeel" zitten moeten de autorisatie "Personeel"(4) krijgen (als ze dat al niet hebben). -- Hetzelfde geldt voor de groepen "Frontend"(5), "Directie"(6), "Backoffice"(7) en "Applicatiebeheer"(8) CURSOR c_auth_personeel IS SELECT DISTINCT f.prs_perslid_key, f.prs_kenmerk1, DECODE (sub.aantal, NULL, 0, sub.aantal) aantal FROM fac_imp_perslid f, ( SELECT DISTINCT prs_perslid_key, COUNT (prs_perslid_key) aantal FROM fac_gebruikersgroep GROUP BY prs_perslid_key) sub WHERE f.prs_kenmerk1 LIKE '%Personeel%' AND f.fac_import_key = p_import_key AND f.prs_perslid_key IS NOT NULL AND f.prs_perslid_key = sub.prs_perslid_key(+); CURSOR c_auth_frontend IS SELECT DISTINCT f.prs_perslid_key, f.prs_kenmerk1, DECODE (sub.aantal, NULL, 0, sub.aantal) aantal FROM fac_imp_perslid f, ( SELECT DISTINCT prs_perslid_key, COUNT (prs_perslid_key) aantal FROM fac_gebruikersgroep GROUP BY prs_perslid_key) sub WHERE f.prs_kenmerk1 LIKE '%Front%' AND f.fac_import_key = p_import_key AND f.prs_perslid_key IS NOT NULL AND f.prs_perslid_key = sub.prs_perslid_key(+); CURSOR c_auth_directie IS SELECT DISTINCT f.prs_perslid_key, f.prs_kenmerk1, DECODE (sub.aantal, NULL, 0, sub.aantal) aantal FROM fac_imp_perslid f, ( SELECT DISTINCT prs_perslid_key, COUNT (prs_perslid_key) aantal FROM fac_gebruikersgroep GROUP BY prs_perslid_key) sub WHERE f.prs_kenmerk1 LIKE '%Directie%' AND f.fac_import_key = p_import_key AND f.prs_perslid_key IS NOT NULL AND f.prs_perslid_key = sub.prs_perslid_key(+); CURSOR c_auth_fmbackoffice IS SELECT DISTINCT f.prs_perslid_key, f.prs_kenmerk1, DECODE (sub.aantal, NULL, 0, sub.aantal) aantal FROM fac_imp_perslid f, ( SELECT DISTINCT prs_perslid_key, COUNT (prs_perslid_key) aantal FROM fac_gebruikersgroep GROUP BY prs_perslid_key) sub WHERE f.prs_kenmerk1 LIKE '%FMBack%' AND f.fac_import_key = p_import_key AND f.prs_perslid_key IS NOT NULL AND f.prs_perslid_key = sub.prs_perslid_key(+); CURSOR c_auth_ictbackoffice IS SELECT DISTINCT f.prs_perslid_key, f.prs_kenmerk1, DECODE (sub.aantal, NULL, 0, sub.aantal) aantal FROM fac_imp_perslid f, ( SELECT DISTINCT prs_perslid_key, COUNT (prs_perslid_key) aantal FROM fac_gebruikersgroep GROUP BY prs_perslid_key) sub WHERE f.prs_kenmerk1 LIKE '%ICTBack%' AND f.fac_import_key = p_import_key AND f.prs_perslid_key IS NOT NULL AND f.prs_perslid_key = sub.prs_perslid_key(+); CURSOR c_auth_fmbeheer IS SELECT DISTINCT prs_perslid_key, prs_kenmerk1 FROM fac_imp_perslid WHERE prs_kenmerk1 LIKE '%FMApp%' AND fac_import_key = p_import_key AND prs_perslid_key IS NOT NULL AND prs_perslid_key NOT IN (SELECT prs_perslid_key FROM fac_gebruikersgroep WHERE fac_groep_key = 27); CURSOR c_auth_ictbeheer IS SELECT DISTINCT prs_perslid_key, prs_kenmerk1 FROM fac_imp_perslid WHERE prs_kenmerk1 LIKE '%ICTApp%' AND fac_import_key = p_import_key AND prs_perslid_key IS NOT NULL AND prs_perslid_key NOT IN (SELECT prs_perslid_key FROM fac_gebruikersgroep WHERE fac_groep_key = 27); BEGIN -- plaats personen in de juiste autorisatie groepen FOR rec IN c_auth_personeel LOOP BEGIN -- Nog geen bestaand persoon? Dan record toevoegen IF rec.aantal = 0 THEN INSERT INTO FAC_GEBRUIKERSGROEP (prs_perslid_key, fac_groep_key) VALUES (rec.prs_perslid_key, 23); END IF; -- Al wel in een groep, dan reduceren naar 1 en de laatste omhangen naar Personeel IF rec.aantal > 1 THEN DELETE FAC_GEBRUIKERSGROEP WHERE prs_perslid_key = rec.prs_perslid_key AND fac_gebruikersgroep_key < (SELECT MAX (fac_gebruikersgroep_key) FROM fac_gebruikersgroep WHERE prs_perslid_key = rec.prs_perslid_key); UPDATE FAC_GEBRUIKERSGROEP SET fac_groep_key = 23 WHERE prs_perslid_key = rec.prs_perslid_key; END IF; -- Persoon heeft nu 1 autorisatiegroep? Dan wordt deze omgehangen naar Personeel UPDATE FAC_GEBRUIKERSGROEP SET fac_groep_key = 23 WHERE prs_perslid_key = rec.prs_perslid_key AND rec.aantal = 1; END; END LOOP; FOR rec IN c_auth_frontend LOOP BEGIN -- Nog geen bestaand persoon? Dan record toevoegen IF rec.aantal = 0 THEN INSERT INTO FAC_GEBRUIKERSGROEP (prs_perslid_key, fac_groep_key) VALUES (rec.prs_perslid_key, 24); END IF; -- Persoon heeft nu 1 autorisatiegroep? Dan wordt deze vervangen door de AD import UPDATE FAC_GEBRUIKERSGROEP SET fac_groep_key = 24 WHERE prs_perslid_key = rec.prs_perslid_key AND rec.aantal = 1; END; END LOOP; FOR rec IN c_auth_directie LOOP BEGIN -- Nog geen bestaand persoon? Dan record toevoegen IF rec.aantal = 0 THEN INSERT INTO FAC_GEBRUIKERSGROEP (prs_perslid_key, fac_groep_key) VALUES (rec.prs_perslid_key, 25); END IF; -- Persoon heeft nu 1 autorisatiegroep? Dan wordt deze vervangen door de AD import UPDATE FAC_GEBRUIKERSGROEP SET fac_groep_key = 25 WHERE prs_perslid_key = rec.prs_perslid_key AND rec.aantal = 1; END; END LOOP; FOR rec IN c_auth_fmbackoffice LOOP BEGIN -- Nog geen bestaand persoon? Dan record toevoegen IF rec.aantal = 0 THEN INSERT INTO FAC_GEBRUIKERSGROEP (prs_perslid_key, fac_groep_key) VALUES (rec.prs_perslid_key, 26); END IF; -- Persoon heeft nu 1 autorisatiegroep? Dan wordt deze vervangen door de AD import UPDATE FAC_GEBRUIKERSGROEP SET fac_groep_key = 26 WHERE prs_perslid_key = rec.prs_perslid_key AND rec.aantal = 1; END; END LOOP; FOR rec IN c_auth_ictbackoffice LOOP BEGIN -- Nog geen bestaand persoon? Dan record toevoegen IF rec.aantal = 0 THEN INSERT INTO FAC_GEBRUIKERSGROEP (prs_perslid_key, fac_groep_key) VALUES (rec.prs_perslid_key, 41); END IF; -- Persoon heeft nu 1 autorisatiegroep? Dan wordt deze vervangen door de AD import UPDATE FAC_GEBRUIKERSGROEP SET fac_groep_key = 41 WHERE prs_perslid_key = rec.prs_perslid_key AND rec.aantal = 1; END; END LOOP; FOR rec IN c_auth_fmbeheer LOOP BEGIN INSERT INTO FAC_GEBRUIKERSGROEP (prs_perslid_key, fac_groep_key) VALUES (rec.prs_perslid_key, 27); INSERT INTO FAC_GEBRUIKERSGROEP (prs_perslid_key, fac_groep_key) VALUES (rec.prs_perslid_key, 26); END; END LOOP; FOR rec IN c_auth_ictbeheer LOOP BEGIN INSERT INTO FAC_GEBRUIKERSGROEP (prs_perslid_key, fac_groep_key) VALUES (rec.prs_perslid_key, 27); INSERT INTO FAC_GEBRUIKERSGROEP (prs_perslid_key, fac_groep_key) VALUES (rec.prs_perslid_key, 41); END; END LOOP; COMMIT; END; / -- Vanaf hier rapportages -- Deze voegt de FCLT_3D_GEBOUW_KEY toe aan de meldingen UDR -- Zoals gerealiseerd in melding FSN#11071 CREATE OR REPLACE VIEW APGR_V_MELDING_GEBOUW ( MELDING_KEY, MELDINGNUMMER, MELDING_REGIO, MELDING_DISTRICT, MELDING_LOCATIECODE, MELDING_LOCATIE, MELDING_LOCATIEPLAATS, FCLT_3D_LOCATIE_KEY, MELDING_GEBOUWCODE, MELDING_GEBOUW, FCLT_3D_GEBOUW_KEY, MELDING_VERDIEPING, MELDING_RUIMTENR, MELDING_RUIMTE, MELDING_ORDERNR, KOSTENSOORTGROEP, KOSTENSOORT, KOSTENPLAATS, KOSTENPLAATS_OMS, MELDER, MELDER_KEY, AFDELING, AFDELING_OMSCHRIJVING, FCLT_3D_AFDELING_KEY, BEDRIJF_KEY, INVOERDER, MELDBRON, SOORTMELDING, FCLT_3D_DISCIPLINE_KEY, PRODUCTGROEP, SUBPRODUCTGROEP, BEHANDELGROEP, BEHANDELAAR, BEHANDELAAR_KEY, SUBPRODUCTGROEPGROEP, FCLT_3D_DISCIPLINE2_KEY, ACTIEVE_BEHANDELGROEP, ACTIEVE_BEHANDELAAR_KEY, ACTIEVE_BEHANDELAAR, MELDING_STATUS, SLA_NVT, SLA_WERKDGN, SLA_WERKUREN, SLA_RESPIJTDGN, SLA_RESPIJTUREN, SLA_ACCPTDGN, SLA_ACCPTUREN, PLAN_UITVOERTIJD_SLA, MELDING_DATUM, MELDING_EINDDATUM, MELDING_ACCEPTDATUM, MELDING_AFGEMELD, MELDING_ACCEPTED, DOORLOOPTIJD_WERKDGN, DOORLOOPTIJD_WERKUREN, ONDERWERP, VOMSCHRIJVING, MELDING_OPMERKING, PRIORITEIT, PRIORITEITTXT, RATING, RATING_OPMERKING, BOLLETJE, ACCEPT_SLA_DAGEN, ACCEPT_SLA_UREN, UITVOERING_SLA_DAGEN, UITVOERING_SLA_UREN, AFSPRAAK_SLA_DAGEN, AFSPRAAK_SLA_UREN, ACCEPT_SLA_OPTIJD, UITVOERING_SLA_OPTIJD, AFSPRAAK_SLA_OPTIJD, SELFSERVICE ) AS SELECT mld_melding_key, meldingnummer, alg_regio_omschrijving, alg_district_omschrijving, locatie, locatie_omschrijving, locatie_plaats, alg_locatie_key, gebouw, gebouw_naam, gebouw_key, verdieping, ruimte, ruimte_omschrijving, melding_ordernr, kostensoortgroep, kostensoort, kostenplaats, kostenplaats_oms, melder, prs_perslid_key, afdeling, afdeling_omschrijving, afdeling_key, prs_bedrijf_key, invoerder, meldbron, soortmelding, stdm_ins_discipline_key, productgroep, subproductgroep, behandelgroep, behandelaar, behandelaar_key, subproductgroepgroep, mld_ins_discipline_key, actieve_behandelgroep, actieve_behandelaar_key, actieve_behandelaar, status, sla_nvt, sla_werkdgn, sla_werkuren, sla_respijtdgn, sla_respijturen, sla_accptdgn, sla_accpturen, plan_uitvoertijd_sla, datum, einddatum, acceptdatum, afgemeld, accepted, DECODE (x.t_doorlooptijd.eenheid, 'D', x.t_doorlooptijd.tijdsduur, NULL) doorlooptijd_werkdgn, DECODE (x.t_doorlooptijd.eenheid, 'U', x.t_doorlooptijd.tijdsduur, NULL) doorlooptijd_werkuren, onderwerp, omschrijving, opmerking, mld_melding_spoed prioriteit, DECODE (mld_melding_spoed, 3, lcl.l ('lcl_mld_urg_normaal'), 1, lcl.l ('lcl_mld_urg_kritiek'), 2, lcl.l ('lcl_mld_urg_hoog'), 4, lcl.l ('lcl_mld_urg_laag')), mld_melding_satisfaction, mld_melding_satisfaction_op, mld_melding_flag, DECODE (x.t_doorlooptijd.eenheid, 'D', acceptdatum - COALESCE (accepted, afgemeld), NULL) accept_sla_dagen, CAST ( DECODE (x.t_doorlooptijd.eenheid, 'U', (acceptdatum - COALESCE (accepted, afgemeld)) * 24, NULL) AS NUMBER (7, 2)) accept_sla_uren, DECODE ( x.t_doorlooptijd.eenheid, 'D', mld.geteinddatum (mld_melding_key) - COALESCE (afgemeld, SYSDATE) + COALESCE (sla_respijtdgn, 0), NULL) uitvoering_sla_dagen, CAST ( DECODE ( x.t_doorlooptijd.eenheid, 'U', ( (mld.geteinddatum (mld_melding_key) - COALESCE (afgemeld, SYSDATE)) * 24) + COALESCE (sla_respijturen, 0), NULL) AS NUMBER (7, 2)) uitvoering_sla_uren, DECODE ( x.t_doorlooptijd.eenheid, 'D', einddatum - COALESCE (afgemeld, SYSDATE) + COALESCE (sla_respijtdgn, 0), NULL) afspraak_sla_dagen, CAST ( DECODE ( x.t_doorlooptijd.eenheid, 'U', ( (einddatum - COALESCE (afgemeld, SYSDATE)) * 24) + COALESCE (sla_respijtdgn, 0), NULL) AS NUMBER (7, 2)) afspraak_sla_uren, CASE WHEN acceptdatum IS NULL OR -- Dan is er geen acceptatietijd gedefinieerd en dus altijd op tijd. DECODE (x.t_doorlooptijd.eenheid, 'D', acceptdatum - COALESCE (accepted, afgemeld), 0) + DECODE ( x.t_doorlooptijd.eenheid, 'U', (acceptdatum - COALESCE (accepted, afgemeld)) * 24, 0) >= 0 THEN lcl.l ('lcl_yes') ELSE lcl.l ('lcl_no') END accept_sla_optijd, CASE WHEN DECODE ( x.t_doorlooptijd.eenheid, 'D', mld.geteinddatum (mld_melding_key) - COALESCE (afgemeld, SYSDATE) + COALESCE (sla_respijtdgn, 0), 0) + DECODE ( x.t_doorlooptijd.eenheid, 'U', ( (mld.geteinddatum (mld_melding_key) - COALESCE (afgemeld, SYSDATE)) * 24) + COALESCE (sla_respijturen, 0), 0) >= 0 THEN lcl.l ('lcl_yes') ELSE lcl.l ('lcl_no') END uitvoering_sla_optijd, CASE WHEN DECODE ( x.t_doorlooptijd.eenheid, 'D', einddatum - COALESCE (afgemeld, SYSDATE) + COALESCE (sla_respijtdgn, 0), 0) + DECODE ( x.t_doorlooptijd.eenheid, 'U', ( (einddatum - COALESCE (afgemeld, SYSDATE)) * 24) + COALESCE (sla_respijtdgn, 0), 0) >= 0 THEN lcl.l ('lcl_yes') ELSE lcl.l ('lcl_no') END afspraak_sla_optijd, DECODE (invoerder, melder, lcl.l ('lcl_yes'), lcl.l ('lcl_no')) selfservice FROM (SELECT m.mld_melding_key, m.prs_perslid_key, sd.ins_srtdiscipline_prefix || m.mld_melding_key meldingnummer, alg_regio_omschrijving, alg_district_omschrijving, alg_locatie_code locatie, alg_locatie_omschrijving locatie_omschrijving, alg_locatie_plaats locatie_plaats, l.alg_locatie_key, og.alg_gebouw_code gebouw, og.alg_gebouw_naam gebouw_naam, og.alg_gebouw_key gebouw_key, og.alg_verdieping_code verdieping, og.alg_ruimte_nr ruimte, og.alg_ruimte_omschrijving ruimte_omschrijving, m.mld_melding_ordernr melding_ordernr, (SELECT ksg.prs_kostensoortgrp_oms FROM prs_kostensoortgrp ksg, prs_kostensoort ks WHERE ksg.prs_kostensoortgrp_key = ks.prs_kostensoortgrp_key AND ks.prs_kostensoort_key = (SELECT COALESCE (sm.prs_kostensoort_key, disc.prs_kostensoort_key) FROM mld_stdmelding sm, mld_discipline disc WHERE sm.mld_ins_discipline_key = disc.ins_discipline_key AND sm.mld_stdmelding_key = s.mld_stdmelding_key)) kostensoortgroep, (SELECT ks.prs_kostensoort_oms FROM prs_kostensoort ks WHERE ks.prs_kostensoort_key = (SELECT COALESCE (sm.prs_kostensoort_key, disc.prs_kostensoort_key) FROM mld_stdmelding sm, mld_discipline disc WHERE sm.mld_ins_discipline_key = disc.ins_discipline_key AND sm.mld_stdmelding_key = s.mld_stdmelding_key)) kostensoort, (SELECT k.prs_kostenplaats_nr FROM prs_kostenplaats k WHERE k.prs_kostenplaats_key = m.prs_kostenplaats_key) kostenplaats, (SELECT k.prs_kostenplaats_omschrijving FROM prs_kostenplaats k WHERE k.prs_kostenplaats_key = m.prs_kostenplaats_key) kostenplaats_oms, (SELECT prs_perslid_naam_full FROM prs_v_perslid_fullnames_all pf WHERE pf.prs_perslid_key = m.prs_perslid_key) melder, (SELECT prs_afdeling_naam FROM prs_afdeling afd, prs_perslid pp WHERE afd.prs_afdeling_key = pp.prs_afdeling_key AND pp.prs_perslid_key = m.prs_perslid_key) afdeling, (SELECT prs_afdeling_omschrijving FROM prs_afdeling afd, prs_perslid pp WHERE afd.prs_afdeling_key = pp.prs_afdeling_key AND pp.prs_perslid_key = m.prs_perslid_key) afdeling_omschrijving, (SELECT prs_afdeling_key FROM prs_perslid pp WHERE pp.prs_perslid_key = m.prs_perslid_key) afdeling_key, (SELECT prs_bedrijf_key FROM prs_v_afdeling pva, prs_perslid pp WHERE pva.prs_afdeling_key = pp.prs_afdeling_key AND pp.prs_perslid_key = m.prs_perslid_key) prs_bedrijf_key, (SELECT prs_perslid_naam_full FROM prs_v_perslid_fullnames_all pf WHERE pf.prs_perslid_key = mld.getmeldinguser (m.mld_melding_key)) invoerder, (SELECT mb.mld_meldbron_omschrijving FROM mld_meldbron mb WHERE mb.mld_meldbron_key = m.mld_meldbron_key) meldbron, m.mld_meldbron_key, sd.ins_srtdiscipline_key ins_srtdiscipline_key, sd.ins_srtdiscipline_omschrijving soortmelding, md.ins_discipline_key stdm_ins_discipline_key, md.ins_discipline_omschrijving productgroep, s.mld_stdmelding_omschrijving subproductgroep, smg.mld_stdmeldinggroep_naam subproductgroepgroep, mbg.mld_behandelgroep_naam behandelgroep, (SELECT prs_perslid_naam_full FROM prs_v_perslid_fullnames_all pf WHERE pf.prs_perslid_key = m.mld_melding_behandelaar_key) behandelaar, m.mld_melding_behandelaar_key behandelaar_key, m.mld_ins_discipline_key mld_ins_discipline_key, (SELECT md2.ins_discipline_omschrijving FROM mld_discipline md2 WHERE md2.ins_discipline_key = m.mld_ins_discipline_key) actieve_behandelgroep, m.mld_melding_behandelaar2_key actieve_behandelaar_key, (SELECT prs_perslid_naam_full FROM prs_v_perslid_fullnames_all pf WHERE pf.prs_perslid_key = m.mld_melding_behandelaar2_key) actieve_behandelaar, (SELECT mld_statuses_omschrijving FROM mld_statuses sta WHERE sta.mld_statuses_key = m.mld_melding_status) status, CASE WHEN m.mld_melding_einddatum > COALESCE ( fac.gettrackingdate ('MLDAFM', m.mld_melding_key), fac.gettrackingdate ('MLDREJ', m.mld_melding_key), SYSDATE) THEN 1 ELSE 0 END plan_uitvoertijd_sla, CASE WHEN m.mld_melding_indult = 1 OR s.mld_stdmelding_slabewaken = 0 THEN 1 ELSE 0 END sla_nvt, DECODE (m.mld_melding_t_uitvoertijd.eenheid, 'D', m.mld_melding_t_uitvoertijd.tijdsduur, NULL) sla_werkdgn, DECODE (m.mld_melding_t_uitvoertijd.eenheid, 'U', m.mld_melding_t_uitvoertijd.tijdsduur, NULL) sla_werkuren, DECODE (m.mld_melding_t_respijt.eenheid, 'D', m.mld_melding_t_respijt.tijdsduur, NULL) sla_respijtdgn, DECODE (m.mld_melding_t_respijt.eenheid, 'U', m.mld_melding_t_respijt.tijdsduur, NULL) sla_respijturen, DECODE (m.mld_melding_t_accepttijd.eenheid, 'D', m.mld_melding_t_accepttijd.tijdsduur, NULL) sla_accptdgn, DECODE (m.mld_melding_t_accepttijd.eenheid, 'U', m.mld_melding_t_accepttijd.tijdsduur, NULL) sla_accpturen, m.mld_melding_datum datum, CASE WHEN s.mld_stdmelding_planbaar = 2 THEN TO_DATE (NULL) ELSE m.mld_melding_einddatum END einddatum, mld.getacceptdatum (m.mld_melding_datum, m.mld_stdmelding_key, og.alg_onroerendgoed_keys) acceptdatum, COALESCE (mld.getmeldingstatusdate (m.mld_melding_key, 5), mld.getmeldingstatusdate (m.mld_melding_key, 1)) afgemeld, COALESCE (mld.getmeldingstatusdate (m.mld_melding_key, 4), mld.getmeldingstatusdate (m.mld_melding_key, 1)) accepted, mld.getactualuitvoer (m.mld_melding_key) t_doorlooptijd, m.mld_melding_onderwerp onderwerp, m.mld_melding_omschrijving omschrijving, m.mld_melding_opmerking opmerking, m.mld_melding_spoed, m.mld_melding_satisfaction, m.mld_melding_satisfaction_op, m.mld_melding_flag FROM mld_melding m, mld_stdmelding s, alg_locatie l, alg_district d, alg_regio r, alg_v_allonrgoed_gegevens og, mld_discipline md, mld_disc_params mdp, mld_behandelgroep mbg, ins_srtdiscipline sd, mld_stdmeldinggroep smg WHERE s.mld_stdmelding_key = m.mld_stdmelding_key AND m.mld_alg_locatie_key = l.alg_locatie_key(+) AND sd.ins_srtdiscipline_key = md.ins_srtdiscipline_key AND md.ins_discipline_key = s.mld_ins_discipline_key AND md.ins_discipline_key = mdp.mld_ins_discipline_key AND s.mld_stdmeldinggroep_key = smg.mld_stdmeldinggroep_key(+) AND mdp.mld_behandelgroep_key = mbg.mld_behandelgroep_key(+) AND l.alg_district_key = d.alg_district_key(+) AND d.alg_regio_key = r.alg_regio_key(+) AND m.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys(+) AND m.fac_activiteit_key IS NULL AND m.mld_melding_datum >= TO_DATE ('01-01-2010', 'DD-MM-YYYY')) x; -- Ook voorzien van FCLT_3D_GEBOUW_KEY CREATE OR REPLACE VIEW APGR_V_INS_GEBOUW ( DEEL_KEY, DISCIPLINE, SOORT, GROEP, SOORTCODE, OMSCHRIJVING, PLAATSEIGENAAR, PLAATSEIGENAARTYPE, PLAATSAANDUIDING, EIGENAAR, OPMERKING, REGIO, DISTRICT, LOCATIE_CODE, LOCATIE_OMSCHRIJVING, LOCATIE_PLAATS, GEBOUWCODE, GEBOUW, TERREINSECTORCODE, TERREINSECTOR, VERDIEPINGCODE, RUIMTENR, WERKPLEKVOLGNR, WERKPLEK, UITLEENBAAR, UITGELEEND, RES_OPMERKING, BEHEERDER, VERVALDATUM, ACTIEF, AANTAL, STATE, STATEDATE, FCLT_3D_DISCIPLINE_KEY, FCLT_3D_AFDELING_KEY, FCLT_3D_LOCATIE_KEY, FCLT_3D_GEBOUW_KEY ) AS SELECT ii.ins_deel_key, lcl.x ('ins_discipline_omschrijving', id.ins_discipline_key, id.ins_discipline_omschrijving), lcl.x ('ins_srtdeel_omschrijving', s.ins_srtdeel_key, s.ins_srtdeel_omschrijving), lcl.x ('ins_srtgroep_omschrijving', sg.ins_srtgroep_key, sg.ins_srtgroep_omschrijving), s.ins_srtdeel_code, ii.ins_deel_omschrijving, COALESCE (ii.plaats, ii.eigenaar), ii.ins_alg_ruimte_type, ii.plaats, ii.eigenaar, ii.ins_deel_opmerking, ii.regio, ii.district, ii.locatie_code, ii.locatie_omschrijving, ii.locatie_plaats, ii.alg_gebouw_code, ii.alg_gebouw_omschrijving, ii.alg_terreinsector_code, ii.alg_terreinsector_omschrijving, ii.alg_verdieping_code, ii.alg_ruimte_nr, ii.prs_werkplek_volgnr, ii.prs_werkplek_omschrijving, DECODE (s.ins_srtdeel_uitleenbaar, 1, lcl.l ('lcl_yes'), lcl.l ('lcl_no')), DECODE (ii.ins_alg_ruimte_key_org, NULL, lcl.l ('lcl_no'), lcl.l ('lcl_yes')), ii.res_deel_opmerking, pf.prs_perslid_naam_full, ii.ins_deel_vervaldatum, DECODE (ii.ins_deel_actief, 1, lcl.l ('lcl_yes'), lcl.l ('lcl_no')), ii.ins_deel_aantal, ii.ins_deel_state, ii.ins_deel_statedate, sg.ins_discipline_key, ii.ins_alg_ruimte_key, ii.alg_locatie_key, ii.alg_gebouw_key FROM (SELECT i.ins_deel_key, i.ins_deel_omschrijving, i.ins_srtdeel_key, i.prs_perslid_key_beh, TO_CHAR (NULL) plaats, i.ins_deel_opmerking, i.ins_alg_ruimte_type, NULL regio, NULL district, NULL locatie_code, NULL locatie_omschrijving, NULL locatie_plaats, NULL alg_gebouw_code, NULL alg_gebouw_omschrijving, NULL alg_terreinsector_code, NULL alg_terreinsector_omschrijving, NULL alg_verdieping_code, NULL alg_ruimte_nr, NULL prs_werkplek_volgnr, NULL prs_werkplek_omschrijving, rd.res_deel_opmerking, i.ins_deel_vervaldatum, (SELECT d.prs_afdeling_omschrijving FROM prs_v_afdeling d WHERE prs_afdeling_key = i.ins_alg_ruimte_key) eigenaar, i.ins_discipline_key, i.ins_alg_ruimte_key, NULL alg_locatie_key, NULL alg_gebouw_key, i.ins_deel_actief, i.ins_deel_aantal, i.ins_alg_ruimte_key_org, i.ins_deel_state, i.ins_deel_statedate FROM ins_deel i, (SELECT res_deel_key, res_ins_deel_key, res_deel_opmerking res_deel_opmerking FROM res_deel WHERE res_deel_verwijder IS NULL) rd, prs_v_afdeling_boom d, prs_bedrijf b WHERE i.ins_deel_verwijder IS NULL AND i.ins_deel_key = rd.res_ins_deel_key(+) AND i.ins_deel_module = 'INS' AND i.ins_deel_parent_key IS NULL AND i.ins_alg_ruimte_key = d.prs_afdeling_key AND i.ins_alg_ruimte_type = 'A' UNION SELECT i.ins_deel_key, i.ins_deel_omschrijving, i.ins_srtdeel_key, i.prs_perslid_key_beh, TO_CHAR (NULL) plaats, i.ins_deel_opmerking, i.ins_alg_ruimte_type, NULL regio, NULL district, NULL locatie_code, NULL locatie_omschrijving, NULL locatie_plaats, NULL alg_gebouw_code, NULL alg_gebouw_omschrijving, NULL alg_terreinsector_code, NULL alg_terreinsector_omschrijving, NULL alg_verdieping_code, NULL alg_ruimte_nr, NULL prs_werkplek_volgnr, NULL prs_werkplek_omschrijving, rd.res_deel_opmerking, i.ins_deel_vervaldatum, pf.prs_perslid_naam_full eigenaar, i.ins_discipline_key, p.prs_afdeling_key, NULL alg_locatie_key, NULL alg_gebouw_key, i.ins_deel_actief, i.ins_deel_aantal, i.ins_alg_ruimte_key_org, i.ins_deel_state, i.ins_deel_statedate FROM ins_deel i, (SELECT res_deel_key, res_ins_deel_key, res_deel_opmerking res_deel_opmerking FROM res_deel WHERE res_deel_verwijder IS NULL) rd, prs_perslid p, prs_v_perslid_fullnames_all pf, prs_v_afdeling_boom d WHERE i.ins_deel_verwijder IS NULL AND i.ins_deel_key = rd.res_ins_deel_key(+) AND i.ins_deel_module = 'INS' AND i.ins_deel_parent_key IS NULL AND i.ins_alg_ruimte_key = p.prs_perslid_key AND p.prs_perslid_key = pf.prs_perslid_key AND p.prs_afdeling_key = d.prs_afdeling_key AND i.ins_alg_ruimte_type = 'P' UNION SELECT i.ins_deel_key, i.ins_deel_omschrijving, i.ins_srtdeel_key, i.prs_perslid_key_beh, TO_CHAR (NULL) plaats, i.ins_deel_opmerking, i.ins_alg_ruimte_type, NULL regio, NULL district, NULL locatie_code, NULL locatie_omschrijving, NULL locatie_plaats, NULL alg_gebouw_code, NULL alg_gebouw_omschrijving, NULL alg_terreinsector_code, NULL alg_terreinsector_omschrijving, NULL alg_verdieping_code, NULL alg_ruimte_nr, NULL prs_werkplek_volgnr, NULL prs_werkplek_omschrijving, rd.res_deel_opmerking, i.ins_deel_vervaldatum, c.prs_contactpersoon_naam eigenaar, NULL discipline_key, NULL, NULL alg_locatie_key, NULL alg_gebouw_key, i.ins_deel_actief, i.ins_deel_aantal, i.ins_alg_ruimte_key_org, i.ins_deel_state, i.ins_deel_statedate FROM ins_deel i, (SELECT res_deel_key, res_ins_deel_key, res_deel_opmerking res_deel_opmerking FROM res_deel WHERE res_deel_verwijder IS NULL) rd, prs_contactpersoon c WHERE i.ins_deel_verwijder IS NULL AND i.ins_deel_key = rd.res_ins_deel_key(+) AND i.ins_deel_module = 'INS' AND i.ins_deel_parent_key IS NULL AND i.ins_alg_ruimte_key = c.prs_contactpersoon_key AND i.ins_alg_ruimte_type = 'C' UNION SELECT i.ins_deel_key, i.ins_deel_omschrijving, i.ins_srtdeel_key, i.prs_perslid_key_beh, o.alg_plaatsaanduiding, i.ins_deel_opmerking, i.ins_alg_ruimte_type, re.alg_regio_omschrijving, di.alg_district_omschrijving, l.alg_locatie_code locatie_code, l.alg_locatie_omschrijving locatie_omschrijving, l.alg_locatie_plaats locatie_plaats, o.alg_gebouw_code, o.alg_gebouw_omschrijving, o.alg_terreinsector_code, o.alg_terreinsector_omschrijving, o.alg_verdieping_code, o.alg_ruimte_nr, o.prs_werkplek_volgnr, o.prs_werkplek_omschrijving, rd.res_deel_opmerking, i.ins_deel_vervaldatum, NULL eigenaar, i.ins_discipline_key, NULL, l.alg_locatie_key, o.alg_gebouw_key, i.ins_deel_actief, i.ins_deel_aantal, i.ins_alg_ruimte_key_org, i.ins_deel_state, i.ins_deel_statedate FROM ins_deel i, ins_v_alg_overzicht o, alg_locatie l, alg_district di, alg_regio re, (SELECT res_deel_key, res_ins_deel_key, res_deel_opmerking res_deel_opmerking FROM res_deel WHERE res_deel_verwijder IS NULL) rd WHERE i.ins_deel_verwijder IS NULL AND i.ins_deel_module = 'INS' AND i.ins_deel_key = rd.res_ins_deel_key(+) AND i.ins_deel_parent_key IS NULL AND o.alg_onroerendgoed_keys = i.ins_alg_ruimte_key AND o.alg_onroerendgoed_type = i.ins_alg_ruimte_type AND i.ins_alg_ruimte_type IN ('T', 'R', 'W') AND o.alg_locatie_key = i.ins_alg_locatie_key AND i.ins_alg_locatie_key = l.alg_locatie_key AND l.alg_district_key = di.alg_district_key AND di.alg_regio_key = re.alg_regio_key) ii, ins_srtdeel s, ins_srtgroep sg, ins_discipline id, prs_v_perslid_fullnames pf WHERE sg.ins_srtgroep_key = s.ins_srtgroep_key AND id.ins_discipline_key = sg.ins_discipline_key AND ii.prs_perslid_key_beh = pf.prs_perslid_key(+) AND s.ins_srtdeel_key = ii.ins_srtdeel_key; -- Hier hetzelfde, ook FCLT_3D_GEBOUW_KEY CREATE OR REPLACE VIEW APGR_V_INSDEELMELDING_GEBOUW ( DEEL_KEY, DISCIPLINE, SOORT, GROEP, SOORTCODE, OMSCHRIJVING, PLAATSEIGENAAR, PLAATSEIGENAARTYPE, PLAATSAANDUIDING, EIGENAAR, OPMERKING, REGIO, DISTRICT, LOCATIE_CODE, LOCATIE_OMSCHRIJVING, LOCATIE_PLAATS, GEBOUWCODE, GEBOUW, TERREINSECTORCODE, TERREINSECTOR, VERDIEPINGCODE, RUIMTENR, WERKPLEKVOLGNR, WERKPLEK, UITLEENBAAR, UITGELEEND, RES_OPMERKING, BEHEERDER, VERVALDATUM, ACTIEF, AANTAL, STATE, STATEDATE, FCLT_3D_DISCIPLINE_KEY, FCLT_3D_AFDELING_KEY, FCLT_3D_LOCATIE_KEY, FCLT_3D_GEBOUW_KEY, MELDING_KEY, MELDINGNUMMER, MELDING_DISTRICT, MELDING_LOCATIECODE, MELDING_LOCATIE, MELDING_LOCATIEPLAATS, MELDING_GEBOUWCODE, MELDING_GEBOUW, MELDING_VERDIEPING, MELDING_RUIMTENR, MELDING_RUIMTE, MELDING_ORDERNR, KOSTENSOORTGROEP, KOSTENSOORT, KOSTENPLAATS, KOSTENPLAATS_OMS, MELDER, MELDER_KEY, AFDELING, AFDELING_OMSCHRIJVING, BEDRIJF_KEY, INVOERDER, MELDBRON, SOORTMELDING, PRODUCTGROEP, SUBPRODUCTGROEP, BEHANDELGROEP, BEHANDELAAR, BEHANDELAAR_KEY, SUBPRODUCTGROEPGROEP, MELDING_STATUS, SLA_NVT, SLA_WERKDGN, SLA_WERKUREN, SLA_RESPIJTDGN, SLA_RESPIJTUREN, SLA_ACCPTDGN, SLA_ACCPTUREN, PLAN_UITVOERTIJD_SLA, MELDING_DATUM, MELDING_EINDDATUM, MELDING_ACCEPTDATUM, MELDING_AFGEMELD, MELDING_ACCEPTED, DOORLOOPTIJD_WERKDGN, DOORLOOPTIJD_WERKUREN, ONDERWERP, VOMSCHRIJVING, MELDING_OPMERKING, PRIORITEIT, PRIORITEITTXT, RATING, RATING_OPMERKING, BOLLETJE, ACCEPT_SLA_DAGEN, ACCEPT_SLA_UREN, UITVOERING_SLA_DAGEN, UITVOERING_SLA_UREN, AFSPRAAK_SLA_DAGEN, AFSPRAAK_SLA_UREN, ACCEPT_SLA_OPTIJD, UITVOERING_SLA_OPTIJD, AFSPRAAK_SLA_OPTIJD, SELFSERVICE ) AS SELECT d.deel_key, d.discipline, d.soort, d.groep, d.soortcode, d.omschrijving, d.plaatseigenaar, d.plaatseigenaartype, d.plaatsaanduiding, d.eigenaar, d.opmerking, d.regio, d.district, d.locatie_code, d.locatie_omschrijving, d.locatie_plaats, d.gebouwcode, d.gebouw, d.terreinsectorcode, d.terreinsector, d.verdiepingcode, d.ruimtenr, d.werkplekvolgnr, d.werkplek, d.uitleenbaar, d.uitgeleend, d.res_opmerking, d.beheerder, d.vervaldatum, d.actief, d.aantal, d.state, d.statedate, d.fclt_3d_discipline_key, d.fclt_3d_afdeling_key, d.fclt_3d_locatie_key, d.fclt_3d_gebouw_key, m.melding_key, m.meldingnummer, m.melding_district, m.melding_locatiecode, m.melding_locatie, m.melding_locatieplaats, m.melding_gebouwcode, m.melding_gebouw, m.melding_verdieping, m.melding_ruimtenr, m.melding_ruimte, m.melding_ordernr, m.kostensoortgroep, m.kostensoort, m.kostenplaats, m.kostenplaats_oms, m.melder, m.melder_key, m.afdeling, m.afdeling_omschrijving, m.bedrijf_key, m.invoerder, m.meldbron, m.soortmelding, m.productgroep, m.subproductgroep, m.behandelgroep, m.behandelaar, m.behandelaar_key, m.subproductgroepgroep, m.melding_status, m.sla_nvt, m.sla_werkdgn, m.sla_werkuren, m.sla_respijtdgn, m.sla_respijturen, m.sla_accptdgn, m.sla_accpturen, m.plan_uitvoertijd_sla, m.melding_datum, m.melding_einddatum, m.melding_acceptdatum, m.melding_afgemeld, m.melding_accepted, m.doorlooptijd_werkdgn, m.doorlooptijd_werkuren, m.onderwerp, m.vomschrijving, m.melding_opmerking, m.prioriteit, m.prioriteittxt, m.rating, m.rating_opmerking, m.bolletje, m.accept_sla_dagen, m.accept_sla_uren, m.uitvoering_sla_dagen, m.uitvoering_sla_uren, m.afspraak_sla_dagen, m.afspraak_sla_uren, m.accept_sla_optijd, m.uitvoering_sla_optijd, m.afspraak_sla_optijd, m.selfservice FROM apgr_v_ins_gebouw d, mld_v_udr_melding m, mld_melding_object mo WHERE mo.mld_melding_key = m.melding_key AND mo.ins_deel_key = d.deel_key; -- En de laatste FCLT_3D_GEBOUW_KEY CREATE OR REPLACE VIEW APGR_V_INSKENMERK_GEBOUW ( DEEL_KEY, DISCIPLINE, SOORT, GROEP, SOORTCODE, OMSCHRIJVING, PLAATSEIGENAAR, PLAATSEIGENAARTYPE, PLAATSAANDUIDING, EIGENAAR, OPMERKING, REGIO, DISTRICT, LOCATIE_CODE, LOCATIE_OMSCHRIJVING, LOCATIE_PLAATS, GEBOUWCODE, GEBOUW, TERREINSECTORCODE, TERREINSECTOR, VERDIEPINGCODE, RUIMTENR, WERKPLEKVOLGNR, WERKPLEK, UITLEENBAAR, UITGELEEND, RES_OPMERKING, BEHEERDER, VERVALDATUM, ACTIEF, AANTAL, STATE, STATEDATE, FCLT_3D_DISCIPLINE_KEY, FCLT_3D_AFDELING_KEY, FCLT_3D_LOCATIE_KEY, FCLT_3D_GEBOUW_KEY, KENMERK, WAARDE_C, WAARDE_N, WAARDE_D ) AS SELECT m."DEEL_KEY", m."DISCIPLINE", m."SOORT", m."GROEP", m."SOORTCODE", m."OMSCHRIJVING", m."PLAATSEIGENAAR", m."PLAATSEIGENAARTYPE", m."PLAATSAANDUIDING", m."EIGENAAR", m."OPMERKING", m."REGIO", m."DISTRICT", m."LOCATIE_CODE", m."LOCATIE_OMSCHRIJVING", m."LOCATIE_PLAATS", m."GEBOUWCODE", m."GEBOUW", m."TERREINSECTORCODE", m."TERREINSECTOR", m."VERDIEPINGCODE", m."RUIMTENR", m."WERKPLEKVOLGNR", m."WERKPLEK", m."UITLEENBAAR", m."UITGELEEND", m."RES_OPMERKING", m."BEHEERDER", m."VERVALDATUM", m."ACTIEF", m."AANTAL", m."STATE", m."STATEDATE", m."FCLT_3D_DISCIPLINE_KEY", m."FCLT_3D_AFDELING_KEY", m."FCLT_3D_LOCATIE_KEY", m."FCLT_3D_GEBOUW_KEY", lcl.x ('skm.ins_srtkenmerk_omschrijving', skm.ins_srtkenmerk_key, ins_srtkenmerk_omschrijving) kenmerk, CASE WHEN skm.ins_srtkenmerk_kenmerktype = 'R' OR skm.ins_srtkenmerk_kenmerktype = 'S' THEN flx.getdomeinwaarde (skm.fac_kenmerkdomein_key, km.ins_kenmerkdeel_waarde) WHEN skm.ins_srtkenmerk_kenmerktype = 'C' OR skm.ins_srtkenmerk_kenmerktype = 'F' THEN km.ins_kenmerkdeel_waarde ELSE NULL END waarde_c, CASE WHEN skm.ins_srtkenmerk_kenmerktype = 'N' OR skm.ins_srtkenmerk_kenmerktype = 'B' THEN TO_NUMBER (km.ins_kenmerkdeel_waarde) ELSE TO_NUMBER (NULL) END waarde_n, CASE WHEN skm.ins_srtkenmerk_kenmerktype = 'D' THEN TO_DATE (km.ins_kenmerkdeel_waarde, 'DD-MM-YYYY') ELSE TO_DATE (NULL) END waarde_d FROM apgr_v_ins_gebouw M, ins_kenmerkdeel km, ins_kenmerk K, ins_srtkenmerk skm WHERE km.ins_deel_key = m.deel_key AND km.ins_kenmerkdeel_verwijder IS NULL AND k.ins_kenmerk_verwijder IS NULL AND skm.ins_srtkenmerk_verwijder IS NULL AND km.ins_kenmerk_key = k.ins_kenmerk_key(+) AND k.ins_srtkenmerk_key = skm.ins_srtkenmerk_key(+); ------ payload end ------ SET DEFINE OFF BEGIN adm.systrackscriptId ('$Id$', 0); END; / COMMIT; SET ECHO OFF SPOOL OFF SET DEFINE ON PROMPT Logfile of this upgrade is: &fcltlogfile