#ifdef PRS // 01-12-98 PF /* * $Revision$ * $Id$ */ 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_init_upper, 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_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 , PRS_P.prs_perslid_naam || decode(PRS_P.prs_perslid_titel || PRS_P.prs_perslid_voorletters,null,null,',') || decode(PRS_P.prs_perslid_titel ,null,null,' '|| PRS_P.prs_perslid_titel) || decode(PRS_P.prs_perslid_voorletters,null,null,' '|| PRS_P.prs_perslid_voorletters) , PRS_P.prs_perslid_upper FROM prs_perslid PRS_P , prs_afdeling PRS_A WHERE PRS_P.prs_afdeling_key = PRS_A.prs_afdeling_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 FROM prs_v_aanwezigperslid p; // FSN#546 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 FROM prs_perslid p; 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; 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 ; -- -- 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, 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, 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(+); /* tbv overzicht My Facilities op (o.a) portal LETOP: het verschil tussen UNION/UNION ALL is van belang */ /* JGL OBSOLETE!! */ CREATE_VIEW (prs_v_lopendezaken, 0) ( prs_perslid_key, item, item_key, xmlnode, datum, oms, voortgang ) AS SELECT m.prs_perslid_key, isd.ins_srtdiscipline_prefix || TO_CHAR (m.mld_melding_key), m.mld_melding_key, 'melding', m.mld_melding_einddatum, id.ins_discipline_omschrijving, (SELECT mld_statuses_omschrijving FROM mld_statuses WHERE mld_statuses_key = m.mld_melding_status) FROM mld_melding m, mld_stdmelding std, ins_srtdiscipline isd, ins_tab_discipline id 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 m.fac_activiteit_key IS NULL AND (m.mld_workflowstep_key IS NULL OR mld_melding_start_key = mld_melding_key) AND m.mld_melding_status IN (2, 3, 4, 7) UNION ALL SELECT b.prs_perslid_key, TO_CHAR (bes_bestelling_key), bes_bestelling_key, 'bestelling', b.bes_bestelling_leverdatum, (SELECT MIN (ins_discipline_omschrijving) FROM bes_discipline WHERE ins_discipline_key IN (SELECT ins_discipline_key FROM bes_srtgroep sg, bes_srtdeel sd, bes_bestelling_item bi WHERE sd.bes_srtgroep_key = sg.bes_srtgroep_key AND bi.bes_srtdeel_key = sd.bes_srtdeel_key AND bi.bes_bestelling_key = b.bes_bestelling_key)) oms, (SELECT bes_bestellingstatuses_omschr FROM bes_bestellingstatuses WHERE bes_bestellingstatuses_key = b.bes_bestelling_status) FROM bes_bestelling b WHERE b.bes_bestelling_status IN (5, 4, 3, 2) AND b.fac_activiteit_key IS NULL UNION ALL SELECT ins_alg_ruimte_key, ins_deel_omschrijving, ins_deel_key, 'deel', d.ins_deel_aanmaak, sd.ins_srtdeel_omschrijving, '' FROM ins_v_aanwezigdeel d, ins_srtdeel sd WHERE d.ins_alg_ruimte_type = 'P' AND sd.ins_srtdeel_key = d.ins_srtdeel_key AND ins_alg_ruimte_key_org IS NOT NULL -- geleend UNION ALL SELECT rr.res_rsv_ruimte_host_key, TO_CHAR (rr.res_reservering_key) || '/' || rr.res_rsv_ruimte_volgnr, rr.res_rsv_ruimte_key, 'reservering', rr.res_rsv_ruimte_van, COALESCE (rr.res_rsv_ruimte_omschrijving, (SELECT ra.res_activiteit_omschrijving FROM res_activiteit ra WHERE res_activiteit_key = rr.res_activiteit_key)), DECODE (res_rsv_ruimte_dirtlevel, 0, (SELECT s.res_status_fo_omschrijving FROM res_status_fo s WHERE s.res_status_fo_key = rr.res_status_fo_key), 'lcl_res_status_dirty' ) FROM res_v_aanwezigrsv_ruimte rr WHERE rr.res_status_bo_key IN (4, 3, 2, 7) UNION SELECT rr.res_rsv_ruimte_contact_key, TO_CHAR (rr.res_reservering_key) || '/' || rr.res_rsv_ruimte_volgnr, rr.res_rsv_ruimte_key, 'reservering', rr.res_rsv_ruimte_van, COALESCE (rr.res_rsv_ruimte_omschrijving, (SELECT ra.res_activiteit_omschrijving FROM res_activiteit ra WHERE res_activiteit_key = rr.res_activiteit_key)), DECODE (res_rsv_ruimte_dirtlevel, 0, (SELECT s.res_status_fo_omschrijving FROM res_status_fo s WHERE s.res_status_fo_key = rr.res_status_fo_key), 'lcl_res_status_dirty' ) FROM res_v_aanwezigrsv_ruimte rr WHERE rr.res_status_bo_key IN (4, 3, 2, 7) UNION ALL -- TODO: dirtlevel van de onderliggenden bepalen SELECT rr.res_rsv_ruimte_host_key, TO_CHAR (rr.res_reservering_key) || '/' || rr.res_rsv_ruimte_volgnr, rr.res_rsv_ruimte_key, 'reservering', rr.res_rsv_ruimte_van, COALESCE (rr.res_rsv_ruimte_omschrijving, (SELECT ra.res_activiteit_omschrijving FROM res_activiteit ra WHERE res_activiteit_key = rr.res_activiteit_key)), DECODE (res_rsv_ruimte_dirtlevel + res_rsv_deel_dirtlevel, 0, (SELECT s.res_status_fo_omschrijving FROM res_status_fo s WHERE s.res_status_fo_key = rr.res_status_fo_key), 'lcl_res_status_dirty' ) FROM res_v_aanwezigrsv_ruimte rr, res_v_aanwezigrsv_deel dd WHERE rr.res_status_bo_key IS NULL AND dd.res_rsv_ruimte_key = rr.res_rsv_ruimte_key UNION -- TODO: dirtlevel van de onderliggenden bepalen SELECT rr.res_rsv_ruimte_contact_key, TO_CHAR (rr.res_reservering_key) || '/' || rr.res_rsv_ruimte_volgnr, rr.res_rsv_ruimte_key, 'reservering', rr.res_rsv_ruimte_van, COALESCE (rr.res_rsv_ruimte_omschrijving, (SELECT ra.res_activiteit_omschrijving FROM res_activiteit ra WHERE res_activiteit_key = rr.res_activiteit_key)), DECODE (res_rsv_ruimte_dirtlevel + res_rsv_deel_dirtlevel, 0, (SELECT s.res_status_fo_omschrijving FROM res_status_fo s WHERE s.res_status_fo_key = rr.res_status_fo_key), 'lcl_res_status_dirty' ) FROM res_v_aanwezigrsv_ruimte rr, res_v_aanwezigrsv_deel dd WHERE rr.res_status_bo_key IS NULL AND dd.res_rsv_ruimte_key = rr.res_rsv_ruimte_key UNION ALL SELECT a.bez_afspraak_contact_key, TO_CHAR (b.bez_afspraak_key), b.bez_afspraak_key, 'afspraak', a.bez_afspraak_datum datum, b.bez_afspraak_naam || (CASE WHEN bez_afspraak_bedrijf IS NOT NULL THEN ' (' || bez_afspraak_bedrijf || ')' END), (CASE WHEN bez_bezoekers_done IS NOT NULL THEN 'lcl_vis_inside_st' ELSE 'lcl_vis_expected_st' END) FROM bez_bezoekers b, bez_afspraak a WHERE b.bez_afspraak_key = a.bez_afspraak_key AND bez_bezoekers_out IS NULL UNION SELECT a.bez_afspraak_host_key, TO_CHAR (b.bez_afspraak_key), b.bez_afspraak_key, 'afspraak', a.bez_afspraak_datum datum, b.bez_afspraak_naam || (CASE WHEN bez_afspraak_bedrijf IS NOT NULL THEN ' (' || bez_afspraak_bedrijf || ')' END), (CASE WHEN bez_bezoekers_done IS NOT NULL THEN 'lcl_vis_inside_st' ELSE 'lcl_vis_expected_st' END) FROM bez_bezoekers b, bez_afspraak a WHERE b.bez_afspraak_key = a.bez_afspraak_key AND bez_bezoekers_out IS NULL; /* 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 , ALG_G.alg_gebouw_code ||'-' || ALG_V.alg_verdieping_code ||'-' || ALG_R.alg_ruimte_nr , ALG_L.alg_locatie_code ||'-' || ALG_G.alg_gebouw_code ||'-' || ALG_V.alg_verdieping_code ||'-' || 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 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 = 5 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 (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 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 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-14 -- na 14 dagen niet meer klagen 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-14 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-14 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-14 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-14 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 rr.alg_ruimte_key IS NOT NULL AND res_rsv_ruimte_tot > SYSDATE-14 UNION ALL SELECT a.bez_afspraak_host_key, 'PRS_AFSPRAAK_H', TO_CHAR (a.bez_afspraak_datum), 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), 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, '' FROM prs_kostenplaats k UNION ALL SELECT k.prs_perslid_key, 'PRS_BUDGETHOUDER_VAN', k.prs_kostenplaatsgrp_oms, k.prs_kostenplaatsgrp_key, NULL, '' FROM prs_kostenplaatsgrp k UNION ALL SELECT c.prs_perslid_key_beh, 'CNT_CONTRACT_BEH', cnt_contract_nummer_intern, 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; -- 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 = 5 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 = 5 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 // facilitair 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 m.prs_perslid_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'; -- 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 = 5 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 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 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-14 -- na 14 dagen niet meer klagen 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-14 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-14 UNION ALL SELECT rr.res_rsv_ruimte_contact_key, r.res_reservering_key FROM res_v_aanwezigreservering r, res_v_aanwezigrsv_ruimte rr, res_ruimte_opstelling ro WHERE r.res_reservering_key = rr.res_reservering_key AND rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key AND rr.res_status_bo_key IN (4, 3, 2) AND res_rsv_ruimte_tot > SYSDATE-14 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-14 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-14 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 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; -- 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; CREATE_VIEW(prs_v_qvw_bedrijf, 0) AS SELECT prs_bedrijf_key, prs_bedrijf_naam, prs_bedrijf_naam_upper, prs_bedrijf_post_adres, prs_bedrijf_post_postcode, prs_bedrijf_post_plaats, prs_bedrijf_post_land, prs_bedrijf_bezoek_adres, prs_bedrijf_bezoek_postcode, prs_bedrijf_bezoek_plaats, prs_bedrijf_bezoek_land, prs_bedrijf_telefoon, prs_bedrijf_fax, prs_bedrijf_telefoon2, prs_bedrijf_contact_persoon, prs_bedrijf_contact_telefoon, prs_bedrijf_contact_fax, prs_bedrijf_opmerking, prs_bedrijf_opmerking2, prs_bedrijf_uurloon, prs_leverancier_nr, prs_overeenkomst_nr, prs_overeenkomst_datum, prs_bedrijf_aanmaak, prs_bedrijf_verwijder, prs_bedrijf_leverancier, prs_bedrijf_uitvoerende, prs_bedrijf_contract, prs_bedrijf_intern, prs_bedrijf_huurder, prs_bedrijf_email, prs_bedrijf_ingids FROM prs_bedrijf WHERE prs_bedrijf.prs_bedrijf_verwijder IS NULL; -- 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; -- Vooralsnog placeholder, moet aangepast worden CREATE_VIEW(prs_v_api_afdelingen, 1) AS SELECT * from prs_v_aanwezigafdeling; CREATE_VIEW(prs_v_api_personen, 1) AS SELECT * from prs_v_aanwezigperslid; REGISTERRUN('$Workfile: PRS_VIE.SRC $','$Revision$') #endif // PRS