Files
Database/FAC/FAC_VIE.SRC
Peter Feij f2bc1e6105 FCLT#85573 Bericht van falende notificaties aangepast (lcl)
svn path=/Database/trunk/; revision=70103
2025-08-26 09:47:50 +00:00

2663 lines
121 KiB
Plaintext
Raw Blame History

/* FAC_VIE.SRC
* $Revision$
* $Id$
*/
CREATE_VIEW(faq_discipline, 0)
AS
SELECT * FROM ins_tab_discipline WHERE ins_discipline_module = 'FAQ';
DEFINIEER_VIEW_AANWEZIG(faq_discipline, ins_discipline_verwijder, faq_v_aanwezigdiscipline, 0);
DEFINIEER_VIEW_AANWEZIG(fac_usrdata, fac_usrdata_verwijder,
fac_v_aanwezigusrdata,0);
CREATE_VIEW (fac_v_webgebruiker, 0) AS
SELECT gg.prs_perslid_key, g.fac_functie_key,
g.ins_discipline_key,
MIN (fac_gebruiker_prs_level_read) fac_gebruiker_prs_level_read,
MIN (fac_gebruiker_prs_level_write) fac_gebruiker_prs_level_write,
MIN (fac_gebruiker_alg_level_read) fac_gebruiker_alg_level_read,
MIN (fac_gebruiker_alg_level_write) fac_gebruiker_alg_level_write
FROM fac_groeprechten g, fac_gebruikersgroep gg
WHERE g.fac_groep_key = gg.fac_groep_key
GROUP BY gg.prs_perslid_key, g.fac_functie_key, g.ins_discipline_key;
-- Rapportages
CREATE_VIEW(fac_v_rap_groeprechten, 0)
(naam,
fclt_f_login,
email,
last_login,
fclt_f_module,
fclt_f_funcode,
fclt_f_functie,
fclt_f_aspect,
fclt_f_groep,
orglevelread,
orglevelwrite,
alglevelread,
alglevelwrite
)
AS
SELECT -- GROEPEN MET DISCIPLINES
p.prs_perslid_naam, p.prs_perslid_oslogin, prs_perslid_email, prs_perslid_login,
f.fac_functie_module,
f.fac_functie_code,
COALESCE(fac_locale_xsl_cust, fac_locale_xsl_tekst, f.fac_functie_omschrijving),
DECODE (
a.ins_discipline_module,
'BES', lcl.l ('bes_discipline') || ' ',
'CHT', lcl.l ('cht_discipline') || ' ',
'CNT', lcl.l ('cnt_discipline') || ' ',
'CTR', lcl.l ('ctr_discipline') || ' ',
'FAQ', lcl.l ('faq_discipline') || ' ',
'INS', lcl.l ('ins_discipline') || ' ',
'MLD', lcl.l ('mld_discipline') || ' '
|| (CASE
WHEN ins_srtdiscipline_prefix IS NOT NULL
THEN ins_srtdiscipline_prefix || '-'
END),
'RES', lcl.l ('res_discipline') || ' ',
ins_discipline_module || ' ')
|| ins_discipline_omschrijving omschrijving,
gr.fac_groep_omschrijving,
fac.getscopeleveltext (g.fac_gebruiker_prs_level_read, 'PRS'),
fac.getscopeleveltext (g.fac_gebruiker_prs_level_write, 'PRS'),
fac.getscopeleveltext (g.fac_gebruiker_alg_level_read, 'ALG'),
fac.getscopeleveltext (g.fac_gebruiker_alg_level_write, 'ALG')
FROM fac_groeprechten g,
fac_gebruikersgroep gg,
prs_v_aanwezigperslid p,
fac_functie f,
ins_srtdiscipline isd,
ins_tab_discipline a,
fac_groep gr,
fac_locale_xsl flx
WHERE g.ins_discipline_key = a.ins_discipline_key
AND g.fac_groep_key = gr.fac_groep_key
AND p.prs_perslid_key = gg.prs_perslid_key
AND gg.fac_groep_key = gr.fac_groep_key
AND isd.ins_srtdiscipline_key(+) = a.ins_srtdiscipline_key
AND f.fac_functie_key = g.fac_functie_key
AND f.fac_functie_discipline = 1
AND ins_discipline_verwijder IS NULL
AND flx.fac_locale_xsl_label (+)= f.fac_functie_omschrijving
AND flx.fac_locale_xsl_lang (+)= 'NL'
AND flx.fac_locale_xsl_module (+)= 'ASP'
UNION ALL -- GROEPEN ZONDER DISCIPLINES
SELECT p.prs_perslid_naam, p.prs_perslid_oslogin, prs_perslid_email, prs_perslid_login,
f.fac_functie_module,
f.fac_functie_code,
COALESCE(fac_locale_xsl_cust, fac_locale_xsl_tekst, f.fac_functie_omschrijving),
NULL omschrijving,
gr.fac_groep_omschrijving,
fac.getscopeleveltext (g.fac_gebruiker_prs_level_read, 'PRS'),
fac.getscopeleveltext (g.fac_gebruiker_prs_level_write, 'PRS'),
fac.getscopeleveltext (g.fac_gebruiker_alg_level_read, 'ALG'),
fac.getscopeleveltext (g.fac_gebruiker_alg_level_write, 'ALG')
FROM fac_groeprechten g,
fac_functie f,
fac_gebruikersgroep gg,
prs_v_aanwezigperslid p,
fac_groep gr,
fac_locale_xsl flx -- lcl.l gebruik was extreem traag dus maar hardcoded
WHERE fac_functie_discipline = 0
AND g.fac_functie_key = f.fac_functie_key
AND g.fac_groep_key = gg.fac_groep_key
AND gg.fac_groep_key = gr.fac_groep_key
AND p.prs_perslid_key = gg.prs_perslid_key
AND flx.fac_locale_xsl_label (+)= f.fac_functie_omschrijving
AND flx.fac_locale_xsl_lang (+)= 'NL'
AND flx.fac_locale_xsl_module (+)= 'ASP';
CREATE_VIEW(fac_v_rap_groeprechten2, 0)
(fclt_f_groep,
fclt_f_module,
fclt_f_funcode,
fclt_f_functie,
fclt_f_aspect,
orglevelread,
orglevelwrite,
alglevelread,
alglevelwrite
)
AS
SELECT -- GROEPEN MET DISCIPLINES
gr.fac_groep_omschrijving,
f.fac_functie_module,
f.fac_functie_code,
COALESCE(fac_locale_xsl_cust, fac_locale_xsl_tekst, f.fac_functie_omschrijving),
DECODE (
a.ins_discipline_module,
'BES', lcl.l ('bes_discipline') || ' ',
'CHT', lcl.l ('cht_discipline') || ' ',
'CNT', lcl.l ('cnt_discipline') || ' ',
'CTR', lcl.l ('ctr_discipline') || ' ',
'FAQ', lcl.l ('faq_discipline') || ' ',
'INS', lcl.l ('ins_discipline') || ' ',
'MLD', lcl.l ('mld_discipline') || ' '
|| (CASE
WHEN ins_srtdiscipline_prefix IS NOT NULL
THEN ins_srtdiscipline_prefix || '-'
END),
'RES', lcl.l ('res_discipline') || ' ',
ins_discipline_module || ' ')
|| ins_discipline_omschrijving omschrijving,
fac.getscopeleveltext (g.fac_gebruiker_prs_level_read, 'PRS'),
fac.getscopeleveltext (g.fac_gebruiker_prs_level_write, 'PRS'),
fac.getscopeleveltext (g.fac_gebruiker_alg_level_read, 'ALG'),
fac.getscopeleveltext (g.fac_gebruiker_alg_level_write, 'ALG')
FROM FAC_GROEPRECHTEN g,
FAC_FUNCTIE f,
INS_TAB_DISCIPLINE a,
ins_srtdiscipline isd,
FAC_GROEP gr,
fac_locale_xsl flx
WHERE g.ins_discipline_key = a.ins_discipline_key
AND g.fac_groep_key = gr.fac_groep_key
AND isd.ins_srtdiscipline_key(+) = a.ins_srtdiscipline_key
AND f.fac_functie_key = g.fac_functie_key
AND f.fac_functie_discipline = 1
AND ins_discipline_verwijder IS NULL
AND flx.fac_locale_xsl_label (+)= f.fac_functie_omschrijving
AND flx.fac_locale_xsl_lang (+)= 'NL'
AND flx.fac_locale_xsl_module (+)= 'ASP'
UNION ALL -- GROEPEN ZONDER DISCIPLINES
SELECT gr.fac_groep_omschrijving,
f.fac_functie_module,
f.fac_functie_code,
COALESCE(fac_locale_xsl_cust, fac_locale_xsl_tekst, f.fac_functie_omschrijving),
NULL omschrijving,
fac.getscopeleveltext (g.fac_gebruiker_prs_level_read, 'PRS'),
fac.getscopeleveltext (g.fac_gebruiker_prs_level_write, 'PRS'),
fac.getscopeleveltext (g.fac_gebruiker_alg_level_read, 'ALG'),
fac.getscopeleveltext (g.fac_gebruiker_alg_level_write, 'ALG')
FROM FAC_GROEPRECHTEN g,
FAC_FUNCTIE f,
FAC_GROEP gr,
fac_locale_xsl flx
WHERE g.fac_groep_key = gr.fac_groep_key
AND fac_functie_discipline = 0
AND g.fac_functie_key = f.fac_functie_key
AND flx.fac_locale_xsl_label (+)= f.fac_functie_omschrijving
AND flx.fac_locale_xsl_lang (+)= 'NL'
AND flx.fac_locale_xsl_module (+)= 'ASP';
CREATE_VIEW(fac_v_rap_groepleden, 0)
(naam,
fclt_f_login,
fclt_f_groep,
aantal_rechten
)
AS SELECT p.prs_perslid_naam, p.prs_perslid_oslogin,
gr.fac_groep_omschrijving, to_char(count(*))
FROM fac_gebruikersgroep gg,
prs_v_aanwezigperslid p,
fac_groep gr,
fac_groeprechten grr
WHERE p.prs_perslid_key = gg.prs_perslid_key
AND gg.fac_groep_key = gr.fac_groep_key
AND gr.FAC_GROEP_KEY = grr.fac_groep_key
GROUP BY p.prs_perslid_naam, p.prs_perslid_oslogin,
gr.fac_groep_omschrijving;
-- Levert precies het formaat van de importsheet "Inventarisatie Gebruikersgroepen"
CREATE_VIEW(fac_v_rap_gebruikersgroepen1, 0)
(
fclt_f_groep,
code,
fclt_x_module,
fclt_f_vakgroeptype,
fclt_f_vakgroep,
org_lezen,
org_schrijven,
plaats_lezen,
plaats_schrijven
)
AS
SELECT -- GROEPEN MET DISCIPLINES
gr .fac_groep_omschrijving,
f.fac_functie_code,
f.fac_functie_module,
sd.ins_srtdiscipline_omschrijving,
a.ins_discipline_omschrijving,
TO_CHAR(COALESCE(g.fac_gebruiker_prs_level_read, -1)),
TO_CHAR(COALESCE(g.fac_gebruiker_prs_level_write, -1)),
TO_CHAR(COALESCE(g.fac_gebruiker_alg_level_read, -1)),
TO_CHAR(COALESCE(g.fac_gebruiker_alg_level_write, -1))
FROM fac_groeprechten g, fac_functie f, ins_tab_discipline a, ins_srtdiscipline sd, fac_groep gr
WHERE g.ins_discipline_key = a.ins_discipline_key
AND a.ins_srtdiscipline_key = sd.ins_srtdiscipline_key(+)
AND g.fac_groep_key = gr.fac_groep_key
AND f.fac_functie_key = g.fac_functie_key
AND f.fac_functie_discipline = 1
AND ins_discipline_verwijder IS NULL
UNION ALL -- GROEPEN ZONDER DISCIPLINES
SELECT gr.fac_groep_omschrijving,
f.fac_functie_code,
f.fac_functie_module,
NULL,
NULL,
TO_CHAR(COALESCE(g.fac_gebruiker_prs_level_read, -1)),
TO_CHAR(COALESCE(g.fac_gebruiker_prs_level_write, -1)),
TO_CHAR(COALESCE(g.fac_gebruiker_alg_level_read, -1)),
TO_CHAR(COALESCE(g.fac_gebruiker_alg_level_write, -1))
FROM fac_groeprechten g, fac_functie f, fac_groep gr
WHERE g.fac_groep_key = gr.fac_groep_key AND fac_functie_discipline = 0 AND g.fac_functie_key = f.fac_functie_key;
CREATE_VIEW (fac_v_perfmon, 0) (fclt_f_datum,
drempelwaarde,
aantal,
gemiddelde,
users
)
AS
SELECT fac_perfmon_datum, fac_perfmon_threshold,
fac_perfmon_AANTAL, ROUND(fac_perfmon_waarde / fac_perfmon_aantal),
fac_perfmon_users
FROM fac_perfmon;
// perfmon.asp basic sample reports
-- de platte waarden
CREATE_VIEW(fac_v_perfmon_samplewaarde, 0) (fclt_f_datum,
waarde1,
waarde2,
waarde3,
waarde4,
waarde5,
waarde6,
waarde7,
waarde8,
waarde9,
fclt_f_ipadres,
fclt_f_gebruiker
)
AS
SELECT fac_perfmon_sample_datum,
fac_perfmon_sample_waarde1, fac_perfmon_sample_waarde2,
fac_perfmon_sample_waarde3, fac_perfmon_sample_waarde4,
fac_perfmon_sample_waarde5, fac_perfmon_sample_waarde6,
fac_perfmon_sample_waarde7, fac_perfmon_sample_waarde8,
fac_perfmon_sample_waarde9, fac_perfmon_sample_ip,
pf.prs_perslid_naam_full
FROM fac_perfmon_sample s, prs_v_perslid_fullnames_all pf
WHERE s.prs_perslid_key = pf.prs_perslid_key;
/*
*
*
* Definities van notificatie_job views met naamgeving FAC_V_NOTI_[mod][naam] voor de standaard/defaults
* Voor klantspecifieke notificaties wordt [cust]_V_NOTI_[mod][naam] toegepast.
* en (minimaal) verplicht de kolommen sender, receiver, text, code, key, xkey, xemail, xmobile, fac_srtnotificatie_key, attachments, xsender, prs_bedrijfadres_key
* als achtereenvolgens perslid_key, perslid_key, subject, srtnotificatiecode, entiteitkey enz.
* Als text niet null is, wordt die gebruikt ipv de tekst bij code.
*/
// Voor een contactpersoon alle reserveringen binnen 4-5 werkdagen na nu, zowel ruimte, voorzieningen als catering
CREATE_VIEW (fac_v_noti_resreminder, 0) (code, sender, receiver, text, key, xkey, xemail, xmobile, fac_srtnotificatie_key, attachments, xsender, prs_bedrijfadres_key)
AS
SELECT 'RESINF'
, NULL
, rsvr.res_rsv_ruimte_contact_key
, 'Reservering '
|| res.res_reservering_key
|| ': U heeft op '
|| DATE_TO_CHAR (rsvr.res_rsv_ruimte_van, 'DD-MM')
|| ' van '
|| DATE_TO_CHAR (rsvr.res_rsv_ruimte_van, 'HH24:MI')
|| ' tot '
|| DATE_TO_CHAR (rsvr.res_rsv_ruimte_tot, 'HH24:MI')
|| ' ruimte '
|| r.res_ruimte_nr
|| ' gereserveerd.'
, res.res_reservering_key
, rsvr.res_rsv_ruimte_key
, NULL xemail
, NULL xmobile
, NULL fac_srtnotificatie_key
, NULL attachments
, NULL xsender
, NULL prs_bedrijfadres_key
FROM res_v_aanwezigreservering res
, res_v_aanwezigrsv_ruimte rsvr
, res_ruimte_opstelling opst
, res_disc_params rdp
, res_ruimte r
WHERE r.res_discipline_key = rdp.res_ins_discipline_key
AND rdp.res_disc_params_noti_dagen IS NOT NULL
AND res.res_reservering_key = rsvr.res_reservering_key
AND opst.res_ruimte_opstel_key = rsvr.res_ruimte_opstel_key
AND opst.res_ruimte_key = r.res_ruimte_key
AND rsvr.res_status_fo_key <= 5
AND rsvr.res_rsv_ruimte_van BETWEEN fac.datumtijdplusuitvoertijd (SYSDATE, res_disc_params_noti_dagen, 'DAGEN')
AND fac.datumtijdplusuitvoertijd (SYSDATE, res_disc_params_noti_dagen+1, 'DAGEN')
AND fac.getweekdaynum(sysdate) NOT IN (1,7)
AND rsvr.res_rsv_ruimte_van >= SYSDATE
UNION ALL
SELECT 'RESINF'
, NULL
, res_rsv_ruimte_contact_key
, 'Reservering '
|| res_reservering_key
|| ': U heeft op '
|| DATE_TO_CHAR(min(van), 'dd-mm')
|| DECODE (min(van), max(tot), ' om ' || DATE_TO_CHAR(min(van), 'hh24:mi') , ' van '
|| DATE_TO_CHAR(min(van), 'hh24:mi')
|| ' tot '
|| DATE_TO_CHAR(max(tot), 'hh24:mi'))
|| ' in ruimte ('
|| (SELECT alg_gebouw_code || '-' || alg_verdieping_code || '-' || alg_ruimte_nr FROM alg_v_onroerendgoed_gegevens arg WHERE arg.alg_ruimte_key = ruimte_key)
|| ') '
|| count(res_reservering_key)
|| ' voorziening(en) gereserveerd.'
, res_reservering_key
, res_rsv_ruimte_key
, NULL xemail
, NULL xmobile
, NULL fac_srtnotificatie_key
, NULL attachments
, NULL xsender
, NULL prs_bedrijfadres_key
FROM (
SELECT rsvr.res_rsv_ruimte_contact_key
, res.res_reservering_key
, rsvd.res_rsv_deel_van van
, rsvd.res_rsv_deel_tot tot
, rsvr.res_rsv_ruimte_key
, rsvr.alg_ruimte_key ruimte_key
FROM res_v_aanwezigreservering res
, res_v_aanwezigrsv_ruimte rsvr
, res_disc_params rdp
, res_rsv_deel rsvd
, res_deel rd
WHERE rsvd.res_rsv_ruimte_key = rsvr.res_rsv_ruimte_key
AND rd.res_deel_key = rsvd.res_deel_key
AND rd.res_discipline_key = rdp.res_ins_discipline_key
AND rdp.res_disc_params_noti_dagen IS NOT NULL
AND res.res_reservering_key = rsvr.res_reservering_key
AND rsvr.res_ruimte_opstel_key IS NULL
AND rsvr.res_status_fo_key <= 5
AND rsvd.res_rsv_deel_verwijder IS NULL
AND rsvd.res_rsv_deel_van BETWEEN fac.datumtijdplusuitvoertijd (SYSDATE, res_disc_params_noti_dagen, 'DAGEN')
AND fac.datumtijdplusuitvoertijd (SYSDATE, res_disc_params_noti_dagen+1, 'DAGEN')
AND fac.getweekdaynum(sysdate) NOT IN (1,7)
AND rsvd.res_rsv_deel_van >= SYSDATE
UNION ALL
SELECT rsvr.res_rsv_ruimte_contact_key
, res.res_reservering_key
, rsva.res_rsv_artikel_levering van
, rsva.res_rsv_artikel_levering tot
, rsvr.res_rsv_ruimte_key
, rsvr.alg_ruimte_key ruimte_key
FROM res_v_aanwezigreservering res
, res_v_aanwezigrsv_ruimte rsvr
, res_disc_params rdp
, res_rsv_artikel rsva
, res_artikel ra
WHERE rsva.res_rsv_ruimte_key = rsvr.res_rsv_ruimte_key
AND ra.res_discipline_key = rdp.res_ins_discipline_key
AND rsva.res_artikel_key = ra.res_artikel_key
AND rdp.res_disc_params_noti_dagen IS NOT NULL
AND res.res_reservering_key = rsvr.res_reservering_key
AND rsvr.res_ruimte_opstel_key IS NULL
AND rsvr.res_status_fo_key <= 5
AND rsva.res_rsv_artikel_verwijder IS NULL
AND rsva.res_rsv_artikel_levering BETWEEN fac.datumtijdplusuitvoertijd (SYSDATE, res_disc_params_noti_dagen, 'DAGEN')
AND fac.datumtijdplusuitvoertijd (SYSDATE, res_disc_params_noti_dagen+1, 'DAGEN')
AND fac.getweekdaynum(sysdate) NOT IN (1,7)
AND rsva.res_rsv_artikel_levering >= SYSDATE
)
GROUP BY res_rsv_ruimte_contact_key, res_reservering_key, res_rsv_ruimte_key, ruimte_key;
CREATE_VIEW (fac_v_noti_cntreminder, 0) (code, sender, receiver, text, key, par1, par2, xkey, xemail, xmobile, fac_srtnotificatie_key, attachments, xsender, prs_bedrijfadres_key)
AS
SELECT 'CNTMAI', '', c.prs_perslid_key_beh,
'Rappel: Contract '
|| c.cnt_contract_nummer_intern||DECODE(cnt_contract_versie, NULL, '', '.'||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, c.cnt_contract_nummer_intern, cnt.cnt_getopzegdatum (c.cnt_contract_key), NULL
, NULL xemail
, NULL xmobile
, NULL fac_srtnotificatie_key
, NULL attachments
, NULL xsender
, NULL prs_bedrijfadres_key
FROM cnt_v_aanwezigcontract c, prs_bedrijf b
WHERE b.prs_bedrijf_key = c.cnt_prs_bedrijf_key
AND cnt_contract_verwijder IS NULL
AND cnt_contract_status = 0 /* actief */
AND (SYSDATE BETWEEN cnt.cnt_getrappeldatum (c.cnt_contract_key) AND cnt.cnt_getopzegdatum (c.cnt_contract_key))
AND cnt.getnieuwsteversiekey(c.cnt_contract_key) = c.cnt_contract_key;
/*
* contract notificatie die ook naar collega's gestuurd wordt.
*/
CREATE_VIEW (fac_v_noti_cntreminder_collega, 0) (code, sender, receiver, text, key, par1, par2, xkey, xemail, xmobile, fac_srtnotificatie_key, attachments, xsender, prs_bedrijfadres_key)
AS
SELECT 'CNTMAI', '', p.prs_collega_key,
'Rappel: Contract '
|| c.cnt_contract_nummer_intern||DECODE(cnt_contract_versie, NULL, '', '.'||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, c.cnt_contract_nummer_intern, cnt.cnt_getopzegdatum (c.cnt_contract_key), NULL
, NULL xemail
, NULL xmobile
, NULL fac_srtnotificatie_key
, NULL attachments
, NULL xsender
, NULL prs_bedrijfadres_key
FROM cnt_v_aanwezigcontract c, prs_bedrijf b,
( SELECT prs_perslid_key, prs_perslid_key prs_collega_key
FROM prs_perslid
UNION ALL
SELECT prs_perslid_key, prs_perslid_key_alt prs_collega_key
FROM prs_collega) p
WHERE b.prs_bedrijf_key = c.cnt_prs_bedrijf_key
AND c.prs_perslid_key_beh = p.prs_perslid_key
AND cnt_contract_verwijder IS NULL
AND cnt_contract_status = 0 /* actief */
AND (SYSDATE BETWEEN cnt.cnt_getrappeldatum (c.cnt_contract_key) AND cnt.cnt_getopzegdatum (c.cnt_contract_key))
AND cnt.getnieuwsteversiekey(c.cnt_contract_key) = c.cnt_contract_key;
-- notificatie van ongeldige reserveringen gericht aan de contactpersoon. View kan ook
-- als rapportage toegevoegd worden. View levert alleen toekomstige reserveringen.
-- NB: View bevat Nederlandstalige teksten. Beter zou zijn content en presentatie te scheiden.
CREATE_VIEW(fac_v_noti_resdirty, 0) (
code,
sender,
receiver,
text,
key,
xkey,
contact, xemail, xmobile, fac_srtnotificatie_key, attachments, xsender, prs_bedrijfadres_key
)
AS
SELECT 'RESDIR',
NULL,
rm.res_rsv_ruimte_contact_key,
'Letop! Reservering '
|| rm.res_reservering_key
|| '/'
|| rm.res_rsv_ruimte_volgnr
|| ': op '
|| TO_CHAR (rm.res_rsv_ruimte_van, 'DD-MM')
|| ' van '
|| TO_CHAR (rm.res_rsv_ruimte_van, 'HH24:MI')
|| ' tot '
|| TO_CHAR (rm.res_rsv_ruimte_tot, 'HH24:MI')
|| ' ruimte '
|| COALESCE (r.res_ruimte_nr, 'Werkplek')
|| ' is ongeldig.',
rm.res_reservering_key,
rm.res_rsv_ruimte_key,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = rm.res_rsv_ruimte_contact_key)
contact
, NULL xemail
, NULL xmobile
, NULL fac_srtnotificatie_key
, NULL attachments
, NULL xsender
, NULL prs_bedrijfadres_key
FROM res_rsv_ruimte rm,
res_ruimte_opstelling ro,
res_ruimte r,
(SELECT ra.res_rsv_ruimte_key, COUNT ( * ) count_dirty
FROM res_rsv_artikel ra
WHERE res_rsv_artikel_verwijder IS NULL
AND res_rsv_artikel_dirtlevel > 255
GROUP BY res_rsv_ruimte_key) art,
(SELECT res_rsv_ruimte_key, COUNT ( * ) count_dirty
FROM res_rsv_deel rd
WHERE res_rsv_deel_verwijder IS NULL AND res_rsv_deel_dirtlevel > 255
GROUP BY res_rsv_ruimte_key) deel
WHERE rm.res_rsv_ruimte_key = art.res_rsv_ruimte_key(+)
AND rm.res_rsv_ruimte_key = deel.res_rsv_ruimte_key(+)
AND rm.res_ruimte_opstel_key = ro.res_ruimte_opstel_key(+)
AND ro.res_ruimte_key = r.res_ruimte_key(+)
AND res_rsv_ruimte_verwijder IS NULL
AND res_rsv_ruimte_van > SYSDATE
AND ( res_rsv_ruimte_dirtlevel > 255
OR art.count_dirty > 0
OR deel.count_dirty > 0)
GROUP BY res_reservering_key,
res_rsv_ruimte_van,
res_rsv_ruimte_tot,
rm.res_rsv_ruimte_key,
res_ruimte_nr,
res_rsv_ruimte_volgnr,
res_rsv_ruimte_contact_key
ORDER BY res_rsv_ruimte_van, res_rsv_ruimte_key;
-- View to notify sensors that are involved in upcoming reservations
-- to announce we're about to start. First version, sample as well.
-- Now uses res_disc_params_preposttime as the horizon for updates
-- and keeps notifying until it starts. Will improve as we get
-- more experienced
CREATE_VIEW(fac_v_noti_ressensors)
(
sender,
receiver,
text,
code,
fac_srtnotificatie_key,
key,
xkey,
xsender,
xemail,
xmobile,
attachments,
prs_bedrijfadres_key
)
AS
SELECT NULL sender,
NULL receiver,
prs_perslid_naam_friendly text,
'INSUPD' code,
NULL fac_srtnotificatie_key,
ins_deel_key key,
NULL xkey,
NULL xsender,
NULL xemail,
NULL xmobile,
NULL attachments,
prs_bedrijfadres_key prs_bedrijfadres_key
FROM (SELECT r.res_deel_key,
d.ins_deel_key,
rdp.res_disc_params_preposttime,
sd.ins_srtdeel_sensortype,
ba.prs_bedrijfadres_key
FROM ins_deel d,
ins_srtdeel sd,
res_deel r,
res_disc_params rdp,
prs_bedrijfadres ba
WHERE r.res_ins_deel_key = d.ins_deel_key
AND d.ins_deel_actief = 1
AND rdp.res_ins_discipline_key = r.res_discipline_key
AND sd.prs_bedrijf_key = ba.prs_bedrijf_key
AND ba.prs_bedrijfadres_type = 'I'
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
AND BITAND (sd.ins_srtdeel_sensortype, 1) = 1
AND (r.res_deel_vervaldatum IS NULL OR r.res_deel_vervaldatum > SYSDATE)
AND res_deel_verwijder IS NULL) sensors,
(SELECT res_deel_key, res_rsv_deel_van, pf.prs_perslid_naam_friendly
FROM res_rsv_deel rd, res_rsv_ruimte rr, prs_v_perslid_fullnames_all pf
WHERE rd.res_rsv_ruimte_key = rr.res_rsv_ruimte_key
AND rr.res_rsv_ruimte_host_key = pf.prs_perslid_key
AND res_rsv_deel_verwijder IS NULL
AND res_rsv_deel_dirtlevel = 0
AND res_rsv_deel_van BETWEEN TRUNC (SYSDATE) AND TRUNC (SYSDATE + 1))
reservations_today
WHERE reservations_today.res_deel_key = sensors.res_deel_key
AND SYSDATE BETWEEN res_rsv_deel_van - (res_disc_params_preposttime / 24)
AND res_rsv_deel_van;
-- Notificatie voor opdrachten in de queue die al meer dan S(puo_failalert_threshold) minuten gefaald zijn
-- Het onderwerp ondersteunt placeholders, default is zoiets:
-- '##APPL## waarschuwing (##CUST##): Het versturen van ##ENTITYKEY## van ##DATETIME## naar ##ADRES## is na ##NR## pogingen nog niet gelukt. Controleer de configuratie.'
CREATE_VIEW(fac_v_noti_facorderqueuefails, 0)
(
receiver,
text
)
AS
SELECT wg.prs_perslid_key,
REPLACE (
REPLACE (
REPLACE (
REPLACE (
REPLACE (
REPLACE (lcl.l('lcl_noti_facorderqueuefails_subject')
, '##APPL##'
, lcl.l ('lcl_facilitor_appl'))
, '##ENTITYKEY##'
, DECODE (fac_srtnotificatie_xmlnode
, 'opdracht', 'Order '
|| (SELECT mld_melding_key || '/' || mld_opdr_bedrijfopdr_volgnr
FROM mld_opdr o
WHERE mld_opdr_key = fac_notificatie_refkey)
, 'bestelopdr', 'Procurement order '
|| (SELECT bes_bestelopdr_id
FROM bes_bestelopdr o
WHERE bes_bestelopdr_key = fac_notificatie_refkey)
, 'reservering', 'Reservation '
|| (SELECT res_reservering_key || '/' || res_rsv_ruimte_volgnr
FROM res_rsv_ruimte o
WHERE res_rsv_ruimte_key = fac_notificatie_extrakey)
, fac_srtnotificatie_xmlnode || ' ' || fac_notificatie_refkey))
, '##ADRES##'
, COALESCE ((SELECT (prs_bedrijf_naam)
FROM prs_bedrijf b, prs_bedrijfadres pba
WHERE b.prs_bedrijf_key = pba.prs_bedrijf_key AND pba.prs_bedrijfadres_key = q.prs_bedrijfadres_key)
, '??'))
, '##NR##'
, fac_notificatie_failcount)
, '##DATETIME##'
, TO_CHAR (q.fac_notificatie_datum, 'DD-MM-YYYY HH24:MI'))
, '##CUST##'
, fac_version_cust)
FROM fac_notificatie q,
fac_srtnotificatie fs,
fac_functie f,
fac_v_webgebruiker wg,
fac_version
WHERE f.fac_functie_key = wg.fac_functie_key
AND f.fac_functie_code = 'WEB_PRSSYS'
AND q.fac_srtnotificatie_key = fs.fac_srtnotificatie_key
AND BITAND (q.fac_notificatie_status, 64) = 0
AND (q.prs_bedrijfadres_key IS NOT NULL OR q.fac_notificatie_systeemadres IS NOT NULL)
AND q.fac_notificatie_failcount > 0
AND (SYSDATE - q.fac_notificatie_datum) * 24 * 60 > fac.getSetting ('puo_failalert_threshold');
-- dagelijkse notificatie voor verwoede inlogpogingen (1 regel per user beetje veel misschien)
CREATE OR REPLACE FORCE VIEW fac_v_noti_auditfail_day
(
sender,
receiver,
text,
code,
key,
xkey, xemail, xmobile, fac_srtnotificatie_key, attachments, xsender, prs_bedrijfadres_key
)
AS
SELECT NULL
, NULL
, 'Facilitor/'
|| (SELECT fac_version_cust || '-' || fac_version_otap
FROM fac_version)
|| ' alert ['
|| TO_CHAR (fac_auditfail_datum, 'YYYY-MM-DD HH24:MI:SS')
|| ']: '
|| fac_auditfail_tekst
, NULL
, NULL
, NULL
, fac.getsetting('puo_emergencymailaddress') xemail
, NULL xmobile
, NULL fac_srtnotificatie_key
, NULL attachments
, NULL xsender
, NULL prs_bedrijfadres_key
FROM fac_auditfail
WHERE fac_auditfail_tekst LIKE '%dan 5 inlogpogingen%'
AND fac_auditfail_datum > SYSDATE - 1
ORDER BY fac_auditfail_datum DESC;
CREATE_VIEW(fac_v_notifyqueue, 0)
AS
SELECT fac_notificatie_receiver_email, fac_notificatie_receiver_phone, fac_notificatie_oms, fac_notificatie_status,
fac_notificatie_key, fac_notificatie_refkey, fac_notificatie_datum, fac_srtnotificatie_code, fac_srtnotificatie_xmlnode,
fac_notificatie_extrakey, fac_notificatie_sender_email, fac_notificatie_lang, fac_notificatie_systeemadres,
fac_notificatie_attachments, fac_srtnotificatie_delay, fac_srtnotificatie_srtkm_key, fac_srtnotificatie_noticollegas,
prs_perslid_key_receiver, fac_notificatie_notbefore, fac_notificatie_failcount, prs_bedrijfadres_key,
prs_perslid_key_sender, fac_notificatie_geturl, fac_notificatie_getbody, fac_notificatie_naam, fac_notificatie_realuser
FROM fac_notificatie n
LEFT OUTER JOIN fac_srtnotificatie sn ON n.fac_srtnotificatie_key = sn.fac_srtnotificatie_key;
-- Queue met naar leveranciers te verzenden opdrachten tbv PutOrders: wat-moet-naar-wie-en-hoe
-- Tijdelijke dummy die niets oplevert, droppen met DB51
CREATE_VIEW(fac_v_orderqueue, 0)
AS
SELECT -1 prs_bedrijf_key,
-1 alg_locatie_key,
'dontcare' xmlnode,
-1 key,
-1 reference,
'' sender,
SYSDATE teverzenden_datum
FROM DUAL
WHERE 0 = 1;
// PLANMATIG ONDERHOUDS views (OPROGNOSE)
-- Basisview voor intern gebruik
CREATE_VIEW(fac_v_oprognosegegevens, 0) AS
SELECT op.*,
(SELECT prijs
FROM (SELECT km.mld_melding_key, km.mld_kenmerk_key, km.mld_kenmerkmelding_waarde prijs
FROM mld_kenmerkmelding km,
(SELECT MAX (k.mld_kenmerk_key) mld_kenmerk_key
FROM mld_srtkenmerk sk, mld_kenmerk k
WHERE sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key
AND sk.mld_srtkenmerk_upper = 'PRIJS'
AND k.mld_kenmerk_verwijder IS NULL) k
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key AND km.mld_kenmerkmelding_verwijder IS NULL) pk
WHERE op.mld_melding_key = pk.mld_melding_key) prijs
FROM (SELECT m.mld_melding_key, MIN (s.mld_statuses_omschrijving) mld_statuses_omschrijving,
MIN (std.mld_stdmelding_omschrijving) mld_stdmelding_omschrijving,
MIN (TO_CHAR (SUBSTR (mld_melding_omschrijving, 0, 4000))) mld_melding_omschrijving,
MIN (m.mld_melding_datum) mld_melding_datum,
MIN (l.alg_locatie_code) alg_locatie_code, MIN (v.alg_gebouw_key) alg_gebouw_key,
MIN (v.alg_gebouw_naam) alg_gebouw_naam,
MIN (l.alg_locatie_code || ' - ' || v.alg_gebouw_naam) alg_locatie_gebouw_naam,
SUM (o.mld_opdr_kosten) mld_opdr_kosten, SUM (o.mld_opdr_kosten_raming) mld_opdr_kosten_raming
FROM mld_melding m,
mld_statuses s,
mld_stdmelding std,
alg_v_onroerendgoed_gegevens v,
alg_locatie l,
mld_discipline md,
ins_srtdiscipline sd,
(SELECT o.mld_opdr_key, o.mld_opdr_kosten, 0 mld_opdr_kosten_raming, o.mld_melding_key
FROM mld_opdr o
WHERE o.mld_statusopdr_key IN (6, 7, 9)
UNION ALL
SELECT o.mld_opdr_key, 0 mld_opdr_kosten, o.mld_opdr_kosten mld_opdr_kosten_raming, o.mld_melding_key
FROM mld_opdr o
WHERE o.mld_statusopdr_key IN (4, 5, 3, 10, 8)) o
WHERE std.mld_stdmelding_key = m.mld_stdmelding_key
AND m.mld_melding_status = s.mld_statuses_key
AND m.mld_melding_key = o.mld_melding_key(+) -- Dus ook meldingen zonder opdrachten!
AND m.mld_alg_locatie_key = l.alg_locatie_key(+)
AND sd.ins_srtdiscipline_key = md.ins_srtdiscipline_key
AND m.mld_melding_status IN (1, 2, 3, 4, 5, 6, 7) -- Alle huidige melding statussen
AND m.mld_alg_onroerendgoed_keys = v.alg_onroerendgoed_keys(+)
AND md.ins_discipline_key IN (SELECT ins_discipline_key
FROM ins_tab_discipline
WHERE UPPER (ins_discipline_omschrijving) = 'PLANMATIG ONDERHOUD')
AND std.mld_ins_discipline_key = md.ins_discipline_key
GROUP BY m.mld_melding_key) op;
/* Formatted on 13/08/2008 12:59 (Formatter Plus v4.8.7) */
CREATE_VIEW(fac_v_oprognosevoortgang, 0) (fclt_f_gebouw,
fclt_f_jaar,
meldingnr,
soortactiviteit,
activiteit,
status,
budget,
kostengemaakt,
kostenbegroot,
saldo
)
AS
SELECT alg_locatie_gebouw_naam gebouw, TO_CHAR (mld_melding_datum, 'yyyy') fclt_f_jaar,
TO_CHAR (mld_melding_key) meldingnr, mld_stdmelding_omschrijving, mld_melding_omschrijving melding,
mld_statuses_omschrijving status, fac.safe_to_number (prijs) budget, mld_opdr_kosten kosten_verwerkt,
mld_opdr_kosten_raming kosten, (prijs - mld_opdr_kosten - mld_opdr_kosten_raming) saldo
FROM fac_v_oprognosegegevens;
CREATE_VIEW(fac_v_oprognosegebouw, 0) (fclt_f_gebouw,
fclt_f_jaar,
activiteiten,
budget,
kostengemaakt,
kostenbegroot,
saldo
)
AS
SELECT alg_locatie_gebouw_naam gebouw, TO_CHAR (mld_melding_datum, 'yyyy') fclt_f_jaar, COUNT (mld_melding_key),
SUM (fac.safe_to_number (prijs)) budget, SUM (mld_opdr_kosten) kostengemaakt,
SUM (mld_opdr_kosten_raming) kostenbegroot, SUM (prijs - mld_opdr_kosten - mld_opdr_kosten_raming) saldo
FROM fac_v_oprognosegegevens
GROUP BY alg_locatie_gebouw_naam, TO_CHAR (mld_melding_datum, 'yyyy');
/* Formatted on 13/08/2008 13:04 (Formatter Plus v4.8.7) */
CREATE_VIEW(fac_v_oprognoseactiviteit, 0) (fclt_f_soortactiviteit,
fclt_f_jaar,
activiteiten,
budget,
kostengemaakt,
kostenbegroot,
saldo
)
AS
SELECT mld_stdmelding_omschrijving, TO_CHAR (mld_melding_datum, 'yyyy') fclt_f_jaar, COUNT (mld_melding_key),
SUM (fac.safe_to_number (prijs)) budget, SUM (mld_opdr_kosten) kostengemaakt,
SUM (mld_opdr_kosten_raming) kostenbegroot, SUM (prijs - mld_opdr_kosten - mld_opdr_kosten_raming) saldo
FROM fac_v_oprognosegegevens
GROUP BY mld_stdmelding_omschrijving, TO_CHAR (mld_melding_datum, 'yyyy');
CREATE_VIEW (fac_v_imp_res_artikel_sync ,0) (hide_f_artikel_catalogus,
hide_f_artikel_omschrijving,
artikelKey,
catalogusNaam,
catalogusKostensoort,
artikelNummer,
artikelOmschrijving,
artikelEenheid,
artikelPrijs,
artikelPrijsVast,
artikelInkoopprijs,
artikelPersoneelkosten,
artikelAlgemenekosten,
artikelBTW,
artikelOpmerking,
artikelGroep,
artikelVolgnummer,
artikelIngangsdatum,
artikelVervaldatum,
artikelMinimum
)
AS
SELECT d.ins_discipline_omschrijving,
a.res_artikel_omschrijving,
TO_CHAR (a.res_artikel_key),
d.ins_discipline_omschrijving,
(SELECT k.prs_kostensoort_oms
FROM prs_kostensoort k
WHERE k.prs_kostensoort_key = d.prs_kostensoort_key),
a.res_artikel_nr,
a.res_artikel_omschrijving,
a.res_artikel_eenheid,
TO_CHAR (a.res_artikel_prijs),
TO_CHAR (a.res_artikel_prijs_vast),
TO_CHAR (a.res_artikel_inkoopprijs),
TO_CHAR (a.res_artikel_kostenpersoneel),
TO_CHAR (a.res_artikel_kostenalgemeen),
TO_CHAR (a.res_artikel_btw),
a.res_artikel_opmerking,
a.res_artikel_groep,
TO_CHAR (a.res_artikel_volgnummer),
TO_CHAR (a.res_artikel_ingangsdatum, 'YYYYMMDD'),
TO_CHAR (a.res_artikel_vervaldatum, 'YYYYMMDD'),
TO_CHAR (a.res_artikel_minimum)
FROM res_v_aanwezigartikel a
, res_discipline d
WHERE d.ins_discipline_key = a.res_discipline_key
AND d.ins_discipline_verwijder IS NULL;
/* View met het maximale actuele menu van de huidige configuratie */
CREATE_VIEW (fac_v_menu, 0)
AS
SELECT fac_menu_key,
COALESCE (fac_menu_altgroep, fac_menuitems_groep) groep,
COALESCE (fac_menu_altlabel, fac_menuitems_label) label,
COALESCE (fac_menu_alturl, fac_menuitems_url) url,
COALESCE (fac_menu_image, fac_menuitems_image) image,
fac_menuitems_module,
COALESCE (mi.fac_menuitems_srtdisc, 0) fac_menuitems_srtdisc,
COALESCE (mi.fac_menuitems_disc, 0) fac_menuitems_disc,
fac_menu_volgnr,
COALESCE (m.fac_functie_key, mi.fac_functie_key) fac_functie_key,
COALESCE (mi.fac_menuitems_rw, 'R') fac_menuitems_rw,
fac_menu_info,
fac_menu_level,
fac_menu_portal,
m.ins_srtdiscipline_key,
m.ins_discipline_key
FROM fac_menu m, fac_menuitems mi
WHERE m.fac_menuitems_key = mi.fac_menuitems_key(+);
/* View met alle mogelijkheden voor het menu, al dan niet al ingebruik */
CREATE_VIEW (fac_v_menuitems, 0)
AS
SELECT mi.fac_menuitems_key,
COALESCE (fac_menu_altgroep, fac_menuitems_groep) groep,
COALESCE (fac_menu_altlabel, fac_menuitems_label) label,
COALESCE (fac_menu_alturl, fac_menuitems_url) url,
mi.fac_menuitems_module,
COALESCE (mi.fac_menuitems_srtdisc, 0) fac_menuitems_srtdisc,
COALESCE (mi.fac_menuitems_disc, 0) fac_menuitems_disc,
fac_menu_volgnr,
mi.fac_functie_key,
COALESCE (mi.fac_menuitems_rw, 'R') fac_menuitems_rw,
fac_menu_info,
m.fac_menu_key
FROM fac_menu m, fac_menuitems mi
WHERE m.fac_menuitems_key(+) = mi.fac_menuitems_key;
CREATE_VIEW (fac_v_locale_lcl, 0)
(
fac_localeitems_dialect_id,
fac_localeitems_lcl,
fac_locale_dialect_key,
fac_locale_lang,
fac_locale_tekst
)
AS
SELECT i.fac_localeitems_dialect_id, i.fac_localeitems_lcl, l.fac_locale_dialect_key, l.fac_locale_lang, l.fac_locale_tekst
FROM fac_locale l, fac_localeitems i
WHERE l.fac_localeitems_key(+) = i.fac_localeitems_key
ORDER BY i.fac_localeitems_dialect_id, i.fac_localeitems_lcl, l.fac_locale_dialect_key;
CREATE_VIEW(fac_v_locale_kolom, 0)
(
fac_locale_kolomnaam,
fac_locale_kolomkeyval,
fac_locale_default,
fac_locale_lang,
fac_locale_tekst
)
AS
SELECT l.fac_locale_kolomnaam,
l.fac_locale_kolomkeyval,
x.mld_typeopdr_omschrijving,
l.fac_locale_lang,
l.fac_locale_tekst
FROM fac_locale l, mld_typeopdr x
WHERE l.fac_locale_kolomkeyval = x.mld_typeopdr_key AND l.fac_locale_kolomnaam = 'MLD_TYPEOPDR_KEY'
UNION ALL
SELECT l.fac_locale_kolomnaam,
l.fac_locale_kolomkeyval,
x.res_ruimte_omschrijving,
l.fac_locale_lang,
l.fac_locale_tekst
FROM fac_locale l, res_ruimte x
WHERE l.fac_locale_kolomkeyval = x.res_ruimte_key AND l.fac_locale_kolomnaam = 'RES_RUIMTE_OMSCHRIJVING'
UNION ALL
SELECT l.fac_locale_kolomnaam,
l.fac_locale_kolomkeyval,
x.ins_srtdiscipline_omschrijving,
l.fac_locale_lang,
l.fac_locale_tekst
FROM fac_locale l, ins_srtdiscipline x
WHERE l.fac_locale_kolomkeyval = x.ins_srtdiscipline_key
AND l.fac_locale_kolomnaam = 'INS_SRTDISCIPLINE_OMSCHRIJVING';
-- Basisview voor logging-rapportages van niet-imports
CREATE_VIEW(fac_v_rap_imp_log, 0)
AS
SELECT imp_log_applicatie,
imp_log_datum,
imp_log_status,
DECODE (imp_log_status, 'F', 'Fatal', 'E', 'Error', 'W', 'Warning', 'I', 'Informative', 'S', 'Summary', imp_log_status) niveau,
imp_log_omschrijving,
imp_log_hint opmerking
FROM imp_log
WHERE fac_import_key IS NULL;
-- en daarop gebaseerd standaard al eentje voor putorders (die bestond al)
CREATE_VIEW(fac_v_rap_putorderslog, 0)
AS
SELECT imp_log_datum hide_f_imp_log_datum,
TO_CHAR (imp_log_datum, 'YYYYMMDD') fclt_f_datum,
TO_CHAR (imp_log_datum, 'HH24:MI:SS') tijdstip,
niveau fclt_f_niveau,
imp_log_omschrijving fclt_f_omschrijving
FROM fac_v_rap_imp_log
WHERE imp_log_applicatie = '$PutOrders$' AND imp_log_datum > SYSDATE - 10;
CREATE_VIEW (fac_v_lcrap_fe_vs_key_data, 0)
(
prs_perslid_key
, naam
, usertype
, oslogin
, last_login
, key_user
)
AS
SELECT x.prs_perslid_key
, naam
, usertype
, oslogin
, last_login
, a.key_user
FROM (SELECT p.prs_perslid_key
, (SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = p.prs_perslid_key)
naam
, 'user'
usertype
, COALESCE (p.prs_perslid_oslogin, p.prs_perslid_oslogin2)
oslogin
, p.prs_perslid_login
last_login
FROM prs_v_aanwezigperslid p
WHERE ( prs_perslid_oslogin IS NULL
OR prs_perslid_oslogin NOT IN ('_FACILITOR'
, '_PUTORDERS'
, '_HMAIL'
, '_SYSTEEM'))
AND EXISTS -- op basis van groep + rechten
(SELECT 1
FROM fac_v_webgebruiker
WHERE prs_perslid_key = p.prs_perslid_key)
UNION ALL
SELECT p.prs_perslid_key
, (SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = p.prs_perslid_key)
naam
, 'user'
usertype
, COALESCE (p.prs_perslid_oslogin, p.prs_perslid_oslogin2)
oslogin
, NULL
last_login -- geen login (lees zonder rechten), dus telt als nooit recent ingelogd!
FROM prs_v_aanwezigperslid p
WHERE NOT EXISTS -- g<><67>n groep + rechten!
(SELECT 1
FROM fac_v_webgebruiker gg
WHERE gg.prs_perslid_key = p.prs_perslid_key)
AND ( fac.getsetting ('mld_allow_for_others') = 1
OR EXISTS
(SELECT 1
FROM bes_disc_params dp, bes_discipline bd
WHERE dp.bes_disc_params_for_others = 1 AND bd.ins_discipline_key = dp.bes_ins_discipline_key AND bd.ins_discipline_verwijder IS NULL))
UNION ALL -- FSN#27315: En ook eventuele "sensorusers" meetellen!
SELECT NULL prs_perslid_key
, sd.ins_srtdeel_omschrijving naam
, 'sensorobject' usertype
, ins_deel_omschrijving oslogin
, ins_deel_statedate last_login -- recent actief dus tellen als recent
FROM ins_v_aanwezigdeel d, ins_srtdeel sd
WHERE d.ins_srtdeel_key = sd.ins_srtdeel_key AND NVL (sd.ins_srtdeel_sensortype, 0) <> 0) x
LEFT JOIN -- 1=user heeft schrijfrechten op key-codes=notFE-codes
(SELECT DISTINCT prs_perslid_key, 1 key_user
FROM (SELECT g.prs_perslid_key, 1 key_user
FROM fac_v_webgebruiker g, fac_functie f
WHERE g.fac_functie_key = f.fac_functie_key AND f.fac_functie_groep IN (1, 2) AND g.fac_gebruiker_prs_level_write < 9 AND g.fac_gebruiker_alg_level_write < 9
UNION
SELECT p.prs_perslid_key, 1 key_user
FROM fac_groep fg, fac_gebruikersgroep fgg, prs_perslid p
WHERE fac_groep_collega = 1
AND fg.fac_groep_key = fgg.fac_groep_key
AND p.prs_perslid_key = fgg.prs_perslid_key
AND p.prs_perslid_verwijder IS NULL
AND fg.fac_groep_key IN ( SELECT fac_groep_key
FROM fac_gebruikersgroep
GROUP BY fac_groep_key
HAVING COUNT (prs_perslid_key) > 9))) a
ON x.prs_perslid_key = a.prs_perslid_key;
-- Dit gaan we hanteren om API-users te tellen (zijn dan geen normale keyusers meer)
CREATE_VIEW (fac_v_lcrap_apiusers, 0)
AS
SELECT apiuser, apinaam, LISTAGG (module, ', ') modules
FROM ( SELECT prs_perslid_oslogin apiuser, prs_perslid_naam apinaam, fac_functie_module module
FROM ( SELECT gg.prs_perslid_key, g.fac_functie_key, g.ins_discipline_key
FROM fac_groeprechten g, fac_gebruikersgroep gg, fac_groep fg
WHERE g.fac_groep_key = gg.fac_groep_key
AND gg.fac_groep_key = fg.fac_groep_key
AND fac_groep_upper <> '_DEFAULT'
GROUP BY gg.prs_perslid_key, g.fac_functie_key, g.ins_discipline_key) w,
fac_functie f,
prs_perslid p
WHERE w.fac_functie_key = f.fac_functie_key
AND p.prs_perslid_key = w.prs_perslid_key
AND prs_perslid_apikey IS NOT NULL
AND BITAND (prs_perslid_flags, 36) = 0 --AND prs_perslid_oslogin NOT IN ('_HMAIL', '_PUTORDERS', 'SENSORS')
AND prs_perslid_verwijder IS NULL
GROUP BY prs_perslid_oslogin, prs_perslid_naam, fac_functie_module)
GROUP BY apiuser, apinaam
ORDER BY 1;
-- totaliseer data uit bovenstaande view tot in principe 1 samenvattingsregel
-- (voor crossdomain (xd) fe-users bestaat geen definitie)
-- personen zonder rechten worden als passive_user toegevoegd
CREATE_VIEW (fac_v_lcrap_fe_vs_key, 0)
(
tijdstip
, licensed_fe_users
, licensed_key_users
, licensed_device_users
, licensed_passive_users
, fe_users
, key_users
, devices
, passive_users
, all_users
, recent_login
, licensed_delta_fe
, licensed_delta_key
, licensed_delta_device
, licensed_delta_passive
)
AS
SELECT tijdstip
, fac.getsetting ('licensed_fe_users') licensed_fe_users
, fac.getsetting ('licensed_key_users') licensed_key_users
, fac.getsetting ('licensed_device_users') licensed_device_users
, fac.getsetting ('licensed_passive_users') licensed_passive_users
, fe_users
, key_users
, NVL (system_users, 0)
, NVL (passive_users, 0)
, all_users
, recent_login
, fac.safe_to_number (fac.getsetting ('licensed_fe_users')) - fe_users delta_fe
, fac.safe_to_number (fac.getsetting ('licensed_key_users')) - key_users delta_key
, fac.safe_to_number (fac.getsetting ('licensed_device_users')) - NVL (system_users, 0) delta_device
, fac.safe_to_number (fac.getsetting ('licensed_passive_users')) - NVL (passive_users, 0) delta_passive
FROM (SELECT SYSDATE tijdstip
, COUNT (*) all_users
, COUNT (*) - SUM (DECODE (x.key_user, NULL, 0, 1)) fe_users
, SUM (DECODE (x.key_user, NULL, 0, 1)) key_users
, SUM (CASE WHEN x.last_login > SYSDATE - 100 THEN 1 ELSE 0 END) recent_login
FROM fac_v_lcrap_fe_vs_key_data x
WHERE x.usertype = 'user') a
LEFT JOIN (SELECT COUNT (*) system_users
FROM fac_v_lcrap_fe_vs_key_data xx
WHERE xx.usertype <> 'user')
ON 1 = 1
LEFT JOIN (SELECT COUNT (*) passive_users
FROM prs_v_aanwezigperslid p
WHERE prs_perslid_inactief IS NULL
AND NOT EXISTS
(SELECT ''
FROM fac_gebruikersgroep
WHERE prs_perslid_key = p.prs_perslid_key))
ON 1 = 1;
CREATE_VIEW (fac_v_lcrap_grp_stats, 0)
(
fac_groep_omschrijving,
lev_write_cnt,
max_alg_write,
max_prs_write,
lev_read_cnt,
max_alg_read,
max_prs_read,
in_groep_cnt
)
AS
SELECT x.fac_groep_omschrijving,
COALESCE (y.lev_write_cnt, 0) lev_write_cnt,
y.max_alg_write,
y.max_prs_write,
COALESCE (z.lev_read_cnt, 0) lev_read_cnt,
z.max_alg_read,
z.max_prs_read,
x.in_groep_cnt
FROM ( SELECT gg.fac_groep_key,
g.fac_groep_omschrijving,
COUNT (gg.prs_perslid_key) in_groep_cnt
FROM fac_gebruikersgroep gg, fac_groep g
WHERE gg.fac_groep_key = g.fac_groep_key
GROUP BY gg.fac_groep_key, g.fac_groep_omschrijving) x
LEFT JOIN
( SELECT gr.fac_groep_key,
COUNT (DISTINCT gr.fac_groeprechten_key)
lev_write_cnt,
MIN (gr.fac_gebruiker_alg_level_write)
max_alg_write,
MIN (gr.fac_gebruiker_prs_level_write)
max_prs_write
FROM fac_groeprechten gr, fac_functie f
WHERE gr.fac_functie_key = f.fac_functie_key
AND fac_functie_groep IN (1, 2)
AND gr.fac_gebruiker_alg_level_write < 9
AND gr.fac_gebruiker_prs_level_write < 9
GROUP BY gr.fac_groep_key) y
ON x.fac_groep_key = y.fac_groep_key
LEFT JOIN
( SELECT gr.fac_groep_key,
COUNT (DISTINCT gr.fac_groeprechten_key)
lev_read_cnt,
MIN (gr.fac_gebruiker_alg_level_read) max_alg_read,
MIN (gr.fac_gebruiker_prs_level_read) max_prs_read
FROM fac_groeprechten gr, fac_functie f
WHERE gr.fac_functie_key = f.fac_functie_key
AND fac_functie_groep IN (1, 2)
AND gr.fac_gebruiker_alg_level_read < 9
AND gr.fac_gebruiker_prs_level_read < 9
GROUP BY gr.fac_groep_key) z
ON x.fac_groep_key = z.fac_groep_key
UNION ALL
SELECT '<Geen groep>',
NULL lev_write_cnt,
NULL,
NULL,
NULL lev_read_cnt,
NULL,
NULL,
COUNT ( * )
FROM prs_v_aanwezigperslid p
WHERE p.prs_perslid_oslogin IS NOT NULL
AND NOT EXISTS (SELECT 1
FROM fac_gebruikersgroep
WHERE prs_perslid_key = p.prs_perslid_key);
CREATE_VIEW (fac_v_usage_statistics, 0)
AS
SELECT SYSDATE
datum,
(SELECT COUNT (*)
FROM res_reservering
WHERE res_reservering_aanmaak > SYSDATE - 90
AND res_reservering_verwijder IS NULL)
res90dagen,
(SELECT COUNT (*)
FROM mld_melding
WHERE mld_melding_datum > SYSDATE - 90)
mld90dagen,
(SELECT COUNT (*)
FROM mld_opdr
WHERE mld_opdr_datumbegin > SYSDATE - 90)
opdr90dagen,
(SELECT COUNT (*)
FROM bez_afspraak
WHERE bez_afspraak_datum BETWEEN SYSDATE - 90 AND SYSDATE)
bez90dagen,
(SELECT COUNT (*)
FROM bes_bestelling
WHERE bes_bestelling_datum > SYSDATE - 90)
bes90dagen,
(SELECT COUNT (*)
FROM fin_factuur
WHERE fin_factuur_datum > SYSDATE - 90)
fin90dagen,
(SELECT COUNT (*)
FROM fac_tracking
WHERE fac_tracking_datum > SYSDATE - 90)
track90dagen,
(SELECT COUNT (*)
FROM cnt_contract
WHERE cnt_contract_verwijder IS NULL)
cnttotal,
(SELECT COUNT (*)
FROM ins_deel
WHERE ins_deel_verwijder IS NULL)
instotal,
(SELECT COUNT (*)
FROM prs_perslid
WHERE prs_perslid_verwijder IS NULL)
prstotal,
(SELECT COUNT (*)
FROM prs_perslid
WHERE prs_perslid_login > SYSDATE - 7)
prs7dagen,
(SELECT COUNT (*)
FROM prs_perslid
WHERE prs_perslid_login > SYSDATE - 90)
prs90dagen
FROM DUAL;
CREATE_VIEW (fac_v_usage_statistics_all, 0)
AS
SELECT maand,
SUM (res) reservering,
SUM (mld) melding,
SUM (opdr) opdracht,
SUM (bes) bestelling,
SUM (bez) afspraak,
SUM (fin) factuur,
ROUND(SUM (prs)) gebruikers
FROM ( SELECT TRUNC (res_reservering_aanmaak, 'MM') maand,
COUNT (*) res,
0 mld,
0 opdr,
0 bez,
0 bes,
0 fin,
0 prs
FROM res_reservering
WHERE res_reservering_verwijder IS NULL
GROUP BY TRUNC (res_reservering_aanmaak, 'MM')
UNION ALL
SELECT TRUNC (mld_melding_datum, 'MM') maand,
0 res,
COUNT (*) mld,
0 opdr,
0 bez,
0 bes,
0 fin,
0 prs
FROM mld_melding
GROUP BY TRUNC (mld_melding_datum, 'MM')
UNION ALL
SELECT TRUNC (mld_opdr_datumbegin, 'MM') maand,
0 res,
0 mld,
COUNT (*) opdr,
0 bez,
0 bes,
0 fin,
0 prs
FROM mld_opdr
GROUP BY TRUNC (mld_opdr_datumbegin, 'MM')
UNION ALL
SELECT TRUNC (bez_afspraak_datum, 'MM'),
0 res,
0 mld,
0 opdr,
COUNT (*) bez,
0 bes,
0 fin,
0 prs
FROM bez_afspraak
GROUP BY TRUNC (bez_afspraak_datum, 'MM')
UNION ALL
SELECT TRUNC (bes_bestelling_datum, 'MM'),
0 res,
0 mld,
0 opdr,
0 bez,
COUNT (*) bes,
0 fin,
0 prs
FROM bes_bestelling
GROUP BY TRUNC (bes_bestelling_datum, 'MM')
UNION ALL
SELECT TRUNC (fin_factuur_datum, 'MM'),
0 res,
0 mld,
0 opdr,
0 bez,
0 bes,
COUNT (*) fin,
0 prs
FROM fin_factuur
GROUP BY TRUNC (fin_factuur_datum, 'MM')
UNION ALL
SELECT TRUNC (fac_perfmon_datum, 'MM'),
0 res,
0 mld,
0 opdr,
0 bez,
0 bes,
0 fin,
AVG(fac_perfmon_users) prs
FROM fac_perfmon
WHERE fac.iswerkdag(fac_perfmon_datum) = 1
GROUP BY TRUNC (fac_perfmon_datum, 'MM'))
WHERE maand BETWEEN TO_DATE ('2000-01-01', 'YYYY-MM-DD')
AND SYSDATE
GROUP BY maand;
/* KTO-views naar mld gemoved */
/*****************************************************************************/
/*****************************************************************************/
/* Grafiek views voor dashboards e.d. REAL TIME MONITORING */
/*****************************************************************************/
/*****************************************************************************/
// De volgende conventies worden gehanteerd:
// fclt_xas_XASNAAM x value
// fclt_yas_YASNAAM y value
// fclt_yas2_YA2SNAAM y2 value (not yet so supported)
// fclt_url url to follow on click
// ..
// fclt_3d_discipline_key is de discipline key die tbv autorisatie wordt gematcht
// met de de fac_functie_key cf. fac_usrgraph
//
-- Aantal lopende meldingen per discipline
CREATE_VIEW(fac_v_graph_busyxdiscipline, 0)
(
fclt_xas_,
fclt_yas_,
fclt_url,
fclt_3d_discipline_key
)
AS
SELECT discipline_omschrijving,
SUM (aantal),
'appl/mld/mld_search.asp?urole=fo&autosearch=1&disc_key_str=' || ins_discipline_key,
ins_discipline_key
FROM (SELECT d.ins_discipline_key,
DECODE(sd.ins_srtdiscipline_prefix, NULL, '', sd.ins_srtdiscipline_prefix || '-' )|| lcl.x('d.ins_discipline_omschrijving',d.ins_discipline_key, ins_discipline_omschrijving) discipline_omschrijving,
aantal
FROM ( SELECT mld_stdmelding_key, COUNT ( * ) aantal
FROM mld_melding
WHERE mld_melding_status IN (2, 3, 4, 7, 0)
GROUP BY mld_stdmelding_key) m2,
mld_stdmelding std,
ins_tab_discipline d,
ins_srtdiscipline sd
WHERE m2.mld_stdmelding_key(+) = std.mld_stdmelding_key
AND std.mld_ins_discipline_key = d.ins_discipline_key
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND aantal IS NOT NULL)
GROUP BY discipline_omschrijving, ins_discipline_key;
-- Aantal open (te behandelen) meldingen per discipline
CREATE OR REPLACE FORCE VIEW fac_v_graph_todoxdiscipline
(
fclt_xas_,
fclt_yas_,
fclt_url,
fclt_3d_discipline_key
)
AS
SELECT discipline_omschrijving,
SUM (aantal),
'appl/mld/mld_search.asp?urole=bo&autosearch=1&disc_key_str=' || ins_discipline_key, /* moet bo ipv fo, maar waarom snap ik niet */
ins_discipline_key
FROM (SELECT d.ins_discipline_key,
DECODE(sd.ins_srtdiscipline_prefix, NULL, '', sd.ins_srtdiscipline_prefix || '-' )|| lcl.x('d.ins_discipline_omschrijving',d.ins_discipline_key, ins_discipline_omschrijving) discipline_omschrijving,
aantal
FROM ( SELECT mld_stdmelding_key, COUNT ( * ) aantal
FROM mld_melding
WHERE mld_melding_status IN (2, 3)
GROUP BY mld_stdmelding_key) m2,
mld_stdmelding std,
ins_tab_discipline d,
ins_srtdiscipline sd
WHERE m2.mld_stdmelding_key(+) = std.mld_stdmelding_key
AND std.mld_ins_discipline_key = d.ins_discipline_key
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND aantal IS NOT NULL)
GROUP BY discipline_omschrijving, ins_discipline_key;
-- Aantal lopende meldingen per behandelteam
CREATE_VIEW(fac_v_graph_busyxdiscipline2, 0)
(
fclt_xas_,
fclt_yas_,
fclt_url,
fclt_3d_discipline_key
)
AS
SELECT DECODE (sd.ins_srtdiscipline_prefix,
NULL, '',
sd.ins_srtdiscipline_prefix || '-')
|| lcl.x('d.ins_discipline_omschrijving',d.ins_discipline_key, ins_discipline_omschrijving),
COUNT (*),
'appl/mld/mld_search.asp?urole=bo&autosearch=1&chkself=1&mld_ins_discipline='
|| ins_discipline_key,
ins_discipline_key
FROM mld_melding m, ins_tab_discipline d, ins_srtdiscipline sd
WHERE m.mld_ins_discipline_key = d.ins_discipline_key
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND m.mld_melding_behandelaar2_key IS NOT NULL
AND mld_melding_status IN (2,
4,
7,
0)
GROUP BY ins_srtdiscipline_prefix,
ins_discipline_omschrijving,
ins_discipline_key;
-- Aantal (niet toegewezen) meldingen per behandelteam
CREATE_VIEW(fac_v_graph_todoxdiscipline2, 0)
(
fclt_xas_,
fclt_yas_,
fclt_url,
fclt_3d_discipline_key
)
AS
SELECT DECODE (sd.ins_srtdiscipline_prefix,
NULL, '',
sd.ins_srtdiscipline_prefix || '-')
|| lcl.x('d.ins_discipline_omschrijving',d.ins_discipline_key, ins_discipline_omschrijving),
COUNT (*),
'appl/mld/mld_search.asp?urole=bo&autosearch=1&chkself=1&behandel2_key=-2&mld_ins_discipline='
|| ins_discipline_key,
ins_discipline_key
FROM mld_melding m, ins_tab_discipline d, ins_srtdiscipline sd
WHERE m.mld_ins_discipline_key = d.ins_discipline_key
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND mld_melding_status IN (2,
4,
7,
0)
AND m.mld_melding_behandelaar2_key IS NULL
GROUP BY ins_srtdiscipline_prefix,
ins_discipline_omschrijving,
ins_discipline_key;
-- Afgemeld per behandelteam
CREATE_VIEW(fac_v_graph_afgemeldxdiscto2, 0)
(
fclt_xas_,
fclt_yas_,
fclt_3d_discipline_key
)
AS
SELECT DECODE(sd.ins_srtdiscipline_prefix, NULL, '', sd.ins_srtdiscipline_prefix || '-' )|| lcl.x('d.ins_discipline_omschrijving',d.ins_discipline_key, ins_discipline_omschrijving) discipline_omschrijving,
COUNT (*) aantal,
d.ins_discipline_key
FROM mld_melding m, ins_tab_discipline d, ins_srtdiscipline sd,
fac_tracking t, fac_srtnotificatie sn
WHERE m.mld_ins_discipline_key = d.ins_discipline_key
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND m.mld_melding_key = t.fac_tracking_refkey
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
AND sn.fac_srtnotificatie_code = 'MLDAFM'
AND TRUNC(t.fac_tracking_datum) = TRUNC(SYSDATE)
GROUP BY d.ins_discipline_key, sd.ins_srtdiscipline_prefix, ins_discipline_omschrijving;
-- Aantal lopende meldingen per srtdiscipline
CREATE_VIEW(fac_v_graph_busyxsrtdis, 0)
(
fclt_xas_,
fclt_yas_,
fclt_3d_discipline_key,
fclt_url
)
AS
SELECT srtdiscipline_omschrijving,
aantal,
ins_srtdiscipline_key,
'appl/mld/mld_search.asp?urole=fo&autosearch=1&srtdisc=' || ins_srtdiscipline_key
FROM ( SELECT sd.ins_srtdiscipline_omschrijving srtdiscipline_omschrijving,
COUNT (sd.ins_srtdiscipline_omschrijving) aantal,
sd.ins_srtdiscipline_key
FROM mld_melding m, mld_stdmelding std, ins_tab_discipline d, ins_srtdiscipline sd
WHERE m.mld_stdmelding_key = std.mld_stdmelding_key
AND std.mld_ins_discipline_key = d.ins_discipline_key
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND mld_melding_status IN (2, 3, 4, 7, 0)
GROUP BY sd.ins_srtdiscipline_key, sd.ins_srtdiscipline_omschrijving);
-- Aantal open meldingen per srtdiscipline
CREATE_VIEW(fac_v_graph_busyxsrtdis, 0)
(
fclt_xas_,
fclt_yas_,
fclt_3d_discipline_key,
fclt_url
)
AS
SELECT srtdiscipline_omschrijving,
aantal,
ins_srtdiscipline_key,
'appl/mld/mld_search.asp?urole=bo&autosearch=1&srtdisc=' || ins_srtdiscipline_key /* moet bo ipv fo, maar waarom snap ik niet */
FROM ( SELECT sd.ins_srtdiscipline_omschrijving srtdiscipline_omschrijving,
COUNT (sd.ins_srtdiscipline_omschrijving) aantal,
sd.ins_srtdiscipline_key
FROM mld_melding m, mld_stdmelding std, ins_tab_discipline d, ins_srtdiscipline sd
WHERE m.mld_stdmelding_key = std.mld_stdmelding_key
AND std.mld_ins_discipline_key = d.ins_discipline_key
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND mld_melding_status IN (2, 3)
GROUP BY sd.ins_srtdiscipline_key, sd.ins_srtdiscipline_omschrijving);
CREATE_VIEW(fac_v_graph_afgemeldxdisctoday, 0)
(
fclt_xas_,
fclt_yas_,
fclt_3d_discipline_key
)
AS
SELECT MIN(sd.ins_srtdiscipline_prefix) || '-' || MIN(d.ins_discipline_omschrijving) discipline_omschrijving,
COUNT (d.ins_discipline_omschrijving) aantal,
d.ins_discipline_key
FROM mld_melding m, mld_stdmelding std, ins_tab_discipline d, ins_srtdiscipline sd,
fac_tracking t, fac_srtnotificatie sn
WHERE m.mld_stdmelding_key = std.mld_stdmelding_key
AND std.mld_ins_discipline_key = d.ins_discipline_key
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND m.mld_melding_key = t.fac_tracking_refkey
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
AND sn.fac_srtnotificatie_code = 'MLDAFM'
AND TRUNC(t.fac_tracking_datum) = TRUNC(SYSDATE)
GROUP BY d.ins_discipline_key;
CREATE_VIEW(fac_v_graph_mldnieuw_verloop, 0)
(
fclt_xas_,
fclt_yas_
)
AS
SELECT tijd || ':00', 0
FROM ( SELECT TRIM (TO_CHAR (LEVEL, '09')) tijd, LEVEL nivo
FROM DUAL
CONNECT BY LEVEL <= 24)
WHERE nivo >= 7 AND nivo <= 19
AND NOT EXISTS
(SELECT ''
FROM mld_melding m
WHERE TRUNC (m.mld_melding_datum) = TRUNC (SYSDATE) AND TO_CHAR (m.mld_melding_datum, 'hh24') = tijd)
UNION
SELECT TO_CHAR (m.mld_melding_datum, 'hh24') || ':00', COUNT ( * ) aantal
FROM mld_melding m
WHERE TRUNC (m.mld_melding_datum) = TRUNC (SYSDATE)
GROUP BY TO_CHAR (m.mld_melding_datum, 'hh24');
CREATE_VIEW(fac_v_graph_mldklaar_verloop, 0)
(
fclt_xas_,
fclt_yas_
)
AS
SELECT tijd || ':00', 0
FROM (SELECT tijd
FROM ( SELECT TRIM (TO_CHAR (LEVEL, '09')) tijd, LEVEL nivo
FROM DUAL
CONNECT BY LEVEL <= 24)
WHERE nivo >= 7 AND nivo <= 19)
WHERE NOT EXISTS
(SELECT tijd
FROM ( SELECT TO_CHAR (t.fac_tracking_datum, 'hh24') tijd, COUNT ( * ) aantal
FROM mld_melding m, fac_tracking t, fac_srtnotificatie sn
WHERE m.mld_melding_key = t.fac_tracking_refkey
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
AND sn.fac_srtnotificatie_code = 'MLDAFM'
AND TRUNC (t.fac_tracking_datum) = TRUNC (SYSDATE)
GROUP BY TO_CHAR (t.fac_tracking_datum, 'hh24')) x
WHERE x.tijd = tijd)
UNION
SELECT tijd || ':00', aantal
FROM ( SELECT TO_CHAR (t.fac_tracking_datum, 'hh24') tijd, COUNT ( * ) aantal
FROM mld_melding m, fac_tracking t, fac_srtnotificatie sn
WHERE m.mld_melding_key = t.fac_tracking_refkey
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
AND sn.fac_srtnotificatie_code = 'MLDAFM'
AND TRUNC (t.fac_tracking_datum) = TRUNC (SYSDATE)
GROUP BY TO_CHAR (t.fac_tracking_datum, 'hh24'));
CREATE_VIEW(fac_v_graph_mld_ppi_accept, 0)
(
fclt_xas_aantal,
fclt_yas_totaal,
fclt_3d_discipline_key
)
AS
SELECT -- ROUND ( (SUM (acceptoptijd) / COUNT (mld_key)) * 100) acceptoptijd,
TO_CHAR (SUM (acceptoptijd)) aantal, COUNT (mld_key) totaal, MAX (ins_discipline_key)
FROM (SELECT DISTINCT
m.mld_melding_key mld_key,
md.ins_discipline_key,
CASE SIGN(fac.datumtijdplusuitvoertijd (fac.gettrackingdate ('MLDNEW', m.mld_melding_key),
std.mld_stdmelding_t_accepttijd.tijdsduur,
DECODE (std.mld_stdmelding_t_accepttijd.eenheid,'U', 'UREN', 'DAGEN')
)
- SYSDATE)
WHEN -1
THEN
0
ELSE
1
END
acceptoptijd
FROM mld_melding m, mld_discipline md, mld_stdmelding std
WHERE md.ins_discipline_key = std.mld_ins_discipline_key
AND std.mld_stdmelding_key = m.mld_stdmelding_key
AND mld_melding_status IN (2, 3));
-- Voor flexplekbezetting, per verdieping hoeveel vrij en bezet (staaf)
CREATE_VIEW(fac_v_graph_prs_flexplekken, 0)
AS
SELECT alg_gebouw_key fclt_3d_gebouw_key,
alg_verdieping_code fclt_xas_,
SUM (bezet) fclt_yas_,
SUM (vrij) fclt_yas2_
FROM prs_v_flexplekken f, alg_verdieping v
WHERE f.alg_verdieping_key = v.alg_verdieping_key AND v.alg_verdieping_verwijder IS NULL
GROUP BY alg_gebouw_key, alg_verdieping_code;
-- Voor flexplekbezetting, per gebouw hoeveel vrij en bezet (taart)
CREATE_VIEW(fac_v_graph_prs_flexgebouw, 0)
AS
SELECT alg_gebouw_key fclt_3d_gebouw_key, 'Vrij' fclt_xas_, SUM (vrij) fclt_yas_
FROM prs_v_flexplekken f, alg_verdieping v
WHERE f.alg_verdieping_key = v.alg_verdieping_key AND v.alg_verdieping_verwijder IS NULL
GROUP BY alg_gebouw_key
UNION
SELECT alg_gebouw_key fclt_3d_gebouw_key, 'Bezet' fclt_xas_, SUM (bezet) fclt_yas_
FROM prs_v_flexplekken f, alg_verdieping v
WHERE f.alg_verdieping_key = v.alg_verdieping_key AND v.alg_verdieping_verwijder IS NULL
GROUP BY alg_gebouw_key;
/* KTO export: het samenstellen van kto-uitnodigingen a.d.h.v. een populatie MLD/RES/BES gebaseerd op percentage/drempel */
CREATE_VIEW(fac_v_export_kto_kandidaten, 0)
(
result,
result_order
)
AS
SELECT 'Meldingnummer;Vakgroep;Melding', 0 FROM DUAL
UNION ALL
SELECT '"'
|| m.mld_melding_key
|| '";"'
|| d.ins_discipline_omschrijving
|| '";"'
|| s.mld_stdmelding_omschrijving
|| '"',
m.mld_melding_key
FROM mld_melding m, ins_tab_discipline d, mld_stdmelding s
WHERE s.mld_ins_discipline_key = d.ins_discipline_key
AND m.mld_stdmelding_key = s.mld_stdmelding_key
AND TRUNC (m.mld_melding_kto_verstuurd) =
TRUNC (
(SELECT MAX (mld_melding_kto_verstuurd) FROM mld_melding))
UNION ALL
SELECT '"'
|| rrr.res_reservering_key
|| '/'
|| rrr.res_rsv_ruimte_volgnr
|| '";"'
|| d.ins_discipline_omschrijving
|| '";"'
|| rr.res_ruimte_nr
|| '"',
10000000 + rrr.res_rsv_ruimte_key
FROM res_rsv_ruimte rrr,
res_ruimte_opstelling ro,
res_ruimte rr,
ins_tab_discipline d
WHERE rrr.res_rsv_ruimte_verwijder IS NULL
AND rrr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
AND ro.res_ruimte_key = rr.res_ruimte_key
AND rr.res_discipline_key = d.ins_discipline_key
AND TRUNC (rrr.res_rsv_ruimte_kto_verstuurd) =
TRUNC( (SELECT MAX (res_rsv_ruimte_kto_verstuurd)
FROM res_rsv_ruimte))
UNION ALL
SELECT '"'
|| b.bes_bestelling_key
|| '";"'
|| d.ins_discipline_omschrijving
|| '";"'
|| ''
|| '"',
99999999 + b.bes_bestelling_key
FROM bes_bestelling b,
bes_bestelling_item bi,
bes_srtdeel sd,
bes_srtgroep sg,
bes_discipline d
WHERE b.bes_bestelling_key = bi.bes_bestelling_key
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key
AND sd.bes_srtgroep_key = sg.bes_srtgroep_key
AND sg.ins_discipline_key = d.ins_discipline_key
AND TRUNC (b.bes_bestelling_kto_verstuurd) =
TRUNC( (SELECT MAX (bes_bestelling_kto_verstuurd)
FROM bes_bestelling));
/* EXPORT views voor de transfer functies */
CREATE_VIEW(fac_v_exp_eigen_tabel, 0)
AS
SELECT fac_usrtab_naam fclt_f_tabelnaam,
fac_usrdata_code waarde_code,
fac_usrdata_omschr waarde_oms,
fac_usrdata_omschr2 waarde_oms2,
fac_usrdata_volgnr volgnr,
fac_usrdata_prijs prijs,
fac_usrdata_vervaldatum vervaldatum,
(SELECT fac_usrtab_naam FROM fac_usrtab WHERE fac_usrtab_key = ut.fac_usrtab_parentkey) waardetabel,
(SELECT fac_usrdata_code FROM fac_usrdata WHERE fac_usrdata_key = ud.fac_usrdata_parentkey) waardetabel_code
FROM fac_usrdata ud, fac_usrtab ut
WHERE fac_usrdata_verwijder IS NULL
AND ud.fac_usrtab_key = ut.fac_usrtab_key;
CREATE_VIEW(fac_v_exp_menu, 0)
AS
SELECT fac_menu_volgnr menu_volgnr,
fac_menuitems_label menuitems_label,
fac_menuitems_groep menuitems_groep,
fac_menuitems_url menuitems_url,
fac_menu_info menu_info,
fac_menu_altlabel menu_altlabel,
fac_menu_alturl menu_alturl,
fac_menu_altgroep menu_altgroep,
ff.fac_functie_code functie_code,
ins_discipline_omschrijving discipline_omschr,
ins_srtdiscipline_omschrijving srtdiscipline_omschr,
fac_menu_image menu_image,
fac_menu_level menu_level,
fac_menu_portal menu_portal
FROM fac_menu fm, fac_menuitems fmi,
fac_functie ff,
ins_tab_discipline itd, ins_srtdiscipline isd
WHERE fmi.fac_menuitems_key(+) = fm.fac_menuitems_key
AND ff.fac_functie_key(+) = fm.fac_functie_key
AND itd.ins_discipline_key(+) = fm.ins_discipline_key
AND isd.ins_srtdiscipline_key(+) = fm.ins_srtdiscipline_key
AND fac_menu_volgnr IS NOT NULL
AND fm.prs_perslid_key IS NULL;
CREATE_VIEW(fac_v_exp_flex_res, 0)
AS
SELECT fac_kenmerkdomein_omschrijving,
fac_kenmerkdomein_objectnaam,
fac_kenmerkdomein_kolomnaam,
fac_kenmerkdomein_kolomtxt,
fac_usrtab_naam,
kms.res_srtkenmerk_code srtkenmerk_code,
kms.res_srtkenmerk_omschrijving srtkenmerk_omschrijving,
kms.res_srtkenmerk_kenmerktype srtkenmerk_kenmerktype,
kms.res_srtkenmerk_systeem srtkenmerk_systeem,
kms.res_srtkenmerk_lengte srtkenmerk_lengte,
kms.res_srtkenmerk_dec srtkenmerk_dec,
kms.res_srtkenmerk_nmin srtkenmerk_nmin,
kms.res_srtkenmerk_nmax srtkenmerk_nmax,
kms.res_srtkenmerk_dimensie srtkenmerk_dimensie,
NULL kenmerk_type,
km.res_kenmerk_niveau kenmerk_niveau,
km.res_kenmerk_verplicht kenmerk_verplicht,
km.res_kenmerk_groep kenmerk_groep,
km.res_kenmerk_rolcode kenmerk_rolcode,
km.res_kenmerk_volgnummer kenmerk_volgnummer,
km.res_kenmerk_default kenmerk_default,
km.res_kenmerk_toonbaar kenmerk_toonbaar,
km.res_kenmerk_uniek kenmerk_uniek,
km.res_kenmerk_hint kenmerk_hint,
km.res_kenmerk_regexp kenmerk_regexp,
km.res_kenmerk_show_expr kenmerk_show_expr,
km.res_kenmerk_code kenmerk_code,
km.res_kenmerk_omschrijving kenmerk_omschr,
TO_CHAR(km.res_kenmerk_verwijder, 'YYYY-MM-DD HH24:MI:SS') kenmerk_verwijder,
sa.res_srtactiviteit_omschrijving fclt_f_activiteitsoort,
act.res_activiteit_omschrijving fclt_f_activiteit
FROM res_kenmerk km,
res_srtkenmerk kms,
fac_kenmerkdomein kmd,
fac_usrtab fut,
res_activiteit act,
res_srtactiviteit sa
WHERE act.res_activiteit_key = km.res_activiteit_key
AND sa.res_srtactiviteit_key = act.res_srtactiviteit_key
AND kms.res_srtkenmerk_key = km.res_srtkenmerk_key
AND kmd.fac_kenmerkdomein_key(+) = kms.fac_kenmerkdomein_key
AND fut.fac_usrtab_key(+) = kmd.fac_usrtab_key
AND act.res_activiteit_verwijder IS NULL
AND sa.res_srtactiviteit_verwijder IS NULL;
CREATE_VIEW(fac_v_exp_flex_bes, 0)
AS
SELECT fac_kenmerkdomein_omschrijving,
fac_kenmerkdomein_objectnaam,
fac_kenmerkdomein_kolomnaam,
fac_kenmerkdomein_kolomtxt,
fac_usrtab_naam,
bes_srtkenmerk_code srtkenmerk_code,
bes_srtkenmerk_omschrijving srtkenmerk_omschrijving,
bes_srtkenmerk_kenmerktype srtkenmerk_kenmerktype,
bes_srtkenmerk_systeem srtkenmerk_systeem,
bes_srtkenmerk_lengte srtkenmerk_lengte,
bes_srtkenmerk_dec srtkenmerk_dec,
bes_srtkenmerk_nmin srtkenmerk_nmin,
bes_srtkenmerk_nmax srtkenmerk_nmax,
bes_srtkenmerk_dimensie srtkenmerk_dimensie,
bes_kenmerk_type kenmerk_type,
bes_kenmerk_niveau kenmerk_niveau,
bes_kenmerk_verplicht kenmerk_verplicht,
bes_kenmerk_groep kenmerk_groep,
bes_kenmerk_rolcode kenmerk_rolcode,
bes_kenmerk_volgnummer kenmerk_volgnummer,
bes_kenmerk_default kenmerk_default,
bes_kenmerk_toonbaar kenmerk_toonbaar,
bes_kenmerk_uniek kenmerk_uniek,
bes_kenmerk_hint kenmerk_hint,
bes_kenmerk_regexp kenmerk_regexp,
bes_kenmerk_show_expr kenmerk_show_expr,
bes_kenmerk_code kenmerk_code,
bes_kenmerk_omschrijving kenmerk_omschr,
TO_CHAR (bes_kenmerk_verwijder, 'YYYY-MM-DD HH24:MI:SS') kenmerk_verwijder,
ins_discipline_omschrijving fclt_f_catalogus,
bes_srtgroep_omschrijving fclt_f_groep,
bes_srtdeel_omschrijving fclt_f_artikel
FROM (SELECT kmd.*,
kms.*,
km.*,
fut.fac_usrtab_naam,
cat.ins_discipline_omschrijving,
NULL bes_srtgroep_omschrijving,
NULL bes_srtdeel_omschrijving
FROM bes_kenmerk km, bes_srtkenmerk kms, fac_kenmerkdomein kmd, fac_usrtab fut, bes_discipline cat
WHERE bes_kenmerk_niveau = 'D'
AND km.bes_srtinstallatie_key = cat.ins_discipline_key
AND kms.bes_srtkenmerk_key = km.bes_srtkenmerk_key
AND kmd.fac_kenmerkdomein_key(+) = kms.fac_kenmerkdomein_key
AND fut.fac_usrtab_key(+) = kmd.fac_usrtab_key
AND cat.ins_discipline_verwijder IS NULL
UNION
SELECT kmd.*,
kms.*,
km.*,
fut.fac_usrtab_naam,
cat.ins_discipline_omschrijving,
grp.bes_srtgroep_omschrijving,
NULL bes_srtdeel_omschrijving
FROM bes_kenmerk km,
bes_srtkenmerk kms,
fac_kenmerkdomein kmd,
fac_usrtab fut,
bes_discipline cat,
bes_srtgroep grp
WHERE bes_kenmerk_niveau = 'G'
AND grp.ins_discipline_key = cat.ins_discipline_key
AND km.bes_srtinstallatie_key = grp.bes_srtgroep_key
AND kms.bes_srtkenmerk_key = km.bes_srtkenmerk_key
AND kmd.fac_kenmerkdomein_key(+) = kms.fac_kenmerkdomein_key
AND fut.fac_usrtab_key(+) = kmd.fac_usrtab_key
AND cat.ins_discipline_verwijder IS NULL
AND grp.bes_srtgroep_verwijder IS NULL
UNION
SELECT kmd.*,
kms.*,
km.*,
fut.fac_usrtab_naam,
cat.ins_discipline_omschrijving,
grp.bes_srtgroep_omschrijving,
art.bes_srtdeel_omschrijving
FROM bes_kenmerk km,
bes_srtkenmerk kms,
fac_kenmerkdomein kmd,
fac_usrtab fut,
bes_discipline cat,
bes_srtgroep grp,
bes_srtdeel art
WHERE bes_kenmerk_niveau = 'S'
AND grp.ins_discipline_key = cat.ins_discipline_key
AND art.bes_srtgroep_key = grp.bes_srtgroep_key
AND km.bes_srtinstallatie_key = art.bes_srtdeel_key
AND kms.bes_srtkenmerk_key = km.bes_srtkenmerk_key
AND kmd.fac_kenmerkdomein_key(+) = kms.fac_kenmerkdomein_key
AND fut.fac_usrtab_key(+) = kmd.fac_usrtab_key
AND cat.ins_discipline_verwijder IS NULL
AND grp.bes_srtgroep_verwijder IS NULL
AND art.bes_srtdeel_verwijder IS NULL);
CREATE_VIEW(fac_v_exp_flex_mld, 0)
AS
SELECT fac_kenmerkdomein_omschrijving,
fac_kenmerkdomein_objectnaam,
fac_kenmerkdomein_kolomnaam,
fac_kenmerkdomein_kolomtxt,
fac_usrtab_naam,
mld_srtkenmerk_code srtkenmerk_code,
mld_srtkenmerk_omschrijving srtkenmerk_omschrijving,
mld_srtkenmerk_kenmerktype srtkenmerk_kenmerktype,
mld_srtkenmerk_systeem srtkenmerk_systeem,
mld_srtkenmerk_lengte srtkenmerk_lengte,
mld_srtkenmerk_dec srtkenmerk_dec,
mld_srtkenmerk_nmin srtkenmerk_nmin,
mld_srtkenmerk_nmax srtkenmerk_nmax,
mld_srtkenmerk_dimensie srtkenmerk_dimensie,
NULL kenmerk_type,
mld_kenmerk_niveau kenmerk_niveau,
mld_kenmerk_verplicht kenmerk_verplicht,
mld_kenmerk_groep kenmerk_groep,
mld_kenmerk_rolcode kenmerk_rolcode,
mld_kenmerk_volgnummer kenmerk_volgnummer,
mld_kenmerk_default kenmerk_default,
mld_kenmerk_toonbaar kenmerk_toonbaar,
mld_kenmerk_uniek kenmerk_uniek,
mld_kenmerk_hint kenmerk_hint,
mld_kenmerk_regexp kenmerk_regexp,
mld_kenmerk_show_expr kenmerk_show_expr,
mld_kenmerk_code kenmerk_code,
mld_kenmerk_omschrijving kenmerk_omschr,
TO_CHAR (mld_kenmerk_verwijder, 'YYYY-MM-DD HH24:MI:SS') kenmerk_verwijder,
ins_srtdiscipline_omschrijving fclt_f_vakgroeptype,
ins_discipline_omschrijving fclt_f_vakgroep,
mld_stdmelding_omschrijving fclt_f_melding,
mld_typeopdr_omschrijving fclt_f_opdrachttype,
mld_kenmerk_verplicht_status kenmerk_verplicht_status,
mld_kenmerk_onderbreken kenmerk_onderbreken,
mld_kenmerk_obligation_fill kenmerk_obligation
FROM (SELECT kmd.*,
kms.*,
km.*,
fut.fac_usrtab_naam,
vgt.ins_srtdiscipline_omschrijving,
'' ins_discipline_omschrijving,
'' mld_stdmelding_omschrijving,
'' mld_typeopdr_omschrijving
FROM mld_kenmerk km, mld_srtkenmerk kms, fac_kenmerkdomein kmd, fac_usrtab fut, ins_srtdiscipline vgt
WHERE mld_kenmerk_niveau = 'T'
AND km.mld_stdmelding_key = vgt.ins_srtdiscipline_key
AND kms.mld_srtkenmerk_key = km.mld_srtkenmerk_key
AND kmd.fac_kenmerkdomein_key(+) = kms.fac_kenmerkdomein_key
AND fut.fac_usrtab_key(+) = kmd.fac_usrtab_key
AND vgt.ins_srtdiscipline_verwijder IS NULL
UNION
SELECT kmd.*,
kms.*,
km.*,
fut.fac_usrtab_naam,
vgt.ins_srtdiscipline_omschrijving,
grp.ins_discipline_omschrijving,
'' mld_stdmelding_omschrijving,
'' mld_typeopdr_omschrijving
FROM mld_kenmerk km,
mld_srtkenmerk kms,
fac_kenmerkdomein kmd,
fac_usrtab fut,
ins_srtdiscipline vgt,
mld_discipline grp
WHERE mld_kenmerk_niveau = 'D'
AND grp.ins_srtdiscipline_key = vgt.ins_srtdiscipline_key
AND km.mld_stdmelding_key = grp.ins_discipline_key
AND kms.mld_srtkenmerk_key = km.mld_srtkenmerk_key
AND kmd.fac_kenmerkdomein_key(+) = kms.fac_kenmerkdomein_key
AND fut.fac_usrtab_key(+) = kmd.fac_usrtab_key
AND vgt.ins_srtdiscipline_verwijder IS NULL
AND grp.ins_discipline_verwijder IS NULL
UNION
SELECT kmd.*,
kms.*,
km.*,
fut.fac_usrtab_naam,
vgt.ins_srtdiscipline_omschrijving,
grp.ins_discipline_omschrijving,
stdm.mld_stdmelding_omschrijving,
'' mld_typeopdr_omschrijving
FROM mld_kenmerk km,
mld_srtkenmerk kms,
fac_kenmerkdomein kmd,
fac_usrtab fut,
ins_srtdiscipline vgt,
mld_discipline grp,
mld_stdmelding stdm
WHERE mld_kenmerk_niveau = 'S'
AND grp.ins_srtdiscipline_key = vgt.ins_srtdiscipline_key
AND stdm.mld_ins_discipline_key = grp.ins_discipline_key
AND km.mld_stdmelding_key = stdm.mld_stdmelding_key
AND kms.mld_srtkenmerk_key = km.mld_srtkenmerk_key
AND kmd.fac_kenmerkdomein_key(+) = kms.fac_kenmerkdomein_key
AND fut.fac_usrtab_key(+) = kmd.fac_usrtab_key
AND vgt.ins_srtdiscipline_verwijder IS NULL
AND grp.ins_discipline_verwijder IS NULL
AND stdm.mld_stdmelding_verwijder IS NULL
UNION
SELECT kmd.*,
kms.*,
km.*,
fut.fac_usrtab_naam,
'' ins_srtdiscipline_omschrijving,
'' ins_discipline_omschrijving,
'' mld_stdmelding_omschrijving,
'' mld_typeopdr_omschrijving
FROM mld_kenmerk km,
mld_srtkenmerk kms,
fac_kenmerkdomein kmd,
fac_usrtab fut
WHERE mld_kenmerk_niveau = 'A'
AND km.mld_stdmelding_key IS NULL
AND kms.mld_srtkenmerk_key = km.mld_srtkenmerk_key
AND kmd.fac_kenmerkdomein_key(+) = kms.fac_kenmerkdomein_key
AND fut.fac_usrtab_key(+) = kmd.fac_usrtab_key
UNION
SELECT kmd.*,
kms.*,
km.*,
fut.fac_usrtab_naam,
'' ins_srtdiscipline_omschrijving,
'' ins_discipline_omschrijving,
'' mld_stdmelding_omschrijving,
opd.mld_typeopdr_omschrijving
FROM mld_kenmerk km, mld_srtkenmerk kms, fac_kenmerkdomein kmd, fac_usrtab fut, mld_typeopdr opd
WHERE mld_kenmerk_niveau = 'O'
AND km.mld_typeopdr_key = opd.mld_typeopdr_key
AND kms.mld_srtkenmerk_key = km.mld_srtkenmerk_key
AND kmd.fac_kenmerkdomein_key(+) = kms.fac_kenmerkdomein_key
AND fut.fac_usrtab_key(+) = kmd.fac_usrtab_key
UNION
SELECT kmd.*,
kms.*,
km.*,
fut.fac_usrtab_naam,
'' ins_srtdiscipline_omschrijving,
'' ins_discipline_omschrijving,
'' mld_stdmelding_omschrijving,
'' mld_typeopdr_omschrijving
FROM mld_kenmerk km,
mld_srtkenmerk kms,
fac_kenmerkdomein kmd,
fac_usrtab fut
WHERE mld_kenmerk_niveau = 'P'
AND km.mld_typeopdr_key IS NULL
AND kms.mld_srtkenmerk_key = km.mld_srtkenmerk_key
AND kmd.fac_kenmerkdomein_key(+) = kms.fac_kenmerkdomein_key
AND fut.fac_usrtab_key(+) = kmd.fac_usrtab_key);
CREATE_VIEW(fac_v_exp_flex_cnt, 0)
AS
SELECT fac_kenmerkdomein_omschrijving,
fac_kenmerkdomein_objectnaam,
fac_kenmerkdomein_kolomnaam,
fac_kenmerkdomein_kolomtxt,
fac_usrtab_naam,
kms.cnt_srtkenmerk_code srtkenmerk_code,
kms.cnt_srtkenmerk_omschrijving srtkenmerk_omschrijving,
kms.cnt_srtkenmerk_kenmerktype srtkenmerk_kenmerktype,
kms.cnt_srtkenmerk_systeem srtkenmerk_systeem,
kms.cnt_srtkenmerk_lengte srtkenmerk_lengte,
kms.cnt_srtkenmerk_dec srtkenmerk_dec,
kms.cnt_srtkenmerk_nmin srtkenmerk_nmin,
kms.cnt_srtkenmerk_nmax srtkenmerk_nmax,
kms.cnt_srtkenmerk_dimensie srtkenmerk_dimensie,
NULL kenmerk_type,
km.cnt_kenmerk_niveau kenmerk_niveau,
km.cnt_kenmerk_verplicht kenmerk_verplicht,
km.cnt_kenmerk_groep kenmerk_groep,
km.cnt_kenmerk_rolcode kenmerk_rolcode,
km.cnt_kenmerk_volgnummer kenmerk_volgnummer,
km.cnt_kenmerk_default kenmerk_default,
km.cnt_kenmerk_toonbaar kenmerk_toonbaar,
km.cnt_kenmerk_uniek kenmerk_uniek,
km.cnt_kenmerk_hint kenmerk_hint,
km.cnt_kenmerk_regexp kenmerk_regexp,
km.cnt_kenmerk_show_expr kenmerk_show_expr,
km.cnt_kenmerk_code kenmerk_code,
km.cnt_kenmerk_omschrijving kenmerk_omschr,
TO_CHAR (km.cnt_kenmerk_verwijder, 'YYYY-MM-DD HH24:MI:SS') kenmerk_verwijder,
cd.ins_discipline_omschrijving fclt_f_contractsoort
FROM cnt_kenmerk km,
cnt_srtkenmerk kms,
fac_kenmerkdomein kmd,
fac_usrtab fut,
cnt_discipline cd
WHERE km.cnt_srtkenmerk_key = kms.cnt_srtkenmerk_key
AND kms.fac_kenmerkdomein_key = kmd.fac_kenmerkdomein_key(+)
AND kmd.fac_usrtab_key = fut.fac_usrtab_key(+)
AND km.cnt_srtcontract_key = cd.ins_discipline_key(+)
AND km.cnt_kenmerk_verwijder IS NULL
AND kms.cnt_srtkenmerk_verwijder IS NULL
AND kmd.fac_kenmerkdomein_verwijder IS NULL
AND cd.ins_discipline_verwijder IS NULL;
-- UWVA#32742: flexkenmerken transport voor objecten
CREATE_VIEW(fac_v_exp_flex_ins, 0)
AS
SELECT fac_kenmerkdomein_omschrijving,
fac_kenmerkdomein_objectnaam,
fac_kenmerkdomein_kolomnaam,
fac_kenmerkdomein_kolomtxt,
fac_usrtab_naam,
ins_srtkenmerk_code srtkenmerk_code,
ins_srtkenmerk_omschrijving srtkenmerk_omschrijving,
ins_srtkenmerk_kenmerktype srtkenmerk_kenmerktype,
ins_srtkenmerk_systeem srtkenmerk_systeem,
ins_srtkenmerk_lengte srtkenmerk_lengte,
ins_srtkenmerk_dec srtkenmerk_dec,
ins_srtkenmerk_nmin srtkenmerk_nmin,
ins_srtkenmerk_nmax srtkenmerk_nmax,
ins_srtkenmerk_dimensie srtkenmerk_dimensie,
ins_kenmerk_bewerkniveau kenmerk_type,
ins_kenmerk_niveau kenmerk_niveau,
ins_kenmerk_verplicht kenmerk_verplicht,
ins_kenmerk_groep kenmerk_groep,
ins_kenmerk_rolcode kenmerk_rolcode,
ins_kenmerk_volgnummer kenmerk_volgnummer,
ins_kenmerk_default kenmerk_default,
ins_kenmerk_toonbaar kenmerk_toonbaar,
ins_kenmerk_uniek kenmerk_uniek,
ins_kenmerk_hint kenmerk_hint,
ins_kenmerk_regexp kenmerk_regexp,
ins_kenmerk_show_expr kenmerk_show_expr,
ins_kenmerk_code kenmerk_code,
ins_kenmerk_omschrijving kenmerk_omschr,
TO_CHAR (ins_kenmerk_verwijder, 'YYYY-MM-DD HH24:MI:SS') kenmerk_verwijder,
ins_discipline_omschrijving fclt_f_discipline,
ins_srtgroep_omschrijving fclt_f_groep,
ins_srtdeel_omschrijving fclt_f_objectsoort,
NULL empty_1,
ins_kenmerk_meetwaarde kenmerk_meetwaarde,
ins_kenmerk_wissen kenmerk_wissen
FROM (SELECT kmd.*,
kms.*,
km.*,
fut.fac_usrtab_naam,
vak.ins_discipline_omschrijving,
NULL ins_srtgroep_omschrijving,
NULL ins_srtdeel_omschrijving
FROM ins_kenmerk km, ins_srtkenmerk kms, fac_kenmerkdomein kmd, fac_usrtab fut, ins_discipline vak
WHERE ins_kenmerk_niveau = 'D'
AND km.ins_srtinstallatie_key = vak.ins_discipline_key
AND kms.ins_srtkenmerk_key = km.ins_srtkenmerk_key
AND kmd.fac_kenmerkdomein_key(+) = kms.fac_kenmerkdomein_key
AND fut.fac_usrtab_key(+) = kmd.fac_usrtab_key
AND vak.ins_discipline_verwijder IS NULL
UNION
SELECT kmd.*,
kms.*,
km.*,
fut.fac_usrtab_naam,
vak.ins_discipline_omschrijving,
grp.ins_srtgroep_omschrijving,
NULL ins_srtdeel_omschrijving
FROM ins_kenmerk km,
ins_srtkenmerk kms,
fac_kenmerkdomein kmd,
fac_usrtab fut,
ins_discipline vak,
ins_srtgroep grp
WHERE ins_kenmerk_niveau = 'G'
AND grp.ins_discipline_key = vak.ins_discipline_key
AND km.ins_srtinstallatie_key = grp.ins_srtgroep_key
AND kms.ins_srtkenmerk_key = km.ins_srtkenmerk_key
AND kmd.fac_kenmerkdomein_key(+) = kms.fac_kenmerkdomein_key
AND fut.fac_usrtab_key(+) = kmd.fac_usrtab_key
AND vak.ins_discipline_verwijder IS NULL
AND grp.ins_srtgroep_verwijder IS NULL
UNION
SELECT kmd.*,
kms.*,
km.*,
fut.fac_usrtab_naam,
vak.ins_discipline_omschrijving,
grp.ins_srtgroep_omschrijving,
sd.ins_srtdeel_omschrijving
FROM ins_kenmerk km,
ins_srtkenmerk kms,
fac_kenmerkdomein kmd,
fac_usrtab fut,
ins_discipline vak,
ins_srtgroep grp,
ins_srtdeel sd
WHERE ins_kenmerk_niveau = 'S'
AND grp.ins_discipline_key = vak.ins_discipline_key
AND sd.ins_srtgroep_key = grp.ins_srtgroep_key
AND km.ins_srtinstallatie_key = sd.ins_srtdeel_key
AND kms.ins_srtkenmerk_key = km.ins_srtkenmerk_key
AND kmd.fac_kenmerkdomein_key(+) = kms.fac_kenmerkdomein_key
AND fut.fac_usrtab_key(+) = kmd.fac_usrtab_key
AND vak.ins_discipline_verwijder IS NULL
AND grp.ins_srtgroep_verwijder IS NULL
AND sd.ins_srtdeel_verwijder IS NULL
UNION
SELECT kmd.*,
kms.*,
km.*,
fut.fac_usrtab_naam,
(SELECT loc.fac_locale_xsl_tekst FROM fac_version v, fac_locale_xsl loc
WHERE COALESCE(v.fac_version_lang, 'NL') = LOC.FAC_LOCALE_XSL_LANG
AND LOC.FAC_LOCALE_XSL_LABEL = 'lcl_ins_inspectie'
)
|| ' - ' ||
(SELECT loc.fac_locale_xsl_tekst FROM fac_version v, fac_locale_xsl loc
WHERE COALESCE(v.fac_version_lang, 'NL') = LOC.FAC_LOCALE_XSL_LANG
AND LOC.FAC_LOCALE_XSL_LABEL = DECODE(ctr_disc_params_controle_type, 1, 'lcl_ins_srtcontrole_insp', 2, 'lcl_ins_srtcontrole_repl', 3, 'lcl_ins_srtcontrole_cert' , '?')
) ins_discipline_omschrijving,
sc.ins_srtcontrole_omschrijving ins_srtgroep_omschrijving,
TO_CHAR(cdp.ctr_disc_params_controle_type) ins_srtdeel_omschrijving
FROM ins_kenmerk km,
ins_srtkenmerk kms,
fac_kenmerkdomein kmd,
fac_usrtab fut,
ins_srtcontrole sc,
ctr_disc_params cdp
WHERE ins_kenmerk_niveau = 'C'
AND km.ins_srtinstallatie_key = sc.ins_srtcontrole_key
AND kms.ins_srtkenmerk_key = km.ins_srtkenmerk_key
AND kmd.fac_kenmerkdomein_key(+) = kms.fac_kenmerkdomein_key
AND fut.fac_usrtab_key(+) = kmd.fac_usrtab_key
AND sc.ctr_discipline_key = cdp.ctr_ins_discipline_key);
CREATE_VIEW(fac_v_exp_flex_fin, 0)
AS
SELECT fac_kenmerkdomein_omschrijving,
fac_kenmerkdomein_objectnaam,
fac_kenmerkdomein_kolomnaam,
fac_kenmerkdomein_kolomtxt,
fac_usrtab_naam,
NULL srtkenmerk_code,
NULL srtkenmerk_omschrijving,
km.fin_kenmerk_kenmerktype srtkenmerk_kenmerktype,
km.fin_kenmerk_systeem srtkenmerk_systeem,
km.fin_kenmerk_lengte srtkenmerk_lengte,
km.fin_kenmerk_dec srtkenmerk_dec,
km.fin_kenmerk_nmin srtkenmerk_nmin,
km.fin_kenmerk_nmax srtkenmerk_nmax,
km.fin_kenmerk_dimensie srtkenmerk_dimensie,
km.fin_kenmerk_type kenmerk_type,
NULL kenmerk_niveau,
km.fin_kenmerk_verplicht kenmerk_verplicht,
km.fin_kenmerk_groep kenmerk_groep,
km.fin_kenmerk_rolcode kenmerk_rolcode,
km.fin_kenmerk_volgnr kenmerk_volgnummer,
km.fin_kenmerk_default kenmerk_default,
km.fin_kenmerk_toonbaar kenmerk_toonbaar,
km.fin_kenmerk_uniek kenmerk_uniek,
km.fin_kenmerk_hint kenmerk_hint,
km.fin_kenmerk_regexp kenmerk_regexp,
km.fin_kenmerk_show_expr kenmerk_show_expr,
km.fin_kenmerk_code kenmerk_code,
km.fin_kenmerk_omschrijving kenmerk_omschr,
TO_CHAR (km.fin_kenmerk_verwijder, 'YYYY-MM-DD HH24:MI:SS') kenmerk_verwijder,
NULL factuur
FROM fin_kenmerk km,
fac_kenmerkdomein kmd,
fac_usrtab fut
WHERE km.fac_kenmerkdomein_key = kmd.fac_kenmerkdomein_key(+)
AND kmd.fac_usrtab_key = fut.fac_usrtab_key(+)
AND km.fin_kenmerk_verwijder IS NULL
AND kmd.fac_kenmerkdomein_verwijder IS NULL;
CREATE_VIEW(fac_v_exp_flex_ctr, 0)
AS
SELECT d.fac_kenmerkdomein_omschrijving
, d.fac_kenmerkdomein_objectnaam
, d.fac_kenmerkdomein_kolomnaam
, d.fac_kenmerkdomein_kolomtxt
, t.fac_usrtab_naam
, s.ins_srtkenmerk_code srtkenmerk_code
, s.ins_srtkenmerk_omschrijving srtkenmerk_omschrijving
, s.ins_srtkenmerk_kenmerktype srtkenmerk_kenmerktype
, s.ins_srtkenmerk_systeem srtkenmerk_systeem
, s.ins_srtkenmerk_lengte srtkenmerk_lengte
, s.ins_srtkenmerk_dec srtkenmerk_dec
, s.ins_srtkenmerk_nmin srtkenmerk_nmin
, s.ins_srtkenmerk_nmax srtkenmerk_nmax
, s.ins_srtkenmerk_dimensie srtkenmerk_dimensie
, k.ins_kenmerk_bewerkniveau kenmerk_type
, k.ins_kenmerk_niveau kenmerk_niveau
, k.ins_kenmerk_verplicht kenmerk_verplicht
, k.ins_kenmerk_groep kenmerk_groep
, k.ins_kenmerk_rolcode kenmerk_rolcode
, k.ins_kenmerk_volgnummer kenmerk_volgnummer
, k.ins_kenmerk_default kenmerk_default
, k.ins_kenmerk_toonbaar kenmerk_toonbaar
, k.ins_kenmerk_uniek kenmerk_uniek
, k.ins_kenmerk_hint kenmerk_hint
, k.ins_kenmerk_regexp kenmerk_regexp
, k.ins_kenmerk_show_expr kenmerk_show_expr
, k.ins_kenmerk_code kenmerk_code
, k.ins_kenmerk_omschrijving kenmerk_omschr
, TO_CHAR(k.ins_kenmerk_verwijder, 'YYYY-MM-DD HH24:MI:SS') kenmerk_verwijder
, p.ins_discipline_omschrijving fclt_f_discipline
, c.ins_srtcontrole_omschrijving fclt_f_srtcontrole
, NULL empty_1
, NULL empty_2
, NULL empty_3
, ins_kenmerk_wissen kenmerk_wissen
FROM ins_kenmerk k
, ins_srtkenmerk s
, ins_srtcontrole c
, ctr_discipline p
, fac_kenmerkdomein d
, fac_usrtab t
WHERE k.ins_srtkenmerk_key = s.ins_srtkenmerk_key
AND k.ins_srtinstallatie_key = c.ins_srtcontrole_key
AND c.ctr_discipline_key = p.ins_discipline_key
AND s.fac_kenmerkdomein_key = d.fac_kenmerkdomein_key(+)
AND d.fac_usrtab_key = t.fac_usrtab_key(+)
AND k.ins_kenmerk_niveau = 'C'
AND k.ins_kenmerk_bewerkniveau = 'D';
-- Rapporten worden niet standaard aangemaakt bij gebruikers
CREATE_VIEW(fac_v_rap_lcl_lang, 0) AS
SELECT nl.fac_locale_xsl_label fclt_f_label,
nl.fac_locale_xsl_module module,
nl.fac_locale_xsl_lang fclt_f_language1,
nl.fac_locale_xsl_tekst translation1,
en.fac_locale_xsl_lang fclt_f_language2,
en.fac_locale_xsl_tekst translation2,
de.fac_locale_xsl_lang fclt_f_language3,
de.fac_locale_xsl_tekst translation3,
fr.fac_locale_xsl_lang fclt_f_language4,
fr.fac_locale_xsl_tekst translation4
FROM fac_locale_xsl nl,
fac_locale_xsl en,
fac_locale_xsl de,
fac_locale_xsl fr
WHERE nl.fac_locale_xsl_lang = 'NL'
AND en.fac_locale_xsl_lang = 'EN'
AND de.fac_locale_xsl_lang = 'DE'
AND fr.fac_locale_xsl_lang = 'FR'
AND en.fac_locale_xsl_label = nl.fac_locale_xsl_label
AND de.fac_locale_xsl_label = nl.fac_locale_xsl_label
AND fr.fac_locale_xsl_label = nl.fac_locale_xsl_label
AND en.fac_locale_xsl_module = nl.fac_locale_xsl_module
AND de.fac_locale_xsl_module = nl.fac_locale_xsl_module
AND fr.fac_locale_xsl_module = nl.fac_locale_xsl_module;
CREATE_VIEW(fac_v_rap_lcl_xref, 0) AS
SELECT fac_locale_xref_filepath FCLT_F_BESTAND,
fac_locale_xsl_label FCLT_F_LABEL,
fac_locale_xsl_tekst FCLT_F_TEKST,
fac_locale_xsl_cust OVERRULE,
fac_locale_xref_client CLIENTSIDE
FROM fac_locale_xsl xsl, fac_locale_xref xref
WHERE xsl.fac_locale_xsl_key = xref.fac_locale_xsl_key
AND fac_locale_xsl_lang = 'NL'
AND fac_locale_xsl_module = 'ASP';
-- Standard sample report shows GUI usage (bookmark, menu, reports, search) stats of last 100 days
CREATE_VIEW(fac_v_rap_gui_usage_last100, 0) AS
SELECT c.fac_gui_counter_group fclt_f_action,
COALESCE (c.fac_gui_counter_info,
m.fac_menu_altlabel,
lcl.l (mi.fac_menuitems_label),
r.fac_usrrap_omschrijving)
detail,
COALESCE (b.fac_bookmark_path,
r.fac_usrrap_view_name,
m.fac_menu_alturl,
mi.fac_menuitems_url)
techdetail,
DECODE (COALESCE ( (CASE WHEN UPPER(b.fac_bookmark_path) LIKE 'APPL/PDA/%' THEN 3 END)
, m.fac_menu_altgroep
, mi.fac_menuitems_groep
), 3, 'Mobile', 'Default')
device,
SUM (fac_gui_counter_count) total
FROM fac_gui_counter c
LEFT JOIN fac_menu m
ON c.fac_gui_counter_group = 'menu' AND c.fac_gui_counter_refkey = m.fac_menu_key
LEFT JOIN fac_bookmark b
ON c.fac_gui_counter_group = 'bookmark' AND c.fac_gui_counter_refkey = b.fac_bookmark_key
LEFT OUTER JOIN fac_menuitems mi
ON m.fac_menuitems_key = mi.fac_menuitems_key
LEFT JOIN fac_usrrap r
ON c.fac_gui_counter_group = 'report' AND c.fac_gui_counter_refkey = r.fac_usrrap_key
WHERE c.fac_gui_counter_group NOT IN ('searchresult', 'searchchoice')
AND c.fac_gui_counter_date > SYSDATE - 100
GROUP BY c.fac_gui_counter_group,
c.fac_gui_counter_info,
m.fac_menu_altlabel,
mi.fac_menuitems_label,
r.fac_usrrap_omschrijving,
r.fac_usrrap_view_name,
m.fac_menu_alturl,
mi.fac_menuitems_url,
b.fac_bookmark_path,
m.fac_menu_altgroep,
mi.fac_menuitems_groep
HAVING SUM (fac_gui_counter_count) > 1;
CREATE_VIEW(fac_v_rap_gui_usage_device, 0)
(
action,
fclt_f_device,
total
)
AS
SELECT COALESCE (fac_gui_counter_info, fac_menu_altlabel, lcl.l (fac_menuitems_label)) detail,
DECODE (COALESCE ( (CASE WHEN UPPER(b.fac_bookmark_path) LIKE 'APPL/PDA/%' THEN 3 END)
, m.fac_menu_altgroep
, mi.fac_menuitems_groep
), 3, 'Mobile', 'Default')
device,
SUM (fac_gui_counter_count) total
FROM fac_gui_counter c
LEFT JOIN fac_menu m
ON c.fac_gui_counter_group = 'menu' AND c.fac_gui_counter_refkey = m.fac_menu_key
LEFT JOIN fac_bookmark b
ON c.fac_gui_counter_group = 'bookmark' AND c.fac_gui_counter_refkey = b.fac_bookmark_key
LEFT OUTER JOIN fac_menuitems mi
ON m.fac_menuitems_key = mi.fac_menuitems_key
WHERE fac_gui_counter_group IN ('menu', 'bookmark') AND c.fac_gui_counter_date > SYSDATE - 100
GROUP BY fac_gui_counter_group,
fac_gui_counter_info,
fac_menu_altlabel,
fac_menuitems_label,
m.fac_menu_altgroep,
mi.fac_menuitems_groep,
b.fac_bookmark_path;
CREATE_VIEW(fac_v_rap_language, 0)
(
label, module, fclt_f_language, translation, fclt_f_undefined
)
AS
SELECT fac_locale_xsl_label,
fac_locale_xsl_module,
fac_locale_xsl_lang,
fac_locale_xsl_tekst,
CASE WHEN fac_locale_xsl_isvalid <> 1 THEN 'X' ELSE '' END
FROM fac_locale_xsl;
CREATE_VIEW(fac_v_rap_auditfail, 0)
AS
SELECT *
FROM fac_auditfail;
CREATE_VIEW(fac_v_rap_auditusage, 0)
AS
SELECT fac_gui_counter_date fclt_f_datum,
prs_perslid_naam_friendly fclt_f_naam,
fac_gui_counter_info detail
FROM fac_gui_counter c,
prs_v_perslid_fullnames p
WHERE fac_gui_counter_group = 'audit'
AND c.prs_perslid_key = p.prs_perslid_key;
CREATE_VIEW(fac_v_udr_faq, 1)
AS
SELECT f.fac_faq_key
kb_key,
f.fac_faq_question
vraag,
f.fac_faq_answer
antwoord,
f.fac_faq_answer2
info,
f.fac_faq_datum
datum,
f.fac_faq_wijzigdatum
wijzigdatum,
f.fac_faq_source
oorsprong,
f.fac_faq_url
url,
f.fac_faq_lang
taal,
DECODE (f.fac_faq_level,
1, lcl.l ('lcl_faq_level1'),
2, lcl.l ('lcl_faq_level2'),
3, lcl.l ('lcl_faq_level3'))
zichtbaar,
f.fac_faq_level
zichtbaar_code,
(SELECT MIN (
CASE
WHEN sd.ins_srtdiscipline_prefix IS NULL THEN ''
ELSE sd.ins_srtdiscipline_prefix || '-'
END
|| m1.ins_discipline_omschrijving) /* zou lcl() moeten zijn */
FROM mld_v_aanwezigdiscipline m1,
ins_srtdiscipline sd,
mld_stdmeldingfaq mf
WHERE m1.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND m1.ins_discipline_key = mf.ins_discipline_key
AND mf.fac_faq_key = f.fac_faq_key)
productgroep,
(SELECT MIN (sm.mld_stdmelding_omschrijving) /* zou lcl() moeten zijn */
FROM mld_stdmeldingfaq mf, mld_stdmelding sm
WHERE mf.mld_stdmelding_key = sm.mld_stdmelding_key(+)
AND mf.fac_faq_key = f.fac_faq_key)
subproductgroep,
fac_faq_hint
zoekwoorden,
pf.prs_perslid_naam_full
invoerder,
(SELECT MIN (NVL (o.alg_type, 'L'))
FROM alg_v_allonroerendgoed o, alg_algfaq af
WHERE af.alg_onroerendgoed_keys = o.alg_onroerendgoed_keys(+)
AND af.fac_faq_key = f.fac_faq_key)
scope,
(SELECT MIN (
l.alg_locatie_code
|| DECODE (o.alg_plaatsaanduiding,
NULL, NULL,
'-' || o.alg_plaatsaanduiding))
FROM alg_v_aanweziglocatie l,
alg_v_onroerendgoed_gegevens o,
alg_algfaq af
WHERE af.alg_onroerendgoed_keys = o.alg_onroerendgoed_keys(+)
AND af.alg_locatie_key = l.alg_locatie_key
AND af.fac_faq_key = f.fac_faq_key)
plaats,
(SELECT COUNT (*)
FROM mld_stdmeldingfaq mf
WHERE mf.fac_faq_key = f.fac_faq_key)
aantalmeldingen,
(SELECT COUNT (*)
FROM alg_algfaq af
WHERE af.fac_faq_key = f.fac_faq_key)
aantalplaatsen
FROM fac_faq f, prs_v_perslid_fullnames_all pf
WHERE f.prs_perslid_key = pf.prs_perslid_key;
CREATE_VIEW(fac_v_udr_faqkenmerk_cnd, 1)
AS
SELECT f.*,
lcl.x ('km.faq_kenmerk_omschrijving',
km.faq_kenmerk_key,
faq_kenmerk_omschrijving)
kenmerk,
CASE
WHEN km.faq_kenmerk_kenmerktype = 'R'
OR km.faq_kenmerk_kenmerktype = 'r'
OR km.faq_kenmerk_kenmerktype = 'S'
THEN
flx.getdomeinwaarde (km.fac_kenmerkdomein_key,
kw.faq_kenmerkwaarde_waarde)
WHEN km.faq_kenmerk_kenmerktype = 'C'
OR km.faq_kenmerk_kenmerktype = 'F'
THEN
kw.faq_kenmerkwaarde_waarde
ELSE
NULL
END
waarde_c,
CASE
WHEN km.faq_kenmerk_kenmerktype = 'N'
THEN
TO_NUMBER (kw.faq_kenmerkwaarde_waarde)
ELSE
TO_NUMBER (NULL)
END
waarde_n,
CASE
WHEN km.faq_kenmerk_kenmerktype = 'D'
THEN
TO_DATE (kw.faq_kenmerkwaarde_waarde, 'DD-MM-YYYY')
ELSE
TO_DATE (NULL)
END
waarde_d,
CASE
WHEN km.faq_kenmerk_kenmerktype IN ('R', 'r', 'S')
THEN
flx.getdomeinwaarde (km.fac_kenmerkdomein_key, kw.faq_kenmerkwaarde_waarde)
ELSE
kw.faq_kenmerkwaarde_waarde
END
waarde_x
FROM fac_v_udr_faq f, faq_kenmerkwaarde kw, faq_kenmerk km
WHERE kw.fac_faq_key = f.kb_key
AND kw.faq_kenmerk_key = km.faq_kenmerk_key
AND kw.faq_kenmerkwaarde_verwijder IS NULL
AND km.faq_kenmerk_verwijder IS NULL;
CREATE_VIEW(fac_v_bijlagen, 0)
AS
SELECT b.fac_bijlagen_key,
b.fac_bijlagen_module,
b.fac_bijlagen_refkey,
b.fac_bijlagen_kenmerk_key,
b.fac_bijlagen_description,
b.fac_bijlagen_digest,
b.fac_bijlagen_content_type,
b.fac_bijlagen_file_size,
b.fac_bijlagen_root_key,
b.fac_bijlagen_aanmaak,
b.fac_bijlagen_verwijder,
b.fac_bijlagen_filename,
r.fac_bijlagen_disk_directory,
COALESCE (r.fac_bijlagen_disk_filename, r.fac_bijlagen_filename) disk_filename
FROM fac_bijlagen r, fac_bijlagen b
WHERE b.fac_bijlagen_root_key = r.fac_bijlagen_key;
REGISTERRUN('$Id$')