-- -- $Id$ -- -- Script containing customer specific sql statements for the FACILITOR database DEFINE thisfile = 'TAYL.SQL' DEFINE dbuser = 'TAYL' 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 tayl_v_leverancierslijst ( PRS_BEDRIJF_KEY, BEDRIJF_NAAM, BEDRIJF_PLAATS, PRS_BEDRIJF_VERWIJDER ) AS SELECT b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_bedrijf_post_plaats, b.prs_bedrijf_verwijder FROM prs_bedrijf b WHERE prs_bedrijf_intern IS NULL AND prs_bedrijf_verwijder IS NULL ORDER BY prs_bedrijf_naam ; -- Lijst van Locatieleiders (tbv domeinview) CREATE OR REPLACE VIEW tayl_v_medewerkers ( PRS_PERSLID_KEY, NAAM, AFDELING ) 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, a.prs_afdeling_naam2 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 = 6 -- bedrijfs_key TAYL AND p.prs_srtperslid_key = sp.prs_srtperslid_key AND p.prs_perslid_verwijder IS NULL ORDER BY p.prs_perslid_naam ; ---------------------------------------- --- AUTOCAD-THEMA'S en LABELS ---------- ---------------------------------------- -- Cust-label tekst bij werkplekreserveringen --- Op basis van cad_v_label_deel_reservering aangevuld met hulpview tayl_v_label_werkplek_info om de objecten in tekening (wel/niet reserveerbaar) aan te vullen met informatie uit object-kenmerken (vast plek van... en werkplek voor alleen laptops) -- hulpview... CREATE OR REPLACE VIEW tayl_v_label_werkplek_info ( INS_DEEL_KEY, INS_DEEL_UPPER, RESERVEERBAAR, WAARDE ) AS SELECT isd.ins_deel_key, isd.ins_deel_upper, DECODE(kw.reserveerbaar, NULL, 'nee', 'ja') reserveerbaar, CASE WHEN isd.ins_srtdeel_key = 81 THEN '' -- leeg bureau... WHEN isd.ins_srtdeel_key = 41 AND kw.reserveerbaar IS NULL AND kw.vaste_werkplek_van IS NOT NULL THEN kw.vaste_werkplek_van -- vast plek van... WHEN isd.ins_srtdeel_key = 41 AND kw.reserveerbaar IS NOT NULL AND kw.laptop_werkplek = 62 THEN 'laptop-plek' -- reserveerbare plek voor alleen laptop (key = 62) ELSE NULL END waarde FROM ins_v_aanwezigdeel isd, (SELECT d.ins_deel_key, FLX.getdomeinwaarde (61,FLX.getflex('INS', 63, d.ins_deel_key)) vaste_werkplek_van, FLX.getflex('INS', 62, d.ins_deel_key) -- key 62 is laptop-werkplek laptop_werkplek, FLX.getflex('INS', 64, d.ins_deel_key) werkplek_info, (SELECT max(rd.res_deel_key) FROM res_deel rd WHERE rd.res_ins_deel_key = d.ins_deel_key AND rd.res_deel_verwijder IS NULL AND rd.res_discipline_key = 101 ) reserveerbaar FROM ins_deel d) kw WHERE isd.ins_discipline_key IN (81) -- werkplekken AND isd.ins_deel_key = kw.ins_deel_key; CREATE OR REPLACE VIEW tayl_v_label_deel_res_datum ( fclt_f_datum, ins_deel_key, res_deel_omschrijving, waarde1, waarde, waarde3, waarde_html, waarde_html2 ) AS WITH datums AS ( SELECT TRUNC (SYSDATE) + LEVEL - 1 datum FROM DUAL CONNECT BY LEVEL <= 42) SELECT datums.datum fclt_f_datum, isd.res_ins_deel_key ins_deel_key, res_deel_omschrijving, DECODE (naam, NULL, v.waarde, '') || CHR (10) || LISTAGG ( DECODE ( naam, NULL, '', '[s75]' || naam || ' (' || TO_CHAR (res_rsv_deel_van, 'HH24:MI') || '-' || DECODE (TRUNC (res_rsv_deel_tot), TRUNC (res_rsv_deel_van), TO_CHAR (res_rsv_deel_tot, 'HH24:MI'), TO_CHAR (res_rsv_deel_tot, 'DD-MM-YYYY HH24:MI')) || ')'), CHR (10)) WITHIN GROUP (ORDER BY res_rsv_deel_van) waarde1, DECODE (naam, NULL, v.waarde, '') || CHR (10) || LISTAGG ( DECODE (naam, NULL, '', '[s75]' || TO_CHAR (res_rsv_deel_van, 'HH24:MI') || ' ' || naam), CHR (10)) WITHIN GROUP (ORDER BY res_rsv_deel_van) waarde2, DECODE (naam, NULL, v.waarde, '') || CHR (10) || LISTAGG (DECODE (naam, NULL, '', '[s40]' || naam), CHR (10)) WITHIN GROUP (ORDER BY res_rsv_deel_van) waarde3, LISTAGG ( DECODE ( naam, NULL, v.waarde, '' || v.waarde || ' ' || TO_CHAR (res_rsv_deel_van, 'HH24:MI') || ' ' || naam || ''), '
') WITHIN GROUP (ORDER BY res_rsv_deel_van) waarde_html, LISTAGG (DECODE (naam, NULL, v.waarde, '' || naam || ''), '
') WITHIN GROUP (ORDER BY res_rsv_deel_van) waarde_html2 FROM res_v_aanwezigdeel isd, datums, (SELECT datum, res_ins_deel_key, DECODE (p.prs_perslid_visibility, 1, pf.prs_perslid_naam_friendly, a.prs_afdeling_omschrijving) naam, res_rsv_deel_van, res_rsv_deel_tot FROM res_v_aanwezigdeel r, res_v_aanwezigrsv_deel rrd, res_rsv_ruimte rrr, prs_v_perslid_fullnames pf, prs_perslid p, prs_afdeling a, datums WHERE r.res_deel_key = rrd.res_deel_key AND rrd.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key AND rrr.res_rsv_ruimte_host_key = pf.prs_perslid_key AND pf.prs_perslid_key = p.prs_perslid_key AND p.prs_afdeling_key = a.prs_afdeling_key AND datum + 1 >= res_rsv_deel_van AND datum < res_rsv_deel_tot ) res, -- Bezet tayl_v_label_werkplek_info v WHERE isd.res_ins_deel_key = res.res_ins_deel_key(+) AND datums.datum = res.datum(+) AND isd.res_ins_deel_key = v.ins_deel_key GROUP BY datums.datum, isd.res_ins_deel_key, res_deel_omschrijving, v.waarde, naam UNION -- Voor alle NIET-reserveerbare objecten in de tekening de extra info erbij halen SELECT datums.datum fclt_f_datum, v.ins_deel_key, v.ins_deel_upper, v.waarde waarde1, v.waarde waarde, v.waarde waarde3, v.waarde waarde_html, v.waarde waarde_html2 FROM tayl_v_label_werkplek_info v, datums WHERE v.reserveerbaar = 'nee' GROUP BY datums.datum, v.ins_deel_key, v.ins_deel_upper, v.waarde ; CREATE OR REPLACE VIEW tayl_v_thema_vloersoort ( ALG_RUIMTE_KEY, WAARDE, WAARDE_KEY ) AS SELECT r.alg_ruimte_key, COALESCE (va.fac_usrdata_omschr, 'Onbekend'), va.fac_usrdata_key FROM alg_ruimte r, (SELECT rr.alg_ruimte_key, ud.fac_usrdata_omschr, ud.fac_usrdata_key FROM alg_onrgoedkenmerk ok, fac_usrdata ud, fac_kenmerkdomein rk, alg_kenmerk k, alg_v_aanwezigruimte rr WHERE rk.fac_usrtab_key = ud.fac_usrtab_key AND k.fac_kenmerkdomein_key = rk.fac_kenmerkdomein_key AND TO_CHAR (ud.fac_usrdata_key) = ok.alg_onrgoedkenmerk_waarde AND ok.alg_kenmerk_key = 1040 AND k.alg_kenmerk_niveau = 'R' AND k.alg_kenmerk_verwijder IS NULL AND rr.alg_ruimte_key = ok.alg_onrgoed_key) va WHERE r.alg_ruimte_key = va.alg_ruimte_key(+); CREATE OR REPLACE VIEW tayl_v_thema_set_res_wp AS SELECT ins_deel_key, DECODE (rd.res_deel_key, NULL, 0, 1) waarde FROM ins_deel d, (SELECT * FROM res_deel WHERE res_deel_verwijder IS NULL) rd WHERE d.ins_deel_key = rd.res_ins_deel_key(+); ------------------------------- --- PROCEDURES --------------- ------------------------------- ------------------------------- --- NOTI-JOBS --------------- ------------------------------- -- Contract-Rappel --- Notificatie op contractbeheerder, verantwoordelijke en/of 2e aanspreekpunt --- Onderstaand rapport is basisview en deze fungeert als bron voor de rappel-notificatie CREATE OR REPLACE VIEW tayl_v_cnt_rappel_basis AS SELECT d.ins_discipline_omschrijving, c.cnt_contract_key, c.cnt_contract_nummer_intern || DECODE (c.cnt_contract_versie, NULL, '', '.' || c.cnt_contract_versie) cnt_contract_nr, c.cnt_contract_looptijd_van begindatum, c.cnt_contract_looptijd_tot einddatum, cnt.cnt_getopzegdatum (c.cnt_contract_key) cnt_opzegdatum, cnt.cnt_getrappeldatum (c.cnt_contract_key) cnt_rappeldatum, DECODE (cnt.cnt_contract_status (c.cnt_contract_looptijd_van, cnt.cnt_getrappeldatum (c.cnt_contract_key), cnt.cnt_getopzegdatum (c.cnt_contract_key), c.cnt_contract_looptijd_tot), 0, lcl.l ('lcl_cnt_future'), 1, lcl.l ('lcl_cnt_topical'), 2, lcl.l ('lcl_cnt_warn'), 3, lcl.l ('lcl_cnt_cancel'), 4, lcl.l ('lcl_cnt_past')) fase_actief, DECODE ( c.cnt_contract_status, 0, DECODE (fac.getsetting ('cnt_contract_approval'), 1, lcl.l ('lcl_cnt_active_approval'), lcl.l ('lcl_cnt_active')), 1, lcl.l ('lcl_cnt_inactive'), 2, lcl.l ('lcl_cnt_new'), 3, lcl.l ('lcl_cnt_forapproval')) cnt_contract_status, (SELECT kc.cnt_kenmerkcontract_waarde FROM cnt_kenmerkcontract kc, cnt_kenmerk k WHERE k.cnt_kenmerk_key = kc.cnt_kenmerk_key AND kc.cnt_contract_key = c.cnt_contract_key AND k.cnt_srtkenmerk_key = 22) -- contractbeheerder vink_beheerder, (SELECT p.prs_perslid_email FROM prs_perslid p WHERE p.prs_perslid_key = c.prs_perslid_key_beh AND p.prs_perslid_verwijder IS NULL) beheerder_email, (SELECT kc.cnt_kenmerkcontract_waarde FROM cnt_kenmerkcontract kc, cnt_kenmerk k WHERE k.cnt_kenmerk_key = kc.cnt_kenmerk_key AND kc.cnt_contract_key = c.cnt_contract_key AND k.cnt_srtkenmerk_key = 23) -- contractverantwoordelijke vink_verantwoordelijke, (SELECT p.prs_perslid_email FROM prs_perslid p WHERE p.prs_perslid_key = c.prs_perslid_key_eig AND p.prs_perslid_verwijder IS NULL) veantwoordelijke_email, (SELECT kc.cnt_kenmerkcontract_waarde FROM cnt_kenmerkcontract kc, cnt_kenmerk k WHERE k.cnt_kenmerk_key = kc.cnt_kenmerk_key AND kc.cnt_contract_key = c.cnt_contract_key AND k.cnt_srtkenmerk_key = 25) -- rappel 2e aanspreekpunt vink_2e_aanspreekpunt, (SELECT p.prs_perslid_email FROM prs_perslid p WHERE p.prs_perslid_key = (SELECT fac.safe_to_number(kc.cnt_kenmerkcontract_waarde) FROM cnt_kenmerkcontract kc, cnt_kenmerk k WHERE k.cnt_kenmerk_key = kc.cnt_kenmerk_key AND kc.cnt_contract_key = c.cnt_contract_key AND k.cnt_srtkenmerk_key = 21) AND p.prs_perslid_verwijder IS NULL) tweede_aanspreekpunt_email FROM cnt_v_aanwezigcontract c, ins_tab_discipline d WHERE c.ins_discipline_key = d.ins_discipline_key AND d.ins_discipline_module = 'CNT'; -- TAYLOR: Contractbeheerder(_eig) is Beheerder/Administrateur en de Contractverantwoordelijke (_beh) is 1e aanspreekpunt die beslist over wel/niet verlengen. Tevens optie om 2e aanspreekpunt mee te nemen in rappel CREATE OR REPLACE VIEW tayl_v_noti_cntreminder ( code, sender, receiver, text, key, xkey, xemail, xmobile ) AS -- Op rappel-datum naar de Beheerder/Administrateur sturen SELECT 'CNTMAI', NULL, c.prs_perslid_key_beh, 'TER INFO: Rappel verstuurd voor contract ' || c.cnt_contract_nummer_intern || DECODE (c.cnt_contract_versie, NULL, '', '.' || c.cnt_contract_versie) || ' (' || c.cnt_contract_omschrijving || ' ' || b.prs_bedrijf_naam || ')' || ' - Moet uiterlijk per ' || TO_CHAR (cnt.cnt_getopzegdatum (c.cnt_contract_key), 'dd-mm-yyyy') || ' worden verlengd of opgezegd.', c.cnt_contract_key, NULL, NULL, NULL FROM tayl_v_cnt_rappel_basis v, cnt_v_aanwezigcontract c, prs_bedrijf b WHERE c.cnt_prs_bedrijf_key = b.prs_bedrijf_key AND v.cnt_contract_key = c.cnt_contract_key AND v.vink_beheerder = 1 AND c.cnt_contract_status = 0 AND cnt.cnt_getrappeldatum (c.cnt_contract_key) = TRUNC (SYSDATE) AND c.prs_perslid_key_beh <> c.prs_perslid_key_eig -- als administrateur gelijk aan 1e aanspreekpunt dan dan sturen we de info-mail niet uit AND NOT EXISTS -- kenmerkveld 'Opgezegd' staat uit (SELECT km.cnt_contract_key FROM cnt_kenmerkcontract km, cnt_kenmerk k WHERE km.cnt_contract_key = c.cnt_contract_key AND km.cnt_kenmerk_key = k.cnt_kenmerk_key AND k.cnt_srtkenmerk_key = 4) UNION ALL -- Op rappel-datum ACTIE-mail naar het 1e aanspreekpunt sturen (contractverantwoordelijke) SELECT 'CUST01', NULL, c.prs_perslid_key_eig, 'ACTIE: Rappel verstuurd voor contract ' || c.cnt_contract_nummer_intern || DECODE (c.cnt_contract_versie, NULL, '', '.' || c.cnt_contract_versie) || ' (' || c.cnt_contract_omschrijving || ' ' || b.prs_bedrijf_naam || ')' || ' - Moet uiterlijk per ' || TO_CHAR (cnt.cnt_getopzegdatum (c.cnt_contract_key), 'dd-mm-yyyy') || ' worden verlengd of opgezegd.', c.cnt_contract_key, NULL, NULL, NULL FROM tayl_v_cnt_rappel_basis v, cnt_v_aanwezigcontract c, prs_bedrijf b WHERE c.cnt_prs_bedrijf_key = b.prs_bedrijf_key AND v.cnt_contract_key = c.cnt_contract_key AND v.vink_verantwoordelijke = 1 AND c.cnt_contract_status = 0 AND cnt.cnt_getrappeldatum (c.cnt_contract_key) = TRUNC (SYSDATE) AND c.prs_perslid_key_eig IS NOT NULL AND NOT EXISTS -- kenmerkveld 'Opgezegd' staat uit (SELECT km.cnt_contract_key FROM cnt_kenmerkcontract km, cnt_kenmerk k WHERE km.cnt_contract_key = c.cnt_contract_key AND km.cnt_kenmerk_key = k.cnt_kenmerk_key AND k.cnt_srtkenmerk_key = 4) UNION ALL -- Op rappel-datum ACTIE-mail naar het tweede aanspreekpunt SELECT 'CUST02', NULL, NULL, 'TER INFO: Rappel verstuurd voor contract ' || c.cnt_contract_nummer_intern || DECODE (c.cnt_contract_versie, NULL, '', '.' || c.cnt_contract_versie) || ' (' || c.cnt_contract_omschrijving || ' ' || b.prs_bedrijf_naam || ')' || ' - Moet uiterlijk per ' || TO_CHAR (cnt.cnt_getopzegdatum (c.cnt_contract_key), 'dd-mm-yyyy') || ' worden verlengd of opgezegd.', c.cnt_contract_key, NULL, v.tweede_aanspreekpunt_email, NULL FROM tayl_v_cnt_rappel_basis v, cnt_v_aanwezigcontract c, prs_bedrijf b WHERE c.cnt_prs_bedrijf_key = b.prs_bedrijf_key AND v.cnt_contract_key = c.cnt_contract_key AND v.vink_2e_aanspreekpunt = 1 AND c.cnt_contract_status = 0 AND cnt.cnt_getrappeldatum (c.cnt_contract_key) = TRUNC (SYSDATE) AND NOT EXISTS -- kenmerkveld 'Opgezegd' staat uit (SELECT km.cnt_contract_key FROM cnt_kenmerkcontract km, cnt_kenmerk k WHERE km.cnt_contract_key = c.cnt_contract_key AND km.cnt_kenmerk_key = k.cnt_kenmerk_key AND k.cnt_srtkenmerk_key = 4) ; ------------------------------- --- RAPPORTAGES --------------- ------------------------------- CREATE OR REPLACE VIEW tayl_v_medewerkers_werktijden ( PRS_PERSLID_KEY, PRS_PERSLID_NAAM, PRS_PERSLID_AFDELING, MAANDAG, MAANDAG_LOCATIE, DINSDAG, DINSDAG_LOCATIE, WOENSDAG, WOENSDAG_LOCATIE, DONDERDAG, DONDERDAG_LOCATIE, VRIJDAG, VRIJDAG_LOCATIE, WERKWEEK_TOELICHTING ) 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, a.prs_afdeling_naam2, CASE WHEN kw.ma_ochtend IS NULL and kw.ma_middag IS NULL THEN NULL WHEN kw.ma_ochtend IS NOT NULL and kw.ma_middag IS NULL THEN 'ochtend' WHEN kw.ma_ochtend IS NULL and kw.ma_middag IS NOT NULL THEN 'middag' WHEN kw.ma_ochtend IS NOT NULL and kw.ma_middag IS NOT NULL THEN 'hele dag' ELSE NULL END maandag, CASE WHEN kw.ma_ochtend IS NOT NULL OR kw.ma_middag IS NOT NULL THEN kw.ma_locatie ELSE NULL END maandag_locatie, CASE WHEN kw.di_ochtend IS NULL and kw.di_middag IS NULL THEN NULL WHEN kw.di_ochtend IS NOT NULL and kw.di_middag IS NULL THEN 'ochtend' WHEN kw.di_ochtend IS NULL and kw.di_middag IS NOT NULL THEN 'middag' WHEN kw.di_ochtend IS NOT NULL and kw.di_middag IS NOT NULL THEN 'hele dag' ELSE NULL END dinsdag, CASE WHEN kw.di_ochtend IS NOT NULL OR kw.di_middag IS NOT NULL THEN kw.di_locatie ELSE NULL END dinsdag_locatie, CASE WHEN kw.wo_ochtend IS NULL and kw.wo_middag IS NULL THEN NULL WHEN kw.wo_ochtend IS NOT NULL and kw.wo_middag IS NULL THEN 'ochtend' WHEN kw.wo_ochtend IS NULL and kw.wo_middag IS NOT NULL THEN 'middag' WHEN kw.wo_ochtend IS NOT NULL and kw.wo_middag IS NOT NULL THEN 'hele dag' ELSE NULL END woensdag, CASE WHEN kw.wo_ochtend IS NOT NULL OR kw.wo_middag IS NOT NULL THEN kw.wo_locatie ELSE NULL END woensdag_locatie, CASE WHEN kw.do_ochtend IS NULL and kw.do_middag IS NULL THEN NULL WHEN kw.do_ochtend IS NOT NULL and kw.do_middag IS NULL THEN 'ochtend' WHEN kw.do_ochtend IS NULL and kw.do_middag IS NOT NULL THEN 'middag' WHEN kw.do_ochtend IS NOT NULL and kw.do_middag IS NOT NULL THEN 'hele dag' ELSE NULL END donderdag, CASE WHEN kw.do_ochtend IS NOT NULL OR kw.do_middag IS NOT NULL THEN kw.do_locatie ELSE NULL END donderdag_locatie, CASE WHEN kw.vr_ochtend IS NULL and kw.vr_middag IS NULL THEN NULL WHEN kw.vr_ochtend IS NOT NULL and kw.vr_middag IS NULL THEN 'ochtend' WHEN kw.vr_ochtend IS NULL and kw.vr_middag IS NOT NULL THEN 'middag' WHEN kw.vr_ochtend IS NOT NULL and kw.vr_middag IS NOT NULL THEN 'hele dag' ELSE NULL END vrijdag, CASE WHEN kw.vr_ochtend IS NOT NULL OR kw.vr_middag IS NOT NULL THEN kw.vr_locatie ELSE NULL END vrijdag_locatie, kw.werkweek_toelichting FROM prs_perslid p, prs_v_afdeling a, prs_bedrijf b, prs_srtperslid sp, (SELECT p.prs_perslid_key, FLX.getflex('PRS',1000, p.prs_perslid_key, 'P') werkweek_toelichting, FLX.getflex('PRS',1041, p.prs_perslid_key, 'P') ma_ochtend, FLX.getflex('PRS',1051, p.prs_perslid_key, 'P') ma_middag, FLX.getdomeinwaarde (81, FLX.getflex('PRS',1056, p.prs_perslid_key, 'P')) ma_locatie, FLX.getflex('PRS',1042, p.prs_perslid_key, 'P') di_ochtend, FLX.getflex('PRS',1052, p.prs_perslid_key, 'P') di_middag, FLX.getdomeinwaarde (81, FLX.getflex('PRS',1057, p.prs_perslid_key, 'P')) di_locatie, FLX.getflex('PRS',1043, p.prs_perslid_key, 'P') wo_ochtend, FLX.getflex('PRS',1053, p.prs_perslid_key, 'P') wo_middag, FLX.getdomeinwaarde (81, FLX.getflex('PRS',1058, p.prs_perslid_key, 'P')) wo_locatie, FLX.getflex('PRS',1044, p.prs_perslid_key, 'P') do_ochtend, FLX.getflex('PRS',1054, p.prs_perslid_key, 'P') do_middag, FLX.getdomeinwaarde (81, FLX.getflex('PRS',1059, p.prs_perslid_key, 'P')) do_locatie, FLX.getflex('PRS',1045, p.prs_perslid_key, 'P') vr_ochtend, FLX.getflex('PRS',1055, p.prs_perslid_key, 'P') vr_middag, FLX.getdomeinwaarde (81, FLX.getflex('PRS',1060, p.prs_perslid_key, 'P')) vr_locatie FROM prs_perslid p) kw WHERE p.prs_perslid_key = kw.prs_perslid_key AND p.prs_perslid_verwijder IS NULL AND p.prs_afdeling_key = a.prs_afdeling_key AND a.prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_key = 6 -- bedrijfs_key TAYL AND p.prs_srtperslid_key = sp.prs_srtperslid_key ; -- Bronview voor QRC-codes en melden storingen op objecten CREATE OR REPLACE VIEW tayl_v_rap_qr_deel AS SELECT user omgeving, fac_bookmark_naam, fac_bookmark_id, b.fac_bookmark_path, b.fac_bookmark_query, d.ins_discipline_omschrijving, d.ins_srtgroep_omschrijving, d.ins_srtdeel_omschrijving, d.ins_deel_omschrijving, (SELECT km.ins_kenmerkdeel_waarde FROM ins_kenmerkdeel km, ins_kenmerk k WHERE km.ins_deel_key = d.ins_deel_key AND km.ins_kenmerk_key = k.ins_kenmerk_key AND k.ins_kenmerk_code = 'QRC_SERIENUMMER' AND km.ins_kenmerkdeel_verwijder IS NULL) qrc_serienummer, CASE WHEN (SELECT MAX (k.ins_kenmerk_key) FROM ins_kenmerkdeel km, ins_kenmerk k WHERE km.ins_deel_key = d.ins_deel_key AND km.ins_kenmerk_key = k.ins_kenmerk_key AND k.ins_kenmerk_code = 'QRC_BESTICKEREN' AND km.ins_kenmerkdeel_verwijder IS NULL) IS NOT NULL THEN flx.getdomeinwaarde (2, flx.getflex ( 'INS', (SELECT MAX (k.ins_kenmerk_key) FROM ins_kenmerkdeel km, ins_kenmerk k WHERE km.ins_deel_key = d.ins_deel_key AND km.ins_kenmerk_key = k.ins_kenmerk_key AND k.ins_kenmerk_code = 'QRC_BESTICKEREN' AND km.ins_kenmerkdeel_verwijder IS NULL), d.ins_deel_key)) ELSE 'Nvt' END nog_bestickeren, CASE WHEN d.alg_locatie_key IS NOT NULL THEN 'Locatiegebonden' WHEN d.prs_perslid_key IS NOT NULL THEN 'Persoonsgebonden' ELSE 'Overig' END TYPE, d.alg_locatie_key, d.prs_perslid_key, CASE WHEN d.alg_locatie_key IS NOT NULL THEN d.alg_gebouw_naam WHEN d.prs_perslid_key IS NOT NULL THEN d.prs_perslid_volnaam ELSE '' END plaats, d.alg_plaatsaanduiding, d.ins_deel_aanmaak, d.ins_deel_key FROM fac_bookmark b, ins_v_deel_gegevens d WHERE fac_bookmark_expire IS NULL AND fac_bookmark_id = 'jUY0LZPaCv9u2n6n' AND d.ins_discipline_key NOT IN (43, 81) -- Geen SYSTEMEN en WERKPLEKKEN AND ( d.ins_deel_vervaldatum IS NULL OR d.ins_deel_vervaldatum >= TRUNC (SYSDATE)); ------ 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