450 lines
20 KiB
Plaintext
450 lines
20 KiB
Plaintext
#ifdef PRJ
|
|
/* PRJ_VIE.SRC
|
|
*
|
|
* $Revision$
|
|
* $Id$
|
|
*/
|
|
|
|
-- selecteer alle verdiepingen van een bepaald project
|
|
CREATE_VIEW(prj_v_alg_verdiepingen,0)
|
|
AS
|
|
SELECT DISTINCT alg_verdieping_key, prj_scenario_key
|
|
FROM prj_ruimte
|
|
WHERE alg_verdieping_key IS NOT NULL;
|
|
|
|
-- aanduiding ruimten van ALG
|
|
CREATE_VIEW(prj_v_alg_ruimte_aanduiding,0)
|
|
AS SELECT ALG_R.alg_ruimte_key
|
|
, to_number(NULL) prj_scenario_key
|
|
, ALG_G.alg_gebouw_code ||' - '
|
|
|| ALG_V.alg_verdieping_code ||' - '
|
|
|| ALG_R.alg_ruimte_nr plaatsaanduiding
|
|
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;
|
|
|
|
|
|
-- wat suggesties:(gebruiken we ..1 en..2 of alg vs prj?)
|
|
|
|
CREATE_VIEW(prj_v_ruimte_voor_en_na, 0) (alg_verdieping_key,
|
|
alg_ruimte_key1,
|
|
alg_ruimte_nr1,
|
|
alg_srtruimte_key1,
|
|
alg_srtruimte_omschrijving1,
|
|
alg_ruimte_bruto_vloeropp1,
|
|
alg_ruimte_nr2,
|
|
alg_srtruimte_key2,
|
|
alg_srtruimte_omschrijving2,
|
|
alg_ruimte_bruto_vloeropp2
|
|
)
|
|
AS
|
|
SELECT rx.alg_verdieping_key, rx.alg_ruimte_key, r.alg_ruimte_nr, r.alg_srtruimte_key,
|
|
sr1.alg_srtruimte_omschrijving, r.alg_ruimte_bruto_vloeropp, rx.prj_ruimte_nr, rx.alg_srtruimte_key,
|
|
sr2.alg_srtruimte_omschrijving, rx.prj_ruimte_bruto_vloeropp
|
|
FROM prj_ruimte rx, alg_ruimte r, alg_srtruimte sr1, alg_srtruimte sr2
|
|
WHERE rx.alg_ruimte_key = r.alg_ruimte_key(+) AND r.alg_srtruimte_key = sr1.alg_srtruimte_key(+)
|
|
AND rx.alg_srtruimte_key = sr2.alg_srtruimte_key;
|
|
|
|
|
|
-- GRAFISCHE VIEWS
|
|
|
|
CREATE_VIEW (cad_v_sync_prj_ruimte,0)
|
|
(prj_scenario_key, prj_ruimte_key, alg_verdieping_key, cadlabel)
|
|
AS
|
|
SELECT r.prj_scenario_key, r.prj_ruimte_key, r.alg_verdieping_key, r.prj_ruimte_nr
|
|
FROM prj_ruimte r;
|
|
|
|
-- GRAFISCHE THEMAS
|
|
-- GRAFISCHE THEMAS
|
|
-- GRAFISCHE THEMAS
|
|
-- GRAFISCHE THEMAS
|
|
CREATE_VIEW (prj_v_cad_thema_aantalwp,0) (prj_ruimte_key, waarde)
|
|
AS
|
|
SELECT wp.prj_ruimte_key, COUNT (*)
|
|
FROM prj_werkplek wp
|
|
WHERE wp.prj_werkplek_verwijder IS NULL
|
|
GROUP BY prj_ruimte_key;
|
|
|
|
CREATE_VIEW (prj_v_cad_thema_afdeling,0) (prj_ruimte_key, waarde, waarde_key)
|
|
AS
|
|
SELECT x.prj_ruimte_key,
|
|
DECODE (x.aantal,
|
|
1, SUBSTR (x.sp, 1, 60),
|
|
'Meerdere!'),
|
|
DECODE (x.aantal, 1, x.sp_key, NULL)
|
|
FROM (SELECT ra.prj_ruimte_key,
|
|
MIN (d.prs_afdeling_naam) sp,
|
|
MIN (d.prs_afdeling_key) sp_key,
|
|
COUNT (ra.prs_afdeling_key) aantal
|
|
FROM prj_ruimteafdeling ra, prs_v_aanwezigafdeling d
|
|
WHERE ra.prj_ruimteafdeling_verwijder IS NULL
|
|
AND ra.prs_afdeling_key = d.prs_afdeling_key
|
|
GROUP BY ra.prj_ruimte_key) x;
|
|
|
|
-- Update is: oude situatie weg, nieuwe wordt gedefinieerd.
|
|
-- Insert is: toevoegen aan oude situatie
|
|
CREATE_TRIGGER(prj_t_cad_thema_afdeling_i_iu)
|
|
INSTEAD OF INSERT OR UPDATE
|
|
ON prj_v_cad_thema_afdeling
|
|
BEGIN
|
|
IF UPDATING -- oude weggooien
|
|
THEN
|
|
DELETE FROM prj_ruimteafdeling
|
|
WHERE prj_ruimte_key = :new.prj_ruimte_key
|
|
AND prs_afdeling_key <> :new.waarde_key;
|
|
END IF;
|
|
BEGIN
|
|
INSERT INTO prj_ruimteafdeling (prj_ruimte_key, prs_afdeling_key)
|
|
VALUES (:new.prj_ruimte_key, :new.waarde_key);
|
|
EXCEPTION
|
|
WHEN DUP_VAL_ON_INDEX -- Hij was al aanwezig
|
|
THEN
|
|
NULL;
|
|
END;
|
|
END;
|
|
/
|
|
|
|
// De afdelingsbezetting maar dan gebaseerd op de afdelingen
|
|
// van de de personen die op de werkplekken zitten
|
|
CREATE_VIEW (prj_v_cad_thema_prsafdeling,0) (prj_ruimte_key, waarde)
|
|
AS
|
|
SELECT wx.prj_ruimte_key, d.prs_afdeling_naam
|
|
FROM prs_afdeling d, prj_perslidwerkplek pwx, prj_werkplek wx, prs_perslid p
|
|
WHERE pwx.prj_werkplek_key = wx.prj_werkplek_key
|
|
AND pwx.prs_perslid_key = p.prs_perslid_key
|
|
AND p.prs_afdeling_key=d.prs_afdeling_key
|
|
AND pwx.prj_perslidwerkplek_verwijder IS NULL
|
|
AND wx.prj_werkplek_verwijder IS NULL
|
|
AND pwx.prs_perslid_key IS NOT NULL;
|
|
|
|
CREATE_VIEW (prj_v_cad_thema_srtruimte,0) (prj_ruimte_key, waarde, waarde_key)
|
|
AS
|
|
SELECT r.prj_ruimte_key, sr.alg_srtruimte_omschrijving, sr.alg_srtruimte_key
|
|
FROM prj_ruimte r, alg_srtruimte sr
|
|
WHERE r.alg_srtruimte_key = sr.alg_srtruimte_key;
|
|
|
|
CREATE_TRIGGER(prj_t_cad_thema_srtruimte_i_iu)
|
|
INSTEAD OF INSERT OR UPDATE ON prj_v_cad_thema_srtruimte
|
|
FOR EACH ROW
|
|
BEGIN
|
|
UPDATE prj_ruimte
|
|
SET alg_srtruimte_key = :new.waarde_key
|
|
WHERE prj_ruimte_key = :new.prj_ruimte_key;
|
|
END;
|
|
/
|
|
|
|
|
|
// De gemiddelde oppervlakte per werkplek (GEEN rekening houdend met vaste werkplekoppervlaktes)
|
|
CREATE_VIEW (prj_v_cad_thema_wpopp,0) (prj_ruimte_key, waarde)
|
|
AS
|
|
SELECT wp.prj_ruimte_key, r.prj_ruimte_bruto_vloeropp / COUNT (prj_werkplek_key)
|
|
FROM prj_werkplek wp, prj_ruimte r
|
|
WHERE wp.prj_werkplek_verwijder IS NULL AND wp.prj_ruimte_key = r.prj_ruimte_key
|
|
GROUP BY wp.prj_ruimte_key, r.prj_ruimte_bruto_vloeropp;
|
|
|
|
// De hoeveelheid beschikbare oppervlakte (indien de werkplekken een vaste oppervlakte hebben, anders past het altijd)
|
|
CREATE_VIEW (prj_v_cad_thema_restopp,0) (prj_ruimte_key, waarde)
|
|
AS
|
|
SELECT wp.prj_ruimte_key, SUM (r.prj_ruimte_bruto_vloeropp - NVL (prj_werkplek_opp, 0))
|
|
FROM prj_werkplek wp, prj_ruimte r
|
|
WHERE wp.prj_werkplek_verwijder IS NULL
|
|
AND wp.prj_ruimte_key = r.prj_ruimte_key
|
|
AND wp.prj_werkplek_vastopp IS NOT NULL
|
|
GROUP BY wp.prj_ruimte_key;
|
|
|
|
// Hulpview voor de daaropvolgende
|
|
CREATE_VIEW (prj_v_cad_thema_onderhanden0, 0) (prj_ruimte_key1, prj_ruimte_key2)
|
|
AS
|
|
SELECT prj_rkey1, prj_rkey2
|
|
FROM (SELECT algprs.prs_werkplek_key oud_wpkey, prj_w.prs_werkplek_key new_wpkey, algprs.alg_ruimte_key oud_rkey,
|
|
prj_r.alg_ruimte_key new_rkey, prj_zoek.prj_ruimte_key prj_rkey1, prj_r.prj_ruimte_key prj_rkey2
|
|
FROM prj_ruimte prj_r,
|
|
prj_werkplek prj_w,
|
|
prj_perslidwerkplek prj_wp,
|
|
prj_ruimte prj_zoek,
|
|
(SELECT prs_w.prs_werkplek_key, prs_w.prs_werkplek_volgnr, prs_pw.prs_perslidwerkplek_key,
|
|
prs_w.prs_alg_ruimte_key alg_ruimte_key, prs_p.prs_afdeling_key, prs_pw.prs_perslid_key
|
|
FROM prs_werkplek prs_w, prs_perslidwerkplek prs_pw, prs_perslid prs_p
|
|
WHERE prs_w.prs_werkplek_key = prs_pw.prs_werkplek_key
|
|
AND prs_pw.prs_perslid_key IS NOT NULL
|
|
AND prs_pw.prs_perslid_key = prs_p.prs_perslid_key
|
|
AND prs_w.prs_werkplek_virtueel = 0
|
|
UNION ALL
|
|
SELECT prs_w.prs_werkplek_key, prs_w.prs_werkplek_volgnr, TO_NUMBER (NULL), prs_w.prs_alg_ruimte_key,
|
|
TO_NUMBER (NULL), TO_NUMBER (NULL)
|
|
FROM prs_werkplek prs_w, prs_v_werkplek_bezetting prs_wb
|
|
WHERE prs_w.prs_werkplek_key = prs_wb.prs_werkplek_key
|
|
AND prs_w.prs_werkplek_virtueel = 0
|
|
AND prs_wb.prs_werkplek_bezetting < 100) algprs
|
|
WHERE prj_wp.prs_perslidwerkplek_key = algprs.prs_perslidwerkplek_key
|
|
AND prj_wp.prj_werkplek_key = prj_w.prj_werkplek_key
|
|
AND prj_w.prj_ruimte_key = prj_r.prj_ruimte_key
|
|
AND algprs.alg_ruimte_key = prj_zoek.alg_ruimte_key)
|
|
WHERE oud_wpkey <> new_wpkey OR oud_rkey <> new_rkey;
|
|
|
|
// Boolean view die aangeeft waar iets gewijzigd is, de 1 en 2 maken het verschil tussen van en naar..
|
|
CREATE_VIEW (prj_v_cad_thema_onderhanden,0) (prj_ruimte_key, waarde)
|
|
AS
|
|
SELECT prj_ruimte_key1, '1'
|
|
FROM prj_v_cad_thema_onderhanden0
|
|
UNION ALL
|
|
SELECT prj_ruimte_key2, '2'
|
|
FROM prj_v_cad_thema_onderhanden0;
|
|
|
|
-- GRAFISCHE LABELS
|
|
-- GRAFISCHE LABELS
|
|
-- GRAFISCHE LABELS
|
|
-- GRAFISCHE LABELS
|
|
-- GRAFISCHE LABELS
|
|
|
|
CREATE_VIEW (prj_v_cad_label_bewoner,0) (prj_ruimte_key, waarde, highlight)
|
|
AS
|
|
SELECT DISTINCT prj_ruimte_key, waarde,
|
|
DECODE (prj_selectie_key, NULL, 0, 1) highlight
|
|
FROM (SELECT prj_r.prj_scenario_key, prs_w.prj_ruimte_key,
|
|
prs_p.prs_perslid_naam
|
|
|| DECODE (prs_p.prs_perslid_voorletters,
|
|
NULL, '',
|
|
', ' || prs_p.prs_perslid_voorletters
|
|
)
|
|
|| DECODE (prs_p.prs_perslid_voornaam,
|
|
NULL, '',
|
|
' (' || prs_p.prs_perslid_voornaam
|
|
|| ')'
|
|
) waarde,
|
|
'PRJ_WERKPLEK' label_soort, prs_pw.prj_werkplek_key label_key
|
|
FROM PRJ_RUIMTE prj_r,
|
|
PRJ_WERKPLEK prs_w,
|
|
PRJ_PERSLIDWERKPLEK prs_pw,
|
|
PRS_PERSLID prs_p
|
|
WHERE prs_w.prj_werkplek_key = prs_pw.prj_werkplek_key
|
|
AND prs_pw.prs_perslid_key IS NOT NULL
|
|
AND prs_w.prj_werkplek_verwijder IS NULL
|
|
AND prs_pw.prj_perslidwerkplek_verwijder IS NULL
|
|
AND prs_pw.prs_perslid_key = prs_p.prs_perslid_key
|
|
AND prs_w.prj_ruimte_key = prj_r.prj_ruimte_key) vdata,
|
|
PRJ_SELECTIE ps
|
|
WHERE ps.prj_scenario_key(+) = vdata.prj_scenario_key
|
|
AND ps.prj_selectie_tabelnaam(+) = label_soort
|
|
AND ps.prj_selectie_tabelkey(+) = label_key;
|
|
|
|
// Note: the subselect in the FROM is *necessary* to force these record to be retrieved by outer join
|
|
// else deleted prj_perslidwerkplek records are retrieved by inner join, and do not show up if
|
|
// the _verwijder IS NULL is then applied.
|
|
CREATE_VIEW (prj_v_cad_label_bewonerwp, 0) (prj_ruimte_key, waarde, highlight)
|
|
AS
|
|
SELECT DISTINCT prj_ruimte_key, waarde,
|
|
DECODE (prj_selectie_key, NULL, 0, 1)
|
|
FROM (SELECT prj_r.prj_scenario_key, prs_w.prj_ruimte_key,
|
|
CHR (1)
|
|
|| prs_w.prj_werkplek_volgnr
|
|
|| ' '
|
|
|| prs_p.prs_perslid_naam
|
|
|| DECODE (prs_p.prs_perslid_voorletters,
|
|
NULL, '',
|
|
', ' || prs_p.prs_perslid_voorletters
|
|
)
|
|
|| DECODE (prs_p.prs_perslid_voornaam,
|
|
NULL, '',
|
|
' (' || prs_p.prs_perslid_voornaam
|
|
|| ')'
|
|
)
|
|
|| ': '
|
|
|| TO_CHAR
|
|
(NVL (prs_pw.prj_perslidwerkplek_bezetting,
|
|
0
|
|
)
|
|
)
|
|
|| '%' waarde,
|
|
'PRJ_WERKPLEK' label_soort, prs_pw.prj_werkplek_key label_key
|
|
FROM PRJ_RUIMTE prj_r,
|
|
PRJ_WERKPLEK prs_w,
|
|
(SELECT *
|
|
FROM PRJ_PERSLIDWERKPLEK
|
|
WHERE prj_perslidwerkplek_verwijder IS NULL) prs_pw,
|
|
PRS_PERSLID prs_p
|
|
WHERE prs_w.prj_werkplek_key = prs_pw.prj_werkplek_key
|
|
AND prs_pw.prs_perslid_key IS NOT NULL
|
|
AND prs_pw.prs_perslid_key = prs_p.prs_perslid_key
|
|
AND prs_w.prj_ruimte_key = prj_r.prj_ruimte_key
|
|
UNION
|
|
SELECT -1, prs_w.prj_ruimte_key,
|
|
CHR (1)
|
|
|| prs_w.prj_werkplek_volgnr
|
|
|| ' Vrij: '
|
|
|| TO_CHAR
|
|
( 100
|
|
- NVL
|
|
(SUM
|
|
(prs_wb.prj_perslidwerkplek_bezetting
|
|
),
|
|
0
|
|
)
|
|
)
|
|
|| '%',
|
|
'PRJ_WERKPLEK', prs_w.prj_werkplek_key
|
|
FROM PRJ_WERKPLEK prs_w,
|
|
(SELECT *
|
|
FROM PRJ_PERSLIDWERKPLEK
|
|
WHERE prj_perslidwerkplek_verwijder IS NULL) prs_wb
|
|
WHERE prs_w.prj_werkplek_key = prs_wb.prj_werkplek_key(+)
|
|
AND prj_werkplek_verwijder IS NULL
|
|
GROUP BY prs_w.prj_ruimte_key,
|
|
prs_w.prj_werkplek_key,
|
|
prs_w.prj_werkplek_volgnr
|
|
HAVING SUM (NVL (prs_wb.prj_perslidwerkplek_bezetting,
|
|
0)
|
|
) < 100) DATA,
|
|
PRJ_SELECTIE ps
|
|
WHERE ps.prj_scenario_key(+) = DATA.prj_scenario_key
|
|
AND ps.prj_selectie_tabelnaam(+) = label_soort
|
|
AND ps.prj_selectie_tabelkey(+) = label_key;
|
|
|
|
CREATE_VIEW(prj_v_werkplek_oppervlakte, 0) (prj_werkplek_key, wpopp)
|
|
AS
|
|
SELECT prj_werkplek_key,
|
|
DECODE (prj_werkplek_vastopp,1,
|
|
prj_werkplek_opp, (prj_ruimte_bruto_vloeropp - totvastopp)
|
|
/ vrijwp
|
|
) wpopp
|
|
FROM (SELECT prj_ruimte_key, COUNT (*),
|
|
COUNT (*) - COUNT (prj_werkplek_vastopp) vrijwp,
|
|
COUNT (prj_werkplek_vastopp) vastwp,
|
|
SUM (DECODE (prj_werkplek_vastopp,1,
|
|
prj_werkplek_opp, 0
|
|
)
|
|
) totvastopp
|
|
FROM prj_werkplek
|
|
WHERE prj_werkplek_verwijder is null
|
|
GROUP BY prj_ruimte_key) selopp,
|
|
prj_ruimte prj_r,
|
|
prj_werkplek prj_w
|
|
WHERE prj_r.prj_ruimte_key = prj_w.prj_ruimte_key
|
|
AND selopp.prj_ruimte_key = prj_r.prj_ruimte_key
|
|
AND prj_werkplek_verwijder is null
|
|
ORDER BY prj_werkplek_key;
|
|
|
|
CREATE_VIEW (prj_v_cad_label_werkplekken,0) (prj_ruimte_key, waarde, highlight)
|
|
AS
|
|
SELECT prj_ruimte_key,
|
|
CHR (1)
|
|
|| prj_werkplek_volgnr
|
|
|| ' ('
|
|
|| TO_CHAR (wpopp, 'FM9999.0')
|
|
|| 'm2 '
|
|
|| TO_CHAR (bez)
|
|
|| '%)' waarde,
|
|
DECODE (SIGN (bez - 100),
|
|
1, 2,
|
|
DECODE (prj_selectie_key, NULL, 0, 1)
|
|
) highlight
|
|
FROM (SELECT prj_scenario_key, prs_w.prj_ruimte_key,
|
|
prs_w.prj_werkplek_volgnr,
|
|
SUM (NVL (prs_pw.prj_perslidwerkplek_bezetting, 0)) bez,
|
|
'PRJ_WERKPLEK' label_soort,
|
|
prs_w.prj_werkplek_key label_key, wpopp
|
|
FROM PRJ_RUIMTE prj_r,
|
|
PRJ_WERKPLEK prs_w,
|
|
prj_v_werkplek_oppervlakte pwo,
|
|
(SELECT *
|
|
FROM PRJ_PERSLIDWERKPLEK
|
|
WHERE prj_perslidwerkplek_verwijder IS NULL) prs_pw
|
|
WHERE prs_w.prj_werkplek_key = prs_pw.prj_werkplek_key(+)
|
|
AND pwo.prj_werkplek_key(+) = prs_w.prj_werkplek_key
|
|
AND prs_w.prj_ruimte_key = prj_r.prj_ruimte_key
|
|
AND prs_w.prj_werkplek_verwijder IS NULL
|
|
GROUP BY prj_scenario_key,
|
|
prs_w.prj_ruimte_key,
|
|
prs_w.prj_werkplek_volgnr,
|
|
'PRJ_WERKPLEK',
|
|
prs_w.prj_werkplek_key,
|
|
wpopp) vdata,
|
|
PRJ_SELECTIE ps
|
|
WHERE ps.prj_scenario_key(+) = vdata.prj_scenario_key
|
|
AND ps.prj_selectie_tabelnaam(+) = label_soort AND ps.prj_selectie_tabelkey(+) =
|
|
label_key;
|
|
|
|
CREATE_VIEW(prj_v_cad_v_label_srtruimteopp, 0)
|
|
(prj_ruimte_key, waarde)
|
|
AS
|
|
SELECT r.prj_ruimte_key,
|
|
sr.alg_srtruimte_omschrijving
|
|
|| ' ('
|
|
|| r.prj_ruimte_bruto_vloeropp
|
|
|| ' m2)'
|
|
FROM PRJ_RUIMTE r, ALG_SRTRUIMTE sr
|
|
WHERE r.alg_srtruimte_key = sr.alg_srtruimte_key
|
|
AND prj_ruimte_verwijder IS NULL;
|
|
/
|
|
|
|
//De objecten in een ruimte (de soort-keys kunnen worden gebruikt om onroerende objecten uit te sluiten)
|
|
CREATE_VIEW (prj_v_cad_label_object,0) (prj_ruimte_key,
|
|
waarde,
|
|
label_soort,
|
|
label_key,
|
|
fclt_ins_discipline_key,
|
|
ins_srtgroep_key,
|
|
ins_srtdeel_key
|
|
)
|
|
AS
|
|
SELECT prj_ruimte_key, s.ins_srtdeel_omschrijving || ' ' || prj_deel_omschrijving, 'PRJ_DEEL', prj_deel_key,
|
|
ins_discipline_key, g.ins_srtgroep_key, d.ins_srtdeel_key
|
|
FROM prj_deel d, ins_srtdeel s, ins_srtgroep g
|
|
WHERE d.ins_srtdeel_key = s.ins_srtdeel_key
|
|
AND d.prj_deel_verwijder IS NULL
|
|
AND g.ins_srtgroep_key = s.ins_srtgroep_key;
|
|
|
|
|
|
//----------------
|
|
// Personen met van en naar
|
|
CREATE_VIEW (prj_v_prs_verhuizing, 0)
|
|
(prj_scenario_key,
|
|
prs_perslid_key,
|
|
prs_afdeling_key,
|
|
alg_ruimte_key,
|
|
prs_werkplek_key,
|
|
alg_ruimte_key2,
|
|
prj_ruimte_key2,
|
|
prs_werkplek_key2,
|
|
prj_werkplek_key2
|
|
)
|
|
AS
|
|
SELECT rx.prj_scenario_key, p.prs_perslid_key, d.prs_afdeling_key, w.prs_alg_ruimte_key, w.prs_werkplek_key,
|
|
rx.alg_ruimte_key, rx.prj_ruimte_key, wx.prs_werkplek_key, wx.prj_werkplek_key
|
|
FROM prs_v_aanwezigperslid p,
|
|
prs_v_afdeling d,
|
|
prs_werkplek w,
|
|
prs_perslidwerkplek pwp,
|
|
prj_werkplek wx,
|
|
prj_perslidwerkplek pwpx,
|
|
prj_ruimte rx
|
|
WHERE d.prs_afdeling_key = p.prs_afdeling_key
|
|
AND pwp.prs_perslid_key = p.prs_perslid_key
|
|
AND w.prs_werkplek_key = pwp.prs_werkplek_key
|
|
AND pwpx.prs_perslid_key(+) = p.prs_perslid_key
|
|
AND wx.prj_werkplek_key(+) = pwpx.prj_werkplek_key
|
|
AND rx.prj_ruimte_key(+) = wx.prj_ruimte_key
|
|
AND pwp.prs_perslid_key IS NOT NULL;
|
|
|
|
// afdelingen met van en naar
|
|
CREATE_VIEW (prj_v_afd_verhuizing, 0)
|
|
(prj_scenario_key,
|
|
prs_afdeling_key,
|
|
alg_ruimte_key,
|
|
alg_ruimte_key2,
|
|
prj_ruimte_key2
|
|
)
|
|
AS
|
|
SELECT rx.prj_scenario_key, d.prs_afdeling_key, ra.alg_ruimte_key, rx.alg_ruimte_key, rx.prj_ruimte_key
|
|
FROM prs_v_afdeling d, prs_ruimteafdeling ra, prj_ruimteafdeling rax, prj_ruimte rx
|
|
WHERE ra.prs_afdeling_key = d.prs_afdeling_key
|
|
AND rax.prs_afdeling_key(+) = d.prs_afdeling_key
|
|
AND rx.prj_ruimte_key(+) = rax.prj_ruimte_key
|
|
AND ra.prs_ruimteafdeling_verwijder IS NULL;
|
|
|
|
REGISTERRUN('$Id$')
|
|
|
|
#endif // PRJ
|