Files
Database/ALG/ALG_VIE.SRC
Jos Groot Lipman f64ec0c724 FSN#1069
svn path=/Database/trunk/; revision=8855
2004-11-09 12:31:20 +00:00

1048 lines
36 KiB
Plaintext

/*
* Revisie:
*
* 9-04-2003 RL alg_v_ruimte_gegevens.alg_srtruimte_omschrijving changed
*
*/
#include "comsql.h"
DEFINIEER_VIEW_AANWEZIG(alg_regio, alg_regio_verwijder,
alg_v_aanwezigregio,ALG_NORMAAL_PRIVILEGE);
DEFINIEER_VIEW_AANWEZIG(alg_district, alg_district_verwijder,
alg_v_aanwezigdistrict,ALG_NORMAAL_PRIVILEGE);
DEFINIEER_VIEW_AANWEZIG(alg_locatie, alg_locatie_verwijder,
alg_v_aanweziglocatie,ALG_NORMAAL_PRIVILEGE);
DEFINIEER_VIEW_AANWEZIG(alg_srtgebouw, alg_srtgebouw_verwijder,
alg_v_aanwezigsrtgebouw,ALG_BIBLIOTHEEK_PRIVILEGE);
// 10-07-97 AH #1367, Geen controle op aanwezigheid Locatie
DEFINIEER_VIEW_AANWEZIG(alg_gebouw, alg_gebouw_verwijder,
alg_v_aanweziggebouw,ALG_NORMAAL_PRIVILEGE);
// AND
// alg_locatie_key IN (SELECT alg_locatie_key
// FROM alg_v_aanweziglocatie);
// 10-07-97 AH #1367, Geen controle op aanwezigheid Gebouw
DEFINIEER_VIEW_AANWEZIG(alg_verdieping, alg_verdieping_verwijder,
alg_v_aanwezigverdieping,ALG_NORMAAL_PRIVILEGE);
// AND
// alg_gebouw_key IN (SELECT alg_gebouw_key
// FROM alg_v_aanweziggebouw);
DEFINIEER_VIEW_AANWEZIG(alg_srtruimte, alg_srtruimte_verwijder,
alg_v_aanwezigsrtruimte,ALG_BIBLIOTHEEK_PRIVILEGE);
// 10-07-97 AH #1367, Geen controle op aanwezigheid Verdieping
DEFINIEER_VIEW_AANWEZIG(alg_ruimte, alg_ruimte_verwijder,
alg_v_aanwezigruimte,ALG_NORMAAL_PRIVILEGE);
// AND
// alg_verdieping_key IN (SELECT alg_verdieping_key
// FROM alg_v_aanwezigverdieping);
// 10-07-97 AH #1367, Geen controle op aanwezigheid Locatie
DEFINIEER_VIEW_AANWEZIG(alg_terreinsector, alg_terreinsector_verwijder,
alg_v_aanwezigterreinsector,ALG_NORMAAL_PRIVILEGE);
// AND
// alg_locatie_key IN (SELECT alg_locatie_key
// FROM alg_v_aanweziglocatie);
DEFINIEER_VIEW_AANWEZIG(alg_kostenpost,
alg_kostenpost_verwijder,
alg_v_aanwezigkostenpost,
ALG_NORMAAL_PRIVILEGE);
CREATE_VIEW(alg_v_district_gegevens,ALG_NORMAAL_PRIVILEGE) AS
SELECT ALG_R.alg_regio_key, ALG_R.alg_regio_omschrijving,
ALG_R.alg_regio_upper, ALG_D.alg_district_key,
ALG_D.alg_district_omschrijving, ALG_D.alg_district_upper
FROM alg_regio ALG_R, alg_v_aanwezigdistrict ALG_D
WHERE ALG_R.alg_regio_key = ALG_D.alg_regio_key;
CREATE_VIEW(alg_v_locatie_gegevens,ALG_NORMAAL_PRIVILEGE)
(alg_regio_key,
alg_regio_omschrijving,
alg_regio_upper,
alg_district_key,
alg_district_omschrijving,
alg_district_upper,
alg_locatie_key,
alg_locatie_omschrijving,
alg_locatie_code,
alg_locatie_upper,
alg_locatie_tekening) AS
SELECT ALG_R.alg_regio_key,
ALG_R.alg_regio_omschrijving,
ALG_R.alg_regio_upper,
ALG_D.alg_district_key,
ALG_D.alg_district_omschrijving,
ALG_D.alg_district_upper,
ALG_L.alg_locatie_key,
ALG_L.alg_locatie_omschrijving,
ALG_L.alg_locatie_code,
ALG_L.alg_locatie_upper,
ALG_L.alg_locatie_tekening
FROM alg_regio ALG_R, alg_district ALG_D,
alg_v_aanweziglocatie ALG_L
WHERE ALG_D.alg_district_key = ALG_L.alg_district_key AND
ALG_R.alg_regio_key = ALG_D.alg_regio_key;
#ifdef HOORTNIETBIJFACILITOR
CREATE_VIEW(alg_v_locatie_gegevens_2,ALG_NORMAAL_PRIVILEGE)
(alg_regio_key_2,
alg_regio_omschrijving,
alg_regio_upper,
alg_district_key_2,
alg_district_omschrijving,
alg_district_upper,
alg_locatie_key,
alg_locatie_omschrijving,
alg_locatie_code,
alg_locatie_upper,
alg_locatie_tekening) AS
SELECT ALG_R.alg_regio_key,
ALG_R.alg_regio_omschrijving,
ALG_R.alg_regio_upper,
ALG_L.alg_district_key_2,
ALG_D.alg_district_omschrijving,
ALG_D.alg_district_upper,
ALG_L.alg_locatie_key,
ALG_L.alg_locatie_omschrijving,
ALG_L.alg_locatie_code,
ALG_L.alg_locatie_upper,
ALG_L.alg_locatie_tekening
FROM alg_regio ALG_R, alg_district ALG_D,
alg_v_aanweziglocatie ALG_L
WHERE ALG_D.alg_district_key = ALG_L.alg_district_key_2 AND
ALG_R.alg_regio_key = ALG_D.alg_regio_key
UNION
SELECT TO_NUMBER(NULL),
NULL,
NULL,
TO_NUMBER(NULL),
NULL,
NULL,
ALG_L.alg_locatie_key,
ALG_L.alg_locatie_omschrijving,
ALG_L.alg_locatie_code,
ALG_L.alg_locatie_upper,
ALG_L.alg_locatie_tekening
FROM alg_v_aanweziglocatie ALG_L
WHERE ALG_L.alg_district_key_2 IS NULL;
#endif //HOORTNIETBIJFACILITOR
CREATE_VIEW(alg_v_gebouw_gegevens,ALG_NORMAAL_PRIVILEGE) AS
SELECT ALG_L.alg_locatie_key, ALG_L.alg_locatie_omschrijving,
ALG_L.alg_locatie_code, ALG_L.alg_locatie_upper,
ALG_L.alg_locatie_tekening,
ALG_G.alg_gebouw_key, ALG_G.alg_gebouw_omschrijving,
ALG_G.alg_gebouw_code, ALG_G.alg_gebouw_naam,
ALG_G.alg_gebouw_acadkey,
ALG_G.alg_gebouw_upper, ALG_S.alg_srtgebouw_key,
ALG_S.alg_srtgebouw_omschrijving,
ALG_G.ALG_GEBOUW_BRUTO_VLOEROPP,
ALG_G.ALG_GEBOUW_INHOUD,
ALG_G.ALG_GEBOUW_OMTREK,
ALG_G.ALG_GEBOUW_GETEKEND
FROM alg_locatie ALG_L, alg_v_aanweziggebouw ALG_G,
alg_v_aanwezigsrtgebouw ALG_S
WHERE ALG_L.alg_locatie_key = ALG_G.alg_locatie_key AND
ALG_G.alg_srtgebouw_key = ALG_S.alg_srtgebouw_key (+);
CREATE_VIEW(alg_v_verdieping_gegevens,ALG_NORMAAL_PRIVILEGE) AS
SELECT ALG_L.alg_locatie_key, ALG_L.alg_district_key,
ALG_L.alg_locatie_omschrijving, ALG_L.alg_locatie_code,
ALG_L.alg_locatie_upper, ALG_G.alg_gebouw_key,
ALG_G.alg_srtgebouw_key, ALG_G.alg_gebouw_omschrijving,
ALG_G.alg_gebouw_upper, ALG_V.alg_verdieping_key,
ALG_V.alg_verdieping_omschrijving, ALG_V.alg_verdieping_upper,
ALG_V.alg_verdieping_volgnr, ALG_V.alg_verdieping_code,
ALG_V.alg_verdieping_tekening,
ALG_V.alg_verdieping_in_bewerking
FROM alg_locatie ALG_L, alg_gebouw ALG_G,
alg_v_aanwezigverdieping ALG_V
WHERE
ALG_G.alg_gebouw_key = ALG_V.alg_gebouw_key AND
ALG_L.alg_locatie_key = ALG_G.alg_locatie_key;
CREATE_VIEW(alg_v_srtvloer, ALG_NORMAAL_PRIVILEGE)
(alg_srtvloer_key,
alg_srtvloer_omschrijving,
alg_srtvloer_upper,
alg_srtvloer_aanmaak,
alg_srtvloer_verwijder) AS
SELECT fac_usrdata_key,
fac_usrdata_omschr,
fac_usrdata_upper,
fac_usrdata_aanmaak,
fac_usrdata_verwijder
FROM fac_usrdata FAC_D, alg_refkenmerk ALG_R,
alg_kenmerk ALG_K
WHERE FAC_D.fac_usrtab_key = ALG_R.fac_usrtab_key
AND ALG_R.alg_refkenmerk_key = ALG_K.alg_refkenmerk_key
AND ALG_K.alg_kenmerk_key = 2 /* systeemkenmerk 2 = Vloersoort */
;
DEFINIEER_VIEW_AANWEZIG(alg_v_srtvloer, alg_srtvloer_verwijder,
alg_v_aanwezigsrtvloer,ALG_NORMAAL_PRIVILEGE);
CREATE_VIEW(alg_v_ruimte_gegevens,ALG_NORMAAL_PRIVILEGE) AS
SELECT ALG_L.alg_locatie_key, ALG_L.alg_district_key,
ALG_L.alg_locatie_omschrijving, ALG_L.alg_locatie_code,
ALG_L.alg_locatie_upper,
ALG_G.alg_gebouw_key, ALG_G.alg_srtgebouw_key,
ALG_G.alg_gebouw_omschrijving, ALG_G.alg_gebouw_upper,
ALG_V.alg_verdieping_key,
ALG_V.alg_verdieping_omschrijving, ALG_V.alg_verdieping_upper,
ALG_V.alg_verdieping_volgnr, ALG_V.alg_verdieping_code,
ALG_V.alg_verdieping_tekening, ALG_R.alg_ruimte_key,
ALG_R.alg_srtruimte_key, ALG_R.alg_ruimte_nr,
ALG_R.alg_ruimte_acadkey,
ALG_R.alg_ruimte_omschrijving, ALG_R.alg_ruimte_upper_nr,
(select ALG_S.alg_srtruimte_omschrijving
from alg_v_aanwezigsrtruimte ALG_S
where ALG_R.alg_srtruimte_key = ALG_S.alg_srtruimte_key)
alg_srtruimte_omschrijving,
ALG_R.alg_ruimte_vloer_omschrijving,
ALG_R.alg_ruimte_bruto_vloeropp,
ALG_R.alg_ruimte_opp_gevelglas,
ALG_R.alg_ruimte_opp_separatieglas,
ALG_R.alg_ruimte_opp_gevelbekleding,
ALG_L.alg_locatie_code ||' - '
|| ALG_G.alg_gebouw_code ||' - '
|| ALG_V.alg_verdieping_code ||' - '
|| ALG_R.alg_ruimte_nr ALG_RUIMTE_AANDUIDING,
ALG_R.alg_ruimte_omtrek,
ALG_R.alg_ruimte_inhoud,
ALG_R.alg_ruimte_getekend
,ALG_R.ALG_RUIMTE_OPMERKING
FROM alg_locatie ALG_L, alg_gebouw ALG_G,
alg_verdieping ALG_V, alg_v_aanwezigruimte ALG_R
WHERE
ALG_V.alg_verdieping_key = ALG_R.alg_verdieping_key AND
ALG_G.alg_gebouw_key = ALG_V.alg_gebouw_key AND
ALG_L.alg_locatie_key = ALG_G.alg_locatie_key;
/*
* View met alle sleutels van de gemeenschappelijke sequence
* alg_s_alg_onroerendgoed_keys, nl. alg_gebouw, alg_verdieping, alg_ruimte en
* alg_terreinsector.
*/
CREATE_VIEW(alg_v_onroerendgoed,ALG_NORMAAL_PRIVILEGE) (alg_onroerendgoed_keys,
alg_ruimte_key,
alg_verdieping_key,
alg_gebouw_key,
alg_terreinsector_key,
alg_type) AS
SELECT ALG_R.alg_ruimte_key,
ALG_R.alg_ruimte_key,
ALG_R.alg_verdieping_key,
ALG_V.alg_gebouw_key,
to_number(NULL),
'R'
FROM alg_v_aanwezigruimte ALG_R, alg_verdieping ALG_V
WHERE ALG_R.alg_verdieping_key =
ALG_V.alg_verdieping_key
UNION ALL
SELECT ALG_V.alg_verdieping_key,
to_number(NULL),
ALG_V.alg_verdieping_key,
ALG_V.alg_gebouw_key,
to_number(NULL),
'V'
FROM alg_v_aanwezigverdieping ALG_V
UNION ALL
SELECT ALG_G.alg_gebouw_key,
to_number(NULL),
to_number(NULL),
ALG_G.alg_gebouw_key,
to_number(NULL),
'G'
FROM alg_v_aanweziggebouw ALG_G
UNION ALL
SELECT ALG_T.alg_terreinsector_key,
to_number(NULL),
to_number(NULL),
to_number(NULL),
ALG_T.alg_terreinsector_key,
'T'
FROM alg_v_aanwezigterreinsector ALG_T;
CREATE_VIEW(alg_v_allonroerendgoed,ALG_NORMAAL_PRIVILEGE) (alg_onroerendgoed_keys,
alg_ruimte_key,
alg_verdieping_key,
alg_gebouw_key,
alg_terreinsector_key,
alg_locatie_key,
alg_type) AS
SELECT ALG_R.alg_ruimte_key,
ALG_R.alg_ruimte_key,
ALG_R.alg_verdieping_key,
ALG_V.alg_gebouw_key,
to_number(NULL),
ALG_G.alg_locatie_key,
'R'
FROM alg_ruimte ALG_R, alg_verdieping ALG_V, alg_gebouw ALG_G
WHERE ALG_R.alg_verdieping_key = ALG_V.alg_verdieping_key
AND ALG_V.alg_gebouw_key = ALG_G.alg_gebouw_key
UNION
SELECT ALG_V.alg_verdieping_key,
to_number(NULL),
ALG_V.alg_verdieping_key,
ALG_V.alg_gebouw_key,
to_number(NULL),
ALG_G.alg_locatie_key,
'V'
FROM alg_verdieping ALG_V, alg_gebouw ALG_G
WHERE ALG_V.alg_gebouw_key = ALG_G.alg_gebouw_key
UNION
SELECT ALG_G.alg_gebouw_key,
to_number(NULL),
to_number(NULL),
ALG_G.alg_gebouw_key,
to_number(NULL),
ALG_G.alg_locatie_key,
'G'
FROM alg_gebouw ALG_G
UNION
SELECT ALG_T.alg_terreinsector_key,
to_number(NULL),
to_number(NULL),
to_number(NULL),
ALG_T.alg_terreinsector_key,
ALG_T.alg_locatie_key,
'T'
FROM alg_terreinsector ALG_T;
CREATE_VIEW(alg_v_allonrgoed_gegevens,ALG_NORMAAL_PRIVILEGE)
(alg_onroerendgoed_keys,
alg_onroerendgoed_code,
alg_onroerendgoed_omschrijving,
alg_ruimte_key,
alg_ruimte_nr,
alg_ruimte_omschrijving,
alg_verdieping_key,
alg_verdieping_code,
alg_verdieping_omschrijving,
alg_gebouw_key,
alg_gebouw_code,
alg_gebouw_naam,
alg_terreinsector_key,
alg_terreinsector_code,
alg_terreinsector_naam,
alg_type) AS
SELECT ALG_R.alg_ruimte_key,
ALG_R.alg_ruimte_nr,
ALG_R.alg_ruimte_omschrijving,
ALG_R.alg_ruimte_key,
ALG_R.alg_ruimte_nr,
ALG_R.alg_ruimte_omschrijving,
ALG_R.alg_verdieping_key,
ALG_V.alg_verdieping_code,
ALG_V.alg_verdieping_omschrijving,
ALG_G.alg_gebouw_key,
ALG_G.alg_gebouw_code,
ALG_G.alg_gebouw_naam,
to_number(NULL),
NULL,
NULL,
'R'
FROM alg_ruimte ALG_R, alg_verdieping ALG_V, alg_gebouw ALG_G
WHERE ALG_R.alg_verdieping_key = ALG_V.alg_verdieping_key
AND ALG_V.alg_gebouw_key = ALG_G.alg_gebouw_key
UNION
SELECT ALG_V.alg_verdieping_key,
ALG_V.alg_verdieping_code,
ALG_V.alg_verdieping_omschrijving,
to_number(NULL),
NULL,
NULL,
ALG_V.alg_verdieping_key,
ALG_V.alg_verdieping_code,
ALG_V.alg_verdieping_omschrijving,
ALG_G.alg_gebouw_key,
ALG_G.alg_gebouw_code,
ALG_G.alg_gebouw_naam,
to_number(NULL),
NULL,
NULL,
'V'
FROM alg_verdieping ALG_V, alg_gebouw ALG_G
WHERE ALG_V.alg_gebouw_key = ALG_G.alg_gebouw_key
UNION
SELECT ALG_G.alg_gebouw_key,
ALG_G.alg_gebouw_code,
ALG_G.alg_gebouw_naam,
to_number(NULL),
NULL,
NULL,
to_number(NULL),
NULL,
NULL,
ALG_G.alg_gebouw_key,
ALG_G.alg_gebouw_code,
ALG_G.alg_gebouw_naam,
to_number(NULL),
NULL,
NULL,
'G'
FROM alg_gebouw ALG_G
UNION
SELECT ALG_T.alg_terreinsector_key,
ALG_T.alg_terreinsector_code,
ALG_T.alg_terreinsector_naam,
to_number(NULL),
NULL,
NULL,
to_number(NULL),
NULL,
NULL,
to_number(NULL),
NULL,
NULL,
ALG_T.alg_terreinsector_key,
ALG_T.alg_terreinsector_code,
ALG_T.alg_terreinsector_naam,
'T'
FROM alg_terreinsector ALG_T;
CREATE_VIEW(alg_v_onroerendgoed_gegevens,ALG_NORMAAL_PRIVILEGE)
(alg_onroerendgoed_keys,
alg_onroerendgoed_code,
alg_onroerendgoed_omschrijving,
alg_ruimte_key,
alg_ruimte_nr,
alg_ruimte_omschrijving,
alg_verdieping_key,
alg_verdieping_code,
alg_verdieping_omschrijving,
alg_gebouw_key,
alg_gebouw_code,
alg_gebouw_naam,
alg_terreinsector_key,
alg_terreinsector_code,
alg_terreinsector_naam,
alg_type,
alg_locatie_key ) AS
SELECT ALG_R.alg_ruimte_key,
ALG_R.alg_ruimte_nr,
ALG_R.alg_ruimte_omschrijving,
ALG_R.alg_ruimte_key,
ALG_R.alg_ruimte_nr,
ALG_R.alg_ruimte_omschrijving,
ALG_R.alg_verdieping_key,
ALG_V.alg_verdieping_code,
ALG_V.alg_verdieping_omschrijving,
ALG_G.alg_gebouw_key,
ALG_G.alg_gebouw_code,
ALG_G.alg_gebouw_naam,
to_number(NULL),
NULL,
NULL,
'R',
ALG_G.alg_locatie_key
FROM alg_v_aanwezigruimte ALG_R, alg_verdieping ALG_V, alg_gebouw ALG_G
WHERE ALG_R.alg_verdieping_key = ALG_V.alg_verdieping_key
AND ALG_V.alg_gebouw_key = ALG_G.alg_gebouw_key
UNION
SELECT ALG_V.alg_verdieping_key,
ALG_V.alg_verdieping_code,
ALG_V.alg_verdieping_omschrijving,
to_number(NULL),
NULL,
NULL,
ALG_V.alg_verdieping_key,
ALG_V.alg_verdieping_code,
ALG_V.alg_verdieping_omschrijving,
ALG_G.alg_gebouw_key,
ALG_G.alg_gebouw_code,
ALG_G.alg_gebouw_naam,
to_number(NULL),
NULL,
NULL,
'V',
ALG_G.alg_locatie_key
FROM alg_v_aanwezigverdieping ALG_V, alg_gebouw ALG_G
WHERE ALG_V.alg_gebouw_key = ALG_G.alg_gebouw_key
UNION
SELECT ALG_G.alg_gebouw_key,
ALG_G.alg_gebouw_code,
ALG_G.alg_gebouw_naam,
to_number(NULL),
NULL,
NULL,
to_number(NULL),
NULL,
NULL,
ALG_G.alg_gebouw_key,
ALG_G.alg_gebouw_code,
ALG_G.alg_gebouw_naam,
to_number(NULL),
NULL,
NULL,
'G',
ALG_G.alg_locatie_key
FROM alg_v_aanweziggebouw ALG_G
UNION
SELECT ALG_T.alg_terreinsector_key,
ALG_T.alg_terreinsector_code,
ALG_T.alg_terreinsector_naam,
to_number(NULL),
NULL,
NULL,
to_number(NULL),
NULL,
NULL,
to_number(NULL),
NULL,
NULL,
ALG_T.alg_terreinsector_key,
ALG_T.alg_terreinsector_code,
ALG_T.alg_terreinsector_naam,
'T',
ALG_T.alg_locatie_key
FROM alg_v_aanwezigterreinsector ALG_T;
CREATE_VIEW(alg_v_alg_ruimte_verdieping,ALG_NORMAAL_PRIVILEGE)
AS SELECT ALG_R.alg_ruimte_key
, ALG_V.alg_verdieping_key
FROM alg_ruimte ALG_R,
alg_verdieping ALG_V
WHERE ALG_R.alg_verdieping_key = ALG_V.alg_verdieping_key
AND ALG_R.alg_ruimte_verwijder IS NULL;
#ifdef MLD
/* View om de geraamde kosten te bepalen voor personeelsleden met
* openstaande opdrachten per kostenpost.
* Geraamde kosten zijn het uurloon en materiaalkosten van nog
* uitgegeven of afgemelde opdrachten. (Wordt m.i. niet gebruikt -PF)
*/
CREATE_VIEW(alg_v_mld_kostenpost_perslid, ALG_NORMAAL_PRIVILEGE)
(alg_kostenpost_key,
alg_kostenpost_geraamd) AS
SELECT MLD_O.mld_alg_kostenpost_key,
SUM(NVL(MLD_O.mld_opdr_uren,0)*NVL(PRS_P.prs_perslid_uurloon,0)) +
SUM(NVL(MLD_O.mld_opdr_materiaal,0))
FROM MLD_OPDR MLD_O, MLD_STATUSOPDR MLD_S, PRS_PERSLID PRS_P
WHERE MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key
AND (MLD_S.mld_statusopdr_upper = 'MLD_UITGEGEVEN'
OR MLD_S.mld_statusopdr_upper = 'MLD_AFGEMELD')
AND MLD_O.mld_uitvoerende_keys = PRS_P.prs_perslid_key
GROUP BY MLD_O.mld_alg_kostenpost_key;
/* View om de geraamde kosten te bepalen voor bedrijven met
* openstaande opdachten per kostenpost.
* Geraamde kosten zijn het uurloon en materiaalkosten van nog
* uitgegeven of afgemelde opdrachten. (Wordt m.i. niet gebruikt -PF)
*/
CREATE_VIEW(alg_v_mld_kostenpost_bedrijf, ALG_NORMAAL_PRIVILEGE)
(alg_kostenpost_key,
alg_kostenpost_geraamd) AS
SELECT MLD_O.mld_alg_kostenpost_key,
SUM(NVL(MLD_O.mld_opdr_uren,0)*NVL(PRS_B.prs_bedrijf_uurloon,0)) +
SUM(NVL(MLD_O.mld_opdr_materiaal,0))
FROM MLD_OPDR MLD_O, MLD_STATUSOPDR MLD_S, PRS_BEDRIJF PRS_B
WHERE MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key
AND (MLD_S.mld_statusopdr_upper = 'MLD_UITGEGEVEN'
OR MLD_S.mld_statusopdr_upper = 'MLD_AFGEMELD')
AND MLD_O.mld_uitvoerende_keys = PRS_B.prs_bedrijf_key
GROUP BY MLD_O.mld_alg_kostenpost_key;
/* View om de geraamde kosten te bepalen van openstaande opdrachten
* per kostenpost.
* Geraamde kosten zijn het uurloon en materiaalkosten van nog
* uitgegeven of afgemelde opdrachten.
*/
CREATE_VIEW(alg_v_mld_kostenpost_geraamd, ALG_NORMAAL_PRIVILEGE)
(alg_kostenpost_key,
alg_kostenpost_geraamd) AS
SELECT MLD_O.mld_alg_kostenpost_key,
SUM(NVL(MLD_O.mld_opdr_kosten,0))
FROM MLD_OPDR MLD_O, MLD_STATUSOPDR MLD_S
WHERE MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key
AND (MLD_S.mld_statusopdr_upper = 'MLD_UITGEGEVEN'
OR MLD_S.mld_statusopdr_upper = 'MLD_AFGEMELD')
AND MLD_O.mld_alg_kostenpost_key IS NOT NULL
GROUP BY MLD_O.mld_alg_kostenpost_key;
/* De berekende besteding op basis van de opdrachten. Zou gelijk moeten zijn
* aan de overeenkomstige kolom in alg_kostenpost tabel (Wordt (nog) niet gebruikt -PF) */
CREATE_VIEW(alg_v_mld_kostenpost_besteed1, ALG_NORMAAL_PRIVILEGE)
(alg_kostenpost_key, alg_kostenpost_besteed) AS
SELECT MLD_O.mld_alg_kostenpost_key,
SUM(NVL(MLD_O.mld_opdr_kosten,0))
FROM MLD_OPDR MLD_O, MLD_STATUSOPDR MLD_S
WHERE MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key
AND MLD_S.mld_statusopdr_upper = 'MLD_VERWERKT'
GROUP BY MLD_O.mld_alg_kostenpost_key;
#endif
/* View voor een overzicht van de aanwezige kostenposten
* incl. de geraamde en bestede bedragen.
*/
CREATE_VIEW(alg_v_alg_kostenpost_gegevens, ALG_NORMAAL_PRIVILEGE)
(alg_kostenpost_key,
alg_kostenpost_omschrijving,
alg_kostenpost_upper,
alg_kostenpost_budget,
alg_kostenpost_besteed,
alg_kostenpost_datum,
alg_kostenpost_jaar,
alg_kostenpost_geraamd) AS
SELECT ALG_K.alg_kostenpost_key,
ALG_K.alg_kostenpost_omschrijving,
ALG_K.alg_kostenpost_upper,
ALG_K.alg_kostenpost_budget,
NVL(ALG_K.alg_kostenpost_besteed, 0),
ALG_K.alg_kostenpost_datum,
ALG_K.alg_kostenpost_jaar,
SUM(
#ifdef MLD
NVL(MLD_K.alg_kostenpost_geraamd, 0)
#else
0
#endif
+
0
)
FROM alg_v_aanwezigkostenpost ALG_K
#ifdef MLD
, alg_v_mld_kostenpost_geraamd MLD_K
#endif
WHERE ALG_K.alg_kostenpost_key IS NOT NULL
#ifdef MLD
AND MLD_K.alg_kostenpost_key (+) = ALG_K.alg_kostenpost_key
#endif
GROUP BY ALG_K.alg_kostenpost_key,
ALG_K.alg_kostenpost_omschrijving,
ALG_K.alg_kostenpost_upper,
ALG_K.alg_kostenpost_budget,
ALG_K.alg_kostenpost_besteed,
ALG_K.alg_kostenpost_datum,
ALG_K.alg_kostenpost_jaar;
DEFINIEER_VIEW_AANWEZIG(alg_refkenmerk, alg_refkenmerk_verwijder,
alg_v_aanwezigrefkenmerk,ALG_NORMAAL_PRIVILEGE);
#ifndef MS_SQL
-- Kind of forward declaration
-- SQLS vindt dit niet leuk. Zorg maar dat de prototypes er al zijn (bij update)
-- of draai het script twee keer achter elkaar
CREATE OR REPLACE VIEW prs_v_aanwezigperslid AS (select 0 prs_perslid_key, 0 prs_werkplek_key from dual);
CREATE OR REPLACE VIEW prs_v_aanwezigperslidwerkplek AS (select 0 prs_perslid_key, 0 prs_werkplek_key from dual);
CREATE OR REPLACE VIEW prs_v_aanwezigwerkplek AS (select 0 prs_alg_ruimte_key, 0 prs_werkplek_key from dual);
#endif
#ifndef MS_SQL
CREATE_VIEW(alg_v_my_room, ALG_NORMAAL_PRIVILEGE) AS
SELECT alg_ruimte_key,
alg_verdieping_key,
prs_perslid_key
FROM alg_ruimte, prs_perslid p
WHERE alg_ruimte_key IN
(SELECT prs_alg_ruimte_key
FROM prs_v_aanwezigperslid pp, prs_v_aanwezigperslidwerkplek pl,
prs_v_aanwezigwerkplek wp
WHERE pp.prs_perslid_key = pl.prs_perslid_key
AND pl.prs_werkplek_key = wp.prs_werkplek_key
AND pp.prs_perslid_key = p.prs_perslid_key);
#else
[skip]
-- Deze is met SQLServer veel sneller
DROP VIEW dbo.alg_v_my_room;
GO;
CREATE VIEW dbo.alg_v_my_room AS
SELECT distinct alg_ruimte_key,
alg_verdieping_key,
pp.prs_perslid_key
FROM alg_ruimte,
prs_v_aanwezigperslid pp,
prs_v_aanwezigperslidwerkplek pl,
prs_v_aanwezigwerkplek wp
WHERE alg_ruimte_key = prs_alg_ruimte_key
and pp.prs_perslid_key = pl.prs_perslid_key
AND pl.prs_werkplek_key = wp.prs_werkplek_key
[/skip]
#endif
CREATE_VIEW(alg_v_my_floor, ALG_NORMAAL_PRIVILEGE) AS
SELECT v.alg_verdieping_key,
alg_gebouw_key,
prs_perslid_key
FROM alg_v_my_room r, alg_verdieping v
WHERE r.alg_verdieping_key = v.alg_verdieping_key;
CREATE_VIEW(alg_v_my_building, ALG_NORMAAL_PRIVILEGE) AS
SELECT f.alg_gebouw_key,
alg_locatie_key,
prs_perslid_key
FROM alg_v_my_floor f, alg_gebouw b
WHERE f.alg_gebouw_key = b.alg_gebouw_key;
CREATE_VIEW(alg_v_my_location, ALG_NORMAAL_PRIVILEGE) AS
SELECT b.alg_locatie_key,
l.alg_district_key,
prs_perslid_key
FROM alg_v_my_building b, alg_locatie l
WHERE b.alg_locatie_key = l.alg_locatie_key;
CREATE_VIEW(alg_v_my_district, ALG_NORMAAL_PRIVILEGE) AS
SELECT l.alg_district_key,
alg_regio_key,
prs_perslid_key
FROM alg_v_my_location l, alg_district d
WHERE l.alg_district_key = d.alg_district_key;
CREATE_VIEW(alg_v_my_region, ALG_NORMAAL_PRIVILEGE) AS
SELECT alg_regio_key,
prs_perslid_key
FROM alg_v_my_district;
CREATE_VIEW(fac_v_my_regions, ALG_NORMAAL_PRIVILEGE)
(alg_regio_key,
prs_perslid_key,
niveau) AS
SELECT alg_regio_key,
prs_perslid_key,
5
FROM alg_v_my_region
UNION
SELECT alg_regio_key,
prs_perslid_key,
4
FROM alg_v_my_region
UNION
SELECT alg_regio_key,
prs_perslid_key,
3
FROM alg_v_my_region
UNION
SELECT alg_regio_key,
prs_perslid_key,
2
FROM alg_v_my_region
UNION
SELECT alg_regio_key,
prs_perslid_key,
1
FROM alg_v_my_region
UNION
SELECT alg_regio_key,
prs_perslid_key,
0
FROM alg_v_my_region;
CREATE_VIEW(fac_v_my_districts, ALG_NORMAAL_PRIVILEGE)
(alg_district_key,
prs_perslid_key,
niveau) AS
SELECT alg_district_key,
prs_perslid_key,
5
FROM alg_v_my_district
UNION
SELECT alg_district_key,
prs_perslid_key,
4
FROM alg_v_my_district
UNION
SELECT alg_district_key,
prs_perslid_key,
3
FROM alg_v_my_district
UNION
SELECT alg_district_key,
prs_perslid_key,
2
FROM alg_v_my_district
UNION
SELECT alg_district_key,
prs_perslid_key,
1
FROM alg_v_my_district d
UNION
SELECT alg_district_key,
prs_perslid_key,
0
FROM alg_district d, alg_v_my_region ro
WHERE ro.alg_regio_key = d.alg_regio_key;
CREATE_VIEW(fac_v_my_locations, ALG_NORMAAL_PRIVILEGE)
(alg_locatie_key,
prs_perslid_key,
niveau) AS
SELECT alg_locatie_key,
prs_perslid_key,
5
FROM alg_v_my_location
UNION
SELECT alg_locatie_key,
prs_perslid_key,
4
FROM alg_v_my_location
UNION
SELECT alg_locatie_key,
prs_perslid_key,
3
FROM alg_v_my_location
UNION
SELECT alg_locatie_key,
prs_perslid_key,
2
FROM alg_v_my_location
UNION
SELECT l.alg_locatie_key,
prs_perslid_key,
1
FROM alg_v_my_district d, alg_locatie l
WHERE l.alg_district_key= d.alg_district_key
UNION
SELECT l.alg_locatie_key,
prs_perslid_key,
0
FROM alg_locatie l, alg_district d, alg_v_my_region ro
WHERE l.alg_district_key= d.alg_district_key
AND ro.alg_regio_key = d.alg_regio_key;
CREATE_VIEW(fac_v_my_buildings, ALG_NORMAAL_PRIVILEGE)
(alg_gebouw_key,
prs_perslid_key,
niveau) AS
SELECT alg_gebouw_key,
prs_perslid_key,
5
FROM alg_v_my_building
UNION
SELECT alg_gebouw_key,
prs_perslid_key,
4
FROM alg_v_my_building
UNION
SELECT alg_gebouw_key,
prs_perslid_key,
3
FROM alg_v_my_building
UNION
SELECT alg_gebouw_key,
prs_perslid_key,
2
FROM alg_v_my_location l, alg_gebouw g
WHERE g.alg_locatie_key = l.alg_locatie_key
UNION
SELECT g.alg_gebouw_key,
prs_perslid_key,
1
FROM alg_v_my_district d, alg_locatie l, alg_gebouw g
WHERE d.alg_district_key = l.alg_district_key
AND g.alg_locatie_key = l.alg_locatie_key
UNION
SELECT g.alg_gebouw_key,
prs_perslid_key,
0
FROM alg_v_my_region ro, alg_gebouw g, alg_locatie l, alg_district d
WHERE ro.alg_regio_key = d.alg_regio_key
AND l.alg_district_key= d.alg_district_key
AND g.alg_locatie_key = l.alg_locatie_key;
CREATE_VIEW(fac_v_my_floors, ALG_NORMAAL_PRIVILEGE)
(alg_verdieping_key,
prs_perslid_key,
niveau) AS
SELECT alg_verdieping_key,
prs_perslid_key,
5
FROM alg_v_my_floor
UNION
SELECT alg_verdieping_key,
prs_perslid_key,
4
FROM alg_v_my_floor
UNION
SELECT v.alg_verdieping_key,
prs_perslid_key,
3
FROM alg_v_my_building b, alg_verdieping v
WHERE b.alg_gebouw_key = v.alg_gebouw_key
UNION
SELECT v.alg_verdieping_key,
prs_perslid_key,
2
FROM alg_v_my_location l, alg_gebouw g, alg_verdieping v
WHERE l.alg_locatie_key = g.alg_locatie_key
AND g.alg_gebouw_key = v.alg_gebouw_key
UNION
SELECT v.alg_verdieping_key,
prs_perslid_key,
1
FROM alg_v_my_district d, alg_locatie l, alg_gebouw g, alg_verdieping v
WHERE d.alg_district_key = l.alg_district_key
AND l.alg_locatie_key = g.alg_locatie_key
AND g.alg_gebouw_key = v.alg_gebouw_key
UNION
SELECT v.alg_verdieping_key,
prs_perslid_key,
0
FROM alg_v_my_region ro, alg_district d, alg_locatie l, alg_gebouw g, alg_verdieping v
WHERE ro.alg_regio_key = d.alg_regio_key
AND d.alg_district_key= l.alg_district_key
AND l.alg_locatie_key = g.alg_locatie_key
AND g.alg_gebouw_key = v.alg_gebouw_key;
CREATE_VIEW(fac_v_my_rooms, ALG_NORMAAL_PRIVILEGE)
(alg_ruimte_key,
prs_perslid_key,
niveau) AS
SELECT alg_ruimte_key,
prs_perslid_key,
5
FROM alg_v_my_room
UNION
SELECT alg_ruimte_key,
prs_perslid_key,
4
FROM alg_v_my_floor f, alg_ruimte r
WHERE f.alg_verdieping_key = r.alg_verdieping_key
UNION
SELECT alg_ruimte_key,
prs_perslid_key,
3
FROM alg_v_my_building b, alg_verdieping v, alg_ruimte r
WHERE b.alg_gebouw_key = v.alg_gebouw_key
AND v.alg_verdieping_key = r.alg_verdieping_key
UNION
SELECT alg_ruimte_key,
prs_perslid_key,
2
FROM alg_v_my_location l, alg_gebouw b, alg_verdieping v, alg_ruimte r
WHERE l.alg_locatie_key = b.alg_locatie_key
AND b.alg_gebouw_key = v.alg_gebouw_key
AND v.alg_verdieping_key = r.alg_verdieping_key
UNION
SELECT alg_ruimte_key,
prs_perslid_key,
1
FROM alg_v_my_district d, alg_locatie l, alg_gebouw b, alg_verdieping v, alg_ruimte r
WHERE d.alg_district_key = l.alg_district_key
AND l.alg_locatie_key = b.alg_locatie_key
AND b.alg_gebouw_key = v.alg_gebouw_key
AND v.alg_verdieping_key = r.alg_verdieping_key
UNION
SELECT alg_ruimte_key,
prs_perslid_key,
0
FROM alg_v_my_region ro, alg_district d, alg_locatie l, alg_gebouw b, alg_verdieping v, alg_ruimte r
WHERE ro.alg_regio_key = d.alg_regio_key
AND d.alg_district_key = l.alg_district_key
AND l.alg_locatie_key = b.alg_locatie_key
AND b.alg_gebouw_key = v.alg_gebouw_key
AND v.alg_verdieping_key = r.alg_verdieping_key;
DEFINIEER_VIEW_AANWEZIG(alg_srtterreinsector, alg_srtterreinsector_verwijder,
alg_v_aanwezigsrtterreinsector,ALG_BIBLIOTHEEK_PRIVILEGE);
DEFINIEER_VIEW_AANWEZIG(alg_onrgoedkenmerk, alg_onrgoedkenmerk_verwijder,
alg_v_aanwezigonrgoedkenmerk,ALG_BIBLIOTHEEK_PRIVILEGE);
CREATE_VIEW(alg_v_terrein_gegevens, ALG_NORMAAL_PRIVILEGE ) AS
select alg_terreinsector_key,
s.alg_locatie_key,
l.alg_locatie_omschrijving,
alg_srtterreinsector_key,
alg_locatie_code||' - '||alg_terreinsector_code alg_terrein_aanduiding,
alg_terreinsector_oppervlak
from alg_v_aanwezigterreinsector s, alg_v_aanweziglocatie l
where s.alg_locatie_key = l.alg_locatie_key;
CREATE_VIEW(ALG_V_ONRGOED_BOOM, ALG_NORMAAL_PRIVILEGE )
(ALG_REGIO_KEY, ALG_DISTRICT_KEY, ALG_LOCATIE_KEY, ALG_GEBOUW_KEY, ALG_VERDIEPING_KEY,
ALG_RUIMTE_KEY)
AS
SELECT a0.alg_regio_key, a1.alg_district_key, a2.alg_locatie_key,
a3.alg_gebouw_key, a4.alg_verdieping_key, a5.alg_ruimte_key
FROM alg_regio a0,
alg_district a1,
alg_locatie a2,
alg_gebouw a3,
alg_verdieping a4,
alg_ruimte a5
WHERE a0.alg_regio_key = a1.alg_regio_key
AND a1.alg_district_key = a2.alg_district_key
AND a3.alg_locatie_key = a2.alg_locatie_key
AND a3.alg_gebouw_key = a4.alg_gebouw_key
AND a4.alg_verdieping_key = a5.alg_verdieping_key;
CREATE_VIEW(ALG_V_ONRGOED_FAMILIE, ALG_NORMAAL_PRIVILEGE )
(ALG_RUIMTE_KEY, ALG_ONRGOED_ELDER_KEY, NIVEAU)
AS
SELECT alg_ruimte_key, alg_ruimte_key alg_onrgoed_elder_key, 5 niveau
FROM alg_v_onrgoed_boom
UNION ALL
SELECT alg_ruimte_key, alg_verdieping_key, 4 niveau
FROM alg_v_onrgoed_boom
UNION ALL
SELECT alg_ruimte_key, alg_gebouw_key, 3 niveau
FROM alg_v_onrgoed_boom
UNION ALL
SELECT alg_ruimte_key, alg_locatie_key, 2 niveau
FROM alg_v_onrgoed_boom
UNION ALL
SELECT alg_ruimte_key, alg_district_key, 1 niveau
FROM alg_v_onrgoed_boom
UNION ALL
SELECT alg_ruimte_key, alg_regio_key, 0 niveau
FROM alg_v_onrgoed_boom;
CREATE_VIEW (fac_v_my_disc_onrgoed_read, FAC_NORMAAL_PRIVILEGE)
(alg_ruimte_key, ins_discipline_key, prs_perslid_key, fac_functie_code, ins_discipline_module, niveau)
AS
SELECT a.alg_ruimte_key, i.ins_discipline_key, mr.prs_perslid_key,
f.fac_functie_code,i.ins_discipline_module, a.niveau
FROM alg_v_onrgoed_familie a,
alg_v_onrgoed_familie aa,
alg_v_my_room mr,
fac_functie f,
ins_tab_discipline i,
fac_v_webgebruiker fw
WHERE fw.prs_perslid_key = mr.prs_perslid_key
AND fw.fac_gebruiker_kolomkey = i.ins_discipline_key
AND fw.fac_functie_key = f.fac_functie_key
AND mr.alg_ruimte_key = aa.alg_ruimte_key
AND a.alg_onrgoed_elder_key = aa.alg_onrgoed_elder_key
AND aa.niveau = a.niveau -- Noodzakelijk want ALG_LOCATIE heeft eigen sequence
AND aa.niveau >= fac_gebruiker_alg_level_read;
CREATE_VIEW (fac_v_my_disc_onrgoed_write, FAC_NORMAAL_PRIVILEGE)
(alg_ruimte_key, ins_discipline_key, prs_perslid_key, fac_functie_code, ins_discipline_module, niveau)
AS
SELECT a.alg_ruimte_key, i.ins_discipline_key, mr.prs_perslid_key,
f.fac_functie_code,i.ins_discipline_module, a.niveau
FROM alg_v_onrgoed_familie a,
alg_v_onrgoed_familie aa,
alg_v_my_room mr,
fac_functie f,
ins_tab_discipline i,
fac_v_webgebruiker fw
WHERE fw.prs_perslid_key = mr.prs_perslid_key
AND fw.fac_gebruiker_kolomkey = i.ins_discipline_key
AND fw.fac_functie_key = f.fac_functie_key
AND mr.alg_ruimte_key = aa.alg_ruimte_key
AND a.alg_onrgoed_elder_key = aa.alg_onrgoed_elder_key
AND aa.niveau = a.niveau -- Noodzakelijk want ALG_LOCATIE heeft eigen sequence
AND aa.niveau >= fac_gebruiker_alg_level_write;