-- -- $Id$ -- -- Script containing customer specific sql statements for the Vesteda database DEFINE thisfile = 'VEST.SQL' DEFINE dbuser = '^VEST' DEFINE custid = 'VEST' 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 vest_import_perslid (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 DISTINCT p.prs_afdeling_naam afdeling, i.prs_afdeling_naam FROM prs_afdeling p, fac_imp_perslid i WHERE i.prs_afdeling_naam = SUBSTR (p.prs_afdeling_omschrijving, 1, 15) AND p.prs_afdeling_verwijder IS NULL; CURSOR c2 IS SELECT DISTINCT f.alg_locatie_code, l.alg_locatie_code locatie FROM fac_imp_perslid f, alg_locatie l WHERE f.alg_locatie_code = l.alg_locatie_omschrijving; 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, '13;14;15;16;0;0;6;1;3;2;' || '0;0;0;0;9;10;11;5;0;12;' || '7;4;0;8;0;0;0;0;0;0;'|| '0;0;0;0;0;0;0;0;0;0;'|| '0;0;0;0;0;0', 'Achternaam;Voornaam;Tussenvoegsel;SamAccountName;Email;Afdeling;Functie;Titel/Aanhef;Geslacht;Telefoonnummer;Mobiel nummer;Personeelsnummer;Locatie;Gebouw;Verdieping;Ruimte%' ); FOR rec IN c2 LOOP BEGIN UPDATE fac_imp_perslid SET alg_locatie_code = rec.locatie WHERE alg_locatie_code = rec.alg_locatie_code; END; END LOOP; UPDATE fac_imp_perslid SET alg_gebouw_code = '001' WHERE fac_imp_perslid.alg_locatie_code LIKE '%AMS%'; UPDATE fac_imp_perslid SET alg_verdieping_volgnr = '0' WHERE fac_imp_perslid.alg_locatie_code LIKE '%AMS%'; UPDATE fac_imp_perslid SET alg_ruimte_nr = '001' WHERE fac_imp_perslid.alg_locatie_code LIKE '%AMS%'; FOR rec IN c1 LOOP BEGIN UPDATE fac_imp_perslid SET prs_afdeling_naam = rec.afdeling WHERE prs_afdeling_naam = rec.prs_afdeling_naam; END; END LOOP; DELETE FROM fac_imp_perslid WHERE alg_locatie_code NOT IN (SELECT alg_locatie_code FROM alg_locatie); 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 vest_import_perslid; / CREATE OR REPLACE PROCEDURE vest_update_perslid ( 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_email FROM prs_perslid p WHERE p.prs_perslid_verwijder IS NULL AND p.prs_perslid_oslogin IS NULL AND p.prs_perslid_email IS NOT NULL AND NOT EXISTS (SELECT 'x' FROM fac_imp_perslid i WHERE UPPER(p.prs_perslid_email) = UPPER(i.prs_perslid_email)); 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, 'EMAIL', NULL); -- 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 vest_update_perslid; / CREATE OR REPLACE VIEW VEST_V_RAP_CATERINGDAGLIJST ( RESKEY, FCLT_F_DATUM, RESNR, VAN, TOT, FCLT_F_RUIMTE, FCLT_F_CATALOGUS, LEVERING, VOORZIENING, AANTAL, OPMERKING, AANTAL_PERS, FCLT_F_GASTHEER_VROUW ) AS SELECT rr.res_rsv_ruimte_key, rr.res_rsv_ruimte_van, rr.res_reservering_key || '/' || rr.res_rsv_ruimte_volgnr, TO_CHAR (rr.res_rsv_ruimte_van, 'hh24:mi'), TO_CHAR (rr.res_rsv_ruimte_tot, 'hh24:mi'), r.alg_ruimte_nr || ' ' || r.alg_ruimte_omschrijving, rd.ins_discipline_omschrijving, TO_CHAR (rra.res_rsv_artikel_levering, 'hh24:mi'), TRIM (ra.res_artikel_omschrijving), rra.res_rsv_artikel_aantal, rr.res_rsv_ruimte_opmerking, rr.res_rsv_ruimte_bezoekers, prs_perslid_naam_full FROM res_rsv_ruimte rr, alg_ruimte r, res_artikel ra, res_rsv_artikel rra, prs_v_perslid_fullnames ppf, res_reservering re, res_discipline rd WHERE rr.alg_ruimte_key = r.alg_ruimte_key AND rra.res_rsv_ruimte_key = rr.res_rsv_ruimte_key AND rra.res_artikel_key = ra.res_artikel_key AND rr.res_rsv_ruimte_contact_key = ppf.prs_perslid_key AND rr.res_rsv_ruimte_host_key = ppf.prs_perslid_key AND ra.res_discipline_key = rd.ins_discipline_key AND re.res_reservering_key = rr.res_reservering_key AND re.res_reservering_verwijder IS NULL; CREATE OR REPLACE VIEW vest_v_rap_mahler ( mld_key, datum, maand_uitgifte, datum_uitgifte, stempelnummer, uitgegeven_aan, -- Afhankelijk van wel/niet extern, anders prs_perslid bezoeker_van, inrijdtijd, uitrijdtijd, toelichting ) AS SELECT m.mld_melding_key, TRUNC (m.mld_melding_datum), (SELECT TO_CHAR (TO_DATE (mld_kenmerkmelding_waarde, 'DD-MM-YYYY'), 'YYYY-MM') FROM mld_kenmerkmelding km, mld_kenmerk k WHERE km.mld_kenmerk_key = k.mld_kenmerk_key AND km.mld_melding_key = m.mld_melding_key AND k.mld_srtkenmerk_key = 21) maand_uitgifte, (SELECT TO_DATE (mld_kenmerkmelding_waarde, 'DD-MM-YYYY') FROM mld_kenmerkmelding km, mld_kenmerk k WHERE km.mld_kenmerk_key = k.mld_kenmerk_key AND km.mld_melding_key = m.mld_melding_key AND k.mld_srtkenmerk_key = 21) datum_uitgifte, (SELECT mld_kenmerkmelding_waarde FROM mld_kenmerkmelding km, mld_kenmerk k WHERE km.mld_kenmerk_key = k.mld_kenmerk_key AND km.mld_melding_key = m.mld_melding_key AND k.mld_srtkenmerk_key = 1) stempelnummer, COALESCE ( (SELECT mld_kenmerkmelding_waarde FROM mld_kenmerkmelding km, mld_kenmerk k WHERE km.mld_kenmerk_key = k.mld_kenmerk_key AND km.mld_melding_key = m.mld_melding_key AND k.mld_srtkenmerk_key = 22), (SELECT p.prs_perslid_naam_friendly FROM PRS_V_PERSLID_FULLNAMES_ALL p WHERE p.prs_perslid_key = (SELECT fac.safe_to_number ( mld_kenmerkmelding_waarde) FROM mld_kenmerkmelding km, mld_kenmerk k WHERE km.mld_kenmerk_key = k.mld_kenmerk_key AND km.mld_melding_key = m.mld_melding_key AND k.mld_srtkenmerk_key = 184))) uitgegeven_aan, COALESCE ( (SELECT mld_kenmerkmelding_waarde FROM mld_kenmerkmelding km, mld_kenmerk k WHERE km.mld_kenmerk_key = k.mld_kenmerk_key AND km.mld_melding_key = m.mld_melding_key AND k.mld_srtkenmerk_key = 23), 'Vesteda') bezoeker_van, (SELECT mld_kenmerkmelding_waarde FROM mld_kenmerkmelding km, mld_kenmerk k WHERE km.mld_kenmerk_key = k.mld_kenmerk_key AND km.mld_melding_key = m.mld_melding_key AND k.mld_srtkenmerk_key = 24) inrijdtijd, (SELECT mld_kenmerkmelding_waarde FROM mld_kenmerkmelding km, mld_kenmerk k WHERE km.mld_kenmerk_key = k.mld_kenmerk_key AND km.mld_melding_key = m.mld_melding_key AND k.mld_srtkenmerk_key = 25) uitrijdtijd, m.mld_melding_omschrijving toelichting FROM mld_melding m WHERE m.mld_stdmelding_key = 302; CREATE OR REPLACE VIEW vest_v_rap_kluistoegang ( datum, bevoegd_persoon_1, bevoegd_persoon_2, datum_toegang, reden_toegang, maand ) AS SELECT m.mld_melding_datum, (SELECT pf.prs_perslid_naam_friendly FROM prs_v_perslid_fullnames pf WHERE pf.prs_perslid_key = (SELECT mld_kenmerkmelding_waarde FROM mld_kenmerkmelding km, mld_kenmerk k WHERE km.mld_kenmerk_key = k.mld_kenmerk_key AND km.mld_melding_key = m.mld_melding_key AND k.mld_srtkenmerk_key = 41)) bp1, (SELECT pf.prs_perslid_naam_friendly FROM prs_v_perslid_fullnames pf WHERE pf.prs_perslid_key = (SELECT mld_kenmerkmelding_waarde FROM mld_kenmerkmelding km, mld_kenmerk k WHERE km.mld_kenmerk_key = k.mld_kenmerk_key AND km.mld_melding_key = m.mld_melding_key AND k.mld_srtkenmerk_key = 42)) bp2, (SELECT mld_kenmerkmelding_waarde FROM mld_kenmerkmelding km, mld_kenmerk k WHERE km.mld_kenmerk_key = k.mld_kenmerk_key AND km.mld_melding_key = m.mld_melding_key AND k.mld_srtkenmerk_key = 44) datum_toegang, (SELECT mld_kenmerkmelding_waarde FROM mld_kenmerkmelding km, mld_kenmerk k WHERE km.mld_kenmerk_key = k.mld_kenmerk_key AND km.mld_melding_key = m.mld_melding_key AND k.mld_srtkenmerk_key = 43) reden_toegang, TO_CHAR (m.mld_melding_datum, 'MM-YYYY') maand FROM mld_melding m WHERE m.mld_stdmelding_key = 101; CREATE OR REPLACE VIEW vest_v_rap_wf_progress ( wf, melding_key, melding_datum, melding_onderwerp, melding_status, melding_behandelaar, max_stap_melding_key, max_stap_melding_datum, max_stap_melding_onderwerp, max_stap_melding_status, max_stap_melding_behandelaar, max_stap_stdmelding_key, max_stap_stdmelding_oms, melder, melder_afdeling_code, melder_afdeling_oms ) AS SELECT (SELECT mld_workflowstep_omschrijving FROM mld_workflowstep WHERE mld_workflowstep_key = x.mld_workflowstep_key) wf, x.mld_melding_key, x.mld_melding_datum, x.mld_melding_onderwerp, x.mld_statuses_omschrijving melding_status, (SELECT prs_perslid_naam_full FROM prs_v_perslid_fullnames_all WHERE prs_perslid_key = x.mld_melding_behandelaar_key) melding_behandelaar, stap.mld_melding_key max_stap_melding_key, stap.mld_melding_datum max_stap_melding_datum, stap.mld_melding_onderwerp max_stap_melding_onderwerp, stap.mld_statuses_omschrijving max_stap_melding_status, (SELECT prs_perslid_naam_full FROM prs_v_perslid_fullnames_all WHERE prs_perslid_key = stap.mld_melding_behandelaar_key) max_stap_melding_behandelaar, stap.mld_stdmelding_key max_stap_stdmelding_key, stap.mld_stdmelding_omschrijving max_stap_stdmelding_oms, (SELECT prs_perslid_naam_full FROM prs_v_perslid_fullnames_all WHERE prs_perslid_key = x.prs_perslid_key) melder, x.prs_afdeling_naam, x.prs_afdeling_omschrijving FROM (SELECT m.mld_melding_key, m.mld_melding_datum, m.mld_melding_onderwerp, ms.mld_statuses_omschrijving, m.mld_melding_behandelaar_key, m.mld_workflowstep_key, p.prs_perslid_key, a.prs_afdeling_naam, a.prs_afdeling_omschrijving FROM mld_melding m, mld_statuses ms, prs_perslid p, prs_afdeling a WHERE m.mld_melding_status = ms.mld_statuses_key AND m.prs_perslid_key = p.prs_perslid_key AND p.prs_afdeling_key = a.prs_afdeling_key) x LEFT JOIN (SELECT m.mld_melding_start_key, m.mld_melding_key, m.mld_melding_datum, m.mld_melding_onderwerp, ms.mld_statuses_omschrijving, m.mld_melding_behandelaar_key, sm.mld_stdmelding_key, sm.mld_stdmelding_omschrijving FROM mld_melding m, mld_statuses ms, mld_stdmelding sm WHERE m.mld_workflowstep_key IS NOT NULL -- Beschouw alleen WF-stappen AND m.mld_melding_status = ms.mld_statuses_key AND m.mld_stdmelding_key = sm.mld_stdmelding_key) stap ON x.mld_melding_key = stap.mld_melding_start_key; CREATE OR REPLACE VIEW vest_v_ins_qrc_mld AS SELECT i.ins_deel_omschrijving hide_f_sort, l.alg_locatie_code||' '||l.alg_locatie_omschrijving fclt_f_locatie, o.alg_gebouw_omschrijving fclt_f_gebouw, o.alg_plaatsaanduiding fclt_f_plaats, d.ins_discipline_omschrijving fclt_f_discipline, g.ins_srtgroep_omschrijving fclt_f_objectgroep, s.ins_srtdeel_omschrijving fclt_f_objectsoort, i.ins_deel_omschrijving fclt_f_identificatie, d.ins_discipline_omschrijving||' / '||sm.mld_stdmelding_omschrijving fclt_f_melding, i.ins_deel_key, s.ins_srtdeel_key, o.alg_gebouw_code, o.alg_verdieping_code, i.ins_discipline_key fclt_3d_discipline_key, l.alg_locatie_key fclt_3d_locatie_key, i.ins_alg_ruimte_type, i.ins_alg_ruimte_key, b.fac_bookmark_id hide_f_bookmark_id FROM ins_deel i, ins_v_alg_overzicht o, ins_srtdeel s, ins_srtgroep g, ins_discipline d, alg_locatie l, fac_bookmark b, mld_stdmelding sm, mld_stdmelding_srtinst si WHERE b.fac_bookmark_naam = 'QRC_MELDING' AND (b.fac_bookmark_expire IS NULL OR b.fac_bookmark_expire > SYSDATE) AND ins_deel_verwijder IS NULL AND i.ins_deel_module = 'INS' AND i.ins_deel_parent_key IS NULL AND s.ins_srtdeel_key = i.ins_srtdeel_key AND g.ins_srtgroep_key = s.ins_srtgroep_key AND d.ins_discipline_key = g.ins_discipline_key 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 sm.mld_stdmelding_key = si.mld_stdmelding_key AND si.ins_srtinstallatie_key = DECODE(si.ins_srtinstallatie_niveau, 'S', i.ins_srtdeel_key, 'G', s.ins_srtgroep_key, 'D', g.ins_discipline_key); CREATE OR REPLACE VIEW vest_v_rap_uitleen ( HIDE_F_REFKEY, HIDE_F_FAC_TRACKING_DATUM, INS_DEEL_KEY, OBJECTSOORT, OBJECT, UITGELEEND_AAN, IN_UIT, TRACKING_DATUM ) AS SELECT t.fac_tracking_refkey sort_refkey, t.fac_tracking_datum sort_datum, d.ins_deel_key, i.ins_srtdeel_omschrijving, d.ins_deel_omschrijving, DECODE ( t.fac_srtnotificatie_key, 108, SUBSTR (REPLACE (fac_tracking_oms, CHR (10), ''), ( (INSTR (fac_tracking_oms, 'is uitgegeven aan')) + 18)), NULL) uitgeleend_aan, DECODE (fac_srtnotificatie_key, 108, 'Uitgifte datum: ', 'Inname datum: ') In_uit, fac_tracking_datum FROM fac_tracking t, ins_deel d, ins_srtdeel i WHERE fac_srtnotificatie_key IN (108, 110) AND t.fac_tracking_refkey = d.ins_deel_key AND d.ins_srtdeel_key = i.ins_srtdeel_key; CREATE OR REPLACE VIEW vest_v_rap_parkeer ( ins_deel_key, locatie, identificatie, eigenaar, kenteken, van, tot, bedrag, factuurdatum ) AS SELECT i.ins_deel_key, al.alg_locatie_omschrijving, i.ins_deel_omschrijving, (SELECT d.ins_kenmerkdeel_waarde FROM ins_kenmerkdeel d, ins_kenmerk k WHERE i.ins_deel_key = d.ins_deel_key AND k.ins_kenmerk_key = d.ins_kenmerk_key AND k.ins_srtkenmerk_key = 42) eigenaar, (SELECT d.ins_kenmerkdeel_waarde FROM ins_kenmerkdeel d, ins_kenmerk k WHERE i.ins_deel_key = d.ins_deel_key AND k.ins_kenmerk_key = d.ins_kenmerk_key AND k.ins_srtkenmerk_key = 44) kenteken, (SELECT d.ins_kenmerkdeel_waarde FROM ins_kenmerkdeel d, ins_kenmerk k WHERE i.ins_deel_key = d.ins_deel_key AND k.ins_kenmerk_key = d.ins_kenmerk_key AND k.ins_srtkenmerk_key = 46) van, (SELECT d.ins_kenmerkdeel_waarde FROM ins_kenmerkdeel d, ins_kenmerk k WHERE i.ins_deel_key = d.ins_deel_key AND k.ins_kenmerk_key = d.ins_kenmerk_key AND k.ins_srtkenmerk_key = 45) tot, (SELECT d.ins_kenmerkdeel_waarde FROM ins_kenmerkdeel d, ins_kenmerk k WHERE i.ins_deel_key = d.ins_deel_key AND k.ins_kenmerk_key = d.ins_kenmerk_key AND k.ins_srtkenmerk_key = 41) bedrag, (SELECT d.ins_kenmerkdeel_waarde FROM ins_kenmerkdeel d, ins_kenmerk k WHERE i.ins_deel_key = d.ins_deel_key AND k.ins_kenmerk_key = d.ins_kenmerk_key AND k.ins_srtkenmerk_key = 43) factuurdatum FROM ins_deel i, alg_ruimte ar, alg_verdieping av, alg_gebouw ag, alg_locatie al WHERE i.ins_srtdeel_key = 41 AND i.ins_deel_verwijder IS NULL AND i.ins_alg_ruimte_key = ar.alg_ruimte_key AND i.ins_alg_ruimte_type = 'R' AND ar.alg_verdieping_key = av.alg_verdieping_key AND av.alg_gebouw_key = ag.alg_gebouw_key AND ag.alg_locatie_key = al.alg_locatie_key; CREATE OR REPLACE VIEW VEST_V_THEMA_VENDING ( INS_DEEL_KEY, ALG_RUIMTE_KEY, WAARDE ) AS SELECT ins_deel_key, ins_alg_ruimte_key, DECODE ( (SELECT COUNT ( * ) FROM mld_melding m, mld_melding_object mo WHERE m.mld_melding_key = mo.mld_melding_key AND mo.ins_deel_key = d.ins_deel_key AND mld_melding_status IN (0, 2, 3, 4, 7, 99)), 0, 'Normaal', 'Defect') ins_status FROM ins_deel d WHERE ins_discipline_key = 183; CREATE OR REPLACE VIEW VEST_V_THEMA_GEBOUW ( INS_DEEL_KEY, ALG_RUIMTE_KEY, WAARDE ) AS SELECT ins_deel_key, ins_alg_ruimte_key, DECODE ( (SELECT COUNT ( * ) FROM mld_melding m, mld_melding_object mo WHERE m.mld_melding_key = mo.mld_melding_key AND mo.ins_deel_key = d.ins_deel_key AND mld_melding_status IN (0, 2, 3, 4, 7, 99)), 0, 'Normaal', 'Defect') ins_status FROM ins_deel d WHERE ins_discipline_key = 184; CREATE OR REPLACE VIEW VEST_V_THEMA_ICT ( INS_DEEL_KEY, ALG_RUIMTE_KEY, WAARDE ) AS SELECT ins_deel_key, ins_alg_ruimte_key, DECODE ( (SELECT COUNT ( * ) FROM mld_melding m, mld_melding_object mo WHERE m.mld_melding_key = mo.mld_melding_key AND mo.ins_deel_key = d.ins_deel_key AND mld_melding_status IN (0, 2, 3, 4, 7, 99)), 0, 'Normaal', 'Defect') ins_status FROM ins_deel d WHERE ins_discipline_key = 186; CREATE OR REPLACE VIEW VEST_V_THEMA_INVENTARIS ( INS_DEEL_KEY, ALG_RUIMTE_KEY, WAARDE ) AS SELECT ins_deel_key, ins_alg_ruimte_key, DECODE ( (SELECT COUNT ( * ) FROM mld_melding m, mld_melding_object mo WHERE m.mld_melding_key = mo.mld_melding_key AND mo.ins_deel_key = d.ins_deel_key AND mld_melding_status IN (0, 2, 3, 4, 7, 99)), 0, 'Normaal', 'Defect') ins_status FROM ins_deel d WHERE ins_discipline_key = 182; CREATE OR REPLACE VIEW VEST_V_THEMA_VEILIGHEID ( INS_DEEL_KEY, ALG_RUIMTE_KEY, WAARDE ) AS SELECT ins_deel_key, ins_alg_ruimte_key, DECODE ( (SELECT COUNT ( * ) FROM mld_melding m, mld_melding_object mo WHERE m.mld_melding_key = mo.mld_melding_key AND mo.ins_deel_key = d.ins_deel_key AND mld_melding_status IN (0, 2, 3, 4, 7, 99)), 0, 'Normaal', 'Defect') ins_status FROM ins_deel d WHERE ins_discipline_key = 181; CREATE OR REPLACE VIEW vest_v_wpl_pstatus ( perslid_key, voornaam, naam, tussenvoegsel, voorletters, email, telefoonnr, mobiel, oslogin, kostenplaats, afdeling, functie, budget, extra_budget, totaal_budget, declaratie_concept, declaratie_definitief, h2w_concept, h2w_definitief, totaal_concept, totaal_definitief, restbudget, budget_verval ) AS SELECT p.prs_perslid_key, p.prs_perslid_voornaam, p.prs_perslid_naam, p.prs_perslid_tussenvoegsel, p.prs_perslid_voorletters, p.prs_perslid_email, p.prs_perslid_telefoonnr, p.prs_perslid_mobiel, p.prs_perslid_oslogin, k.prs_kostenplaats_omschrijving, a.prs_afdeling_naam, f.prs_srtperslid_omschrijving, (SELECT fac.safe_to_number (ud.fac_usrdata_prijs) FROM prs_kenmerklink kml, prs_kenmerk km, fac_kenmerkdomein kd, fac_usrdata ud WHERE kml.prs_link_key = p.prs_perslid_key AND kml.prs_kenmerk_key = km.prs_kenmerk_key AND km.fac_kenmerkdomein_key = kd.fac_kenmerkdomein_key AND kd.fac_usrtab_key = ud.fac_usrtab_key AND fac.safe_to_number (kml.prs_kenmerklink_waarde) = ud.fac_usrdata_key AND kml.prs_kenmerk_key = 1001) --Kenmerk extra_budget budget, (SELECT fac.safe_to_number (ud.fac_usrdata_prijs) FROM prs_kenmerklink kml, prs_kenmerk km, fac_kenmerkdomein kd, fac_usrdata ud WHERE kml.prs_link_key = p.prs_perslid_key AND kml.prs_kenmerk_key = km.prs_kenmerk_key AND km.fac_kenmerkdomein_key = kd.fac_kenmerkdomein_key AND kd.fac_usrtab_key = ud.fac_usrtab_key AND fac.safe_to_number (kml.prs_kenmerklink_waarde) = ud.fac_usrdata_key AND kml.prs_kenmerk_key = 1002) --Kenmerk extra_budget extra_budget, COALESCE ( (SELECT fac.safe_to_number (ud.fac_usrdata_prijs) FROM prs_kenmerklink kml, prs_kenmerk km, fac_kenmerkdomein kd, fac_usrdata ud WHERE kml.prs_link_key = p.prs_perslid_key AND kml.prs_kenmerk_key = km.prs_kenmerk_key AND km.fac_kenmerkdomein_key = kd.fac_kenmerkdomein_key AND kd.fac_usrtab_key = ud.fac_usrtab_key AND fac.safe_to_number (kml.prs_kenmerklink_waarde) = ud.fac_usrdata_key AND kml.prs_kenmerk_key = 1002), 0) + COALESCE ( (SELECT fac.safe_to_number (ud.fac_usrdata_prijs) FROM prs_kenmerklink kml, prs_kenmerk km, fac_kenmerkdomein kd, fac_usrdata ud WHERE kml.prs_link_key = p.prs_perslid_key AND kml.prs_kenmerk_key = km.prs_kenmerk_key AND km.fac_kenmerkdomein_key = kd.fac_kenmerkdomein_key AND kd.fac_usrtab_key = ud.fac_usrtab_key AND fac.safe_to_number (kml.prs_kenmerklink_waarde) = ud.fac_usrdata_key AND kml.prs_kenmerk_key = 1001), 0) AS totaal_budget, (SELECT COALESCE (SUM (kmm.mld_kenmerkmelding_waarde), 0) FROM mld_kenmerkmelding kmm, mld_kenmerk km, mld_melding m, mld_srtkenmerk sk WHERE m.mld_melding_key = kmm.mld_melding_key AND km.mld_kenmerk_key = kmm.mld_kenmerk_key AND p.prs_perslid_key = m.prs_perslid_key_voor AND km.mld_srtkenmerk_key = sk.mld_srtkenmerk_key AND sk.mld_srtkenmerk_key = 252 -- Kenmerksoort totaal declaratie AND m.mld_stdmelding_key = 342 -- Declaratieformulier AND m.mld_melding_status IN (0, 2, 3, 4)) AS declaratie_concept, (SELECT COALESCE (SUM (kmm.mld_kenmerkmelding_waarde), 0) FROM mld_kenmerkmelding kmm, mld_kenmerk km, mld_melding m, mld_srtkenmerk sk WHERE m.mld_melding_key = kmm.mld_melding_key AND km.mld_kenmerk_key = kmm.mld_kenmerk_key AND p.prs_perslid_key = m.prs_perslid_key_voor AND km.mld_srtkenmerk_key = sk.mld_srtkenmerk_key AND sk.mld_srtkenmerk_key = 252 -- Kenmerksoort totaal declaratie AND m.mld_stdmelding_key = 342 -- Declaratieformulier AND m.mld_melding_status IN (5, 6)) AS declaratie_definitief, (SELECT COALESCE (SUM (kmm.mld_kenmerkmelding_waarde), 0) FROM mld_kenmerkmelding kmm, mld_kenmerk km, mld_melding m, mld_srtkenmerk sk WHERE m.mld_melding_key = kmm.mld_melding_key AND km.mld_kenmerk_key = kmm.mld_kenmerk_key AND p.prs_perslid_key = m.prs_perslid_key_voor AND km.mld_srtkenmerk_key = sk.mld_srtkenmerk_key AND sk.mld_srtkenmerk_key = 252 -- Kenmerksoort totaal declaratie AND m.mld_stdmelding_key = 343 -- H2W AND m.mld_melding_status IN (0, 2, 3, 4)) AS h2w_concept, (SELECT COALESCE (SUM (kmm.mld_kenmerkmelding_waarde), 0) FROM mld_kenmerkmelding kmm, mld_kenmerk km, mld_melding m, mld_srtkenmerk sk WHERE m.mld_melding_key = kmm.mld_melding_key AND km.mld_kenmerk_key = kmm.mld_kenmerk_key AND p.prs_perslid_key = m.prs_perslid_key_voor AND km.mld_srtkenmerk_key = sk.mld_srtkenmerk_key AND sk.mld_srtkenmerk_key = 252 -- Kenmerksoort totaal declaratie AND m.mld_stdmelding_key = 343 -- H2W AND m.mld_melding_status IN (5, 6)) AS h2w_definitief, (SELECT COALESCE (SUM (kmm.mld_kenmerkmelding_waarde), 0) FROM mld_kenmerkmelding kmm, mld_kenmerk km, mld_melding m, mld_srtkenmerk sk WHERE m.mld_melding_key = kmm.mld_melding_key AND km.mld_kenmerk_key = kmm.mld_kenmerk_key AND p.prs_perslid_key = m.prs_perslid_key_voor AND km.mld_srtkenmerk_key = sk.mld_srtkenmerk_key AND sk.mld_srtkenmerk_key = 252 -- Kenmerksoort totaal declaratie AND m.mld_melding_status IN (0, 2, 3, 4)) AS totaal_concept, (SELECT COALESCE (SUM (kmm.mld_kenmerkmelding_waarde), 0) FROM mld_kenmerkmelding kmm, mld_kenmerk km, mld_melding m, mld_srtkenmerk sk WHERE m.mld_melding_key = kmm.mld_melding_key AND km.mld_kenmerk_key = kmm.mld_kenmerk_key AND p.prs_perslid_key = m.prs_perslid_key_voor AND km.mld_srtkenmerk_key = sk.mld_srtkenmerk_key AND sk.mld_srtkenmerk_key = 252 -- Kenmerksoort totaal declaratie AND m.mld_melding_status IN (5, 6)) AS totaal_definitief, COALESCE ( (SELECT fac.safe_to_number (ud.fac_usrdata_prijs) FROM prs_kenmerklink kml, prs_kenmerk km, fac_kenmerkdomein kd, fac_usrdata ud WHERE kml.prs_link_key = p.prs_perslid_key AND kml.prs_kenmerk_key = km.prs_kenmerk_key AND km.fac_kenmerkdomein_key = kd.fac_kenmerkdomein_key AND kd.fac_usrtab_key = ud.fac_usrtab_key AND fac.safe_to_number (kml.prs_kenmerklink_waarde) = ud.fac_usrdata_key AND kml.prs_kenmerk_key = 1001), 0) + COALESCE ( (SELECT fac.safe_to_number (ud.fac_usrdata_prijs) FROM prs_kenmerklink kml, prs_kenmerk km, fac_kenmerkdomein kd, fac_usrdata ud WHERE kml.prs_link_key = p.prs_perslid_key AND kml.prs_kenmerk_key = km.prs_kenmerk_key AND km.fac_kenmerkdomein_key = kd.fac_kenmerkdomein_key AND kd.fac_usrtab_key = ud.fac_usrtab_key AND fac.safe_to_number (kml.prs_kenmerklink_waarde) = ud.fac_usrdata_key AND kml.prs_kenmerk_key = 1002), 0) - (SELECT COALESCE (SUM (kmm.mld_kenmerkmelding_waarde), 0) FROM mld_kenmerkmelding kmm, mld_kenmerk km, mld_melding m, mld_srtkenmerk sk WHERE m.mld_melding_key = kmm.mld_melding_key AND km.mld_kenmerk_key = kmm.mld_kenmerk_key AND p.prs_perslid_key = m.prs_perslid_key_voor AND km.mld_srtkenmerk_key = sk.mld_srtkenmerk_key AND sk.mld_srtkenmerk_key = 252 -- Kenmerksoort totaal declaratie AND m.mld_melding_status IN (0, 2, 3, 4, 5, 6)) AS restbudget, b.budget_verval FROM ( SELECT prs_perslid_key, budget, extra_budget, SUM (mld_kenmerkmelding_waarde) AS budget_verval -- Dit moet nog worden bepaald. FROM (SELECT prs_perslid_key, budget, extra_budget, mld_kenmerkmelding_waarde, factuurdatum, mndverval, MONTHS_BETWEEN ( SYSDATE, TO_DATE (factuurdatum, 'DD-MM-YYYY')) mndtussen FROM (SELECT pbudget.prs_perslid_key, pbudget.budget, pbudget.extra_budget, kmmverv.mld_kenmerkmelding_waarde, (SELECT MAX (fac_usrdata_volgnr) FROM fac_usrdata WHERE fac_usrdata_verwijder IS NULL AND fac_usrtab_key = 141 --Eigen tabel Verval wpl (mnd) AND fac.safe_to_number ( fac_usrdata_code) = kmverv.mld_kenmerk_key) mndverval, DECODE ( kmverv.mld_kenmerk_key, 281, -- kenmerk Declaratie Beeldscherm (SELECT DISTINCT fkmm.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding fkmm WHERE fkmm.mld_kenmerk_key = 301 --Kenmerk factuurdatum Beeldscherm AND fkmm.mld_kenmerkmelding_verwijder IS NULL AND fkmm.mld_melding_key = mverv.mld_melding_key), 282, -- kenmerk Declaratie Beeldscherm-arm (SELECT DISTINCT fkmm.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding fkmm WHERE fkmm.mld_kenmerk_key = 302 --Kenmerk factuurdatum Beeldscherm-arm AND fkmm.mld_kenmerkmelding_verwijder IS NULL AND fkmm.mld_melding_key = mverv.mld_melding_key), 283, -- kenmerk Declaratie Bureau (SELECT DISTINCT fkmm.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding fkmm WHERE fkmm.mld_kenmerk_key = 303 --Kenmerk factuurdatum Bureau AND fkmm.mld_kenmerkmelding_verwijder IS NULL AND fkmm.mld_melding_key = mverv.mld_melding_key), 284, -- kenmerk Declaratie Bureaulamp (SELECT DISTINCT fkmm.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding fkmm WHERE fkmm.mld_kenmerk_key = 304 --Kenmerk factuurdatum Bureaulamp AND fkmm.mld_kenmerkmelding_verwijder IS NULL AND fkmm.mld_melding_key = mverv.mld_melding_key), 285, -- kenmerk Declaratie Bureaustoel (SELECT DISTINCT fkmm.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding fkmm WHERE fkmm.mld_kenmerk_key = 305 --Kenmerk factuurdatum Bureaustoel AND fkmm.mld_kenmerkmelding_verwijder IS NULL AND fkmm.mld_melding_key = mverv.mld_melding_key), 286, -- kenmerk Declaratie Laptophouder (SELECT DISTINCT fkmm.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding fkmm WHERE fkmm.mld_kenmerk_key = 306 --Kenmerk factuurdatum Laptophouder AND fkmm.mld_kenmerkmelding_verwijder IS NULL AND fkmm.mld_melding_key = mverv.mld_melding_key), 287, -- kenmerk Declaratie Muis (SELECT DISTINCT fkmm.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding fkmm WHERE fkmm.mld_kenmerk_key = 307 --Kenmerk factuurdatum Muis AND fkmm.mld_kenmerkmelding_verwijder IS NULL AND fkmm.mld_melding_key = mverv.mld_melding_key), 288, -- kenmerk Declaratie Toetsenbord (SELECT DISTINCT fkmm.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding fkmm WHERE fkmm.mld_kenmerk_key = 308 --Kenmerk factuurdatum Toetsenbord AND fkmm.mld_kenmerkmelding_verwijder IS NULL AND fkmm.mld_melding_key = mverv.mld_melding_key), 289, -- kenmerk Declaratie Voetensteun (SELECT DISTINCT fkmm.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding fkmm WHERE fkmm.mld_kenmerk_key = 309 --Kenmerk factuurdatum Voetensteun AND fkmm.mld_kenmerkmelding_verwijder IS NULL AND fkmm.mld_melding_key = mverv.mld_melding_key), 290, -- kenmerk Declaratie Webcam (SELECT DISTINCT fkmm.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding fkmm WHERE fkmm.mld_kenmerk_key = 310 --Kenmerk factuurdatum Webcam AND fkmm.mld_kenmerkmelding_verwijder IS NULL AND fkmm.mld_melding_key = mverv.mld_melding_key), 291, -- kenmerk Declaratie Zit-sta verhoger (SELECT DISTINCT fkmm.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding fkmm WHERE fkmm.mld_kenmerk_key = 311 --Kenmerk factuurdatum Zit-sta verhoger AND fkmm.mld_kenmerkmelding_verwijder IS NULL AND fkmm.mld_melding_key = mverv.mld_melding_key), 292, -- kenmerk Declaratie Overig (SELECT DISTINCT fkmm.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding fkmm WHERE fkmm.mld_kenmerk_key = 312 --Kenmerk factuurdatum Overig AND fkmm.mld_kenmerkmelding_verwijder IS NULL AND fkmm.mld_melding_key = mverv.mld_melding_key), (SELECT DISTINCT fkmm.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding fkmm WHERE fkmm.mld_kenmerk_key = 344 --Kenmerk factuurdatum (bij stdmelding Bestelling Health2Work) AND fkmm.mld_kenmerkmelding_verwijder IS NULL AND fkmm.mld_melding_key = mverv.mld_melding_key)) AS factuurdatum FROM (SELECT pa.prs_perslid_key, (SELECT fac.safe_to_number ( ud.fac_usrdata_prijs) FROM prs_kenmerklink kml, prs_kenmerk km, fac_kenmerkdomein kd, fac_usrdata ud WHERE prs_link_key = pa.prs_perslid_key AND kml.prs_kenmerk_key = km.prs_kenmerk_key AND km.fac_kenmerkdomein_key = kd.fac_kenmerkdomein_key AND kd.fac_usrtab_key = ud.fac_usrtab_key AND fac.safe_to_number(kml.prs_kenmerklink_waarde) = ud.fac_usrdata_key AND kml.prs_kenmerk_key = 1001) --Kenmerk budget budget, (SELECT fac.safe_to_number ( ud.fac_usrdata_prijs) FROM prs_kenmerklink kml, prs_kenmerk km, fac_kenmerkdomein kd, fac_usrdata ud WHERE prs_link_key = pa.prs_perslid_key AND kml.prs_kenmerk_key = km.prs_kenmerk_key AND km.fac_kenmerkdomein_key = kd.fac_kenmerkdomein_key AND kd.fac_usrtab_key = ud.fac_usrtab_key AND fac.safe_to_number(kml.prs_kenmerklink_waarde) = ud.fac_usrdata_key AND kml.prs_kenmerk_key = 1002) --Kenmerk extra_budget extra_budget FROM prs_perslid pa WHERE pa.prs_afdeling_key > 1) pbudget, mld_melding mverv, mld_kenmerkmelding kmmverv, mld_kenmerk kmverv WHERE kmmverv.mld_melding_key = mverv.mld_melding_key AND kmverv.mld_kenmerk_key = kmmverv.mld_kenmerk_key AND kmverv.mld_srtkenmerk_key = 253 --Kenmerksoort Declaratie AND mverv.prs_perslid_key_voor = pbudget.prs_perslid_key)) WHERE (TO_NUMBER (mndverval) < TO_NUMBER (mndtussen)) GROUP BY prs_perslid_key, budget, extra_budget) b, prs_perslid p, prs_afdeling a, prs_srtperslid f, prs_kostenplaats k WHERE p.prs_perslid_key = b.prs_perslid_key(+) AND a.prs_afdeling_key = p.prs_afdeling_key AND f.prs_srtperslid_key = p.prs_srtperslid_key AND a.prs_kostenplaats_key = k.prs_kostenplaats_key(+) AND p.prs_afdeling_key > 1; CREATE OR REPLACE VIEW vest_v_wpl_declaraties ( perslid_key, voornaam, naam, tussenvoegsel, voorletters, email, telefoonnr, mobiel, oslogin, kostenplaats, afdeling, functie, leverancier, categorie, bedrag, status, datum_definitief, factuurdatum, budget, extra_budget, totaal_budget, decl_concept, decl_goedgekeurd, h2w_concept, h2w_goedgekeurd, totaal_concept, totaal_goedgekeurd, restbudget, melding_key ) AS SELECT DISTINCT p.perslid_key, p.voornaam, p.naam, p.tussenvoegsel, p.voorletters, p.email, p.telefoonnr, p.mobiel, p.oslogin, p.kostenplaats, p.afdeling, p.functie, DECODE (m.mld_stdmelding_key, 342, 'Vrije bestelling', 343, 'Health2Work', NULL), km.mld_kenmerk_omschrijving, fac.safe_to_number (kmm.mld_kenmerkmelding_waarde), DECODE (m.mld_melding_status, 0, 'Ingediend', 1, 'Afgewezen', 2, x.fac_usrdata_omschr, 3, x.fac_usrdata_omschr, 4, x.fac_usrdata_omschr, 5, 'Goedgekeurd', 6, 'Goedgekeurd', NULL), -- Er is een onderscheid tussen concept en ingediend via een kenmerk zodra de melding nog niet in behandeling is. DECODE ( m.mld_stdmelding_key, 342, -- Als het de stdmelding Declaratie is, dan kijken naar de tracking, bij H2W is er geen tracking MLDAFM, maar de melding is meteen afgehandeld, dus gevuld kenmerk ophalen. (SELECT MAX (fac_tracking_datum) FROM fac_tracking t, fac_srtnotificatie sn WHERE t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key AND sn.fac_srtnotificatie_code = 'MLDAFM' AND t.fac_tracking_refkey = m.mld_melding_key), (SELECT DISTINCT fac.safe_to_date (fkmm.mld_kenmerkmelding_waarde, 'DD-MM-YYYY') FROM mld_kenmerkmelding fkmm WHERE fkmm.mld_kenmerk_key = 344 --Kenmerk factuurdatum bij melding Bestelling Health2Work AND fkmm.mld_kenmerkmelding_verwijder IS NULL AND fkmm.mld_melding_key = m.mld_melding_key)) AS datum_definitief, (fac.safe_to_date ( DECODE ( kmm.mld_kenmerk_key, 281, -- kenmerk Declaratie Beeldscherm (SELECT DISTINCT fkmm.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding fkmm WHERE fkmm.mld_kenmerk_key = 301 --Kenmerk factuurdatum Beeldscherm AND fkmm.mld_kenmerkmelding_verwijder IS NULL AND fkmm.mld_melding_key = m.mld_melding_key), 282, -- kenmerk Declaratie Beeldscherm-arm (SELECT DISTINCT fkmm.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding fkmm WHERE fkmm.mld_kenmerk_key = 302 --Kenmerk factuurdatum Beeldscherm-arm AND fkmm.mld_kenmerkmelding_verwijder IS NULL AND fkmm.mld_melding_key = m.mld_melding_key), 283, -- kenmerk Declaratie Bureau (SELECT DISTINCT fkmm.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding fkmm WHERE fkmm.mld_kenmerk_key = 303 --Kenmerk factuurdatum Bureau AND fkmm.mld_kenmerkmelding_verwijder IS NULL AND fkmm.mld_melding_key = m.mld_melding_key), 284, -- kenmerk Declaratie Bureaulamp (SELECT DISTINCT fkmm.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding fkmm WHERE fkmm.mld_kenmerk_key = 304 --Kenmerk factuurdatum Bureaulamp AND fkmm.mld_kenmerkmelding_verwijder IS NULL AND fkmm.mld_melding_key = m.mld_melding_key), 285, -- kenmerk Declaratie Bureaustoel (SELECT DISTINCT fkmm.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding fkmm WHERE fkmm.mld_kenmerk_key = 305 --Kenmerk factuurdatum Bureaustoel AND fkmm.mld_kenmerkmelding_verwijder IS NULL AND fkmm.mld_melding_key = m.mld_melding_key), 286, -- kenmerk Declaratie Laptophouder (SELECT DISTINCT fkmm.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding fkmm WHERE fkmm.mld_kenmerk_key = 306 --Kenmerk factuurdatum Laptophouder AND fkmm.mld_kenmerkmelding_verwijder IS NULL AND fkmm.mld_melding_key = m.mld_melding_key), 287, -- kenmerk Declaratie Muis (SELECT DISTINCT fkmm.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding fkmm WHERE fkmm.mld_kenmerk_key = 307 --Kenmerk factuurdatum Muis AND fkmm.mld_kenmerkmelding_verwijder IS NULL AND fkmm.mld_melding_key = m.mld_melding_key), 288, -- kenmerk Declaratie Toetsenbord (SELECT DISTINCT fkmm.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding fkmm WHERE fkmm.mld_kenmerk_key = 308 --Kenmerk factuurdatum Toetsenbord AND fkmm.mld_kenmerkmelding_verwijder IS NULL AND fkmm.mld_melding_key = m.mld_melding_key), 289, -- kenmerk Declaratie Voetensteun (SELECT DISTINCT fkmm.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding fkmm WHERE fkmm.mld_kenmerk_key = 309 --Kenmerk factuurdatum Voetensteun AND fkmm.mld_kenmerkmelding_verwijder IS NULL AND fkmm.mld_melding_key = m.mld_melding_key), 290, -- kenmerk Declaratie Webcam (SELECT DISTINCT fkmm.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding fkmm WHERE fkmm.mld_kenmerk_key = 310 --Kenmerk factuurdatum Webcam AND fkmm.mld_kenmerkmelding_verwijder IS NULL AND fkmm.mld_melding_key = m.mld_melding_key), 291, -- kenmerk Declaratie Zit-sta verhoger (SELECT DISTINCT fkmm.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding fkmm WHERE fkmm.mld_kenmerk_key = 311 --Kenmerk factuurdatum Zit-sta verhoger AND fkmm.mld_kenmerkmelding_verwijder IS NULL AND fkmm.mld_melding_key = m.mld_melding_key), 292, -- kenmerk Declaratie Overig (SELECT DISTINCT fkmm.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding fkmm WHERE fkmm.mld_kenmerk_key = 312 --Kenmerk factuurdatum Overig AND fkmm.mld_kenmerkmelding_verwijder IS NULL AND fkmm.mld_melding_key = m.mld_melding_key), (SELECT DISTINCT fkmm.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding fkmm WHERE fkmm.mld_kenmerk_key = 344 --Kenmerk factuurdatum bij melding Bestelling Health2Work AND fkmm.mld_kenmerkmelding_verwijder IS NULL AND fkmm.mld_melding_key = m.mld_melding_key)), 'DD-MM-YYYY')) AS factuurdatum, p.budget, p.extra_budget, p.totaal_budget, p.declaratie_concept, p.declaratie_definitief, p.h2w_concept, p.h2w_definitief, p.totaal_concept, p.totaal_definitief, p.restbudget, m.mld_melding_key FROM vest_v_wpl_pstatus p, mld_melding m, mld_srtkenmerk skm, mld_kenmerk km, mld_kenmerkmelding kmm, (SELECT status_ud.fac_usrdata_omschr, status_kmm.mld_melding_key FROM mld_kenmerkmelding status_kmm, mld_srtkenmerk status_skm, mld_kenmerk status_km, fac_usrdata status_ud, fac_usrtab status_ut WHERE status_kmm.mld_kenmerkmelding_verwijder IS NULL AND status_kmm.mld_kenmerk_key = status_km.mld_kenmerk_key AND status_skm.mld_srtkenmerk_key = status_km.mld_srtkenmerk_key AND status_ut.fac_usrtab_key = 123 -- Eigen tabel 'Status declaratie' AND status_ut.fac_usrtab_key = status_ud.fac_usrtab_key AND status_ud.fac_usrdata_key = fac.safe_to_number ( status_kmm.mld_kenmerkmelding_waarde)) x WHERE m.mld_melding_key = kmm.mld_melding_key AND kmm.mld_kenmerk_key = km.mld_kenmerk_key AND skm.mld_srtkenmerk_key = km.mld_srtkenmerk_key AND m.mld_stdmelding_key IN (342, 343) -- Stdmeldingen Declaratieformulier & Bestelling H2W AND skm.mld_srtkenmerk_key = 253 --srtkenmerk declaratie (hier zijn alle categorieen een afgeleide van) AND m.mld_melding_status IN (0, 2, 3, 4, 5, 6) --Status 1 bewust niet meegenomen, anders zou dit als bedrag ook (onterecht) mee gaan tellen AND m.mld_melding_key = x.mld_melding_key(+) AND m.prs_perslid_key_voor = p.perslid_key UNION ALL SELECT pa.perslid_key, pa.voornaam, pa.naam, pa.tussenvoegsel, pa.voorletters, pa.email, pa.telefoonnr, pa.mobiel, pa.oslogin, pa.kostenplaats, pa.afdeling, pa.functie, NULL, NULL, NULL, NULL, NULL, (fac.safe_to_date (NULL, 'DD-MM-YYYY')), pa.budget, pa.extra_budget, pa.totaal_budget, pa.declaratie_concept, pa.declaratie_definitief, pa.h2w_concept, pa.h2w_definitief, pa.totaal_concept, pa.totaal_definitief, pa.restbudget, NULL FROM vest_v_wpl_pstatus pa WHERE pa.perslid_key NOT IN (SELECT p.perslid_key FROM vest_v_wpl_pstatus p, mld_melding m, mld_srtkenmerk skm, mld_kenmerk km, mld_kenmerkmelding kmm WHERE m.mld_melding_key = kmm.mld_melding_key AND kmm.mld_kenmerk_key = km.mld_kenmerk_key AND skm.mld_srtkenmerk_key = km.mld_srtkenmerk_key AND m.mld_stdmelding_key IN (342, 343) -- Stdmeldingen Declaratieformulier & Bestelling H2W AND skm.mld_srtkenmerk_key = 241 --srtkenmerk declaratie (hier zijn alle categorieen een afgeleide van) AND m.mld_melding_status IN (0, 2, 3, 4, 5, 6) --Status 1 bewust niet meegenomen, anders zou dit als bedrag ook (onterecht) mee gaan tellen AND m.prs_perslid_key_voor = p.perslid_key); CREATE OR REPLACE VIEW vest_v_werkplekbudget ( prs_perslid_key, restbudget ) AS SELECT x.perslid_key, DECODE ( (SELECT p.prs_kenmerklink_waarde FROM prs_kenmerklink p WHERE p.prs_link_key = x.perslid_key AND prs_kenmerklink_niveau = 'P' AND prs_kenmerk_key = 1020), --Kenmerk of er een thuiswerkovereenkomst is getekend, zonder OVK is budget altijd 0. NULL, 0, x.restbudget) FROM ( SELECT perslid_key, restbudget AS restbudget FROM vest_v_wpl_declaraties GROUP BY perslid_key, restbudget) x; CREATE OR REPLACE FORCE VIEW vest_v_wpl_portalh2wmobile ( perslid_key, link ) AS SELECT prs_perslid_key, 'Klik hier om het assortiment te bekijken van Health2Work en een bestelling te doen.' FROM prs_perslid; CREATE OR REPLACE VIEW vest_v_rap_lunch AS SELECT (SELECT fac.safe_to_date(mk.mld_kenmerkmelding_waarde, 'DD-MM-YYYY') FROM mld_kenmerkmelding mk WHERE mk.mld_melding_key = m.mld_melding_key AND mk.mld_kenmerk_key = 621) datum, (SELECT fac.safe_to_date(mk.mld_kenmerkmelding_waarde, 'HH:MI') FROM mld_kenmerkmelding mk WHERE mk.mld_melding_key = m.mld_melding_key AND mk.mld_kenmerk_key = 622) tijd, m.mld_melding_key nummer, (SELECT mk.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding mk WHERE mk.mld_melding_key = m.mld_melding_key AND mk.mld_kenmerk_key = 641) aantal, (SELECT mk.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding mk WHERE mk.mld_melding_key = m.mld_melding_key AND mk.mld_kenmerk_key = 701) plaats, (SELECT mk.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding mk WHERE mk.mld_melding_key = m.mld_melding_key AND mk.mld_kenmerk_key = 642) dieetwensen, pk.prs_kostenplaats_omschrijving kostenplaats, pf.prs_perslid_naam_full melder FROM mld_melding m, prs_kostenplaats pk, prs_v_perslid_fullnames pf WHERE m.mld_stdmelding_key = 461 -- lunch aanvraag AND m.mld_melding_status NOT IN (1, 5, 6) -- niet afgewezen, afgemeld of historie AND m.prs_kostenplaats_key = pk.prs_kostenplaats_key AND m.prs_perslid_key = pf.prs_perslid_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