#ifdef PRS // 01-12-98 PF /* * $Revision$ * $Id$ */ //Zeer uitzonderlijk: prs_v_aanwezigafdeling is verderop een view op prs_v_afdeling, niet op prs_afdeling //DEFINIEER_VIEW_AANWEZIG(prs_afdeling, // prs_afdeling_verwijder, // prs_v_aanwezigafdeling, // 0); DEFINIEER_VIEW_AANWEZIG(prs_srtperslid, prs_srtperslid_verwijder, prs_v_aanwezigsrtperslid, 0); DEFINIEER_VIEW_AANWEZIG(prs_perslid, prs_perslid_verwijder, prs_v_aanwezigperslid, 0); DEFINIEER_VIEW_AANWEZIG(prs_perslid, prs_perslid_verwijder, all_v_aanwezigperslid, 0); DEFINIEER_VIEW_AANWEZIG(prs_ruimteafdeling, prs_ruimteafdeling_verwijder, prs_v_aanwezigruimteafdeling, 0); DEFINIEER_VIEW_AANWEZIG(prs_kostenplaats, prs_kostenplaats_verwijder, prs_v_aanwezigkostenplaats, 0); DEFINIEER_VIEW_AANWEZIG(prs_bedrijf, prs_bedrijf_verwijder, prs_v_aanwezigbedrijf, 0); /* 24-07-96/KTH Alle bedrijven die UITVOERENDE zijn */ DEFINIEER_VIEW_AANWEZIG(prs_bedrijf, prs_bedrijf_verwijder, prs_v_uitvoerendebedrijf, 0) AND prs_bedrijf_uitvoerende = 1; /* 24-07-96/KTH Alle bedrijven die LEVERANCIER zijn */ DEFINIEER_VIEW_AANWEZIG(prs_bedrijf, prs_bedrijf_verwijder, prs_v_leverancierbedrijf, 0) AND prs_bedrijf_leverancier = 1; /* 24-07-96/KTH Alle bedrijven waamee een CONTRACT kan worden afgesloten */ DEFINIEER_VIEW_AANWEZIG(prs_bedrijf, prs_bedrijf_verwijder, prs_v_contractbedrijf, 0) AND prs_bedrijf_contract = 1; DEFINIEER_VIEW_AANWEZIG(prs_kenmerk, prs_kenmerk_verwijder, prs_v_aanwezigkenmerk,0); DEFINIEER_VIEW_AANWEZIG(prs_kenmerkLink, prs_kenmerkLink_verwijder, prs_v_aanwezigkenmerkLink,0); CREATE_VIEW(prs_v_perslid_gegevens,0) AS SELECT PRS_P.prs_perslid_key, PRS_P.prs_perslid_naam, PRS_P.prs_perslid_upper, PRS_P.prs_perslid_voorletters, PRS_P.prs_perslid_tussenvoegsel, PRS_P.prs_perslid_voornaam, PRS_P.prs_perslid_initialen, PRS_P.prs_perslid_nr, PRS_P.prs_perslid_telefoonnr, PRS_P.prs_perslid_email, PRS_P.prs_perslid_mobiel, PRS_P.prs_perslid_oslogin, PRS_P.prs_afdeling_key, PRS_A.prs_afdeling_naam, PRS_A.prs_afdeling_upper, PRS_A.prs_afdeling_omschrijving, PRS_S.prs_srtperslid_omschrijving FROM prs_v_aanwezigperslid PRS_P, prs_afdeling PRS_A, prs_srtperslid PRS_S WHERE PRS_P.prs_afdeling_key = PRS_A.prs_afdeling_key AND PRS_P.prs_srtperslid_key = PRS_S.prs_srtperslid_key; CREATE_VIEW (prs_v_perslid_print,0) AS SELECT PRS_P.prs_perslid_key ,PRS_P.prs_perslid_naam ,PRS_P.prs_perslid_voorletters ,PRS_P.prs_perslid_tussenvoegsel ,PRS_P.prs_perslid_voornaam ,PRS_P.prs_perslid_initialen ,PRS_P.prs_perslid_nr ,PRS_A.prs_afdeling_naam ,PRS_P.prs_perslid_telefoonnr ,PRS_SP.prs_srtperslid_omschrijving ,k.prs_kostenplaats_nr AS prs_afdeling_kostenplaats ,k.prs_kostenplaats_nr FROM prs_v_aanwezigperslid PRS_P ,prs_afdeling PRS_A ,prs_srtperslid PRS_SP ,prs_kostenplaats k WHERE PRS_P.prs_afdeling_key = PRS_A.prs_afdeling_key AND PRS_SP.prs_srtperslid_key(+) = PRS_P.prs_srtperslid_key AND PRS_A.prs_kostenplaats_key = k.prs_kostenplaats_key(+); CREATE_VIEW(prs_v_perslid_fullnames, 0) AS SELECT prs_perslid_key, prs_perslid_naam||DECODE(p.prs_perslid_voorletters,null,'',', '||p.prs_perslid_voorletters) ||DECODE(p.prs_perslid_tussenvoegsel,null,'',' '||p.prs_perslid_tussenvoegsel) ||DECODE(p.prs_perslid_voornaam,null,'',' ('||p.prs_perslid_voornaam||')') prs_perslid_naam_full, DECODE (p.prs_perslid_voornaam, NULL, '', p.prs_perslid_voornaam || ' ') || DECODE (p.prs_perslid_tussenvoegsel, NULL, '', p.prs_perslid_tussenvoegsel || ' ') || prs_perslid_naam prs_perslid_naam_friendly FROM prs_v_aanwezigperslid p; CREATE_VIEW(prs_v_perslid_fullnames_all, 0) AS SELECT prs_perslid_key, prs_perslid_naam||DECODE(p.prs_perslid_voorletters,null,'',', '||p.prs_perslid_voorletters) ||DECODE(p.prs_perslid_tussenvoegsel,null,'',' '||p.prs_perslid_tussenvoegsel) ||DECODE(p.prs_perslid_voornaam,null,'',' ('||p.prs_perslid_voornaam||')') prs_perslid_naam_full, DECODE (p.prs_perslid_voornaam, NULL, '', p.prs_perslid_voornaam || ' ') || DECODE (p.prs_perslid_tussenvoegsel, NULL, '', p.prs_perslid_tussenvoegsel || ' ') || prs_perslid_naam prs_perslid_naam_friendly, prs_perslid_verwijder FROM prs_perslid p; CREATE_VIEW (prs_v_afdeling_perslid,0) ( prs_roerendgoed_key , prs_roerendgoed_type , prs_afdeling_key , prs_afdeling_omschrijving , prs_afdeling_upper , prs_perslid_key , prs_perslid_volnaam , prs_perslid_upper ) AS SELECT prs_a.prs_afdeling_key, 'A', prs_a.prs_afdeling_key, prs_a.prs_afdeling_omschrijving, prs_a.prs_afdeling_upper, TO_NUMBER (NULL), NULL, NULL FROM prs_afdeling prs_a UNION SELECT prs_p.prs_perslid_key, 'P', prs_a.prs_afdeling_key, prs_a.prs_afdeling_omschrijving, prs_a.prs_afdeling_upper, prs_p.prs_perslid_key, pf.prs_perslid_naam_full, prs_p.prs_perslid_upper FROM prs_perslid prs_p, prs_afdeling prs_a, prs_v_perslid_fullnames_all pf WHERE prs_p.prs_afdeling_key = prs_a.prs_afdeling_key AND prs_p.prs_perslid_key = pf.prs_perslid_key; CREATE_VIEW (prs_v_afdeling_boom, 0) ( niveau, prs_bedrijf_key, prs_afdeling_key, prs_afdeling_key1, prs_afdeling_key2, prs_afdeling_key3, prs_afdeling_key4, prs_afdeling_key5) AS SELECT '1' Niveau, a1.prs_bedrijf_key, a1.prs_afdeling_key, a1.prs_afdeling_key, TO_NUMBER(NULL), TO_NUMBER(NULL), TO_NUMBER(NULL), TO_NUMBER(NULL) FROM prs_afdeling a1 WHERE a1.prs_afdeling_parentkey IS NULL UNION SELECT '2' Niveau, a1.prs_bedrijf_key, a2.prs_afdeling_key, a1.prs_afdeling_key, a2.prs_afdeling_key, TO_NUMBER(NULL), TO_NUMBER(NULL), TO_NUMBER(NULL) FROM prs_afdeling a1, prs_afdeling a2 WHERE a2.prs_afdeling_parentkey=a1.prs_afdeling_key AND a1.prs_afdeling_parentkey IS NULL UNION SELECT '3' Niveau, a1.prs_bedrijf_key, a3.prs_afdeling_key, a1.prs_afdeling_key, a2.prs_afdeling_key, a3.prs_afdeling_key, TO_NUMBER(NULL), TO_NUMBER(NULL) FROM prs_afdeling a1, prs_afdeling a2, prs_afdeling a3 WHERE a2.prs_afdeling_parentkey=a1.prs_afdeling_key AND a3.prs_afdeling_parentkey=a2.prs_afdeling_key AND a1.prs_afdeling_parentkey IS NULL UNION SELECT '4' Niveau, a1.prs_bedrijf_key, a4.prs_afdeling_key, a1.prs_afdeling_key, a2.prs_afdeling_key, a3.prs_afdeling_key, a4.prs_afdeling_key, TO_NUMBER(NULL) FROM prs_afdeling a1, prs_afdeling a2, prs_afdeling a3, prs_afdeling a4 WHERE a2.prs_afdeling_parentkey=a1.prs_afdeling_key AND a3.prs_afdeling_parentkey=a2.prs_afdeling_key AND a4.prs_afdeling_parentkey=a3.prs_afdeling_key AND a1.prs_afdeling_parentkey IS NULL UNION SELECT '5' Niveau, a1.prs_bedrijf_key, a5.prs_afdeling_key, a1.prs_afdeling_key, a2.prs_afdeling_key, a3.prs_afdeling_key, a4.prs_afdeling_key, a5.prs_afdeling_key FROM prs_afdeling a1, prs_afdeling a2, prs_afdeling a3, prs_afdeling a4, prs_afdeling a5 WHERE a2.prs_afdeling_parentkey=a1.prs_afdeling_key AND a3.prs_afdeling_parentkey=a2.prs_afdeling_key AND a4.prs_afdeling_parentkey=a3.prs_afdeling_key AND a5.prs_afdeling_parentkey=a4.prs_afdeling_key AND a1.prs_afdeling_parentkey IS NULL; -- De 'aanwezig'-variant van bovenstaande boom, en dat is handiger dan je denkt -- Een aanwezige afdeling met ergens daarboven een parent die niet aanwezig is, -- is effectief namelijk eigenlijk niet aanwezig. -- Kan dus ook gebruikt worden om te checken of een afdeling echt nog aanwezig is CREATE_VIEW (prs_v_aanwezigafdeling_boom, 0) ( niveau, prs_bedrijf_key, prs_afdeling_key, prs_afdeling_key1, prs_afdeling_key2, prs_afdeling_key3, prs_afdeling_key4, prs_afdeling_key5 ) AS SELECT '1' niveau, a1.prs_bedrijf_key, a1.prs_afdeling_key, a1.prs_afdeling_key, TO_NUMBER (NULL), TO_NUMBER (NULL), TO_NUMBER (NULL), TO_NUMBER (NULL) FROM prs_afdeling a1 WHERE a1.prs_afdeling_parentkey IS NULL AND a1.prs_afdeling_verwijder IS NULL UNION SELECT '2' niveau, a1.prs_bedrijf_key, a2.prs_afdeling_key, a1.prs_afdeling_key, a2.prs_afdeling_key, TO_NUMBER (NULL), TO_NUMBER (NULL), TO_NUMBER (NULL) FROM prs_afdeling a1, prs_afdeling a2 WHERE a2.prs_afdeling_parentkey = a1.prs_afdeling_key AND a1.prs_afdeling_parentkey IS NULL AND a1.prs_afdeling_verwijder IS NULL AND a2.prs_afdeling_verwijder IS NULL UNION SELECT '3' niveau, a1.prs_bedrijf_key, a3.prs_afdeling_key, a1.prs_afdeling_key, a2.prs_afdeling_key, a3.prs_afdeling_key, TO_NUMBER (NULL), TO_NUMBER (NULL) FROM prs_afdeling a1, prs_afdeling a2, prs_afdeling a3 WHERE a2.prs_afdeling_parentkey = a1.prs_afdeling_key AND a3.prs_afdeling_parentkey = a2.prs_afdeling_key AND a1.prs_afdeling_parentkey IS NULL AND a1.prs_afdeling_verwijder IS NULL AND a2.prs_afdeling_verwijder IS NULL AND a3.prs_afdeling_verwijder IS NULL UNION SELECT '4' niveau, a1.prs_bedrijf_key, a4.prs_afdeling_key, a1.prs_afdeling_key, a2.prs_afdeling_key, a3.prs_afdeling_key, a4.prs_afdeling_key, TO_NUMBER (NULL) FROM prs_afdeling a1, prs_afdeling a2, prs_afdeling a3, prs_afdeling a4 WHERE a2.prs_afdeling_parentkey = a1.prs_afdeling_key AND a3.prs_afdeling_parentkey = a2.prs_afdeling_key AND a4.prs_afdeling_parentkey = a3.prs_afdeling_key AND a1.prs_afdeling_parentkey IS NULL AND a1.prs_afdeling_verwijder IS NULL AND a2.prs_afdeling_verwijder IS NULL AND a3.prs_afdeling_verwijder IS NULL AND a4.prs_afdeling_verwijder IS NULL UNION SELECT '5' niveau, a1.prs_bedrijf_key, a5.prs_afdeling_key, a1.prs_afdeling_key, a2.prs_afdeling_key, a3.prs_afdeling_key, a4.prs_afdeling_key, a5.prs_afdeling_key FROM prs_afdeling a1, prs_afdeling a2, prs_afdeling a3, prs_afdeling a4, prs_afdeling a5 WHERE a2.prs_afdeling_parentkey = a1.prs_afdeling_key AND a3.prs_afdeling_parentkey = a2.prs_afdeling_key AND a4.prs_afdeling_parentkey = a3.prs_afdeling_key AND a5.prs_afdeling_parentkey = a4.prs_afdeling_key AND a1.prs_afdeling_parentkey IS NULL AND a1.prs_afdeling_verwijder IS NULL AND a2.prs_afdeling_verwijder IS NULL AND a3.prs_afdeling_verwijder IS NULL AND a4.prs_afdeling_verwijder IS NULL AND a5.prs_afdeling_verwijder IS NULL; CREATE_VIEW(prs_v_afdeling_fullnames, 0) ( NIVEAU, PRS_AFDELING_KEY, PRS_AFDELING_NAAM, PRS_AFDELING_NAAM1, PRS_AFDELING_NAAM2, PRS_AFDELING_NAAM3, PRS_AFDELING_NAAM4, PRS_AFDELING_NAAM5, PRS_AFDELING_NAAM6, PRS_BEDRIJF_KEY ) AS SELECT 1, a1.prs_afdeling_key, a1.prs_afdeling_naam, a1.prs_afdeling_naam || ' [' || a1.prs_afdeling_omschrijving || ']', a1.prs_afdeling_naam, a1.prs_afdeling_omschrijving, a1.prs_afdeling_omschrijving, a1.prs_afdeling_omschrijving, a1.prs_afdeling_naam || '-' || a1.prs_afdeling_omschrijving, a1.prs_bedrijf_key FROM PRS_AFDELING a1 WHERE a1.prs_afdeling_parentkey IS NULL UNION ALL SELECT 2, a2.prs_afdeling_key, a2.prs_afdeling_omschrijving, a1.prs_afdeling_naam || '-' || a2.prs_afdeling_omschrijving, a1.prs_afdeling_naam || '-' || a2.prs_afdeling_naam, a2.prs_afdeling_naam, a2.prs_afdeling_omschrijving || ' [' || a1.prs_afdeling_omschrijving || ']', a2.prs_afdeling_omschrijving || ' [' || a1.prs_afdeling_omschrijving || ']', a2.prs_afdeling_naam || '-' || a2.prs_afdeling_omschrijving, a1.prs_bedrijf_key FROM PRS_AFDELING a1, PRS_AFDELING a2 WHERE a2.prs_afdeling_parentkey = a1.prs_afdeling_key AND a1.prs_afdeling_parentkey is NULL UNION ALL SELECT 3, a3.prs_afdeling_key, a3.prs_afdeling_omschrijving, a1.prs_afdeling_naam || '-' || a2.prs_afdeling_naam || '-' || a3.prs_afdeling_omschrijving, a1.prs_afdeling_naam || '-' || a2.prs_afdeling_naam || '-' || a3.prs_afdeling_naam, a3.prs_afdeling_naam, a3.prs_afdeling_omschrijving || ' [' || a1.prs_afdeling_omschrijving || ']', a3.prs_afdeling_omschrijving || ' [' || a1.prs_afdeling_naam || '-' || a2.prs_afdeling_naam || ']', a3.prs_afdeling_naam || '-' || a3.prs_afdeling_omschrijving, a1.prs_bedrijf_key FROM PRS_AFDELING a1, PRS_AFDELING a2, PRS_AFDELING a3 WHERE a3.prs_afdeling_parentkey = a2.prs_afdeling_key AND a2.prs_afdeling_parentkey = a1.prs_afdeling_key AND a1.prs_afdeling_parentkey is NULL UNION ALL SELECT 4, a4.prs_afdeling_key, a4.prs_afdeling_omschrijving, a1.prs_afdeling_naam || '-' || a2.prs_afdeling_naam || '-' || a3.prs_afdeling_naam || '-' || a4.prs_afdeling_omschrijving, a1.prs_afdeling_naam || '-' || a2.prs_afdeling_naam || '-' || a3.prs_afdeling_naam || '-' || a4.prs_afdeling_naam, a4.prs_afdeling_naam, a4.prs_afdeling_omschrijving || ' [' || a1.prs_afdeling_omschrijving || ']', a4.prs_afdeling_omschrijving || ' [' || a1.prs_afdeling_naam || '-' || a2.prs_afdeling_naam || '-' || a3.prs_afdeling_naam || ']', a4.prs_afdeling_naam || '-' || a4.prs_afdeling_omschrijving, a1.prs_bedrijf_key FROM PRS_AFDELING a1, PRS_AFDELING a2, PRS_AFDELING a3, PRS_AFDELING a4 WHERE a4.prs_afdeling_parentkey = a3.prs_afdeling_key AND a3.prs_afdeling_parentkey = a2.prs_afdeling_key AND a2.prs_afdeling_parentkey = a1.prs_afdeling_key AND a1.prs_afdeling_parentkey is NULL UNION ALL SELECT 5, a5.prs_afdeling_key, a5.prs_afdeling_omschrijving, a1.prs_afdeling_naam || '-' || a2.prs_afdeling_naam || '-' || a3.prs_afdeling_naam || '-' || a4.prs_afdeling_naam || '-' || a5.prs_afdeling_omschrijving, a1.prs_afdeling_naam || '-' || a2.prs_afdeling_naam || '-' || a3.prs_afdeling_naam || '-' || a4.prs_afdeling_naam || '-' || a5.prs_afdeling_naam, a5.prs_afdeling_naam, a5.prs_afdeling_omschrijving || ' [' || a1.prs_afdeling_omschrijving || ']', a5.prs_afdeling_omschrijving || ' [' || a1.prs_afdeling_naam || '-' || a2.prs_afdeling_naam || '-' || a3.prs_afdeling_naam || '-' || a4.prs_afdeling_naam || ']', a5.prs_afdeling_naam || '-' || a5.prs_afdeling_omschrijving, a1.prs_bedrijf_key FROM PRS_AFDELING a1, PRS_AFDELING a2, PRS_AFDELING a3, PRS_AFDELING a4, PRS_AFDELING a5 WHERE a5.prs_afdeling_parentkey = a4.prs_afdeling_key AND a4.prs_afdeling_parentkey = a3.prs_afdeling_key AND a3.prs_afdeling_parentkey = a2.prs_afdeling_key AND a2.prs_afdeling_parentkey = a1.prs_afdeling_key AND a1.prs_afdeling_parentkey is NULL; CREATE_VIEW (PRS_V_AFDELING_BOOM21, 0 ) (PRS_AFDELING_KEY1) AS SELECT a1.prs_afdeling_key FROM prs_afdeling a1 WHERE a1.prs_afdeling_parentkey IS NULL; CREATE_VIEW (PRS_V_AFDELING_BOOM22, 0 ) (PRS_AFDELING_KEY1, PRS_AFDELING_KEY2) AS SELECT a1.prs_afdeling_key, a2.prs_afdeling_key FROM prs_afdeling a1, prs_afdeling a2 WHERE a2.prs_afdeling_parentkey = a1.prs_afdeling_key AND a1.prs_afdeling_parentkey IS NULL; CREATE_VIEW (PRS_V_AFDELING_BOOM23, 0 ) (PRS_AFDELING_KEY1, PRS_AFDELING_KEY2, PRS_AFDELING_KEY3) AS SELECT a1.prs_afdeling_key, a2.prs_afdeling_key, a3.prs_afdeling_key FROM prs_afdeling a1, prs_afdeling a2, prs_afdeling a3 WHERE a2.prs_afdeling_parentkey=a1.prs_afdeling_key AND a3.prs_afdeling_parentkey=a2.prs_afdeling_key AND a1.prs_afdeling_parentkey IS NULL; CREATE_VIEW (PRS_V_AFDELING_BOOM24, 0) (PRS_AFDELING_KEY1, PRS_AFDELING_KEY2, PRS_AFDELING_KEY3, PRS_AFDELING_KEY4) AS SELECT a1.prs_afdeling_key, a2.prs_afdeling_key, a3.prs_afdeling_key, a4.prs_afdeling_key FROM prs_afdeling a1, prs_afdeling a2, prs_afdeling a3, prs_afdeling a4 WHERE a2.prs_afdeling_parentkey=a1.prs_afdeling_key AND a3.prs_afdeling_parentkey=a2.prs_afdeling_key AND a4.prs_afdeling_parentkey=a3.prs_afdeling_key AND a1.prs_afdeling_parentkey IS NULL; CREATE_VIEW (PRS_V_AFDELING_BOOM25, 0 ) (PRS_AFDELING_KEY1, PRS_AFDELING_KEY2, PRS_AFDELING_KEY3, PRS_AFDELING_KEY4, PRS_AFDELING_KEY5) AS SELECT a1.prs_afdeling_key, a2.prs_afdeling_key, a3.prs_afdeling_key, a4.prs_afdeling_key, a5.prs_afdeling_key FROM prs_afdeling a1, prs_afdeling a2, prs_afdeling a3, prs_afdeling a4, prs_afdeling a5 WHERE a2.prs_afdeling_parentkey=a1.prs_afdeling_key AND a3.prs_afdeling_parentkey=a2.prs_afdeling_key AND a4.prs_afdeling_parentkey=a3.prs_afdeling_key AND a5.prs_afdeling_parentkey=a4.prs_afdeling_key AND a1.prs_afdeling_parentkey IS NULL; CREATE_VIEW (prs_v_afdeling_familie, 0 ) (PRS_AFDELING_KEY, PRS_AFDELING_ELDER_KEY, NIVEAU) AS SELECT prs_afdeling_key5 prs_afdeling_key, prs_afdeling_key5 prs_afdeling_elder_key, 5 niveau FROM prs_v_afdeling_boom25 UNION ALL SELECT prs_afdeling_key5, prs_afdeling_key4, 4 FROM prs_v_afdeling_boom25 UNION ALL SELECT prs_afdeling_key5, prs_afdeling_key3, 3 FROM prs_v_afdeling_boom25 UNION ALL SELECT prs_afdeling_key5, prs_afdeling_key2, 2 FROM prs_v_afdeling_boom25 UNION ALL SELECT prs_afdeling_key5, prs_afdeling_key1, 1 FROM prs_v_afdeling_boom25 UNION ALL SELECT prs_afdeling_key4, prs_afdeling_key4, 4 FROM prs_v_afdeling_boom24 UNION ALL SELECT prs_afdeling_key4, prs_afdeling_key3, 3 FROM prs_v_afdeling_boom24 UNION ALL SELECT prs_afdeling_key4, prs_afdeling_key2, 2 FROM prs_v_afdeling_boom24 UNION ALL SELECT prs_afdeling_key4, prs_afdeling_key1, 1 FROM prs_v_afdeling_boom24 UNION ALL SELECT prs_afdeling_key3, prs_afdeling_key3, 3 FROM prs_v_afdeling_boom23 UNION ALL SELECT prs_afdeling_key3, prs_afdeling_key2, 2 FROM prs_v_afdeling_boom23 UNION ALL SELECT prs_afdeling_key3, prs_afdeling_key1, 1 FROM prs_v_afdeling_boom23 UNION ALL SELECT prs_afdeling_key2, prs_afdeling_key2, 2 FROM prs_v_afdeling_boom22 UNION ALL SELECT prs_afdeling_key2, prs_afdeling_key1, 1 FROM prs_v_afdeling_boom22 UNION ALL SELECT prs_afdeling_key1, prs_afdeling_key1, 1 FROM prs_v_afdeling_boom21 ; // Compacte en efficiente versie van prs_v_afdeling_familie // Maar helaas bij enorm veel afdelingen (BAMG, FMHN) soms toch trager CREATE_VIEW (prs_v_afdeling_familie_oud, 0) (PRS_AFDELING_KEY, PRS_AFDELING_ELDER_KEY, NIVEAU) AS WITH levels AS ( SELECT prs_afdeling_key, COALESCE (CONNECT_BY_ROOT (prs_afdeling_parentkey), prs_afdeling_key) prs_afdeling_elder_key, LEVEL niveau FROM prs_afdeling CONNECT BY PRIOR prs_afdeling_key = prs_afdeling_parentkey ORDER BY prs_afdeling_key, niveau) SELECT ll.prs_afdeling_key, ll.prs_afdeling_elder_key, (SELECT MAX (l2.niveau) FROM levels l2 WHERE ll.prs_afdeling_elder_key = l2.prs_afdeling_key) niveau FROM levels ll ORDER BY prs_afdeling_key, niveau; -- -- CREATE_VIEW(prs_v_afdeling, 0) ( prs_afdeling_key, prs_afdeling_parentkey, prs_afdeling_naam, prs_afdeling_naam1, prs_afdeling_naam2, prs_afdeling_naam3, prs_afdeling_naam4, prs_afdeling_naam5, prs_afdeling_naam6, prs_afdeling_upper, prs_afdeling_omschrijving, prs_kostenplaats_key, mld_adres_key, prs_afdeling_aanmaak, prs_afdeling_verwijder, prs_bedrijf_key, prs_perslid_key_verantw, niveau ) AS SELECT a.prs_afdeling_key, a.prs_afdeling_parentkey, b.prs_afdeling_naam, b.prs_afdeling_naam1, b.prs_afdeling_naam2, b.prs_afdeling_naam3, b.prs_afdeling_naam4, b.prs_afdeling_naam5, b.prs_afdeling_naam6, UPPER(a.prs_afdeling_naam) prs_afdeling_upper, a.prs_afdeling_omschrijving, a.prs_kostenplaats_key, a.mld_adres_key, a.prs_afdeling_aanmaak, a.prs_afdeling_verwijder, b.prs_bedrijf_key, a.prs_perslid_key_verantw, b.niveau FROM prs_afdeling a, prs_v_afdeling_fullnames b WHERE a.prs_afdeling_key=b.prs_afdeling_key; -- NB: dit is een overrule! DEFINIEER_VIEW_AANWEZIG(prs_v_afdeling, prs_afdeling_verwijder, prs_v_aanwezigafdeling, 0); CREATE_VIEW (prs_v_prs_kostenplaats_info, 0) (kpn_nummer, kpn_omschrijving, fclt_f_kpn_budgethouder, fclt_f_kpn_groep_omschrijving, fclt_f_kpn_groep_verantw ) AS SELECT prs_kostenplaats_nr kpn_nummer, prs_kostenplaats_omschrijving kpn_omschrijving, pf1.prs_perslid_naam_full kpn_budgethouder, kpg.prs_kostenplaatsgrp_oms kpn_groep_omschrijving, pf2.prs_perslid_naam_full kpn_groep_verantw FROM prs_v_aanwezigkostenplaats kp, prs_v_perslid_fullnames pf1, prs_v_perslid_fullnames pf2, prs_kostenplaatsgrp kpg WHERE kp.prs_perslid_key = pf1.prs_perslid_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+) AND kpg.prs_perslid_key = pf2.prs_perslid_key(+); /* Views voor de HOOFDwerkplek van persleden */ -- Deze is veel sneller dan de eropvolgende, dus die gebruiken als je alleen de hwp nodig hebt CREATE_VIEW(prs_v_hoofdperslidwerkplek2, 0) ( prs_perslid_key, prs_werkplek_key, aantal ) AS SELECT prs_perslid_key, pwp.prs_werkplek_key, 1 FROM prs_perslidwerkplek pwp, prs_werkplek wp WHERE pwp.prs_werkplek_key = wp.prs_werkplek_key AND wp.prs_werkplek_virtueel = 0 AND NOT EXISTS (SELECT '' FROM prs_perslidwerkplek pwp2, prs_werkplek wp2 WHERE pwp.prs_perslid_key = pwp2.prs_perslid_key AND pwp2.prs_werkplek_key = wp2.prs_werkplek_key AND wp2.prs_werkplek_virtueel = 0 AND pwp.prs_werkplek_key <> pwp2.prs_werkplek_key AND COALESCE (pwp2.prs_perslidwerkplek_volgnr, 10000 + pwp2.prs_perslidwerkplek_key) < COALESCE (pwp.prs_perslidwerkplek_volgnr, 10000 + pwp.prs_perslidwerkplek_key)); CREATE_VIEW(prs_v_hoofdperslidwerkplek, 0) AS SELECT prs_perslid_key, MAX (pwp.prs_werkplek_key) prs_werkplek_key, 1 aantal FROM prs_perslidwerkplek pwp, prs_werkplek wp WHERE pwp.prs_werkplek_key = wp.prs_werkplek_key AND wp.prs_werkplek_virtueel = 0 GROUP BY prs_perslid_key HAVING COUNT (pwp.prs_werkplek_key) = 1 UNION ALL SELECT prs_perslid_key, pwp.prs_werkplek_key, 2 FROM prs_perslidwerkplek pwp, prs_werkplek wp WHERE pwp.prs_werkplek_key = wp.prs_werkplek_key AND wp.prs_werkplek_virtueel = 0 AND NOT EXISTS (SELECT '' FROM prs_perslidwerkplek pwp2, prs_werkplek wp2 WHERE pwp.prs_perslid_key = pwp2.prs_perslid_key AND pwp2.prs_werkplek_key = wp2.prs_werkplek_key AND wp2.prs_werkplek_virtueel = 0 AND pwp.prs_werkplek_key <> pwp2.prs_werkplek_key AND COALESCE (pwp2.prs_perslidwerkplek_volgnr, 10000+pwp2.prs_perslidwerkplek_key) < COALESCE (pwp.prs_perslidwerkplek_volgnr, 10000+pwp.prs_perslidwerkplek_key)) AND NOT EXISTS ( SELECT prs_perslid_key FROM prs_perslidwerkplek pwp3, prs_werkplek wp3 WHERE pwp3.prs_werkplek_key = wp3.prs_werkplek_key AND wp3.prs_werkplek_virtueel = 0 AND pwp3.prs_perslid_key = pwp.prs_perslid_key GROUP BY prs_perslid_key HAVING COUNT (pwp3.prs_werkplek_key) = 1); CREATE_VIEW(prs_v_werkplek_gegevens,0) ( prs_werkplek_key, prs_werkplek_volgnr, prs_werkplek_omschrijving, prs_werkplek_opp, prs_werkplek_module, prs_werkplek_virtueel, prs_werkplek_type, alg_ruimte_key, alg_ruimte_nr, alg_ruimte_upper_nr, alg_ruimte_bruto_vloeropp, alg_verdieping_key, alg_verdieping_code, alg_verdieping_volgnr, alg_verdieping_omschrijving, alg_gebouw_key, alg_gebouw_code, alg_gebouw_omschrijving, alg_gebouw_upper, alg_locatie_key, alg_locatie_code, alg_ruimte_aanduiding, prs_werkplek_aanduiding, prs_werkplek_getekend, alg_ruimte_omschrijving, prs_werkplek_vastopp ) AS SELECT prs_w.prs_werkplek_key, prs_w.prs_werkplek_volgnr, prs_w.prs_werkplek_omschrijving, prs_w.prs_werkplek_opp, prs_w.prs_werkplek_module, prs_w.prs_werkplek_virtueel, prs_w.prs_werkplek_type, alg_r.alg_ruimte_key, alg_r.alg_ruimte_nr, alg_r.alg_ruimte_upper_nr, alg_r.alg_ruimte_bruto_vloeropp, alg_v.alg_verdieping_key, alg_v.alg_verdieping_code, alg_v.alg_verdieping_volgnr, alg_v.alg_verdieping_omschrijving, alg_g.alg_gebouw_key, alg_g.alg_gebouw_code, alg_g.alg_gebouw_omschrijving, alg_g.alg_gebouw_upper, alg_g.alg_locatie_key, alg_l.alg_locatie_code, DECODE (SUBSTR (alg_g.alg_gebouw_code, 1, 1), '_', '', alg_g.alg_gebouw_code) || DECODE (SUBSTR (alg_v.alg_verdieping_code, 1, 1), '_', '', '-' || alg_v.alg_verdieping_code) || DECODE (SUBSTR (alg_r.alg_ruimte_nr, 1, 1), '_', '', '-' || alg_r.alg_ruimte_nr), alg_l.alg_locatie_code || DECODE (SUBSTR (alg_g.alg_gebouw_code, 1, 1), '_', '', '-' ||alg_g.alg_gebouw_code) || DECODE (SUBSTR (alg_v.alg_verdieping_code, 1, 1), '_', '', '-' || alg_v.alg_verdieping_code) || DECODE (SUBSTR (alg_r.alg_ruimte_nr, 1, 1), '_', '', '-' || alg_r.alg_ruimte_nr) || '/' || TO_CHAR (prs_w.prs_werkplek_volgnr), prs_w.prs_werkplek_getekend, alg_r.alg_ruimte_omschrijving, prs_w.prs_werkplek_vastopp FROM prs_werkplek prs_w, alg_ruimte alg_r, alg_verdieping alg_v, alg_gebouw alg_g, alg_locatie alg_l WHERE alg_r.alg_verdieping_key = alg_v.alg_verdieping_key AND alg_v.alg_gebouw_key = alg_g.alg_gebouw_key AND prs_w.prs_alg_ruimte_key = alg_r.alg_ruimte_key AND alg_g.alg_locatie_key = alg_l.alg_locatie_key; /* View om te bepalen wat het totale bezettingspercentage van een werkplek is */ CREATE_VIEW(prs_v_werkplek_bezetting, 0) (prs_werkplek_key, prs_werkplek_bezetting) AS SELECT PRS_W.prs_werkplek_key, NVL(SUM(PRS_PW.prs_perslidwerkplek_bezetting), 0) FROM prs_werkplek PRS_W, prs_perslidwerkplek PRS_PW WHERE PRS_W.prs_werkplek_key = PRS_PW.prs_werkplek_key (+) GROUP BY PRS_W.prs_werkplek_key; /* View om alle werkplekken te koppelen aan persleden, met outerjoin. */ CREATE_VIEW(prs_v_perslidwerkplek_gegevens, 0) (prs_werkplek_key, prs_werkplek_volgnr, prs_werkplek_omschrijving, prs_werkplek_opp, prs_werkplek_aanduiding, prs_werkplek_virtueel, alg_ruimte_key, alg_ruimte_nr, alg_ruimte_upper_nr, alg_verdieping_key, alg_verdieping_code, alg_verdieping_volgnr, alg_verdieping_omschrijving, alg_gebouw_key, alg_gebouw_code, alg_gebouw_omschrijving, alg_gebouw_upper, alg_locatie_key, prs_perslidwerkplek_key, prs_afdeling_key, prs_perslid_key, prs_afd_perslid_naam, prs_afd_perslid_upper, prs_perslidwerkplek_bezetting) AS SELECT prs_w.prs_werkplek_key, prs_w.prs_werkplek_volgnr, prs_w.prs_werkplek_omschrijving, prs_w.prs_werkplek_opp, prs_w.prs_werkplek_aanduiding, prs_w.prs_werkplek_virtueel, prs_w.alg_ruimte_key, prs_w.alg_ruimte_nr, prs_w.alg_ruimte_upper_nr, prs_w.alg_verdieping_key, prs_w.alg_verdieping_code, prs_w.alg_verdieping_volgnr, prs_w.alg_verdieping_omschrijving, prs_w.alg_gebouw_key, prs_w.alg_gebouw_code, prs_w.alg_gebouw_omschrijving, prs_w.alg_gebouw_upper, prs_w.alg_locatie_key, prs_pw.prs_perslidwerkplek_key, TO_NUMBER (NULL), prs_pw.prs_perslid_key, pf.prs_perslid_naam_full, prs_p.prs_perslid_upper, prs_pw.prs_perslidwerkplek_bezetting FROM prs_v_werkplek_gegevens prs_w, prs_perslidwerkplek prs_pw, prs_perslid prs_p, prs_v_perslid_fullnames_all pf 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_p.prs_perslid_key = pf.prs_perslid_key UNION SELECT prs_w.prs_werkplek_key, prs_w.prs_werkplek_volgnr, prs_w.prs_werkplek_omschrijving, prs_w.prs_werkplek_opp, prs_w.prs_werkplek_aanduiding, prs_w.prs_werkplek_virtueel, prs_w.alg_ruimte_key, prs_w.alg_ruimte_nr, prs_w.alg_ruimte_upper_nr, prs_w.alg_verdieping_key, prs_w.alg_verdieping_code, prs_w.alg_verdieping_volgnr, prs_w.alg_verdieping_omschrijving, prs_w.alg_gebouw_key, prs_w.alg_gebouw_code, prs_w.alg_gebouw_omschrijving, prs_w.alg_gebouw_upper, prs_w.alg_locatie_key, TO_NUMBER (NULL), TO_NUMBER (NULL), TO_NUMBER (NULL), '[Vrij]', '[VRIJ]', 100 - prs_wb.prs_werkplek_bezetting FROM prs_v_werkplek_gegevens prs_w, prs_v_werkplek_bezetting prs_wb WHERE prs_w.prs_werkplek_key = prs_wb.prs_werkplek_key AND prs_wb.prs_werkplek_bezetting < 100; /* View om werkplekken aan persleden te koppelen met afdeling. */ CREATE_VIEW(prs_v_werkplekperslid_gegevens,0) (prs_perslidwerkplek_key, prs_perslid_key, prs_afdeling_key, prs_naam, prs_werkplek_key, prs_werkplek_volgnr, prs_werkplek_opp, alg_locatie_key, alg_gebouw_omschrijving, alg_gebouw_upper, alg_verdieping_code, alg_verdieping_omschrijving, alg_ruimte_nr, alg_ruimte_upper_nr ) AS SELECT prs_pw.prs_perslidwerkplek_key, prs_pw.prs_perslid_key, prs_p.prs_afdeling_key, pf.prs_perslid_naam_full, prs_pw.prs_werkplek_key, prs_w.prs_werkplek_volgnr, prs_w.prs_werkplek_opp, prs_w.alg_locatie_key, prs_w.alg_gebouw_omschrijving, prs_w.alg_gebouw_upper, prs_w.alg_verdieping_code, prs_w.alg_verdieping_omschrijving, prs_w.alg_ruimte_nr, prs_w.alg_ruimte_upper_nr FROM prs_perslidwerkplek prs_pw, prs_perslid prs_p, prs_v_werkplek_gegevens prs_w, prs_v_perslid_fullnames_all pf WHERE prs_pw.prs_perslid_key = prs_p.prs_perslid_key AND prs_pw.prs_werkplek_key = prs_w.prs_werkplek_key AND prs_p.prs_perslid_key = pf.prs_perslid_key; /* View om werkplekken aan persleden te koppelen met afdeling, geen outer join. */ CREATE_VIEW(prs_v_werkplekafdeling_geg,0) ( prs_perslidwerkplek_key, prs_afdeling_key, prs_afdeling_naam, prs_afdeling_upper, prs_werkplek_key, prs_werkplek_volgnr, prs_werkplek_opp, alg_locatie_key, alg_gebouw_omschrijving, alg_gebouw_upper, alg_verdieping_code, alg_verdieping_omschrijving, alg_ruimte_key, alg_ruimte_nr, alg_ruimte_upper_nr, alg_ruimte_bruto_vloeropp ) AS SELECT PRS_PW.prs_perslidwerkplek_key, PRS_A.prs_afdeling_key, PRS_A.prs_afdeling_naam, PRS_A.prs_afdeling_upper, PRS_PW.prs_werkplek_key, PRS_W.prs_werkplek_volgnr, PRS_W.prs_werkplek_opp, PRS_W.alg_locatie_key, PRS_W.alg_gebouw_omschrijving, PRS_W.alg_gebouw_upper, PRS_W.alg_verdieping_code, PRS_W.alg_verdieping_omschrijving, PRS_W.alg_ruimte_key, PRS_W.alg_ruimte_nr, PRS_W.alg_ruimte_upper_nr, PRS_W.alg_ruimte_bruto_vloeropp FROM prs_perslidwerkplek PRS_PW, PRS_PERSLID PRS_P, PRS_AFDELING PRS_A, prs_v_werkplek_gegevens PRS_W WHERE PRS_PW.prs_perslid_key = PRS_P.prs_perslid_key AND PRS_P.prs_afdeling_key = PRS_A.prs_afdeling_key AND PRS_PW.prs_werkplek_key = PRS_W.prs_werkplek_key; CREATE_VIEW(prs_v_uurloon_uitvoerende, 0) (prs_uitvoerende_key, uurloon) AS SELECT P.prs_perslid_key, P.prs_perslid_uurloon FROM prs_v_aanwezigperslid P WHERE P.prs_perslid_uurloon IS NOT NULL UNION SELECT P.prs_perslid_key, S.prs_srtperslid_uurloon FROM prs_v_aanwezigperslid P, prs_v_aanwezigsrtperslid S WHERE P.prs_perslid_uurloon IS NULL AND P.prs_srtperslid_key = S.prs_srtperslid_key AND S.prs_srtperslid_uurloon IS NOT NULL AND S.prs_bedrijf_key IS NULL UNION SELECT S.prs_srtperslid_key, S.prs_srtperslid_uurloon FROM prs_v_aanwezigsrtperslid S UNION SELECT B.prs_bedrijf_key, B.prs_bedrijf_uurloon FROM prs_v_aanwezigbedrijf B WHERE B.prs_bedrijf_uurloon IS NOT NULL; CREATE_VIEW(prs_v_ruimte_afdeling ,0) (prs_afdeling_key, prs_afdeling_naam, prs_werkplek_key, prs_werkplek_opp, alg_verdieping_key, alg_verdieping_code, alg_gebouw_key) AS SELECT AF.prs_afdeling_key, -- Werkplekken gekoppeld aan personen AF.prs_afdeling_naam, PWP.prs_werkplek_key, (WP.prs_werkplek_opp*PWP.prs_perslidwerkplek_bezetting)/100, V.alg_verdieping_key, V.alg_verdieping_code, V.alg_gebouw_key FROM prs_perslidwerkplek PWP, prs_v_werkplek_gegevens WP, prs_perslid PL, prs_afdeling AF, alg_ruimte R, alg_verdieping V WHERE WP.prs_werkplek_key = PWP.prs_werkplek_key AND PL.prs_perslid_key = PWP.prs_perslid_key AND PL.prs_afdeling_key = AF.prs_afdeling_key AND WP.alg_ruimte_key = R.alg_ruimte_key AND R.alg_verdieping_key = V.alg_verdieping_key; CREATE_VIEW(prs_v_ruimte_afdeling_total,0) (prs_afdeling_key, prs_afdeling_naam, prs_afdeling_opp, alg_verdieping_key, alg_gebouw_key) AS SELECT DISTINCT(RA.prs_afdeling_key), RA.prs_afdeling_naam, SUM(RA.prs_werkplek_opp), RA.alg_verdieping_key, RA.alg_gebouw_key FROM prs_v_ruimte_afdeling RA GROUP BY prs_afdeling_key, prs_afdeling_naam, alg_gebouw_key, alg_verdieping_key, prs_werkplek_opp; -- -- Waarom hier? CREATE_VIEW(fac_v_my_disciplines, 0) ( ins_discipline_key, prs_perslid_key, fac_gebruiker_alg_level_read, fac_gebruiker_alg_level_write, fac_gebruiker_prs_level_read, fac_gebruiker_prs_level_write, fac_functie_code, fac_functie_module) AS SELECT g.ins_discipline_key, g.prs_perslid_key, g.fac_gebruiker_alg_level_read, g.fac_gebruiker_alg_level_write, g.fac_gebruiker_prs_level_read, g.fac_gebruiker_prs_level_write, f.fac_functie_code, f.fac_functie_module FROM fac_v_webgebruiker g, FAC_FUNCTIE f WHERE f.fac_functie_key = g.fac_functie_key AND g.ins_discipline_key IS NOT NULL; -- Oppervlakte van een werkplek, rekening houdend met andere werkplekken in de ruimte -- die eventueel een vaste oppervlakte kunnen hebben -- Het is een zware view dus sporadisch gebruiken! CREATE_VIEW(prs_v_werkplek_oppervlakte, 0) (prs_werkplek_key, wpopp) AS SELECT prs_werkplek_key, DECODE (prs_werkplek_vastopp, 1, prs_werkplek_opp, (alg_ruimte_bruto_vloeropp - totvastopp ) / vrijwp ) wpopp FROM (SELECT prs_alg_ruimte_key, COUNT (*), COUNT (*) - COUNT (prs_werkplek_vastopp) vrijwp, COUNT (prs_werkplek_vastopp) vastwp, SUM (DECODE (prs_werkplek_vastopp, 1, prs_werkplek_opp, 0 ) ) totvastopp FROM prs_werkplek GROUP BY prs_alg_ruimte_key) selopp, alg_ruimte prj_r, prs_werkplek prj_w WHERE prj_r.alg_ruimte_key = prj_w.prs_alg_ruimte_key AND selopp.prs_alg_ruimte_key = prj_r.alg_ruimte_key ORDER BY prs_werkplek_key; -- overzicht van verplichtingen -- LET OP: elke fac_message_code moet een corresponderende LCL hebben! CREATE_VIEW(PRS_V_VERPLICHTING, 0) (prs_perslid_key, fac_message_code, item, item_key, locatie_key, xmlnode) AS SELECT o.mld_uitvoerende_keys, 'PRS_OPENST_OPDRACHT', (SELECT isd.ins_srtdiscipline_prefix FROM ins_srtdiscipline isd, ins_tab_discipline id, mld_melding m WHERE id.ins_srtdiscipline_key = isd.ins_srtdiscipline_key AND std.mld_ins_discipline_key = id.ins_discipline_key AND o.mld_melding_key = m.mld_melding_key) || TO_CHAR (o.mld_melding_key) || '/' || TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr), o.mld_opdr_key, m.mld_alg_locatie_key, 'opdracht' FROM mld_opdr o, prs_perslid p, mld_melding m, mld_stdmelding std WHERE o.mld_statusopdr_key IN (5, 8) AND o.mld_melding_key = m.mld_melding_key AND m.mld_stdmelding_key = std.mld_stdmelding_key AND o.mld_uitvoerende_keys = p.prs_perslid_key AND o.fac_activiteit_key IS NULL UNION ALL SELECT m.prs_perslid_key, 'PRS_OPENST_MELDING', (SELECT isd.ins_srtdiscipline_prefix FROM ins_srtdiscipline isd, ins_tab_discipline id WHERE id.ins_srtdiscipline_key = isd.ins_srtdiscipline_key AND std.mld_ins_discipline_key = id.ins_discipline_key) || TO_CHAR (m.mld_melding_key), m.mld_melding_key, m.mld_alg_locatie_key, 'melding' FROM mld_melding m, mld_stdmelding std WHERE m.mld_stdmelding_key = std.mld_stdmelding_key AND m.mld_melding_status IN (0, 2, 3, 4, 7) AND m.fac_activiteit_key IS NULL UNION ALL SELECT b.prs_perslid_key, 'PRS_OPENST_BESTELLING', TO_CHAR (bes_bestelling_key), bes_bestelling_key, ma.alg_locatie_key, 'bestelling' FROM bes_bestelling b, mld_adres ma WHERE b.bes_bestelling_status IN (5, 4, 3, 2) AND b.mld_adres_key_lev = ma.mld_adres_key(+) AND b.fac_activiteit_key IS NULL AND EXISTS (SELECT 1 FROM bes_bestelling_item i WHERE b.bes_bestelling_key = i.bes_bestelling_key) UNION ALL SELECT b.prs_perslid_key_voor, 'PRS_OPENST_BESTELLING', TO_CHAR (bes_bestelling_key), bes_bestelling_key, ma.alg_locatie_key, 'bestelling' FROM bes_bestelling b, mld_adres ma WHERE b.bes_bestelling_status IN (5, 4, 3, 2) AND b.mld_adres_key_lev = ma.mld_adres_key(+) AND b.fac_activiteit_key IS NULL AND EXISTS (SELECT 1 FROM bes_bestelling_item i WHERE b.bes_bestelling_key = i.bes_bestelling_key) UNION ALL SELECT ins_alg_ruimte_key, 'PRS_BEZIT_OBJECT', ins_deel_omschrijving, ins_deel_key, d.ins_alg_locatie_key, 'deel' FROM ins_v_aanwezigdeel d, ins_tab_discipline id WHERE d.ins_alg_ruimte_type = 'P' AND id.ins_discipline_key = d.ins_discipline_key AND id.ins_discipline_min_level <> 3 UNION ALL SELECT rr.res_rsv_ruimte_host_key, 'PRS_OPENST_RES_R', TO_CHAR (rr.res_reservering_key) || '/' || TO_CHAR (res_rsv_ruimte_volgnr), rr.res_rsv_ruimte_key, rg.alg_locatie_key, 'reservering' FROM res_v_aanwezigrsv_ruimte rr, res_ruimte_opstelling ro, res_v_alg_ruimte_gegevens rg WHERE rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key AND ro.res_ruimte_key = rg.res_ruimte_key AND rr.res_status_bo_key IN (4, 3, 2) AND res_rsv_ruimte_tot > SYSDATE - fac.getSetting('res_is_closed_after_days') UNION ALL SELECT rr.res_rsv_ruimte_host_key, 'PRS_OPENST_RES_V', TO_CHAR (rr.res_reservering_key) || '/' || TO_CHAR (res_rsv_ruimte_volgnr), rr.res_rsv_ruimte_key, rg.alg_locatie_key, 'reservering' FROM res_v_aanwezigrsv_deel rd, alg_v_onrgoed_boom rg, res_rsv_ruimte rr WHERE rr.alg_ruimte_key = rg.alg_ruimte_key AND rr.res_rsv_ruimte_key = rd.res_rsv_ruimte_key AND rd.res_status_bo_key IN (4, 3, 2) AND res_rsv_ruimte_tot > SYSDATE - fac.getSetting('res_is_closed_after_days') UNION ALL SELECT rr.res_rsv_ruimte_host_key, 'PRS_OPENST_RES_C', TO_CHAR (rr.res_reservering_key) || '/' || TO_CHAR (res_rsv_ruimte_volgnr), rr.res_rsv_ruimte_key, rg.alg_locatie_key, 'reservering' FROM res_v_aanwezigrsv_artikel ra, alg_v_onrgoed_boom rg, res_rsv_ruimte rr WHERE rr.alg_ruimte_key = rg.alg_ruimte_key AND rr.res_rsv_ruimte_key = ra.res_rsv_ruimte_key AND ra.res_status_bo_key IN (4, 3, 2) AND res_rsv_ruimte_tot > SYSDATE - fac.getSetting('res_is_closed_after_days') UNION ALL SELECT rr.res_rsv_ruimte_contact_key, 'PRS_OPENST_RES_RC', TO_CHAR (rr.res_reservering_key) || '/' || TO_CHAR (res_rsv_ruimte_volgnr), rr.res_rsv_ruimte_key, rg.alg_locatie_key, 'reservering' FROM res_v_aanwezigrsv_ruimte rr, res_ruimte_opstelling ro, res_v_alg_ruimte_gegevens rg WHERE rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key AND ro.res_ruimte_key = rg.res_ruimte_key AND rr.res_status_bo_key IN (4, 3, 2) AND res_rsv_ruimte_tot > SYSDATE - fac.getSetting('res_is_closed_after_days') UNION ALL SELECT rr.res_rsv_ruimte_contact_key, 'PRS_OPENST_RES_VC', TO_CHAR (rr.res_reservering_key) || '/' || TO_CHAR (res_rsv_ruimte_volgnr), rr.res_rsv_ruimte_key, rg.alg_locatie_key, 'reservering' FROM res_v_aanwezigrsv_deel rd, alg_v_onrgoed_boom rg, res_rsv_ruimte rr WHERE rr.alg_ruimte_key = rg.alg_ruimte_key AND rr.res_rsv_ruimte_key = rd.res_rsv_ruimte_key AND rd.res_status_bo_key IN (4, 3, 2) AND res_rsv_ruimte_tot > SYSDATE - fac.getSetting('res_is_closed_after_days') UNION ALL SELECT rr.res_rsv_ruimte_contact_key, 'PRS_OPENST_RES_CC', TO_CHAR (rr.res_reservering_key) || '/' || TO_CHAR (res_rsv_ruimte_volgnr), rr.res_rsv_ruimte_key, rg.alg_locatie_key, 'reservering' FROM res_v_aanwezigrsv_artikel ra, alg_v_onrgoed_boom rg, res_rsv_ruimte rr WHERE rr.alg_ruimte_key = rg.alg_ruimte_key AND rr.res_rsv_ruimte_key = ra.res_rsv_ruimte_key AND ra.res_status_bo_key IN (4, 3, 2) AND res_rsv_ruimte_tot > SYSDATE - fac.getSetting('res_is_closed_after_days') UNION ALL SELECT a.bez_afspraak_host_key, 'PRS_AFSPRAAK_H', TO_CHAR (a.bez_afspraak_datum, 'DD-MM-YYYY HH24:MI'), a.bez_afspraak_key, a.alg_locatie_key, 'afspraak' FROM bez_afspraak a WHERE a.bez_afspraak_datum > SYSDATE UNION ALL SELECT a.bez_afspraak_contact_key, 'PRS_AFSPRAAK_C', TO_CHAR (a.bez_afspraak_datum, 'DD-MM-YYYY HH24:MI'), a.bez_afspraak_key, a.alg_locatie_key, 'afspraak' FROM bez_afspraak a WHERE a.bez_afspraak_datum > SYSDATE UNION ALL SELECT k.prs_perslid_key, 'PRS_BUDGETHOUDER_VAN', k.prs_kostenplaats_nr, k.prs_kostenplaats_key, NULL, 'budgethouder' FROM prs_kostenplaats k WHERE prs_kostenplaats_verwijder IS NULL AND (prs_kostenplaats_eind > SYSDATE OR prs_kostenplaats_eind IS NULL) UNION ALL SELECT k.prs_perslid_key, 'PRS_FIATTEUR_GROEP1', k.prs_kostenplaatsgrp_oms, k.prs_kostenplaatsgrp_key, NULL, 'fiatteur' FROM prs_kostenplaatsgrp k UNION ALL SELECT k.prs_kostenplaatsgrp_fiat2_key, 'PRS_FIATTEUR_GROEP2', k.prs_kostenplaatsgrp_oms, k.prs_kostenplaatsgrp_key, NULL, 'fiatteur' FROM prs_kostenplaatsgrp k UNION ALL SELECT k.prs_kostenplaatsgrp_fiat3_key, 'PRS_FIATTEUR_GROEP3', k.prs_kostenplaatsgrp_oms, k.prs_kostenplaatsgrp_key, NULL, 'fiatteur' FROM prs_kostenplaatsgrp k UNION ALL SELECT c.prs_perslid_key_beh, 'CNT_CONTRACT_BEH', cnt_contract_nummer_intern || CASE WHEN c.cnt_contract_versie IS NOT NULL THEN '.' || c.cnt_contract_versie ELSE '' END, c.cnt_contract_key, NULL, 'contract' FROM cnt_contract c WHERE cnt_contract_verwijder IS NULL AND cnt_contract_status = 0 /* actief */ AND cnt_contract_looptijd_tot > SYSDATE UNION ALL SELECT c.prs_perslid_key_eig, 'CNT_CONTRACT_EIG', cnt_contract_nummer_intern || CASE WHEN c.cnt_contract_versie IS NOT NULL THEN '.' || c.cnt_contract_versie ELSE '' END, c.cnt_contract_key, NULL, 'contract' FROM cnt_contract c WHERE cnt_contract_verwijder IS NULL AND cnt_contract_status = 0 /* actief */ AND cnt_contract_looptijd_tot > SYSDATE UNION ALL SELECT c.cnt_prs_perslid_key, 'CNT_CONTRACT_PARTIJ', cnt_contract_nummer_intern || CASE WHEN c.cnt_contract_versie IS NOT NULL THEN '.' || c.cnt_contract_versie ELSE '' END, c.cnt_contract_key, NULL, 'contract' FROM cnt_contract c WHERE cnt_contract_verwijder IS NULL AND cnt_contract_status = 0 /* actief */ AND cnt_contract_looptijd_tot > SYSDATE AND c.cnt_prs_perslid_key IS NOT NULL UNION ALL SELECT d.prs_perslid_key_beh, 'PRS_BEHEERT_OBJECT', ins_deel_omschrijving, ins_deel_key, d.ins_alg_locatie_key, 'deel' FROM ins_v_aanwezigdeel d; -- Dezelfde view voor afdelingen CREATE_VIEW(prs_v_afd_verplichting, 0) (prs_afdeling_key, fac_message_code, item, item_key) AS SELECT p.prs_afdeling_key, 'PRS_OPENST_OPDRACHT', (SELECT isd.ins_srtdiscipline_prefix FROM ins_srtdiscipline isd, ins_tab_discipline ID, mld_stdmelding std, mld_melding m WHERE ID.ins_srtdiscipline_key = isd.ins_srtdiscipline_key AND m.mld_stdmelding_key = std.mld_stdmelding_key AND std.mld_ins_discipline_key = ID.ins_discipline_key AND o.mld_melding_key = m.mld_melding_key) || TO_CHAR (o.mld_melding_key) || '/' || TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr), o.mld_opdr_key FROM mld_opdr o, prs_perslid p WHERE o.mld_statusopdr_key IN (5, 8) AND o.mld_uitvoerende_keys = p.prs_perslid_key AND o.fac_activiteit_key IS NULL UNION SELECT p.prs_afdeling_key, 'PRS_OPENST_BESTELLING', TO_CHAR (bes_bestelling_key), bes_bestelling_key FROM bes_bestelling b, prs_perslid p WHERE b.bes_bestelling_status IN (5, 4, 3, 2) AND b.prs_perslid_key=p.prs_perslid_key UNION SELECT ins_alg_ruimte_key, 'PRS_BEZIT_OBJECT', ins_deel_omschrijving, ins_deel_key FROM ins_v_aanwezigdeel d, ins_tab_discipline ID WHERE d.ins_alg_ruimte_type = 'A' AND ID.ins_discipline_key = d.ins_discipline_key AND ID.ins_discipline_min_level <> 3; // PF: DEZE NOG SEMANTISCH CONTROLEREN! CREATE_VIEW(prs_v_kp_verplichting, 0) (prs_kostenplaats_key, fac_message_code, item, item_key, locatie_key) AS SELECT o.prs_kostenplaats_key, 'KPN_OPENST_OPDRACHT', (SELECT isd.ins_srtdiscipline_prefix FROM ins_srtdiscipline isd, ins_tab_discipline ID, mld_melding m WHERE ID.ins_srtdiscipline_key = isd.ins_srtdiscipline_key AND std.mld_ins_discipline_key = ID.ins_discipline_key AND o.mld_melding_key = m.mld_melding_key) || TO_CHAR (o.mld_melding_key) || '/' || TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr), o.mld_opdr_key, m.mld_alg_locatie_key FROM mld_opdr o, prs_perslid p, mld_stdmelding std, mld_melding m WHERE o.mld_statusopdr_key IN (5, 8) AND o.mld_melding_key = m.mld_melding_key AND m.mld_stdmelding_key = std.mld_stdmelding_key AND o.mld_uitvoerende_keys = p.prs_perslid_key UNION SELECT b.prs_kostenplaats_key, 'KPN_OPENST_BESTELLING', TO_CHAR (bes_bestelling_key), bes_bestelling_key, ma.alg_locatie_key FROM bes_bestelling b, mld_adres ma WHERE b.bes_bestelling_status IN (5, 4, 3, 2) AND b.mld_adres_key_lev = ma.mld_adres_key(+) UNION SELECT rr.prs_kostenplaats_key, 'KPN_OPENST_RES_R', TO_CHAR (rr.res_reservering_key) || '/' || COUNT (*), rr.res_reservering_key, rg.alg_locatie_key FROM res_v_aanwezigrsv_ruimte rr, res_ruimte_opstelling ro, res_v_alg_ruimte_gegevens rg WHERE rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key AND ro.res_ruimte_key = rg.res_ruimte_key AND rr.res_status_bo_key IN (4, 3, 2) GROUP BY rr.prs_kostenplaats_key, 'KPN_OPENST_RES_R', rr.res_reservering_key, rg.alg_locatie_key UNION SELECT rr.prs_kostenplaats_key, 'KPN_OPENST_RES_V', TO_CHAR (rr.res_reservering_key) || '/' || COUNT (*), rr.res_reservering_key, rg.alg_locatie_key FROM res_v_aanwezigrsv_deel rd, res_v_alg_ruimte_gegevens rg, res_v_aanwezigrsv_ruimte rr WHERE rr.res_rsv_ruimte_key = rd.res_rsv_ruimte_key AND rr.alg_ruimte_key = rg.alg_ruimte_key AND rd.res_status_bo_key IN (4, 3, 2) AND rr.alg_ruimte_key IS NOT NULL GROUP BY rr.prs_kostenplaats_key, 'KPN_OPENST_RES_V', rr.res_reservering_key, rg.alg_ruimte_key, rg.alg_locatie_key UNION SELECT rr.prs_kostenplaats_key, 'KPN_OPENST_RES_C', TO_CHAR (rr.res_reservering_key) || '/' || COUNT (*), rr.res_reservering_key, rg.alg_locatie_key FROM res_v_aanwezigrsv_artikel ra, res_v_alg_ruimte_gegevens rg, res_v_aanwezigrsv_ruimte rr WHERE rr.res_rsv_ruimte_key = ra.res_rsv_ruimte_key AND rr.alg_ruimte_key = rg.alg_ruimte_key AND ra.res_status_bo_key IN (4, 3, 2) AND rr.alg_ruimte_key IS NOT NULL GROUP BY rr.prs_kostenplaats_key, 'KPN_OPENST_RES_C', rr.res_reservering_key, rr.alg_ruimte_key, rg.alg_locatie_key; // Deze view is beter geschikt dan bovenstaande en geeft of een bepaald persoon // relevant gebruikt werd/wordt in de database. Komt een perslid hier niet in voor // dan mag die verwijderd (DELETED) worden. (gebruik als select ** where prs_perslid_key=NNN CREATE_VIEW(prs_v_verplichting_refcheck,0) (prs_perslid_key) AS SELECT b.prs_perslid_key FROM bes_bestelling b UNION ALL SELECT b.prs_perslid_key_voor FROM bes_bestelling b UNION ALL SELECT b.bes_bestelling_fiat_user FROM bes_bestelling b UNION ALL SELECT b.prs_perslid_key FROM bes_bestelopdr b UNION ALL SELECT a.bez_afspraak_contact_key FROM bez_afspraak a UNION ALL SELECT a.bez_afspraak_host_key FROM bez_afspraak a UNION ALL SELECT a.prs_perslid_key FROM bez_afspraak a UNION ALL SELECT z.prs_perslid_key FROM bez_bezoekers z UNION ALL SELECT p.prs_perslid_key FROM prs_contactpersoon p UNION ALL SELECT c.prs_perslid_key_beh FROM cnt_contract c UNION ALL SELECT c.prs_perslid_key_eig FROM cnt_contract c UNION ALL SELECT c.cnt_prs_perslid_key FROM cnt_contract c UNION ALL SELECT m.prs_perslid_key FROM mld_melding m UNION ALL SELECT m.prs_perslid_key_voor FROM mld_melding m UNION ALL SELECT m.mld_melding_behandelaar_key FROM mld_melding m UNION ALL SELECT o.mld_uitvoerende_keys FROM mld_opdr o UNION ALL SELECT o.prs_perslid_key FROM mld_opdr o UNION ALL SELECT m.prs_perslid_key FROM mrk_bericht m UNION ALL SELECT r.res_rsv_ruimte_host_key FROM res_rsv_ruimte r UNION ALL SELECT r.res_rsv_ruimte_contact_key FROM res_rsv_ruimte r UNION ALL SELECT ins_alg_ruimte_key FROM ins_deel d WHERE d.ins_alg_ruimte_type = 'P' UNION ALL SELECT prs_perslid_key_beh FROM ins_deel d; -- Genuanceeerdere versie van de voorgaande, te gebruiken voor existentie: -- kom een perslid_key hierin voor, dan heeft die een actuele verplichting -- en mag-ie niet inactief (_VERWIJDER) worden. CREATE_VIEW(prs_v_verplichting_keys, 0) (prs_perslid_key, item_key) AS SELECT o.mld_uitvoerende_keys, o.mld_opdr_key FROM mld_opdr o, prs_perslid p WHERE o.mld_statusopdr_key IN (5, 8) AND o.mld_uitvoerende_keys = p.prs_perslid_key AND o.fac_activiteit_key IS NULL UNION ALL SELECT m.prs_perslid_key, m.mld_melding_key FROM mld_melding m WHERE m.mld_melding_status IN (2, 3, 4, 7) AND m.fac_activiteit_key IS NULL UNION ALL SELECT b.prs_perslid_key, bes_bestelling_key FROM bes_bestelling b WHERE b.bes_bestelling_status IN (5, 4, 3, 2) AND b.fac_activiteit_key IS NULL AND EXISTS (SELECT 1 FROM bes_bestelling_item i WHERE b.bes_bestelling_key = i.bes_bestelling_key) UNION ALL SELECT ins_alg_ruimte_key, ins_deel_key FROM ins_v_aanwezigdeel d, ins_tab_discipline ID WHERE d.ins_alg_ruimte_type = 'P' AND ID.ins_discipline_key = d.ins_discipline_key AND ID.ins_discipline_min_level <> 3 UNION ALL SELECT prs_perslid_key_beh, ins_deel_key FROM ins_v_aanwezigdeel d UNION ALL SELECT rr.res_rsv_ruimte_host_key, r.res_reservering_key FROM res_v_aanwezigreservering r, res_v_aanwezigrsv_ruimte rr WHERE r.res_reservering_key = rr.res_reservering_key AND rr.res_status_bo_key IN (4, 3, 2) AND res_rsv_ruimte_tot > SYSDATE - fac.getSetting ('res_is_closed_after_days') AND rr.res_ruimte_opstel_key IS NOT NULL UNION ALL SELECT rr.res_rsv_ruimte_host_key, r.res_reservering_key FROM res_v_aanwezigreservering r, res_v_aanwezigrsv_deel rd, res_rsv_ruimte rr WHERE r.res_reservering_key = rr.res_reservering_key AND rr.res_rsv_ruimte_key = rd.res_rsv_ruimte_key AND rd.res_status_bo_key IN (4, 3, 2) AND res_rsv_ruimte_tot > SYSDATE - fac.getSetting ('res_is_closed_after_days') AND rr.alg_ruimte_key IS NOT NULL UNION ALL SELECT rr.res_rsv_ruimte_host_key, r.res_reservering_key FROM res_v_aanwezigreservering r, res_v_aanwezigrsv_artikel ra, res_rsv_ruimte rr WHERE r.res_reservering_key = rr.res_reservering_key AND rr.res_rsv_ruimte_key = ra.res_rsv_ruimte_key AND ra.res_status_bo_key IN (4, 3, 2) AND res_rsv_ruimte_tot > SYSDATE - fac.getSetting ('res_is_closed_after_days') AND rr.alg_ruimte_key IS NOT NULL UNION ALL SELECT rr.res_rsv_ruimte_contact_key, r.res_reservering_key FROM res_v_aanwezigreservering r, res_v_aanwezigrsv_ruimte rr WHERE r.res_reservering_key = rr.res_reservering_key AND rr.res_status_bo_key IN (4, 3, 2) AND res_rsv_ruimte_tot > SYSDATE - fac.getSetting ('res_is_closed_after_days') AND rr.res_ruimte_opstel_key IS NOT NULL UNION ALL SELECT rr.res_rsv_ruimte_contact_key, r.res_reservering_key FROM res_v_aanwezigreservering r, res_v_aanwezigrsv_deel rd, res_rsv_ruimte rr WHERE r.res_reservering_key = rr.res_reservering_key AND rr.res_rsv_ruimte_key = rd.res_rsv_ruimte_key AND rd.res_status_bo_key IN (4, 3, 2) AND res_rsv_ruimte_tot > SYSDATE - fac.getSetting ('res_is_closed_after_days') AND rr.alg_ruimte_key IS NOT NULL UNION ALL SELECT rr.res_rsv_ruimte_contact_key, r.res_reservering_key FROM res_v_aanwezigreservering r, res_v_aanwezigrsv_artikel ra, res_rsv_ruimte rr WHERE r.res_reservering_key = rr.res_reservering_key AND rr.res_rsv_ruimte_key = ra.res_rsv_ruimte_key AND ra.res_status_bo_key IN (4, 3, 2) AND res_rsv_ruimte_tot > SYSDATE - fac.getSetting ('res_is_closed_after_days') AND rr.alg_ruimte_key IS NOT NULL UNION ALL SELECT a.bez_afspraak_host_key, a.bez_afspraak_key FROM bez_afspraak a WHERE a.bez_afspraak_datum > SYSDATE UNION ALL SELECT a.bez_afspraak_contact_key, a.bez_afspraak_key FROM bez_afspraak a WHERE a.bez_afspraak_datum > SYSDATE UNION ALL SELECT k.prs_perslid_key, k.prs_kostenplaats_key FROM prs_kostenplaats k WHERE prs_kostenplaats_verwijder IS NULL AND k.prs_perslid_key IS NOT NULL AND prs_kostenplaats_eind > SYSDATE UNION ALL SELECT k.prs_perslid_key, k.prs_kostenplaatsgrp_key FROM prs_kostenplaatsgrp k WHERE k.prs_perslid_key IS NOT NULL UNION ALL SELECT k.prs_kostenplaatsgrp_fiat2_key, k.prs_kostenplaatsgrp_key FROM prs_kostenplaatsgrp k WHERE k.prs_kostenplaatsgrp_fiat2_key IS NOT NULL UNION ALL SELECT k.prs_kostenplaatsgrp_fiat3_key, k.prs_kostenplaatsgrp_key FROM prs_kostenplaatsgrp k WHERE k.prs_kostenplaatsgrp_fiat3_key IS NOT NULL UNION ALL SELECT c.prs_perslid_key_beh, cnt_contract_key FROM cnt_contract c WHERE cnt_contract_verwijder IS NULL AND cnt_contract_status = 0 /* actief */ AND cnt_contract_looptijd_tot > SYSDATE UNION ALL SELECT c.prs_perslid_key_eig, cnt_contract_key FROM cnt_contract c WHERE cnt_contract_verwijder IS NULL AND cnt_contract_status = 0 /* actief */ AND cnt_contract_looptijd_tot > SYSDATE UNION ALL SELECT c.cnt_prs_perslid_key, cnt_contract_key FROM cnt_contract c WHERE cnt_contract_verwijder IS NULL AND cnt_contract_status = 0 /* actief */ AND cnt_contract_looptijd_tot > SYSDATE; -- Aantal echte werkplekken van een persoon CREATE_VIEW(PRS_V_AANTALWP,0) (PRS_PERSLID_KEY, AANTALWP) AS SELECT pww2.prs_perslid_key, count (1) FROM prs_werkplek pw2, prs_perslidwerkplek pww2 WHERE pw2.prs_werkplek_key = pww2.prs_werkplek_key AND pw2.prs_werkplek_virtueel = 0 GROUP BY pww2.prs_perslid_key; -- Genormaliseerd dienstverband in een ruimte (dienstverband / aantal werkplekken) CREATE_VIEW(prs_v_norm_verband, 0) AS SELECT prs_w.prs_alg_ruimte_key alg_ruimte_key, prs_p.prs_perslid_key, pp2.aantalwp, TRUNC (10 * prs_perslid_dienstverband / pp2.aantalwp) / 10 norm_verband FROM prs_werkplek prs_w, prs_perslidwerkplek prs_pw, prs_perslid prs_p, prs_v_aantalwp pp2 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 AND prs_p.prs_perslid_key = pp2.prs_perslid_key; -- Per ruimte hoeveel flexplekken vrij en bezet -- verdieping is wel handig in deze view, voor totaaloverzichten op gebouwniveau CREATE_VIEW(prs_v_flexplekken, 0) ( alg_ruimte_key, vrij, bezet, alg_verdieping_key ) AS SELECT alg_ruimte_key, SUM (vrij) vrij, SUM (bezet) bezet, alg_verdieping_key FROM ( SELECT wp.prs_alg_ruimte_key alg_ruimte_key, COUNT (wp.prs_werkplek_key) vrij, 0 bezet, r.alg_verdieping_key FROM prs_werkplek wp, prs_perslidwerkplek pwp, alg_ruimte r WHERE wp.prs_werkplek_virtueel = 0 AND wp.prs_werkplek_type = 1 AND wp.prs_alg_ruimte_key = r.alg_ruimte_key AND pwp.prs_werkplek_key(+) = wp.prs_werkplek_key AND pwp.prs_perslid_key IS NULL GROUP BY wp.prs_alg_ruimte_key, r.alg_verdieping_key UNION ALL SELECT wp.prs_alg_ruimte_key alg_ruimte_key, 0 vrij, COUNT (wp.prs_werkplek_key) bezet, r.alg_verdieping_key FROM prs_werkplek wp, prs_perslidwerkplek pwp, alg_ruimte r WHERE wp.prs_werkplek_virtueel = 0 AND wp.prs_werkplek_type = 1 AND wp.prs_alg_ruimte_key = r.alg_ruimte_key AND pwp.prs_werkplek_key = wp.prs_werkplek_key AND pwp.prs_perslid_key IS NOT NULL GROUP BY wp.prs_alg_ruimte_key, r.alg_verdieping_key) GROUP BY alg_ruimte_key, alg_verdieping_key; /* ROOT VIEWS for User defined Reports (UDR) */ CREATE_VIEW(prs_v_udr_bedrijf, 0) ( key, naam, postadres, postpostcode, postplaats, postland, adres, postcode, plaats, land, telefoon1, telefoon2, contactpersoon, contacttelefoon, opmerking1, opmerking2, uurloon, leveranciernr, overeenkomstnr, overeenkomstdatum, relatietype, registratiedatum, isleverancier, isuitvoerende, iscontract, ishuurder, isintern, email, dienst, locatie, gebouw, district, regio, coordx, coordy, fclt_3d_locatie_key, bedrijf_uitvoertijd_dagen, bedrijf_uitvoertijd_uren, scope_uitvoertijd_dagen, scope_uitvoertijd_uren ) AS SELECT b.prs_bedrijf_key key, prs_bedrijf_naam naam, prs_bedrijf_post_adres postadres, prs_bedrijf_post_postcode postpostcode, prs_bedrijf_post_plaats postplaats, prs_bedrijf_post_land postland, prs_bedrijf_bezoek_adres adres, prs_bedrijf_bezoek_postcode postcode, prs_bedrijf_bezoek_plaats plaats, prs_bedrijf_bezoek_land land, prs_bedrijf_telefoon telefoon1, prs_bedrijf_telefoon2 telefoon2, prs_bedrijf_contact_persoon contactpersoon, prs_bedrijf_contact_telefoon contacttelefoon, prs_bedrijf_opmerking opmerking1, prs_bedrijf_opmerking2 opmerking2, prs_bedrijf_uurloon uurloon, prs_leverancier_nr leveranciernr, prs_overeenkomst_nr overeenkomstnr, prs_overeenkomst_datum overeenkomstdatum, lcl.x ('prs_relatietype_omschrijving', r.prs_relatietype_key, r.prs_relatietype_omschrijving) relatietype, prs_bedrijf_aanmaak registratiedatum, DECODE (prs_bedrijf_leverancier, 1, lcl.l ('lcl_yes'), lcl.l ('lcl_no')) isleverancier, DECODE (prs_bedrijf_uitvoerende, 1, lcl.l ('lcl_yes'), lcl.l ('lcl_no')) isuitvoerende, DECODE (prs_bedrijf_contract, 1, lcl.l ('lcl_yes'), lcl.l ('lcl_no')) iscontract, DECODE (prs_bedrijf_huurder, 1, lcl.l ('lcl_yes'), lcl.l ('lcl_no')) ishuurder, DECODE (prs_bedrijf_intern, 1, lcl.l ('lcl_yes'), lcl.l ('lcl_no')) isintern, prs_bedrijf_email email, lcl.x ('prs_dienst_omschrijving', d.prs_dienst_key, d.prs_dienst_omschrijving) dienst, l.alg_locatie_omschrijving locatie, lcl.l ('lcl_all') gebouw, lcl.l ('lcl_all') district, lcl.l ('lcl_all') regio, bdl.alg_locatie_key fclt_3d_locatie_key, prs_bedrijf_x, prs_bedrijf_y, DECODE (b.prs_bedrijf_t_uitvoertijd.eenheid, 'D', b.prs_bedrijf_t_uitvoertijd.tijdsduur, NULL) bedrijf_uitvoertijd_dagen, DECODE (b.prs_bedrijf_t_uitvoertijd.eenheid, 'U', b.prs_bedrijf_t_uitvoertijd.tijdsduur, NULL) bedrijf_uitvoertijd_uren, DECODE (bdl.prs_bdl_t_uitvoertijd.eenheid, 'D', bdl.prs_bdl_t_uitvoertijd.tijdsduur, NULL) scope_uitvoertijd_dagen, DECODE (bdl.prs_bdl_t_uitvoertijd.eenheid, 'U', bdl.prs_bdl_t_uitvoertijd.tijdsduur, NULL) scope_uitvoertijd_uren FROM prs_bedrijf b, prs_bedrijfdienstlocatie bdl, prs_dienst d, prs_relatietype r, alg_locatie l WHERE prs_bedrijf_verwijder IS NULL AND b.prs_bedrijf_key = bdl.prs_bedrijf_key(+) AND d.prs_dienst_key(+) = bdl.prs_dienst_key AND b.prs_relatietype_key = r.prs_relatietype_key(+) AND l.alg_locatie_key = bdl.alg_locatie_key UNION SELECT b.prs_bedrijf_key key, prs_bedrijf_naam naam, prs_bedrijf_post_adres postadres, prs_bedrijf_post_postcode postpostcode, prs_bedrijf_post_plaats postplaats, prs_bedrijf_post_land postland, prs_bedrijf_bezoek_adres adres, prs_bedrijf_bezoek_postcode postcode, prs_bedrijf_bezoek_plaats plaats, prs_bedrijf_bezoek_land land, prs_bedrijf_telefoon telefoon1, prs_bedrijf_telefoon2 telefoon2, prs_bedrijf_contact_persoon contactpersoon, prs_bedrijf_contact_telefoon contacttelefoon, prs_bedrijf_opmerking opmerking1, prs_bedrijf_opmerking2 opmerking2, prs_bedrijf_uurloon uurloon, prs_leverancier_nr leveranciernr, prs_overeenkomst_nr overeenkomstnr, prs_overeenkomst_datum overeenkomstdatum, lcl.x ('prs_relatietype_omschrijving', r.prs_relatietype_key, r.prs_relatietype_omschrijving) relatietype, prs_bedrijf_aanmaak registratiedatum, DECODE (prs_bedrijf_leverancier, 1, lcl.l ('lcl_yes'), lcl.l ('lcl_no')) isleverancier, DECODE (prs_bedrijf_uitvoerende, 1, lcl.l ('lcl_yes'), lcl.l ('lcl_no')) isuitvoerende, DECODE (prs_bedrijf_contract, 1, lcl.l ('lcl_yes'), lcl.l ('lcl_no')) iscontract, DECODE (prs_bedrijf_huurder, 1, lcl.l ('lcl_yes'), lcl.l ('lcl_no')) ishuurder, DECODE (prs_bedrijf_intern, 1, lcl.l ('lcl_yes'), lcl.l ('lcl_no')) isintern, prs_bedrijf_email email, lcl.x ('prs_dienst_omschrijving', d.prs_dienst_key, d.prs_dienst_omschrijving) dienst, l.alg_locatie_omschrijving locatie, g.alg_gebouw_omschrijving gebouw, ad.alg_district_omschrijving district, ar.alg_regio_omschrijving regio, bdl.alg_locatie_key fclt_3d_locatie_key, prs_bedrijf_x, prs_bedrijf_y, DECODE (b.prs_bedrijf_t_uitvoertijd.eenheid, 'D', b.prs_bedrijf_t_uitvoertijd.tijdsduur, NULL) bedrijf_uitvoertijd_dagen, DECODE (b.prs_bedrijf_t_uitvoertijd.eenheid, 'U', b.prs_bedrijf_t_uitvoertijd.tijdsduur, NULL) bedrijf_uitvoertijd_uren, DECODE (bdl.prs_bdl_t_uitvoertijd.eenheid, 'D', bdl.prs_bdl_t_uitvoertijd.tijdsduur, NULL) scope_uitvoertijd_dagen, DECODE (bdl.prs_bdl_t_uitvoertijd.eenheid, 'U', bdl.prs_bdl_t_uitvoertijd.tijdsduur, NULL) scope_uitvoertijd_uren FROM prs_bedrijf b, prs_bedrijfdienstlocatie bdl, prs_dienst d, prs_relatietype r, alg_locatie l, alg_gebouw g, alg_regio ar, alg_district ad WHERE prs_bedrijf_verwijder IS NULL AND b.prs_bedrijf_key = bdl.prs_bedrijf_key(+) AND d.prs_dienst_key(+) = bdl.prs_dienst_key AND b.prs_relatietype_key = r.prs_relatietype_key(+) AND g.alg_locatie_key = l.alg_locatie_key AND g.alg_gebouw_key = bdl.alg_gebouw_key AND l.alg_district_key = ad.alg_district_key AND ad.alg_regio_key = ar.alg_regio_key UNION SELECT b.prs_bedrijf_key key, prs_bedrijf_naam naam, prs_bedrijf_post_adres postadres, prs_bedrijf_post_postcode postpostcode, prs_bedrijf_post_plaats postplaats, prs_bedrijf_post_land postland, prs_bedrijf_bezoek_adres adres, prs_bedrijf_bezoek_postcode postcode, prs_bedrijf_bezoek_plaats plaats, prs_bedrijf_bezoek_land land, prs_bedrijf_telefoon telefoon1, prs_bedrijf_telefoon2 telefoon2, prs_bedrijf_contact_persoon contactpersoon, prs_bedrijf_contact_telefoon contacttelefoon, prs_bedrijf_opmerking opmerking1, prs_bedrijf_opmerking2 opmerking2, prs_bedrijf_uurloon uurloon, prs_leverancier_nr leveranciernr, prs_overeenkomst_nr overeenkomstnr, prs_overeenkomst_datum overeenkomstdatum, lcl.x ('prs_relatietype_omschrijving', r.prs_relatietype_key, r.prs_relatietype_omschrijving) relatietype, prs_bedrijf_aanmaak registratiedatum, DECODE (prs_bedrijf_leverancier, 1, lcl.l ('lcl_yes'), lcl.l ('lcl_no')) isleverancier, DECODE (prs_bedrijf_uitvoerende, 1, lcl.l ('lcl_yes'), lcl.l ('lcl_no')) isuitvoerende, DECODE (prs_bedrijf_contract, 1, lcl.l ('lcl_yes'), lcl.l ('lcl_no')) iscontract, DECODE (prs_bedrijf_huurder, 1, lcl.l ('lcl_yes'), lcl.l ('lcl_no')) ishuurder, DECODE (prs_bedrijf_intern, 1, lcl.l ('lcl_yes'), lcl.l ('lcl_no')) isintern, prs_bedrijf_email email, lcl.x ('prs_dienst_omschrijving', d.prs_dienst_key, d.prs_dienst_omschrijving) dienst, lcl.l ('lcl_all') locatie, lcl.l ('lcl_all') gebouw, lcl.l ('lcl_all') district, lcl.l ('lcl_all') regio, NULL fclt_3d_locatie_key, prs_bedrijf_x, prs_bedrijf_y, DECODE (b.prs_bedrijf_t_uitvoertijd.eenheid, 'D', b.prs_bedrijf_t_uitvoertijd.tijdsduur, NULL) bedrijf_uitvoertijd_dagen, DECODE (b.prs_bedrijf_t_uitvoertijd.eenheid, 'U', b.prs_bedrijf_t_uitvoertijd.tijdsduur, NULL) bedrijf_uitvoertijd_uren, DECODE (bdl.prs_bdl_t_uitvoertijd.eenheid, 'D', bdl.prs_bdl_t_uitvoertijd.tijdsduur, NULL) scope_uitvoertijd_dagen, DECODE (bdl.prs_bdl_t_uitvoertijd.eenheid, 'U', bdl.prs_bdl_t_uitvoertijd.tijdsduur, NULL) scope_uitvoertijd_uren FROM prs_bedrijf b, prs_bedrijfdienstlocatie bdl, prs_dienst d, prs_relatietype r WHERE prs_bedrijf_verwijder IS NULL AND b.prs_bedrijf_key = bdl.prs_bedrijf_key(+) AND d.prs_dienst_key(+) = bdl.prs_dienst_key AND b.prs_relatietype_key = r.prs_relatietype_key(+) AND bdl.alg_gebouw_key IS NULL AND bdl.alg_locatie_key IS NULL; -- For auditreporting on Support-logins and impersonations -- Gebaseerd op lcl_impersonatelog_start / lcl_impersonatelog_end CREATE_VIEW(prs_v_rap_impersonations, 0) AS SELECT t1.fac_tracking_key, t1.fac_tracking_datum datum, --t1.prs_perslid_key fclt_3d_perslid_key, pf1.prs_perslid_naam_friendly naam, t1.fac_tracking_oms omschrijving FROM fac_tracking t1, prs_v_perslid_fullnames_all pf1 WHERE t1.fac_tracking_refkey = pf1.prs_perslid_key AND t1.fac_srtnotificatie_key = (SELECT fac_srtnotificatie_key FROM fac_srtnotificatie WHERE fac_srtnotificatie_code = 'PRSLOG') AND t1.fac_tracking_oms LIKE '->%'; -- Gebaseerd op lcl_logged_on / lcl_logged_off CREATE_VIEW(prs_v_rap_supportaccess, 0) AS SELECT t1.fac_tracking_key, t1.fac_tracking_datum datum, --t1.prs_perslid_key fclt_3d_perslid_key, pf1.prs_perslid_naam_friendly naam, t1.fac_tracking_oms omschrijving FROM fac_tracking t1, prs_v_perslid_fullnames_all pf1 WHERE t1.fac_tracking_refkey = pf1.prs_perslid_key AND t1.fac_srtnotificatie_key = (SELECT fac_srtnotificatie_key FROM fac_srtnotificatie WHERE fac_srtnotificatie_code = 'PRSLOG') AND t1.fac_tracking_oms LIKE '_LOGO%'; /* >LOGON en