--
-- $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