Files
Database/FAC/FAC_VIE.SRC
Peter Feij 6a23a35136 FSN#22325
svn path=/Database/trunk/; revision=11113
2012-02-28 16:10:40 +00:00

2066 lines
98 KiB
Plaintext
Raw Blame History

/* FAC_VIE.SRC
* $Revision: 96 $
* $Modtime: 28-02-12 16:52 $
*/
CREATE_VIEW(fac_v_functie_discipline, 0)
(fac_functie_discipline_key,
fac_functie_discipline_type,
fac_functie_discipline_module,
fac_functie_discipline_omschr,
fac_functie_discipline_min_lev) AS
SELECT fac_functie_key,
'F',
fac_functie_module,
fac_functie_omschrijving,
fac_functie_min_level
FROM fac_functie
UNION
SELECT ins_discipline_key,
decode(ins_discipline_module,'INS','D','MLD','V','BES','C'),
ins_discipline_module,
ins_discipline_omschrijving,
ins_discipline_min_level
FROM ins_tab_discipline
WHERE ins_discipline_verwijder is NULL;
DEFINIEER_VIEW_AANWEZIG(fac_usrdata, fac_usrdata_verwijder,
fac_v_aanwezigusrdata,0);
DEFINIEER_VIEW_AANWEZIG(fac_groep, fac_groep_verwijder,
fac_v_aanweziggroep,0);
CREATE_VIEW (fac_v_webfunctie, 0) AS
SELECT * FROM fac_functie F
WHERE f.fac_functie_code LIKE 'WEB%';
CREATE_VIEW (fac_v_webuser, 0) AS
SELECT prs_perslid_key,
prs_perslid_naam,
prs_perslid_oslogin prs_perslid_initialen,
prs_afdeling_key
FROM prs_v_aanwezigperslid p
WHERE p.prs_perslid_oslogin IS NOT NULL;
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;
/* Deze view bevat alle webfuncties van de FCLTWEB gebruiker
* en de aan FCLTWEB geautoriseerde disciplines van de diverse andere modules
* (INS, MLD e.d) en biedt het arsenaal aan potentiele autorisaties van de
* individuele WEB gebruiker.
* Merk op: de LAN-functies komen hier niet in voor (deze worden op een ander
* niveau (LAN) aan de gehele FCLTWEB user toegekend.
* Hier zijn functionele afhankelijkheden mogelijk, waarbij de LAN-autorisatie
* het diepst ligt en dus vaak het laatste woord heeft!
*/
CREATE_VIEW (FAC_V_WEBFUNCTIE_DISCIPLINE, 0) AS
SELECT * FROM FAC_V_FUNCTIE_DISCIPLINE FD
WHERE (FD.fac_functie_discipline_type <>'F'
AND FD.fac_functie_discipline_key IN (SELECT ins_discipline_key
FROM all_v_aanwezigdiscipline))
OR (FD.fac_functie_discipline_type IN ('A', 'B', 'C'))
OR (FD.fac_functie_discipline_type ='F' AND FD.fac_functie_discipline_module='WEB');
CREATE_VIEW(fac_v_gebruikersgroepgegevens, 0)
( fac_gebruikersgroep_key
, fac_groep_key
, prs_perslid_key
, prs_perslid_oslogin
, prs_afdeling_key
, prs_afdeling_naam
, prs_perslid_naam
, fac_groep_omschrijving
)
AS
select
gg.fac_gebruikersgroep_key
, gg.fac_groep_key
, gg.prs_perslid_key
, p.prs_perslid_oslogin
, a.prs_afdeling_key
, a.prs_afdeling_naam
, p.prs_perslid_naam
, g.fac_groep_omschrijving
from
fac_gebruikersgroep gg
, fac_groep g
, prs_perslid p
, prs_afdeling a
where gg.fac_groep_key=g.fac_groep_key
and gg.prs_perslid_key=p.prs_perslid_key
and p.prs_afdeling_key(+)=a.prs_afdeling_key
/
-- Rapportages
CREATE_VIEW(fac_v_rap_groeprechten, 0)
(naam,
fclt_f_login,
fclt_f_funcode,
fclt_f_functie,
fclt_f_aspect,
fclt_f_groep,
or_ow_ar_aw
)
AS
SELECT -- GROEPEN MET DISCIPLINES
p.prs_perslid_naam, p.prs_perslid_oslogin,
f.fac_functie_code,
f.fac_functie_omschrijving,
(CASE WHEN ins_srtdiscipline_prefix IS NULL THEN '' ELSE ins_srtdiscipline_prefix||'-' END) ||
decode(a.ins_discipline_module, 'BES', 'Categorie ',
'INS', 'Discipline ',
'MLD', 'Vakgroep ',
'RES', 'Catalogus ',
ins_discipline_module || ' '
)
|| ins_discipline_omschrijving omschrijving,
gr.fac_groep_omschrijving,
'(' || TO_CHAR(g.fac_gebruiker_prs_level_read) || ', '
|| TO_CHAR(g.fac_gebruiker_prs_level_write) || ', '
|| TO_CHAR(g.fac_gebruiker_alg_level_read) || ', '
|| TO_CHAR(g.fac_gebruiker_alg_level_write) || ')' or_ow_ar_aw
FROM fac_groeprechten g,
fac_gebruikersgroep gg,
prs_v_aanwezigperslid p,
fac_functie f,
ins_srtdiscipline isd,
ins_tab_discipline a,
fac_groep gr
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 gr.fac_groep_verwijder IS NULL
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
UNION ALL -- GROEPEN ZONDER DISCIPLINES
SELECT p.prs_perslid_naam, p.prs_perslid_oslogin,
f.fac_functie_code,
f.fac_functie_omschrijving, NULL omschrijving,
gr.fac_groep_omschrijving,
'(' || TO_CHAR(g.fac_gebruiker_prs_level_read) || ', '
|| TO_CHAR(g.fac_gebruiker_prs_level_write) || ', '
|| TO_CHAR(g.fac_gebruiker_alg_level_read) || ', '
|| TO_CHAR(g.fac_gebruiker_alg_level_write) || ')' or_ow_ar_aw
FROM fac_groeprechten g,
fac_functie f,
fac_gebruikersgroep gg,
prs_v_aanwezigperslid p,
fac_groep gr
WHERE fac_functie_module <> 'LAN'
AND 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;
CREATE_VIEW(fac_v_rap_groeprechten2, 0)
(fclt_f_groep,
fclt_f_funcode,
fclt_f_functie,
fclt_f_aspect,
or_ow_ar_aw
)
AS
SELECT -- GROEPEN MET DISCIPLINES
gr.fac_groep_omschrijving,
f.fac_functie_code,
f.fac_functie_omschrijving,
DECODE( a.ins_discipline_module , 'BES' , 'Categorie ' ,
'INS' , 'Discipline ' ,
'MLD' , 'Vakgroep ' ,
'RES' , 'Catalogus ' ,
ins_discipline_module || ' '
)
|| ins_discipline_omschrijving omschrijving,
'(' || TO_CHAR(g.fac_gebruiker_prs_level_read) || ', '
|| TO_CHAR(g.fac_gebruiker_prs_level_write) || ', '
|| TO_CHAR(g.fac_gebruiker_alg_level_read) || ', '
|| TO_CHAR(g.fac_gebruiker_alg_level_write) || ')' or_ow_ar_aw
FROM FAC_GROEPRECHTEN g,
FAC_FUNCTIE f,
INS_TAB_DISCIPLINE a,
FAC_GROEP gr
WHERE g.ins_discipline_key = a.ins_discipline_key
AND g.fac_groep_key = gr.fac_groep_key
AND gr.fac_groep_verwijder IS NULL
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_omschrijving, NULL omschrijving,
'(' || TO_CHAR(g.fac_gebruiker_prs_level_read) || ', '
|| TO_CHAR(g.fac_gebruiker_prs_level_write) || ', '
|| TO_CHAR(g.fac_gebruiker_alg_level_read) || ', '
|| TO_CHAR(g.fac_gebruiker_alg_level_write) || ')' or_ow_ar_aw
FROM FAC_GROEPRECHTEN g,
FAC_FUNCTIE f,
FAC_GROEP gr
WHERE fac_functie_module <> 'LAN'
AND 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_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
AND gr.fac_groep_verwijder IS NULL
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 gr.fac_groep_verwijder IS NULL
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 DATE_TO_CHAR(fac_perfmon_datum, 'YYYY-MM-DD'), NUMBER_TO_CHAR (fac_perfmon_threshold),
fac_perfmon_AANTAL, NUMBER_TO_CHAR (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,
tijd,
waarde1,
waarde2,
waarde3,
waarde4,
waarde5,
waarde6,
waarde7,
waarde8,
waarde9,
fclt_f_ipadres,
fclt_f_gebruiker
)
AS
SELECT DATE_TO_CHAR (fac_perfmon_sample_datum, 'YYYY-MM-DD'),
DATE_TO_CHAR (fac_perfmon_sample_datum, 'HH24:MI'),
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;
-- per uur, ongeacht plaats
CREATE_VIEW (fac_v_perfmon_sample_overall60, 0) (fclt_f_datum,
tijd,
aantal,
gemiddelde1,
laagste1, hoogste1, stddeviatie1,
gemiddelde2,
laagste2, hoogste2, stddeviatie2,
gemiddelde3,
laagste3, hoogste3, stddeviatie3,
gemiddelde4,
laagste4, hoogste4, stddeviatie4,
gemiddelde5,
laagste5, hoogste5, stddeviatie5,
gemiddelde6,
laagste6, hoogste6, stddeviatie6,
gemiddelde7,
laagste7, hoogste7, stddeviatie7,
gemiddelde8,
laagste8, hoogste8, stddeviatie8,
gemiddelde9,
laagste9, hoogste9, stddeviatie9
)
AS
SELECT DATE_TO_CHAR (fac_perfmon_sample_datum, 'YYYY-MM-DD'),
DATE_TO_CHAR (fac_perfmon_sample_datum, 'HH24') || ':00',
COUNT (fac_perfmon_sample_waarde1),
ROUND (AVG (fac_perfmon_sample_waarde1)),
MIN (fac_perfmon_sample_waarde1), MAX (fac_perfmon_sample_waarde1), ROUND (STDDEV (fac_perfmon_sample_waarde1)),
ROUND (AVG (fac_perfmon_sample_waarde2)),
MIN (fac_perfmon_sample_waarde2), MAX (fac_perfmon_sample_waarde2), ROUND (STDDEV (fac_perfmon_sample_waarde2)),
ROUND (AVG (fac_perfmon_sample_waarde3)),
MIN (fac_perfmon_sample_waarde3), MAX (fac_perfmon_sample_waarde3), ROUND (STDDEV (fac_perfmon_sample_waarde3)),
ROUND (AVG (fac_perfmon_sample_waarde4)),
MIN (fac_perfmon_sample_waarde4), MAX (fac_perfmon_sample_waarde4), ROUND (STDDEV (fac_perfmon_sample_waarde4)),
ROUND (AVG (fac_perfmon_sample_waarde5)),
MIN (fac_perfmon_sample_waarde5), MAX (fac_perfmon_sample_waarde5), ROUND (STDDEV (fac_perfmon_sample_waarde5)),
ROUND (AVG (fac_perfmon_sample_waarde6)),
MIN (fac_perfmon_sample_waarde6), MAX (fac_perfmon_sample_waarde6), ROUND (STDDEV (fac_perfmon_sample_waarde6)),
ROUND (AVG (fac_perfmon_sample_waarde7)),
MIN (fac_perfmon_sample_waarde7), MAX (fac_perfmon_sample_waarde7), ROUND (STDDEV (fac_perfmon_sample_waarde7)),
ROUND (AVG (fac_perfmon_sample_waarde8)),
MIN (fac_perfmon_sample_waarde8), MAX (fac_perfmon_sample_waarde8), ROUND (STDDEV (fac_perfmon_sample_waarde8)),
ROUND (AVG (fac_perfmon_sample_waarde9)),
MIN (fac_perfmon_sample_waarde9), MAX (fac_perfmon_sample_waarde9), ROUND (STDDEV (fac_perfmon_sample_waarde9))
FROM fac_perfmon_sample
GROUP BY DATE_TO_CHAR (fac_perfmon_sample_datum, 'YYYY-MM-DD'),
DATE_TO_CHAR (fac_perfmon_sample_datum, 'HH24') || ':00';
-- idem per 10 minuten
CREATE_VIEW (fac_v_perfmon_sample_overall10, 0) (fclt_f_datum,
tijd,
aantal,
gemiddelde1,
laagste1, hoogste1, stddeviatie1,
gemiddelde2,
laagste2, hoogste2, stddeviatie2,
gemiddelde3,
laagste3, hoogste3, stddeviatie3,
gemiddelde4,
laagste4, hoogste4, stddeviatie4,
gemiddelde5,
laagste5, hoogste5, stddeviatie5,
gemiddelde6,
laagste6, hoogste6, stddeviatie6,
gemiddelde7,
laagste7, hoogste7, stddeviatie7,
gemiddelde8,
laagste8, hoogste8, stddeviatie8,
gemiddelde9,
laagste9, hoogste9, stddeviatie9
)
AS
SELECT DATE_TO_CHAR (fac_perfmon_sample_datum, 'YYYY-MM-DD'),
SUBSTR (DATE_TO_CHAR (fac_perfmon_sample_datum, 'HH24:MI'), 1, 4) || '0',
COUNT (fac_perfmon_sample_waarde1),
ROUND (AVG (fac_perfmon_sample_waarde1)),
MIN (fac_perfmon_sample_waarde1), MAX (fac_perfmon_sample_waarde1), ROUND (STDDEV (fac_perfmon_sample_waarde1)),
ROUND (AVG (fac_perfmon_sample_waarde2)),
MIN (fac_perfmon_sample_waarde2), MAX (fac_perfmon_sample_waarde2), ROUND (STDDEV (fac_perfmon_sample_waarde2)),
ROUND (AVG (fac_perfmon_sample_waarde3)),
MIN (fac_perfmon_sample_waarde3), MAX (fac_perfmon_sample_waarde3), ROUND (STDDEV (fac_perfmon_sample_waarde3)),
ROUND (AVG (fac_perfmon_sample_waarde4)),
MIN (fac_perfmon_sample_waarde4), MAX (fac_perfmon_sample_waarde4), ROUND (STDDEV (fac_perfmon_sample_waarde4)),
ROUND (AVG (fac_perfmon_sample_waarde5)),
MIN (fac_perfmon_sample_waarde5), MAX (fac_perfmon_sample_waarde5), ROUND (STDDEV (fac_perfmon_sample_waarde5)),
ROUND (AVG (fac_perfmon_sample_waarde6)),
MIN (fac_perfmon_sample_waarde6), MAX (fac_perfmon_sample_waarde6), ROUND (STDDEV (fac_perfmon_sample_waarde6)),
ROUND (AVG (fac_perfmon_sample_waarde7)),
MIN (fac_perfmon_sample_waarde7), MAX (fac_perfmon_sample_waarde7), ROUND (STDDEV (fac_perfmon_sample_waarde7)),
ROUND (AVG (fac_perfmon_sample_waarde8)),
MIN (fac_perfmon_sample_waarde8), MAX (fac_perfmon_sample_waarde8), ROUND (STDDEV (fac_perfmon_sample_waarde8)),
ROUND (AVG (fac_perfmon_sample_waarde9)),
MIN (fac_perfmon_sample_waarde9), MAX (fac_perfmon_sample_waarde9), ROUND (STDDEV (fac_perfmon_sample_waarde9))
FROM fac_perfmon_sample
GROUP BY DATE_TO_CHAR (fac_perfmon_sample_datum, 'YYYY-MM-DD'),
SUBSTR (DATE_TO_CHAR (fac_perfmon_sample_datum, 'HH24:MI'), 1, 4)
|| '0';
-- per uur, met plaats/user
CREATE_VIEW (fac_v_perfmon_sample60, 0) (fclt_f_datum,
tijd,
prs_perslid_key,
fclt_f_ipadres,
aantal,
gemiddelde1,
laagste1, hoogste1, stddeviatie1,
gemiddelde2,
laagste2, hoogste2, stddeviatie2,
gemiddelde3,
laagste3, hoogste3, stddeviatie3,
gemiddelde4,
laagste4, hoogste4, stddeviatie4,
gemiddelde5,
laagste5, hoogste5, stddeviatie5,
gemiddelde6,
laagste6, hoogste6, stddeviatie6,
gemiddelde7,
laagste7, hoogste7, stddeviatie7,
gemiddelde8,
laagste8, hoogste8, stddeviatie8,
gemiddelde9,
laagste9, hoogste9, stddeviatie9
)
AS
SELECT DATE_TO_CHAR (fac_perfmon_sample_datum, 'YYYY-MM-DD'),
DATE_TO_CHAR (fac_perfmon_sample_datum, 'HH24') || ':00',
prs_perslid_key,
fac_perfmon_sample_ip,
COUNT (fac_perfmon_sample_waarde1),
ROUND (AVG (fac_perfmon_sample_waarde1)),
MIN (fac_perfmon_sample_waarde1), MAX (fac_perfmon_sample_waarde1), ROUND (STDDEV (fac_perfmon_sample_waarde1)),
ROUND (AVG (fac_perfmon_sample_waarde2)),
MIN (fac_perfmon_sample_waarde2), MAX (fac_perfmon_sample_waarde2), ROUND (STDDEV (fac_perfmon_sample_waarde2)),
ROUND (AVG (fac_perfmon_sample_waarde3)),
MIN (fac_perfmon_sample_waarde3), MAX (fac_perfmon_sample_waarde3), ROUND (STDDEV (fac_perfmon_sample_waarde3)),
ROUND (AVG (fac_perfmon_sample_waarde4)),
MIN (fac_perfmon_sample_waarde4), MAX (fac_perfmon_sample_waarde4), ROUND (STDDEV (fac_perfmon_sample_waarde4)),
ROUND (AVG (fac_perfmon_sample_waarde5)),
MIN (fac_perfmon_sample_waarde5), MAX (fac_perfmon_sample_waarde5), ROUND (STDDEV (fac_perfmon_sample_waarde5)),
ROUND (AVG (fac_perfmon_sample_waarde6)),
MIN (fac_perfmon_sample_waarde6), MAX (fac_perfmon_sample_waarde6), ROUND (STDDEV (fac_perfmon_sample_waarde6)),
ROUND (AVG (fac_perfmon_sample_waarde7)),
MIN (fac_perfmon_sample_waarde7), MAX (fac_perfmon_sample_waarde7), ROUND (STDDEV (fac_perfmon_sample_waarde7)),
ROUND (AVG (fac_perfmon_sample_waarde8)),
MIN (fac_perfmon_sample_waarde8), MAX (fac_perfmon_sample_waarde8), ROUND (STDDEV (fac_perfmon_sample_waarde8)),
ROUND (AVG (fac_perfmon_sample_waarde9)),
MIN (fac_perfmon_sample_waarde9), MAX (fac_perfmon_sample_waarde9), ROUND (STDDEV (fac_perfmon_sample_waarde9))
FROM fac_perfmon_sample
GROUP BY DATE_TO_CHAR (fac_perfmon_sample_datum, 'YYYY-MM-DD'),
DATE_TO_CHAR (fac_perfmon_sample_datum, 'HH24') || ':00', prs_perslid_key,
fac_perfmon_sample_ip;
--idem per 10 minuten
CREATE_VIEW (fac_v_perfmon_sample10, 0) (fclt_f_datum,
tijd,
prs_perslid_key,
fclt_f_ipadres,
aantal,
gemiddelde1,
laagste1, hoogste1, stddeviatie1,
gemiddelde2,
laagste2, hoogste2, stddeviatie2,
gemiddelde3,
laagste3, hoogste3, stddeviatie3,
gemiddelde4,
laagste4, hoogste4, stddeviatie4,
gemiddelde5,
laagste5, hoogste5, stddeviatie5,
gemiddelde6,
laagste6, hoogste6, stddeviatie6,
gemiddelde7,
laagste7, hoogste7, stddeviatie7,
gemiddelde8,
laagste8, hoogste8, stddeviatie8,
gemiddelde9,
laagste9, hoogste9, stddeviatie9
)
AS
SELECT DATE_TO_CHAR (fac_perfmon_sample_datum, 'YYYY-MM-DD'),
SUBSTR (DATE_TO_CHAR (fac_perfmon_sample_datum, 'HH24:MI'), 1, 4)
|| '0',
prs_perslid_key,
fac_perfmon_sample_ip,
COUNT (fac_perfmon_sample_waarde1),
ROUND (AVG (fac_perfmon_sample_waarde1)),
MIN (fac_perfmon_sample_waarde1), MAX (fac_perfmon_sample_waarde1), ROUND (STDDEV (fac_perfmon_sample_waarde1)),
ROUND (AVG (fac_perfmon_sample_waarde2)),
MIN (fac_perfmon_sample_waarde2), MAX (fac_perfmon_sample_waarde2), ROUND (STDDEV (fac_perfmon_sample_waarde2)),
ROUND (AVG (fac_perfmon_sample_waarde3)),
MIN (fac_perfmon_sample_waarde3), MAX (fac_perfmon_sample_waarde3), ROUND (STDDEV (fac_perfmon_sample_waarde3)),
ROUND (AVG (fac_perfmon_sample_waarde4)),
MIN (fac_perfmon_sample_waarde4), MAX (fac_perfmon_sample_waarde4), ROUND (STDDEV (fac_perfmon_sample_waarde4)),
ROUND (AVG (fac_perfmon_sample_waarde5)),
MIN (fac_perfmon_sample_waarde5), MAX (fac_perfmon_sample_waarde5), ROUND (STDDEV (fac_perfmon_sample_waarde5)),
ROUND (AVG (fac_perfmon_sample_waarde6)),
MIN (fac_perfmon_sample_waarde6), MAX (fac_perfmon_sample_waarde6), ROUND (STDDEV (fac_perfmon_sample_waarde6)),
ROUND (AVG (fac_perfmon_sample_waarde7)),
MIN (fac_perfmon_sample_waarde7), MAX (fac_perfmon_sample_waarde7), ROUND (STDDEV (fac_perfmon_sample_waarde7)),
ROUND (AVG (fac_perfmon_sample_waarde8)),
MIN (fac_perfmon_sample_waarde8), MAX (fac_perfmon_sample_waarde8), ROUND (STDDEV (fac_perfmon_sample_waarde8)),
ROUND (AVG (fac_perfmon_sample_waarde9)),
MIN (fac_perfmon_sample_waarde9), MAX (fac_perfmon_sample_waarde9), ROUND (STDDEV (fac_perfmon_sample_waarde9))
FROM fac_perfmon_sample
GROUP BY DATE_TO_CHAR (fac_perfmon_sample_datum, 'YYYY-MM-DD'),
SUBSTR (DATE_TO_CHAR (fac_perfmon_sample_datum, 'HH24:MI'), 1, 4)
|| '0',
prs_perslid_key,
fac_perfmon_sample_ip;
-- levenslange gemiddelden per IPadres
CREATE_VIEW (fac_v_perfmon_sample_ip, 0) (fclt_f_ipadres,
aantal,
gemiddelde1,
laagste1,
hoogste1,
stddeviatie1,
gemiddelde2,
laagste2,
hoogste2,
stddeviatie2,
gemiddelde3,
laagste3,
hoogste3,
stddeviatie3,
gemiddelde4,
laagste4,
hoogste4,
stddeviatie4,
gemiddelde5,
laagste5,
hoogste5,
stddeviatie5,
gemiddelde6,
laagste6,
hoogste6,
stddeviatie6,
gemiddelde7,
laagste7,
hoogste7,
stddeviatie7,
gemiddelde8,
laagste8,
hoogste8,
stddeviatie8,
gemiddelde9,
laagste9,
hoogste9,
stddeviatie9
)
AS
SELECT fac_perfmon_sample_ip,
COUNT (fac_perfmon_sample_waarde1),
ROUND (AVG (fac_perfmon_sample_waarde1)),
MIN (fac_perfmon_sample_waarde1),
MAX (fac_perfmon_sample_waarde1),
ROUND (STDDEV (fac_perfmon_sample_waarde1)),
ROUND (AVG (fac_perfmon_sample_waarde2)),
MIN (fac_perfmon_sample_waarde2),
MAX (fac_perfmon_sample_waarde2),
ROUND (STDDEV (fac_perfmon_sample_waarde2)),
ROUND (AVG (fac_perfmon_sample_waarde3)),
MIN (fac_perfmon_sample_waarde3),
MAX (fac_perfmon_sample_waarde3),
ROUND (STDDEV (fac_perfmon_sample_waarde3)),
ROUND (AVG (fac_perfmon_sample_waarde4)),
MIN (fac_perfmon_sample_waarde4),
MAX (fac_perfmon_sample_waarde4),
ROUND (STDDEV (fac_perfmon_sample_waarde4)),
ROUND (AVG (fac_perfmon_sample_waarde5)),
MIN (fac_perfmon_sample_waarde5),
MAX (fac_perfmon_sample_waarde5),
ROUND (STDDEV (fac_perfmon_sample_waarde5)),
ROUND (AVG (fac_perfmon_sample_waarde6)),
MIN (fac_perfmon_sample_waarde6),
MAX (fac_perfmon_sample_waarde6),
ROUND (STDDEV (fac_perfmon_sample_waarde6)),
ROUND (AVG (fac_perfmon_sample_waarde7)),
MIN (fac_perfmon_sample_waarde7),
MAX (fac_perfmon_sample_waarde7),
ROUND (STDDEV (fac_perfmon_sample_waarde7)),
ROUND (AVG (fac_perfmon_sample_waarde8)),
MIN (fac_perfmon_sample_waarde8),
MAX (fac_perfmon_sample_waarde8),
ROUND (STDDEV (fac_perfmon_sample_waarde8)),
ROUND (AVG (fac_perfmon_sample_waarde9)),
MIN (fac_perfmon_sample_waarde9),
MAX (fac_perfmon_sample_waarde9),
ROUND (STDDEV (fac_perfmon_sample_waarde9))
FROM fac_perfmon_sample
GROUP BY fac_perfmon_sample_ip;
-- levenslange gemiddelden per user
CREATE_VIEW(fac_v_perfmon_sample_user,0) (fclt_f_naam,
aantal,
gemiddelde1,
laagste1,
hoogste1,
stddeviatie1,
gemiddelde2,
laagste2,
hoogste2,
stddeviatie2,
gemiddelde3,
laagste3,
hoogste3,
stddeviatie3,
gemiddelde4,
laagste4,
hoogste4,
stddeviatie4,
gemiddelde5,
laagste5,
hoogste5,
stddeviatie5,
gemiddelde6,
laagste6,
hoogste6,
stddeviatie6,
gemiddelde7,
laagste7,
hoogste7,
stddeviatie7,
gemiddelde8,
laagste8,
hoogste8,
stddeviatie8,
gemiddelde9,
laagste9,
hoogste9,
stddeviatie9
)
AS
SELECT prs_perslid_naam_full,
COUNT (fac_perfmon_sample_waarde1),
ROUND (AVG (fac_perfmon_sample_waarde1)),
MIN (fac_perfmon_sample_waarde1),
MAX (fac_perfmon_sample_waarde1),
ROUND (STDDEV (fac_perfmon_sample_waarde1)),
ROUND (AVG (fac_perfmon_sample_waarde2)),
MIN (fac_perfmon_sample_waarde2),
MAX (fac_perfmon_sample_waarde2),
ROUND (STDDEV (fac_perfmon_sample_waarde2)),
ROUND (AVG (fac_perfmon_sample_waarde3)),
MIN (fac_perfmon_sample_waarde3),
MAX (fac_perfmon_sample_waarde3),
ROUND (STDDEV (fac_perfmon_sample_waarde3)),
ROUND (AVG (fac_perfmon_sample_waarde4)),
MIN (fac_perfmon_sample_waarde4),
MAX (fac_perfmon_sample_waarde4),
ROUND (STDDEV (fac_perfmon_sample_waarde4)),
ROUND (AVG (fac_perfmon_sample_waarde5)),
MIN (fac_perfmon_sample_waarde5),
MAX (fac_perfmon_sample_waarde5),
ROUND (STDDEV (fac_perfmon_sample_waarde5)),
ROUND (AVG (fac_perfmon_sample_waarde6)),
MIN (fac_perfmon_sample_waarde6),
MAX (fac_perfmon_sample_waarde6),
ROUND (STDDEV (fac_perfmon_sample_waarde6)),
ROUND (AVG (fac_perfmon_sample_waarde7)),
MIN (fac_perfmon_sample_waarde7),
MAX (fac_perfmon_sample_waarde7),
ROUND (STDDEV (fac_perfmon_sample_waarde7)),
ROUND (AVG (fac_perfmon_sample_waarde8)),
MIN (fac_perfmon_sample_waarde8),
MAX (fac_perfmon_sample_waarde8),
ROUND (STDDEV (fac_perfmon_sample_waarde8)),
ROUND (AVG (fac_perfmon_sample_waarde9)),
MIN (fac_perfmon_sample_waarde9),
MAX (fac_perfmon_sample_waarde9),
ROUND (STDDEV (fac_perfmon_sample_waarde9))
FROM fac_perfmon_sample s, prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key(+) = s.prs_perslid_key
GROUP BY prs_perslid_naam_full;
/*
*
*
* 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
* als achtereenvolgens perslid_key, perslid_key, subject, srtnotificatiecode, entiteitkey
* 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)
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
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 DATE_TO_CHAR(sysdate, 'D') 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
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 DATE_TO_CHAR(sysdate, 'D') 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 DATE_TO_CHAR(sysdate, 'D') 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)
AS
SELECT '', '', c.prs_perslid_key_beh,
'Rapp<70>l: Contract '
|| c.cnt_contract_nummer_intern
|| ' ('
|| 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
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 (SYSDATE BETWEEN cnt.cnt_getrappeldatum (c.cnt_contract_key) AND cnt.cnt_getopzegdatum (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
)
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
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;
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
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
-- status=2: mail, status=4: sms (yet unused)
CREATE_VIEW(fac_v_orderqueue, 0)
(prs_bedrijf_key, xmlnode, key, status, reference, sender)
AS
SELECT b.prs_bedrijf_key, 'bestelopdr', o.bes_bestelopdr_key, 2, o.bes_bestelopdr_id, alg_locatie_email
FROM prs_bedrijf b, bes_bestelopdr o, mld_adres ma, alg_locatie l
WHERE b.prs_bedrijf_key = o.prs_bedrijf_key
AND o.mld_adres_key_lev = ma.mld_adres_key
AND ma.alg_locatie_key = l.alg_locatie_key(+)
AND b.prs_bedrijf_order_adres IS NOT NULL
AND o.bes_bestelopdr_status = 3
UNION ALL
SELECT b.prs_bedrijf_key, 'opdracht', o.mld_opdr_key, 2, o.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr,
COALESCE (l1.alg_locatie_email, l2.alg_locatie_email)
FROM prs_bedrijf b, mld_opdr o, mld_melding m, mld_adres ma, alg_locatie l1, alg_locatie l2
WHERE b.prs_bedrijf_key = o.mld_uitvoerende_keys
AND o.mld_melding_key = m.mld_melding_key
AND m.mld_adres_key = ma.mld_adres_key(+)
AND ma.alg_locatie_key = l1.alg_locatie_key(+)
AND m.mld_alg_locatie_key = l2.alg_locatie_key(+)
AND b.prs_bedrijf_mldorder_adres IS NOT NULL
AND (o.mld_statusopdr_key = 5 OR o.mld_statusopdr_key = 4)
AND o.mld_opdr_teverzenden = 1
AND o.mld_opdr_verzonden IS NULL;
// 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 (m.mld_melding_omschrijving) 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)
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)) 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_QVW_ALLAUTH, 0)(PRS_PERSLID_KEY, FAC_QLIKVIEW_QVW_NAME, FAC_QLIKVIEW_OMSCHRIJVING, AANTAL)
AS
SELECT pp.prs_perslid_key, upper(fac_qlikview_qvw_name) fac_qlikview_qvw_name, fac_qlikview_omschrijving, COUNT (*) aantal
FROM prs_v_aanwezigperslid pp, fac_qlikview fqv, fac_v_webgebruiker w
WHERE w.fac_functie_key = fqv.fac_functie_key
AND w.prs_perslid_key = pp.prs_perslid_key
GROUP BY pp.prs_perslid_key, fac_qlikview_qvw_name, fac_qlikview_omschrijving;
CREATE_VIEW(fac_v_qvw_algauth, 0)(prs_perslid_key, alg_locatie_key, fac_qlikview_qvw_name)
AS
SELECT pp.prs_perslid_key, fml.alg_locatie_key,
UPPER (fqv.fac_qlikview_qvw_name)
FROM (SELECT alg_locatie_key, prs_perslid_key, -1 niveau
FROM alg_v_aanweziglocatie, PRS_PERSLID
UNION
SELECT alg_locatie_key, prs_perslid_key, niveau
FROM fac_v_my_locations) fml,
prs_v_aanwezigperslid pp,
fac_qlikview fqv,
(SELECT prs_perslid_key, fac_functie_key,
COALESCE (MIN (fac_gebruiker_alg_level_read),
9
) autlevel
FROM fac_v_webgebruiker w
GROUP BY prs_perslid_key, fac_functie_key) thelevel
WHERE thelevel.prs_perslid_key = fml.prs_perslid_key
AND thelevel.fac_functie_key = fqv.fac_functie_key
AND fml.prs_perslid_key = pp.prs_perslid_key
AND (niveau = autlevel OR autlevel = -1)
GROUP BY pp.prs_perslid_key, fml.alg_locatie_key,
fqv.fac_qlikview_qvw_name;
CREATE_VIEW(fac_v_qvw_prsauth, 0)(prs_perslid_key, prs_bedrijf_key, fac_qlikview_qvw_name)
AS
-- Niveau -1, 'Alle' bedrijven
SELECT prs_perslid_key, prs_bedrijf_key, UPPER (fqv.fac_qlikview_qvw_name)
FROM prs_bedrijf,
fac_qlikview fqv,
(SELECT prs_perslid_key, fac_functie_key,
MIN (fac_gebruiker_alg_level_read) autlevel
FROM fac_v_webgebruiker w
GROUP BY prs_perslid_key, fac_functie_key) thelevel
WHERE autlevel = -1 AND thelevel.fac_functie_key = fqv.fac_functie_key
UNION ALL -- Niveau 0 of hoger, 'Eigen' bedrijf
SELECT pp.prs_perslid_key, prs_bedrijf_key,
UPPER (fqv.fac_qlikview_qvw_name)
FROM prs_v_afdeling pva,
prs_perslid pp,
fac_qlikview fqv,
(SELECT prs_perslid_key, fac_functie_key,
MIN (fac_gebruiker_alg_level_read) autlevel
FROM fac_v_webgebruiker w
GROUP BY prs_perslid_key, fac_functie_key) thelevel
WHERE autlevel > -1
AND thelevel.prs_perslid_key = pp.prs_perslid_key
AND thelevel.fac_functie_key = fqv.fac_functie_key
AND pva.prs_afdeling_key = pp.prs_afdeling_key;
CREATE_VIEW(fac_v_qvw_insauth, 0)(prs_perslid_key, ins_discipline_key, fac_qlikview_qvw_name)
AS
SELECT prs_perslid_key, ins_discipline_key,
UPPER (fqv.fac_qlikview_qvw_name)
FROM fac_qlikview fqv, fac_v_webgebruiker w
WHERE w.fac_functie_key = fqv.fac_functie_key;
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
)
AS
SELECT (SELECT ins_discipline_omschrijving
FROM ins_tab_discipline d
WHERE d.ins_discipline_key = res_discipline_key),
res_artikel_omschrijving,
TO_CHAR (res_artikel_key),
(SELECT ins_discipline_omschrijving
FROM ins_tab_discipline d
WHERE d.ins_discipline_key = res_discipline_key),
(SELECT prs_kostensoort_oms
FROM ins_tab_discipline d, prs_kostensoort k
WHERE d.ins_discipline_key = res_discipline_key
AND d.prs_kostensoort_key = k.prs_kostensoort_key),
res_artikel_nr,
res_artikel_omschrijving,
res_artikel_eenheid,
TO_CHAR (res_artikel_prijs),
TO_CHAR (res_artikel_prijs_vast),
TO_CHAR (res_artikel_inkoopprijs),
TO_CHAR (res_artikel_kostenpersoneel),
TO_CHAR (res_artikel_kostenalgemeen),
TO_CHAR (res_artikel_btw),
res_artikel_opmerking,
res_artikel_groep,
TO_CHAR (res_artikel_volgnummer),
TO_CHAR (res_artikel_ingangsdatum, 'YYYYMMDD'),
TO_CHAR (res_artikel_vervaldatum, 'YYYYMMDD')
FROM res_v_aanwezigartikel;
/* 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';
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,
DECODE (imp_log_status, 'F', 'Fatal', 'E', 'Error', 'W', 'Warning', 'I', 'Informative', '-') fclt_f_niveau,
imp_log_omschrijving fclt_f_omschrijving
FROM imp_log
WHERE imp_log_applicatie = '$PutOrders$' AND imp_log_datum > SYSDATE - 10;
CREATE_VIEW (fac_v_lcrap_fe_vs_key, 0)
(
tijdstip,
fe_users,
key_users,
recent_login
)
AS
SELECT TO_CHAR (SYSDATE, 'dd-mm-yyyy hh24:mi:ss') tijdstip,
SUM (x.login) - SUM (a.key_user) fe_users,
SUM (a.key_user) key_users,
SUM (x.recent_login) recent_login
FROM (SELECT p.prs_perslid_key,
COALESCE (p.prs_perslid_oslogin,
p.prs_perslid_oslogin2)
oslogin,
1 login, -- 1=user heeft een login
DECODE (
SIGN(TRUNC(COALESCE (p.prs_perslid_login + 92,
SYSDATE - 1))
- TRUNC (SYSDATE)),
-1,
0,
1 -- 1=user heeft laatste 92 dagen ingelogd
)
recent_login
FROM prs_v_aanwezigperslid p
WHERE EXISTS -- Op basis van login + groep + rechten
(SELECT 1
FROM fac_v_rap_groeprechten
WHERE fclt_f_login =
COALESCE (p.prs_perslid_oslogin,
p.prs_perslid_oslogin2)))
x
--WHERE COALESCE (p.prs_perslid_oslogin, -- "Sec" op login
-- p.prs_perslid_oslogin2) IS NOT NULL) x
--AND EXISTS -- ...en in groep (maar misschien zonder rechten)
-- (SELECT 1
-- FROM fac_gebruikersgroep
-- WHERE prs_perslid_key =
-- p.prs_perslid_key)) x
LEFT JOIN -- 1=user heeft rechten op key-codes=notFE-codes
(SELECT DISTINCT fclt_f_login, 1 key_user
FROM fac_v_rap_groeprechten gr, fac_functie f
WHERE gr.fclt_f_funcode = f.fac_functie_code
AND f.fac_functie_groep IN (1, 2)
) a
ON x.oslogin = a.fclt_f_login;
CREATE_VIEW (fac_v_lcrap_key_stats, 0)
(
prs_perslid_key,
prs_perslid_naam_full,
lev_write_cnt,
max_alg_write,
max_prs_write,
lev_read_cnt,
max_alg_read,
max_prs_read,
aut_groep_cnt
)
AS
SELECT x.prs_perslid_key,
x.prs_perslid_naam_full,
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.aut_groep_cnt
FROM ( SELECT fn.prs_perslid_key,
fn.prs_perslid_naam_full,
COUNT (DISTINCT gg.fac_groep_key) aut_groep_cnt
FROM prs_v_aanwezigperslid p,
prs_v_perslid_fullnames fn,
fac_gebruikersgroep gg
WHERE p.prs_perslid_oslogin IS NOT NULL
AND p.prs_perslid_key = fn.prs_perslid_key
AND p.prs_perslid_key = gg.prs_perslid_key
GROUP BY fn.prs_perslid_key, fn.prs_perslid_naam_full) x
LEFT JOIN
( SELECT gg.prs_perslid_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_gebruikersgroep gg,
fac_groeprechten gr,
fac_functie f
WHERE gg.fac_groep_key = gr.fac_groep_key
AND gr.fac_functie_key = f.fac_functie_key
AND fac_functie_groep IN (1, 2)
AND (gr.fac_gebruiker_alg_level_write <> 9
OR gr.fac_gebruiker_prs_level_write <> 9)
GROUP BY gg.prs_perslid_key) y
ON x.prs_perslid_key = y.prs_perslid_key
LEFT JOIN
( SELECT gg.prs_perslid_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_gebruikersgroep gg,
fac_groeprechten gr,
fac_functie f
WHERE gg.fac_groep_key = gr.fac_groep_key
AND gr.fac_functie_key = f.fac_functie_key
AND fac_functie_groep IN (1, 2)
AND (gr.fac_gebruiker_alg_level_read <> 9
OR gr.fac_gebruiker_prs_level_read <> 9)
GROUP BY gg.prs_perslid_key) z
ON x.prs_perslid_key = z.prs_perslid_key
WHERE COALESCE (y.lev_write_cnt, 0) > 0
OR COALESCE (z.lev_read_cnt, 0) > 0;
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
OR 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
OR 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);
/* 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,
sd.ins_srtdiscipline_prefix || '-' || d.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=fo&autosearch=1&disc_key_str=' || ins_discipline_key,
ins_discipline_key
FROM (SELECT d.ins_discipline_key,
sd.ins_srtdiscipline_prefix || '-' || d.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 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=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)
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_urgentie,
'UREN'
)
- 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_volgnr volgnr,
fac_usrdata_prijs prijs,
fac_usrdata_vervaldatum vervaldatum
FROM fac_usrdata ud, fac_usrtab ut
WHERE 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;
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_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_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,
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_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_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,
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_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_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,
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
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,
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);
-- Rapporten worden niet standaard aangemaakt bij gebruikerrs
CREATE_VIEW(fac_v_rap_lcl_lang, 0) AS
SELECT nl.fac_locale_xsl_label FCLT_F_LABEL,
nl.fac_locale_xsl_tekst FCLT_F_NL,
en.fac_locale_xsl_tekst FCLT_F_EN,
de.fac_locale_xsl_tekst FCLT_F_DE,
fr.fac_locale_xsl_tekst FCLT_F_FR
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 nl.fac_locale_xsl_module = 'ASP'
ORDER BY nl.fac_locale_xsl_label;
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';
REGISTERRUN('$Workfile: FAC_VIE.SRC $','$Revision: 96 $')