-- -- $Id$ -- -- Script containing customer specific sql statements for the FACILITOR database DEFINE thisfile = 'SKHF.SQL' DEFINE dbuser = 'SKHF' SET ECHO ON SET DEFINE ON COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT; COLUMN fcltcusttxt NEW_VALUE fcltcusttxt NOPRINT; WHENEVER SQLERROR CONTINUE; SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL; SPOOL &fcltlogfile WHENEVER SQLERROR EXIT; SELECT adm.checkscriptcust('&dbuser') AS fcltcusttxt FROM DUAL; WHENEVER SQLERROR CONTINUE; --------------------------------------- PROMPT &fcltcusttxt --------------------------------------- SET DEFINE OFF ------ payload begin ------ ------------------------------- --- DOMEIN-VIEWS -------------- ------------------------------- CREATE OR REPLACE VIEW skhf_v_bedrijven ( PRS_BEDRIJF_KEY, PRS_BEDRIJF_NAAM, PRS_BEDRIJF_ACTIEF, PRS_BEDRIJF_VERWIJDER ) AS SELECT prs_bedrijf_key, prs_bedrijf_naam, CASE WHEN prs_bedrijf_leverancier IS NULL AND prs_bedrijf_uitvoerende IS NULL AND prs_bedrijf_contract IS NULL THEN 'na' -- geen actieve relatie ELSE 'a' -- actieve relatie END prs_bedrijf_actief, prs_bedrijf_verwijder FROM prs_bedrijf WHERE prs_bedrijf_intern IS NULL; CREATE OR REPLACE VIEW skhf_v_kostenplaatsen ( PRS_KOSTENPLAATS_KEY, PRS_KOSTENPLAATS_OMSCHRIJVING, PRS_KOSTENPLAATS_VERWIJDER ) AS SELECT k.prs_kostenplaats_key, CASE WHEN ( prs_kostenplaats_verwijder IS NOT NULL OR ( prs_kostenplaats_eind IS NOT NULL AND prs_kostenplaats_eind < TRUNC (SYSDATE))) THEN k.prs_kostenplaats_nr || ' - ' || k.prs_kostenplaats_omschrijving || ' - oud!' ELSE k.prs_kostenplaats_nr || ' - ' || k.prs_kostenplaats_omschrijving END prs_kostenplaats_omschrijving, k.prs_kostenplaats_verwijder FROM prs_kostenplaats k ; CREATE OR REPLACE VIEW skhf_v_personenlijst ( PRS_PERSLID_KEY, NAAM, PERSONEELSNUMMER, EMAIL, PRS_PERSLID_VERWIJDER ) AS SELECT p.prs_perslid_key, CASE WHEN p.prs_perslid_tussenvoegsel IS NULL THEN p.prs_perslid_voornaam || ' ' || p.prs_perslid_naam || ' (' || sp.prs_srtperslid_omschrijving || ')' ELSE p.prs_perslid_voornaam || ' ' || p.prs_perslid_tussenvoegsel || ' ' || p.prs_perslid_naam || ' (' || sp.prs_srtperslid_omschrijving || ')' END naam, p.prs_perslid_nr, p.prs_perslid_email, p.prs_perslid_verwijder FROM prs_perslid p, prs_srtperslid sp, prs_v_afdeling a, prs_bedrijf b WHERE p.prs_afdeling_key = a.prs_afdeling_key AND a.prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_key = 21 -- bedrijfs_key SKH AND p.prs_srtperslid_key = sp.prs_srtperslid_key ORDER BY sp.prs_srtperslid_omschrijving DESC, p.prs_perslid_voornaam, p.prs_perslid_naam ; CREATE OR REPLACE VIEW skhf_v_locatielijst ( ALG_LOCATIE_KEY, ALG_LOCATIE_NAAM, ALG_LOCATIE_CODE ) AS SELECT l.alg_locatie_key, l.alg_locatie_omschrijving || ' ' || l.alg_locatie_adres alg_locatie_naam, l.alg_locatie_code FROM alg_locatie l WHERE COALESCE(l.alg_locatie_verwijder, l.alg_locatie_vervaldatum, TRUNC(SYSDATE)) >= TRUNC(SYSDATE) ORDER BY l.alg_locatie_omschrijving ; CREATE OR REPLACE VIEW skhf_v_it_simkaarten ( INS_DEEL_KEY, SIMKAART ) AS SELECT v.ins_deel_key, v.ins_deel_upper simkaart FROM ins_v_deel_gegevens v, ins_deel d WHERE v.ins_discipline_key = 82 -- IT-Intern AND v.ins_srtdeel_key = 21 -- SIM-kaarten AND v.ins_deel_key = d.ins_deel_key AND d.ins_deel_verwijder IS NULL AND (d.ins_deel_vervaldatum IS NULL OR TRUNC(d.ins_deel_vervaldatum) > TRUNC(sysdate) ) ; ---------------------------------------- --- AUTOCAD-THEMA'S en LABELS ---------- ---------------------------------------- ------------------------------- --- PROCEDURES --------------- ------------------------------- -- Kinderopvang Huizen registreert op de ruimtes in haar Facilitor vastgoed de M2 en de M2 bestemd voor LRK wn wettelijke toegestane hoeveelheid kindplekken --- Op locatieniveau wordt de totalisatie gedaan mbv exportfunctie locatie_m2 ----- Locatiekaart, waar ook locatieleiders rechten op hebben, is in hun Facilitor de bron van vele relevante gegevens. ----- Verdere rapportage die voor bijvoorbeeld GGD moet verstrekken, dienen zelf op basis UDR gemaakt te worden. -- Hulpview bij exportfunctie LOCATIE_M2 CREATE OR REPLACE VIEW SKHF_V_LOCATIE_M2 ( ALG_LOCATIE_KEY, ALG_LOCATIE_OMSCHRIJVING, ALG_RUIMTE_KEY, ALG_RUIMTE_NR, ALG_RUIMTE_OMSCHRIJVING, ALG_RUIMTE_BRUTO_VLOEROPP, ALG_SRTRUIMTE_UPPER, ALG_SRTRUIMTE_CODE, RUIMTE_M2_NETTO, RUIMTE_M2_NETTO_LRK, RUIMTE_KINDPLAATSEN_TOT, -- op basis alle/totaal m2 RUIMTE_KINDPLAATSEN_LRK -- op basis opvang / LRK - ruimtes ) AS SELECT l.alg_locatie_key, l.alg_locatie_omschrijving, r.alg_ruimte_key, r.alg_ruimte_nr, r.alg_ruimte_omschrijving, r.alg_ruimte_bruto_vloeropp, sr.alg_srtruimte_upper, sr.alg_srtruimte_code, fac.safe_to_number(FLX.getflex ('ALG', 1105, r.alg_ruimte_key, 'R')) ruimte_M2_netto, fac.safe_to_number(DECODE (sr.alg_srtruimte_code, 'LRK', FLX.getflex ('ALG', 1105, r.alg_ruimte_key, 'R'), NULL)) ruimte_M2_netto_lrk, fac.safe_to_number(FLX.getflex ('ALG', 1107, r.alg_ruimte_key, 'R')) ruimte_kindplaatsen_tot, fac.safe_to_number(DECODE (sr.alg_srtruimte_code, 'LRK', FLX.getflex ('ALG', 1107, r.alg_ruimte_key, 'R'), NULL)) ruimte_kindplaatsen_lrk FROM alg_ruimte r, alg_verdieping v, alg_gebouw g, alg_locatie l, alg_srtruimte sr WHERE r.alg_verdieping_key = v.alg_verdieping_key AND v.alg_gebouw_key = g.alg_gebouw_key AND g.alg_locatie_key = l.alg_locatie_key AND r.alg_srtruimte_key = sr.alg_srtruimte_key AND l.alg_locatie_verwijder IS NULL AND g.alg_gebouw_verwijder IS NULL AND v.alg_verdieping_verwijder IS NULL AND r.alg_ruimte_verwijder IS NULL AND ( l.alg_locatie_vervaldatum IS NULL OR l.alg_locatie_vervaldatum > TRUNC(SYSDATE) ) AND ( g.alg_gebouw_vervaldatum IS NULL OR g.alg_gebouw_vervaldatum > TRUNC(SYSDATE) ) ; -- Exportfunctie LOCATIE_M2 CREATE OR REPLACE VIEW skhf_v_export_locatie_m2 ( result, result_order ) AS SELECT '"SYNC - Locatie en m2"' || ';"Bijgewerkt"', 0 FROM DUAL UNION SELECT 'ERROR: Datum '|| TO_CHAR(imp_log_datum) || ' - ' || imp_log_omschrijving || ' - ' || imp_log_hint, 1 FROM imp_log WHERE imp_log_applicatie = 'LOCATIE_M2' ; CREATE OR REPLACE PROCEDURE skhf_select_locatie_m2 ( p_applname IN VARCHAR2, p_applrun IN VARCHAR2 ) AS CURSOR c IS SELECT l.alg_locatie_key, COALESCE(FLX.getflex ('ALG', 1121, l.alg_locatie_key, 'L'), NULL) locatie_M2_netto_totaal, COALESCE(FLX.getflex ('ALG', 1120, l.alg_locatie_key, 'L'), NULL) locatie_M2_LRK, COALESCE(FLX.getflex ('ALG', 1140, l.alg_locatie_key, 'L'), NULL) locatie_kindplaatsen_tot, COALESCE(FLX.getflex ('ALG', 1160, l.alg_locatie_key, 'L'), NULL) locatie_kindplaatsen_lrk, COALESCE(FLX.getflex ('ALG', 1120, l.alg_locatie_key, 'L'), NULL) locatie_m2_update -- laatste update_datum uit exportfunctie FROM alg_ruimte r, alg_verdieping v, alg_gebouw g, alg_locatie l WHERE r.alg_verdieping_key = v.alg_verdieping_key AND v.alg_gebouw_key = g.alg_gebouw_key AND g.alg_locatie_key = l.alg_locatie_key AND l.alg_locatie_verwijder IS NULL AND g.alg_gebouw_verwijder IS NULL AND v.alg_verdieping_verwijder IS NULL AND r.alg_ruimte_verwijder IS NULL AND ( l.alg_locatie_vervaldatum IS NULL OR l.alg_locatie_vervaldatum > TRUNC(SYSDATE) ) AND ( g.alg_gebouw_vervaldatum IS NULL OR g.alg_gebouw_vervaldatum > TRUNC(SYSDATE) ) GROUP BY l.alg_locatie_key ; v_errormsg VARCHAR2 (1000); v_errorhint VARCHAR2 (1000); oracle_err_mes VARCHAR2 (200); oracle_err_num NUMBER; currentversion fac_module.fac_module_version%TYPE; v_aanduiding VARCHAR2 (1000); v_count NUMBER; v_locatie_m2_netto_totaal NUMBER; v_locatie_m2_lrk NUMBER; v_locatie_kindplaatsen_tot NUMBER; v_locatie_kindplaatsen_lrk NUMBER; v_datum_export DATE; v_mutatiedatum NUMBER(1) := 0 ; -- false BEGIN v_count := 0; v_datum_export := SYSDATE; FOR rec IN c LOOP BEGIN -- vullen variabelen v_aanduiding := 'Updaten m2/kindplaatsen bij locatie_key : ' || rec.alg_locatie_key ; v_locatie_m2_netto_totaal := 0 ; v_locatie_m2_lrk := 0 ; v_locatie_kindplaatsen_tot := 0 ; v_locatie_kindplaatsen_lrk := 0 ; -- per locatie kijken wat de totalen nu zijn... SELECT sum(v.ruimte_m2_netto), sum(v.ruimte_m2_netto_lrk), FLOOR(sum(v.ruimte_kindplaatsen_tot)), FLOOR(sum(v.ruimte_kindplaatsen_lrk)) INTO v_locatie_m2_netto_totaal, v_locatie_m2_lrk, v_locatie_kindplaatsen_tot, v_locatie_kindplaatsen_lrk FROM skhf_v_locatie_m2 v WHERE v.alg_locatie_key = rec.alg_locatie_key GROUP BY v.alg_locatie_key ; -- updaten locatiekaart als aantallen verschillen met huidige waarden IF COALESCE(rec.locatie_m2_netto_totaal, 0) <> v_locatie_m2_netto_totaal THEN v_errorhint := 'bijwerken kenmerkveld locatie_M2_netto_totaal' ; alg.upsertkenmerk (1121, rec.alg_locatie_key, v_locatie_M2_netto_totaal); BEGIN fac.trackaction('ALGLUP', rec.alg_locatie_key, 3, NULL, 'Uit auto-export: M2 totaal (netto) ' || TO_CHAR(COALESCE(rec.locatie_m2_netto_totaal, 0)) || ' --> ' || TO_CHAR(v_locatie_M2_netto_totaal)); END; v_mutatiedatum := 1 ; END IF; IF COALESCE(rec.locatie_m2_lrk, 0) <> v_locatie_m2_lrk THEN v_errorhint := 'bijwerken kenmerkveld locatie_M2_LRK' ; alg.upsertkenmerk (1120, rec.alg_locatie_key, v_locatie_M2_LRK); BEGIN fac.trackaction('ALGLUP', rec.alg_locatie_key, 3, NULL, 'Uit auto-export: M2 LRK ' || TO_CHAR(COALESCE(rec.locatie_m2_lrk, 0)) || ' --> ' || TO_CHAR(v_locatie_M2_lrk)); END; v_mutatiedatum := 1 ; END IF; IF COALESCE(rec.locatie_kindplaatsen_tot, 0) <> v_locatie_kindplaatsen_tot THEN v_errorhint := 'bijwerken kenmerkveld locatie_kindplaatsen_tot' ; alg.upsertkenmerk (1140, rec.alg_locatie_key, v_locatie_kindplaatsen_tot); BEGIN fac.trackaction('ALGLUP', rec.alg_locatie_key, 3, NULL, 'Uit auto-export: Kindplaatsen TOT ' || TO_CHAR(COALESCE(rec.locatie_kindplaatsen_tot, 0)) || ' --> ' || TO_CHAR(v_locatie_kindplaatsen_tot)); END; v_mutatiedatum := 1 ; END IF; IF COALESCE(rec.locatie_kindplaatsen_lrk, 0) <> v_locatie_kindplaatsen_lrk THEN v_errorhint := 'bijwerken kenmerkveld locatie_kindplaatsen_lrk' ; alg.upsertkenmerk (1160, rec.alg_locatie_key, v_locatie_kindplaatsen_lrk); BEGIN fac.trackaction('ALGLUP', rec.alg_locatie_key, 3, NULL, 'Uit auto-export: Kindplaatsen LRK ' || TO_CHAR(COALESCE(rec.locatie_kindplaatsen_lrk, 0)) || ' --> ' || TO_CHAR(v_locatie_kindplaatsen_lrk)); END; v_mutatiedatum := 1 ; END IF; IF v_mutatiedatum = 1 THEN -- datum in locatiekaart zetten wanneer deze voor het laatste automatisch is geupdate v_errorhint := 'bijwerken kenmerkveld locatie_m2_update' ; alg.upsertkenmerk (1180, rec.alg_locatie_key, v_datum_export); END IF; END; END LOOP; EXCEPTION WHEN OTHERS THEN oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 100); v_errormsg := 'OTHERS (error ' || oracle_err_num || '/' || oracle_err_mes; fac.writelog (p_applname, 'E', v_errormsg, v_aanduiding || ' - HINT: ' || v_errorhint); END; / ------------------------------- --- NOTI-JOBS --------------- ------------------------------- ------------------------------- --- RAPPORTAGES --------------- ------------------------------- -- Rapportage beheer simkaarten en mobiel CREATE OR REPLACE VIEW skhf_v_it_simkaarten_man ( MOBIEL_NUMMER, SIMKAART_NUMMER, PUK_CODE, STATUS, ICT_OBJECT, ICT_OBJECT_VERVALDATUM, GEKOPPELD_AAN_TYPE, GEKOPPELD_AAN, NR_INS_DEEL_KEY, OBJ_INS_DEEL_KEY ) AS SELECT nr.ins_deel_upper, flx.getflex ('INS', 21, nr.ins_deel_key) simkaart_nummer, flx.getflex ('INS', 25, nr.ins_deel_key) puk_code, CASE WHEN d.ins_deel_upper IS NOT NULL THEN 'Gekoppeld' ELSE 'Vrij' END status, d.ins_deel_upper, d.ins_deel_vervaldatum, d.gekoppeld_aan_type, d.gekoppeld_aan, nr.ins_deel_key, d.ins_deel_key FROM (SELECT v.ins_deel_key, v.ins_deel_upper FROM ins_v_deel_gegevens v, ins_deel d WHERE v.ins_discipline_key = 82 -- IT-Intern AND v.ins_srtdeel_key = 21 -- SIM-kaarten AND v.ins_deel_key = d.ins_deel_key AND d.ins_deel_verwijder IS NULL AND ( d.ins_deel_vervaldatum IS NULL OR TRUNC (d.ins_deel_vervaldatum) > TRUNC (SYSDATE))) nr, (SELECT d.ins_deel_key, d.ins_deel_upper, kw.ins_kenmerkdeel_waarde, num.ins_deel_upper nummer_gekoppeld, DECODE (d.ins_alg_ruimte_type, 'R', 'Locatie', 'A', 'Afdeling', 'P', 'Persoon/Teamaccount', '') gekoppeld_aan_type, v.alg_plaatsaanduiding, d.ins_deel_vervaldatum, DECODE (d.ins_alg_ruimte_type, 'R', l.alg_locatie_omschrijving, v.alg_plaatsaanduiding) gekoppeld_aan FROM ins_deel d, ins_kenmerkdeel kw, ins_kenmerk k, ins_deel num, ins_v_deel_gegevens v, alg_locatie l WHERE d.ins_deel_key = kw.ins_deel_key AND kw.ins_kenmerk_key = k.ins_kenmerk_key AND k.ins_srtkenmerk_key = 61 -- SIM_kaart gekoppeld bij Mobiel AND kw.ins_kenmerkdeel_verwijder IS NULL AND kw.ins_kenmerkdeel_verwijder IS NULL AND fac.safe_to_number (kw.ins_kenmerkdeel_waarde) = num.ins_deel_key AND d.ins_deel_key = v.ins_deel_key AND d.ins_alg_locatie_key = l.alg_locatie_key(+) ) d WHERE nr.ins_deel_upper = d.nummer_gekoppeld(+) ; CREATE OR REPLACE VIEW skhf_v_rap_opdrachten ( INTERN, TYPE, MLD_OPDR_KEY, MLD_UITVOERENDE_KEY, OPDRACHTNR, STATUS, MELDING, BEHANDELAAR, LOCATIE_PLAATS, LOCATIE_OMSCHRIJVING, OPDRACHT_AANMAAKDATUM, GEPLANDE_AANVANG, GEPLANDE_AANVANG_B, -- berekend voor kalenderweergave GEPLANDE_EINDDATUM, GEPLANDE_EINDDATUM_B, -- berekend voor kalenderweergave OPDRACHT_EINDDATUM, MELDING_EINDDATUM, OMSCHRIJVING, PRS_PERSLID_KEY, NAAM_UITVOERDER, UREN_BESTEED, AFMELD_DATUM, OPDRACHT_TYPE, TD_NAAM, PRIORITEIT, STATUS_KALENDER -- t.b.v. kalenderweergave ) AS SELECT mu.intern, CASE WHEN mu.TYPE = 'B' AND mu.intern = 1 THEN 'Poule-opdracht' WHEN mu.TYPE = 'P' AND mu.intern = 1 THEN 'Klus-opdracht' WHEN mu.intern = 0 THEN 'Externe opdracht' ELSE '' END TYPE, o.mld_opdr_key, CASE WHEN mu.TYPE = 'B' AND mu.intern = 1 THEN mu.mld_uitvoerende_key WHEN mu.TYPE = 'P' AND mu.intern = 1 THEN o.prs_perslid_key WHEN mu.intern = 0 THEN mu.mld_uitvoerende_key ELSE NULL END mld_uitvoerende_key, TO_CHAR (o.mld_melding_key) || '/' || o.mld_opdr_bedrijfopdr_volgnr opdrachtnummer, DECODE ( os.mld_statusopdr_key, 8, DECODE (o.mld_opdr_halted, 1, 'Onderbroken', os.mld_statusopdr_omschrijving), os.mld_statusopdr_omschrijving) status, std.mld_stdmelding_omschrijving, COALESCE (p.prs_perslid_naam_full, '') behandelaar, l.alg_locatie_plaats, l.alg_locatie_omschrijving, o.mld_opdr_datumbegin, o.mld_opdr_plandatum geplande_aanvang, CASE WHEN o.mld_opdr_plandatum IS NOT NULL THEN o.mld_opdr_plandatum ELSE o.mld_opdr_datumbegin END geplande_aanvang_b, o.mld_opdr_plandatum2 geplande_einddatum, CASE WHEN o.mld_opdr_plandatum2 IS NOT NULL AND o.mld_opdr_plandatum IS NOT NULL THEN o.mld_opdr_plandatum2 WHEN o.mld_opdr_plandatum2 IS NULL AND o.mld_opdr_plandatum IS NOT NULL THEN o.mld_opdr_plandatum + 2/24 ELSE o.mld_opdr_datumbegin + 2/24 END geplande_einddatum_b, o.mld_opdr_einddatum, m.mld_melding_einddatum, TRIM ( REGEXP_REPLACE ( REGEXP_SUBSTR (o.mld_opdr_omschrijving, '(([^ ]*)( |$)*){10}'), '[[:space:]]', ' ')) || '...' omschrijving, p.prs_perslid_key, mu.naam naam_uitvoerder, (SELECT ko.mld_kenmerkopdr_waarde FROM mld_kenmerkopdr ko WHERE ko.mld_opdr_key = o.mld_opdr_key AND ko.mld_kenmerk_key = 203) -- kenmerk Uren_besteed uren_besteed, (SELECT MAX (ft.fac_tracking_datum) FROM fac_tracking ft WHERE ft.fac_tracking_refkey = o.mld_opdr_key AND ft.fac_srtnotificatie_key = 78) -- ORDAFM afmeld_datum, ot.mld_typeopdr_omschrijving, CASE WHEN mu.TYPE = 'B' AND mu.intern = 1 THEN COALESCE (p.prs_perslid_naam_full, '') WHEN mu.TYPE = 'P' AND mu.intern = 1 THEN mu.naam ELSE '' END td_naam, CASE WHEN mu.intern = 1 THEN COALESCE(v.prioriteit,'3 - NORMAAL') ELSE 'nvt' END prioriteit, CASE WHEN os.mld_statusopdr_omschrijving = 'Afgemeld' THEN 'Afgemeld' WHEN os.mld_statusopdr_omschrijving = 'Afgewezen' THEN 'Afgewezen' WHEN mu.intern = 1 AND os.mld_statusopdr_omschrijving = 'Toegekend' AND o.mld_opdr_plandatum IS NULL THEN 'Nog inplannen' WHEN mu.intern = 1 AND os.mld_statusopdr_omschrijving = 'Toegekend' AND o.mld_opdr_plandatum IS NOT NULL THEN 'Ingepland' WHEN mu.intern = 0 AND os.mld_statusopdr_omschrijving = 'Toegekend' AND o.mld_opdr_plandatum IS NULL THEN 'Nog niet bevestigd' WHEN mu.intern = 0 AND os.mld_statusopdr_omschrijving = 'Toegekend' AND o.mld_opdr_plandatum IS NOT NULL THEN 'Bevestigd' ELSE '' END status_kalender FROM mld_opdr o, mld_melding m, mld_typeopdr ot, prs_v_perslid_fullnames p, ins_tab_discipline d, mld_stdmelding std, alg_locatie l, alg_district d, mld_v_uitvoerende mu, mld_statusopdr os, ( SELECT ko.mld_opdr_key, ud.fac_usrdata_code || ' - ' || ud.fac_usrdata_omschr prioriteit FROM mld_kenmerkopdr ko, fac_usrdata ud WHERE fac.safe_to_number(ko.mld_kenmerkopdr_waarde) = ud.fac_usrdata_key AND fac_usrtab_key = 1 -- keuzelijst eigen tabel Prioriteit AND ko.mld_kenmerk_key = 6 -- kenmerk Prioriteit ) v WHERE o.mld_melding_key = m.mld_melding_key(+) AND o.prs_perslid_key = p.prs_perslid_key(+) AND o.mld_typeopdr_key = ot.mld_typeopdr_key AND ot.mld_typeopdr_isofferte = 0 -- Alleen werkopdrachten AND m.mld_stdmelding_key = std.mld_stdmelding_key(+) AND std.mld_ins_discipline_key = d.ins_discipline_key(+) AND m.mld_alg_locatie_key = l.alg_locatie_key -- alle std-meldingen hebben verplicht-niveau locatie AND l.alg_district_key = d.alg_district_key AND o.mld_uitvoerende_keys = mu.mld_uitvoerende_key AND os.mld_statusopdr_key = o.mld_statusopdr_key AND o.mld_opdr_key = v.mld_opdr_key(+); CREATE OR REPLACE VIEW skhf_v_cal_opdrachten ( USER_KEY, TITLE, VAN, TOT, ITEM_KEY, COLOR, TEXTCOLOR, NAAM_UITVOERRDER, LOCATIE_PLAATS, STATUS_KALENDER, INTERN, OPDRACHT_TYPE ) AS SELECT mld_uitvoerende_key, ' - ' || opdrachtnr || CHR(10) || naam_uitvoerder || CHR(10) || locatie_omschrijving || CHR(10) || 'Status: ' || status_kalender || CHR(10) || CASE WHEN geplande_einddatum IS NOT NULL THEN DECODE(intern, 1, 'Ingepland tot ', 'Bevestigd voor ') || TO_CHAR(geplande_einddatum_b) || CHR(10) ELSE '' END || CASE WHEN intern = 1 THEN CHR(10) || 'Prio: ' || prioriteit ELSE '' END title, geplande_aanvang_b van, geplande_einddatum_b tot, mld_opdr_key, DECODE (intern, 1, DECODE (status_kalender, 'Afgewezen', '#C0C0C0', -- grijs 'Afgemeld', '#C0C0C0', -- grijs 'Nog inplannen', '#f58a20', -- oranje 'Ingepland', '#20b2f5', -- lichtblauw '#0000FF'), 0, DECODE (status_kalender, 'Afgewezen', '#C0C0C0', -- grijs 'Afgemeld', '#C0C0C0', -- grijs 'Nog niet bevestigd', '#F5ED5D', -- lichtgeel 'Bevestigd', '#DED304', -- donkergeel '#0000FF'), '#0000FF' ) color, -- DECODE (intern, 1, DECODE (status_kalender, 'Afgewezen', '#bf0b3b', -- rood 'Afgemeld', '#000000', -- zwart 'Nog inplannen', '#FFFFFF', -- wit, 'Ingepland', DECODE (LOWER(prioriteit), '3 - normaal', '#FFFFFF', -- wit '4 - laag', '#FFFFFF', -- wit '2 - hoog', '#f58a20', -- oranje '1 - kritiek', '#bf0b3b', -- rood '#000000'), '#000000'), 0, DECODE (status_kalender, 'Afgewezen', '#bf0b3b', -- rood 'Afgemeld', '#000000', -- zwart 'Nog niet bevestigd', '#000000', -- zwart 'Bevestigd', '#000000', -- zwart 'Toegekend', '#FFFFFF', -- wit, '#0000FF'), '#000000' ) textcolor, naam_uitvoerder, locatie_plaats, status_kalender, intern, opdracht_type FROM skhf_v_rap_opdrachten ORDER BY geplande_aanvang_b ; ------------------------------- --- DAILY SKHF --------------- ------------------------------- CREATE OR REPLACE PROCEDURE skhf_daily AS v_errormsg VARCHAR2 (1000); oracle_err_num NUMBER; oracle_err_mes VARCHAR2 (200); BEGIN -- exportfunctie om de m2 en kindplekken op locatiekaart bij te werken skhf_select_locatie_m2 ('LOCATIE_M2', SYSDATE); END skhf_daily; / ------ 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