#ifdef CNT /* $Revision$ * $Id$ */ CREATE_VIEW(cnt_discipline, 0) AS SELECT * FROM ins_tab_discipline WHERE ins_discipline_module = 'CNT'; DEFINIEER_VIEW_AANWEZIG(cnt_discipline, ins_discipline_verwijder, cnt_v_aanwezigdiscipline, 0); DEFINIEER_VIEW_AANWEZIG(cnt_contract, cnt_contract_verwijder, cnt_v_aanwezigcontract, 0); DEFINIEER_VIEW_AANWEZIG(cnt_contract_plaats, cnt_contract_plaats_verwijder, cnt_v_aanwezigcontract_plaats, 0); DEFINIEER_VIEW_AANWEZIG(cnt_contract_object, cnt_contract_object_verwijder, cnt_v_aanwezigcontract_object, 0); CREATE_VIEW(cnt_v_contract_plaats,0) AS SELECT L.alg_locatie_key cnt_plaats_key , 'L' cnt_plaats_code , L.alg_locatie_code ||' ( ' || L.alg_locatie_omschrijving ||' )' cnt_plaats_omschrijving FROM alg_v_aanweziglocatie L UNION SELECT T.alg_terreinsector_key , 'T' , L.alg_locatie_code ||' - ' || T.alg_terreinsector_code ||' ( ' || T.alg_terreinsector_naam ||')' FROM alg_v_aanweziglocatie L , alg_v_aanwezigterreinsector T WHERE T.alg_locatie_key = L.alg_locatie_key UNION SELECT G.alg_gebouw_key , 'G' , L.alg_locatie_code ||' - ' || G.alg_gebouw_code ||' ( ' || G.alg_gebouw_naam ||' )' FROM alg_v_aanweziglocatie L , alg_v_aanweziggebouw G WHERE G.alg_locatie_key = L.alg_locatie_key UNION SELECT V.alg_verdieping_key , 'V' , L.alg_locatie_code ||' - ' || G.alg_gebouw_code ||' - ' || to_char(V.alg_verdieping_volgnr) ||' ( ' || V.alg_verdieping_omschrijving ||' )' FROM alg_v_aanweziglocatie L , alg_v_aanweziggebouw G , alg_v_aanwezigverdieping V WHERE V.alg_gebouw_key = G.alg_gebouw_key AND G.alg_locatie_key = L.alg_locatie_key UNION SELECT R.alg_ruimte_key , 'R' , L.alg_locatie_code ||' - ' || G.alg_gebouw_code ||' - ' || to_char(V.alg_verdieping_volgnr) ||' - ' || R.alg_ruimte_upper_nr ||' ( ' || R.alg_ruimte_omschrijving ||' )' FROM alg_v_aanweziglocatie L , alg_v_aanweziggebouw G , alg_v_aanwezigverdieping V , alg_v_aanwezigruimte R WHERE R.alg_verdieping_key = V.alg_verdieping_key AND V.alg_gebouw_key = G.alg_gebouw_key AND G.alg_locatie_key = L.alg_locatie_key; CREATE_VIEW(cnt_v_rap_expimp_cnt, 0) ( hide_f_result_order, contractnr, externnr, fclt_f_contractsoort, beschrijving, fclt_f_mantelnr, omschrijving, versie, fclt_f_dienst, fclt_f_eigenaar_afd, eigenaar_login, beheerder_login, opmerking, ingangsdatum, rappeldatum, opzegdatum, einddatum, fclt_f_bedrijfnaam, contactnaam, kostenplaatscode, contractbedrag, termijnbedrag, uurtarief, korting, locatiegebouw, verlengen, kenmerk1, kenmerk2, kenmerk3, kenmerk4, kenmerk5, kenmerk6, kenmerk7, kenmerk8, kenmerk9, kenmerk10, kenmerk11, kenmerk12, kenmerk13, kenmerk14, kenmerk15, kenmerk16, kenmerk17, kenmerk18, kenmerk19, kenmerk20, kenmerk21, kenmerk22, kenmerk23, kenmerk24, kenmerk25 ) AS WITH ck AS (SELECT sk.vnr, sk.cnt_srtkenmerk_key, sk.cnt_srtkenmerk_omschrijving, kw.cnt_contract_key, kw.waarde FROM (SELECT ROWNUM vnr, cnt_srtkenmerk_key, cnt_srtkenmerk_omschrijving FROM ( SELECT sk.cnt_srtkenmerk_key, sk.cnt_srtkenmerk_omschrijving FROM cnt_srtkenmerk sk WHERE sk.cnt_srtkenmerk_verwijder IS NULL AND sk.cnt_srtkenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S', 'X', 'B') AND EXISTS (SELECT 1 FROM cnt_kenmerk k WHERE k.cnt_kenmerk_verwijder IS NULL AND k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key) ORDER BY sk.cnt_srtkenmerk_omschrijving)) sk LEFT JOIN (SELECT sk.cnt_srtkenmerk_key, ck.cnt_contract_key, DECODE ( sk.cnt_srtkenmerk_kenmerktype, 'R', flx.getdomeinwaarde ( sk.fac_kenmerkdomein_key, ck.cnt_kenmerkcontract_waarde ), 'S', flx.getdomeinwaarde ( sk.fac_kenmerkdomein_key, ck.cnt_kenmerkcontract_waarde ), ck.cnt_kenmerkcontract_waarde ) waarde FROM cnt_kenmerkcontract ck, cnt_kenmerk k, cnt_srtkenmerk sk WHERE ck.cnt_kenmerkcontract_verwijder IS NULL AND ck.cnt_kenmerk_key = k.cnt_kenmerk_key AND k.cnt_kenmerk_verwijder IS NULL AND k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key) kw ON sk.cnt_srtkenmerk_key = kw.cnt_srtkenmerk_key) SELECT 0, 'Contractnr' contractnr, 'Externnr' externnr, 'Contractsoort' contractsoort, 'Beschrijving' beschrijving, 'Mantelnr' mantelnr, 'Omschrijving' omschrijving, 'Versie' versie, 'Dienst' dienst, 'Contractafdelingcode' eigenaar_afd, 'Contactpersoonlogin' eigenaar_login, 'Contractbeheerderlogin' beheerder_login, 'Opmerking' opmerking, 'Ingangsdatum' ingangsdatum, 'Rappeldatum' rappeldatum, 'Opzegdatum' opzegdatum, 'Einddatum' einddatum, 'Bedrijfnaam' bedrijfnaam, 'Contactnaam' contactnaam, 'Kostenplaatscode' kostenplaatscode, 'Contractbedrag' contractbedrag, 'Termijnbedrag' termijnbedrag, 'Uurtarief' uurtarief, 'Korting' korting, 'Locatiegebouw' locatiegebouw, 'Verlengen' verlengen, TO_CHAR ( (SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 1)) kenmerk1, TO_CHAR ( (SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 2)) kenmerk2, TO_CHAR ( (SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 3)) kenmerk3, TO_CHAR ( (SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 4)) kenmerk4, TO_CHAR ( (SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 5)) kenmerk5, TO_CHAR ( (SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 6)) kenmerk6, TO_CHAR ( (SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 7)) kenmerk7, TO_CHAR ( (SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 8)) kenmerk8, TO_CHAR ( (SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 9)) kenmerk9, TO_CHAR ( (SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 10)) kenmerk10, TO_CHAR ( (SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 11)) kenmerk11, TO_CHAR ( (SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 12)) kenmerk12, TO_CHAR ( (SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 13)) kenmerk13, TO_CHAR ( (SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 14)) kenmerk14, TO_CHAR ( (SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 15)) kenmerk15, TO_CHAR ( (SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 16)) kenmerk16, TO_CHAR ( (SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 17)) kenmerk17, TO_CHAR ( (SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 18)) kenmerk18, TO_CHAR ( (SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 19)) kenmerk19, TO_CHAR ( (SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 20)) kenmerk20, TO_CHAR ( (SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 21)) kenmerk21, TO_CHAR ( (SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 22)) kenmerk22, TO_CHAR ( (SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 23)) kenmerk23, TO_CHAR ( (SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 24)) kenmerk24, TO_CHAR ( (SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 25)) kenmerk25 FROM DUAL UNION ALL SELECT 1, x.cnt_contract_nummer_intern contractnr, x.cnt_contract_nummer externnr, x.contractsoort, x.cnt_contract_omschrijving beschrijving, x.mantelnr, x.cnt_contract_document omschrijving, x.cnt_contract_versie versie, x.dienst, x.afd_eig eigenaar_afd, x.login_eig eigenaar_login, x.login_beh beheerder_login, x.cnt_contract_opmerking opmerking, TO_CHAR (x.cnt_contract_looptijd_van, 'dd-mm-yyyy') ingangsdatum, TO_CHAR (cnt.cnt_getRappeldatum (x.cnt_contract_key), 'dd-mm-yyyy') rappeldatum, TO_CHAR (cnt.cnt_getOpzegdatum (x.cnt_contract_key), 'dd-mm-yyyy') opzegdatum, TO_CHAR (x.cnt_contract_looptijd_tot, 'dd-mm-yyyy') einddatum, x.bedrijfnaam, x.contactnaam, x.kostenplaatscode, TO_CHAR (x.cnt_contract_kosten) contractbedrag, TO_CHAR (x.cnt_contract_termijnkosten) termijnbedrag, TO_CHAR (x.cnt_contract_uurloon) uurtarief, TO_CHAR (x.cnt_contract_korting) korting, x.plaats locatiegebouw, TO_CHAR (x.cnt_contract_verlenging) verlengen, k1.waarde kenmerk1, k2.waarde kenmerk2, k3.waarde kenmerk3, k4.waarde kenmerk4, k5.waarde kenmerk5, k6.waarde kenmerk6, k7.waarde kenmerk7, k8.waarde kenmerk8, k9.waarde kenmerk9, k10.waarde kenmerk10, k11.waarde kenmerk11, k12.waarde kenmerk12, k13.waarde kenmerk13, k14.waarde kenmerk14, k15.waarde kenmerk15, k16.waarde kenmerk16, k17.waarde kenmerk17, k18.waarde kenmerk18, k19.waarde kenmerk19, k20.waarde kenmerk20, k21.waarde kenmerk21, k22.waarde kenmerk22, k23.waarde kenmerk23, k24.waarde kenmerk24, k25.waarde kenmerk25 FROM (SELECT c.*, cd.ins_discipline_omschrijving contractsoort, cm.cnt_contract_nummer_intern mantelnr, d.prs_dienst_omschrijving dienst, a.prs_afdeling_naam afd_eig, eig.prs_perslid_oslogin login_eig, beh.prs_perslid_oslogin login_beh, b.prs_bedrijf_naam bedrijfnaam, cp.prs_contactpersoon_naam contactnaam, kp.prs_kostenplaats_nr kostenplaatscode, p.plaats FROM cnt_v_aanwezigcontract c, cnt_discipline cd, cnt_v_aanwezigcontract cm, prs_dienst d, prs_afdeling a, prs_v_aanwezigperslid eig, prs_v_aanwezigperslid beh, prs_v_aanwezigbedrijf b, prs_contactpersoon cp, prs_kostenplaats kp, (SELECT DISTINCT cp.cnt_contract_key, COALESCE ( l.alg_locatie_code, g.alg_gebouw_code ) plaats FROM cnt_contract_plaats cp LEFT JOIN alg_v_aanweziglocatie l ON cp.cnt_alg_plaats_key = l.alg_locatie_key AND cp.cnt_alg_plaats_code = 'L' LEFT JOIN alg_v_aanweziggebouw g ON cp.cnt_alg_plaats_key = g.alg_gebouw_key AND cp.cnt_alg_plaats_code = 'G' WHERE cp.cnt_contract_plaats_verwijder IS NULL) p WHERE c.ins_discipline_key = cd.ins_discipline_key AND c.cnt_contract_mantel_key = cm.cnt_contract_key(+) AND c.prs_dienst_key = d.prs_dienst_key(+) AND c.prs_afdeling_key_eig = a.prs_afdeling_key AND c.prs_perslid_key_eig = eig.prs_perslid_key(+) AND c.prs_perslid_key_beh = beh.prs_perslid_key(+) AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND c.prs_contactpersoon_key = cp.prs_contactpersoon_key(+) AND c.cnt_contract_key = p.cnt_contract_key(+)) x LEFT JOIN ck k1 ON x.cnt_contract_key = k1.cnt_contract_key AND k1.vnr = 1 LEFT JOIN ck k2 ON x.cnt_contract_key = k2.cnt_contract_key AND k2.vnr = 2 LEFT JOIN ck k3 ON x.cnt_contract_key = k3.cnt_contract_key AND k3.vnr = 3 LEFT JOIN ck k4 ON x.cnt_contract_key = k4.cnt_contract_key AND k4.vnr = 4 LEFT JOIN ck k5 ON x.cnt_contract_key = k5.cnt_contract_key AND k5.vnr = 5 LEFT JOIN ck k6 ON x.cnt_contract_key = k6.cnt_contract_key AND k6.vnr = 6 LEFT JOIN ck k7 ON x.cnt_contract_key = k7.cnt_contract_key AND k7.vnr = 7 LEFT JOIN ck k8 ON x.cnt_contract_key = k8.cnt_contract_key AND k8.vnr = 8 LEFT JOIN ck k9 ON x.cnt_contract_key = k9.cnt_contract_key AND k9.vnr = 9 LEFT JOIN ck k10 ON x.cnt_contract_key = k10.cnt_contract_key AND k10.vnr = 10 LEFT JOIN ck k11 ON x.cnt_contract_key = k11.cnt_contract_key AND k11.vnr = 11 LEFT JOIN ck k12 ON x.cnt_contract_key = k12.cnt_contract_key AND k12.vnr = 12 LEFT JOIN ck k13 ON x.cnt_contract_key = k13.cnt_contract_key AND k13.vnr = 13 LEFT JOIN ck k14 ON x.cnt_contract_key = k14.cnt_contract_key AND k14.vnr = 14 LEFT JOIN ck k15 ON x.cnt_contract_key = k15.cnt_contract_key AND k15.vnr = 15 LEFT JOIN ck k16 ON x.cnt_contract_key = k16.cnt_contract_key AND k16.vnr = 16 LEFT JOIN ck k17 ON x.cnt_contract_key = k17.cnt_contract_key AND k17.vnr = 17 LEFT JOIN ck k18 ON x.cnt_contract_key = k18.cnt_contract_key AND k18.vnr = 18 LEFT JOIN ck k19 ON x.cnt_contract_key = k19.cnt_contract_key AND k19.vnr = 19 LEFT JOIN ck k20 ON x.cnt_contract_key = k20.cnt_contract_key AND k20.vnr = 20 LEFT JOIN ck k21 ON x.cnt_contract_key = k21.cnt_contract_key AND k21.vnr = 21 LEFT JOIN ck k22 ON x.cnt_contract_key = k22.cnt_contract_key AND k22.vnr = 22 LEFT JOIN ck k23 ON x.cnt_contract_key = k23.cnt_contract_key AND k23.vnr = 23 LEFT JOIN ck k24 ON x.cnt_contract_key = k24.cnt_contract_key AND k24.vnr = 24 LEFT JOIN ck k25 ON x.cnt_contract_key = k25.cnt_contract_key AND k25.vnr = 25; /* ROOT VIEWS for User defined Reports (UDR) */ /* NB: een contract komt net zo vaak voor als zijn scope */ CREATE_VIEW(cnt_v_udr_contract, 1) ( nummer, nummer_extern, versie, contractsoort, omschrijving, opmerking, contractpartij, contractafdeling, contracteigenaar, contractbeheerder, begindatum, einddatum, opzegdatum, rappeldatum, opzegtermijn, rappeltermijn, fase_actief, status, contract_key, fclt_3d_discipline_key, fclt_3d_afdeling_key, srtcontract_type, fclt_3d_locatie_key, locatie_oms, locatie_omschrijving, locatie_plaats, regio_omschrijving, district_omschrijving, locatie_code, gebouw, gebouw_naam, terreinsector_code, terreinsector_naam, verdieping_code, ruimte_nr, ruimte_omschrijving, discipline_omschrijving, kostensoortgroep, kostensoort, kpn, kpn_omschrijving, kosten, termijnkosten, factuurtermijn, jaarkosten, korting, dienst_omschrijving ) AS SELECT c.cnt_contract_nummer_intern, c.cnt_contract_nummer, c.cnt_contract_versie, lcl.x ('ins_discipline_omschrijving', cd.ins_discipline_key, cd.ins_discipline_omschrijving), c.cnt_contract_omschrijving, c.cnt_contract_document, COALESCE (b.prs_bedrijf_naam, afd2.prs_afdeling_naam, pf2.prs_perslid_naam_full), d.prs_afdeling_omschrijving, (SELECT prs_perslid_naam_full FROM prs_v_perslid_fullnames_all WHERE prs_perslid_key = prs_perslid_key_eig), (SELECT prs_perslid_naam_full FROM prs_v_perslid_fullnames_all WHERE prs_perslid_key = prs_perslid_key_beh), c.cnt_contract_looptijd_van begindatum, c.cnt_contract_looptijd_tot einddatum, cnt.cnt_getopzegdatum (c.cnt_contract_key) cnt_opzegdatum, cnt.cnt_getrappeldatum (c.cnt_contract_key) cnt_rappeldatum, (SELECT lcl.x ('cnt_termijn_omschrijving', cnt_termijn_key, cnt_termijn_omschrijving) FROM cnt_termijn WHERE cnt_termijn_key = c.cnt_contract_opzegtermijn) cnt_opzegtermijn, (SELECT lcl.x ('cnt_termijn_omschrijving', cnt_termijn_key, cnt_termijn_omschrijving) FROM cnt_termijn WHERE cnt_termijn_key = c.cnt_contract_rappeltermijn) cnt_rappeltermijn, DECODE (cnt.cnt_contract_status (c.cnt_contract_looptijd_van, cnt.cnt_getrappeldatum (c.cnt_contract_key), cnt.cnt_getopzegdatum (c.cnt_contract_key), c.cnt_contract_looptijd_tot), 0, lcl.l ('lcl_cnt_future'), 1, lcl.l ('lcl_cnt_topical'), 2, lcl.l ('lcl_cnt_warn'), 3, lcl.l ('lcl_cnt_cancel'), 4, lcl.l ('lcl_cnt_past')) fase_actief, DECODE ( c.cnt_contract_status, 0, DECODE (fac.getsetting ('cnt_contract_approval'), 1, lcl.l ('lcl_cnt_active_approval'), lcl.l ('lcl_cnt_active')), 1, lcl.l ('lcl_cnt_inactive'), 2, lcl.l ('lcl_cnt_new'), 3, lcl.l ('lcl_cnt_forapproval')) cnt_contract_status, c.cnt_contract_key cnt_contract_key, COALESCE (c.ins_discipline_key, -1) disc_key, c.prs_afdeling_key_eig eigenaar_key, (SELECT lcl.x ('cnt_typecontract_omschrijving', dp.cnt_srtcontract_type, cnt_typecontract_omschrijving) FROM cnt_typecontract WHERE cnt_typecontract_key = dp.cnt_srtcontract_type) cnt_srtcontract_type, alg_locatie_key, alg_locatie_oms, alg_locatie_omschrijving, alg_locatie_plaats, alg_regio_omschrijving, alg_district_omschrijving, alg_locatie_code, alg_gebouw_code, alg_gebouw_naam, alg_terreinsector_code, alg_terreinsector_naam, alg_verdieping_code, alg_ruimte_nr, alg_ruimte_omschrijving, cd.ins_discipline_omschrijving ins_discipline_omschrijving, (SELECT ksg.prs_kostensoortgrp_oms FROM prs_kostensoortgrp ksg, prs_kostensoort ks WHERE ksg.prs_kostensoortgrp_key = ks.prs_kostensoortgrp_key AND ks.prs_kostensoort_key = c.prs_kostensoort_key) kostensoortgroep, ks.prs_kostensoort_oms kostensoort, kp.prs_kostenplaats_nr kpn, kp.prs_kostenplaats_omschrijving kpn_omschrijving, ROUND ( DECODE ( fac.getsetting ('cnt_scopeverdeling'), 1, cloc.cnt_contract_plaats_gewicht, 0, COALESCE (cloc.cnt_contract_plaats_gewicht, 1) * c.cnt_contract_kosten / (SELECT DECODE (SUM (COALESCE (cnt_contract_plaats_gewicht, 0)), 0, 1, SUM (cnt_contract_plaats_gewicht)) FROM cnt_contract_plaats ccp WHERE ccp.cnt_contract_key = c.cnt_contract_key), c.cnt_contract_kosten), 2) kosten, c.cnt_contract_termijnkosten, (SELECT lcl.x ('cnt_termijn_omschrijving', cnt_termijn_key, cnt_termijn_omschrijving) FROM cnt_termijn WHERE cnt_termijn_key = c.cnt_contract_termijntermijn) factuurtermijn, DECODE (cnt.termijnjaarfactor (c.cnt_contract_termijntermijn), -1, TO_NUMBER (NULL), cnt.termijnjaarfactor (c.cnt_contract_termijntermijn) * cnt_contract_termijnkosten) jaarkosten, c.cnt_contract_korting, di.prs_dienst_omschrijving FROM prs_bedrijf b, cnt_v_aanwezigcontract c, prs_dienst di, prs_v_afdeling d, prs_afdeling afd2, prs_v_perslid_fullnames_all pf2, alg_district ad, alg_regio ar, cnt_disc_params dp, cnt_discipline cd, prs_kostenplaats kp, prs_kostensoort ks, (SELECT alg_locatie_omschrijving || ' (' || alg_locatie_code || ')' alg_locatie_oms, alg_locatie_omschrijving, alg_locatie_plaats, alg_locatie_code, alg_gebouw_code, alg_gebouw_naam, alg_terreinsector_code, alg_terreinsector_naam, alg_verdieping_code, alg_ruimte_nr, alg_ruimte_omschrijving, alg_district_key, cnt_contract_key, ll.alg_locatie_key, cnt_contract_plaats_gewicht FROM alg_locatie ll, alg_gebouw gg, alg_verdieping vv, alg_ruimte rr, alg_terreinsector tt, (SELECT cp.cnt_contract_key, cp.cnt_alg_plaats_key alg_locatie_key, NULL alg_gebouw_key, NULL alg_terreinsector_key, NULL alg_verdieping_key, NULL alg_ruimte_key, cnt_contract_plaats_gewicht FROM cnt_contract_plaats cp WHERE cnt_alg_plaats_code = 'L' UNION ALL SELECT cp.cnt_contract_key, g.alg_locatie_key, cp.cnt_alg_plaats_key alg_gebouw_key, NULL alg_terreinsector_key, NULL alg_verdieping_key, NULL alg_ruimte_key, cnt_contract_plaats_gewicht FROM cnt_contract_plaats cp, alg_gebouw g WHERE cnt_alg_plaats_code = 'G' AND cp.cnt_alg_plaats_key = g.alg_gebouw_key UNION ALL SELECT cp.cnt_contract_key, t.alg_locatie_key, NULL alg_gebouw_key, cp.cnt_alg_plaats_key alg_terreinsector_key, NULL alg_verdieping_key, NULL alg_ruimte_key, cnt_contract_plaats_gewicht FROM cnt_contract_plaats cp, alg_terreinsector t WHERE cnt_alg_plaats_code = 'T' AND cp.cnt_alg_plaats_key = t.alg_terreinsector_key UNION ALL SELECT cp.cnt_contract_key, g.alg_locatie_key, g.alg_gebouw_key alg_gebouw_key, NULL alg_terreinsector_key, cp.cnt_alg_plaats_key alg_verdieping_key, NULL alg_ruimte_key, cnt_contract_plaats_gewicht FROM cnt_contract_plaats cp, alg_gebouw g, alg_verdieping v WHERE cnt_alg_plaats_code = 'V' AND cp.cnt_alg_plaats_key = v.alg_verdieping_key AND v.alg_gebouw_key = g.alg_gebouw_key UNION ALL SELECT cp.cnt_contract_key, g.alg_locatie_key, g.alg_gebouw_key alg_gebouw_key, NULL alg_terreinsector_key, v.alg_verdieping_key alg_verdieping_key, cp.cnt_alg_plaats_key alg_ruimte_key, cnt_contract_plaats_gewicht FROM cnt_contract_plaats cp, alg_gebouw g, alg_verdieping v, alg_ruimte r WHERE cnt_alg_plaats_code = 'R' AND cp.cnt_alg_plaats_key = r.alg_ruimte_key AND r.alg_verdieping_key = v.alg_verdieping_key AND v.alg_gebouw_key = g.alg_gebouw_key UNION ALL SELECT co.cnt_contract_key, d.ins_alg_locatie_key, NULL alg_gebouw_key, NULL alg_terreinsector_key, NULL alg_verdieping_key, NULL alg_ruimte_key, NULL cnt_contract_plaats_gewicht FROM cnt_contract_object co, ins_deel d WHERE co.cnt_ins_deel_key = d.ins_deel_key) scloc WHERE ll.alg_locatie_key = scloc.alg_locatie_key AND gg.alg_gebouw_key(+) = scloc.alg_gebouw_key AND tt.alg_terreinsector_key(+) = scloc.alg_terreinsector_key AND vv.alg_verdieping_key(+) = scloc.alg_verdieping_key AND rr.alg_ruimte_key(+) = scloc.alg_ruimte_key) cloc WHERE c.cnt_prs_bedrijf_key = b.prs_bedrijf_key(+) AND c.cnt_prs_afdeling_key = afd2.prs_afdeling_key(+) AND c.cnt_prs_perslid_key = pf2.prs_perslid_key(+) AND c.prs_dienst_key = di.prs_dienst_key(+) AND d.prs_afdeling_key = c.prs_afdeling_key_eig AND c.ins_discipline_key = dp.cnt_ins_discipline_key AND c.ins_discipline_key = cd.ins_discipline_key AND cloc.cnt_contract_key(+) = c.cnt_contract_key AND cloc.alg_district_key = ad.alg_district_key(+) AND ad.alg_regio_key = ar.alg_regio_key(+) AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND c.prs_kostensoort_key = ks.prs_kostensoort_key(+) AND c.cnt_contract_key IN (SELECT cnt_contract_key FROM (SELECT cc.cnt_contract_key, ins_discipline_key, di.alg_regio_key, ll.alg_district_key, clk.alg_locatie_key FROM (SELECT cp.cnt_contract_key, cp.cnt_alg_plaats_key alg_locatie_key FROM cnt_contract_plaats cp WHERE cnt_alg_plaats_code = 'L' UNION ALL SELECT cp.cnt_contract_key, g.alg_locatie_key FROM cnt_contract_plaats cp, alg_gebouw g WHERE cnt_alg_plaats_code = 'G' AND cp.cnt_alg_plaats_key = g.alg_gebouw_key UNION ALL SELECT cp.cnt_contract_key, t.alg_locatie_key FROM cnt_contract_plaats cp, alg_terreinsector t WHERE cnt_alg_plaats_code = 'T' AND cp.cnt_alg_plaats_key = t.alg_terreinsector_key UNION ALL SELECT co.cnt_contract_key, d.ins_alg_locatie_key FROM cnt_contract_object co, ins_deel d WHERE co.cnt_ins_deel_key = d.ins_deel_key) clk, cnt_contract cc, alg_locatie ll, alg_district di WHERE cc.cnt_contract_key = clk.cnt_contract_key AND ll.alg_locatie_key(+) = clk.alg_locatie_key AND ll.alg_district_key = di.alg_district_key(+)) sc, prs_v_afdeling_boom boom WHERE boom.prs_afdeling_key = c.prs_afdeling_key_eig UNION ALL SELECT cnt_contract_key FROM cnt_contract c, prs_v_afdeling_boom boom WHERE NOT EXISTS (SELECT cnt_contract_key FROM cnt_contract_plaats cp WHERE cp.cnt_contract_key = c.cnt_contract_key) AND NOT EXISTS (SELECT cnt_contract_key FROM cnt_contract_object co WHERE co.cnt_contract_key = c.cnt_contract_key AND co.cnt_ins_deel_key IS NOT NULL) AND boom.prs_afdeling_key = c.prs_afdeling_key_eig); CREATE_VIEW(cnt_v_udr_contractkenmerk_cnd, 1) AS SELECT c.*, COALESCE(lcl.x('cnt_kenmerk_omschrijving', k.cnt_kenmerk_key, k.cnt_kenmerk_omschrijving), lcl.x('cnt_srtkenmerk_omschrijving', skm.cnt_srtkenmerk_key, cnt_srtkenmerk_omschrijving)) kenmerk, CASE WHEN skm.cnt_srtkenmerk_kenmerktype = 'R' OR skm.cnt_srtkenmerk_kenmerktype = 'S' THEN flx.getdomeinwaarde (skm.fac_kenmerkdomein_key, km.cnt_kenmerkcontract_waarde) WHEN skm.cnt_srtkenmerk_kenmerktype = 'C' OR skm.cnt_srtkenmerk_kenmerktype = 'F' THEN km.cnt_kenmerkcontract_waarde ELSE NULL END waarde_c, CASE WHEN skm.cnt_srtkenmerk_kenmerktype = 'N' OR skm.cnt_srtkenmerk_kenmerktype = 'B' THEN TO_NUMBER (km.cnt_kenmerkcontract_waarde) ELSE TO_NUMBER (NULL) END waarde_n, CASE WHEN skm.cnt_srtkenmerk_kenmerktype = 'D' THEN TO_DATE (km.cnt_kenmerkcontract_waarde, 'DD-MM-YYYY') ELSE TO_DATE (NULL) END waarde_d, CASE WHEN skm.cnt_srtkenmerk_kenmerktype IN ('R', 'S') THEN flx.getdomeinwaarde (skm.fac_kenmerkdomein_key, km.cnt_kenmerkcontract_waarde) ELSE km.cnt_kenmerkcontract_waarde END waarde_x FROM cnt_v_udr_contract c, cnt_kenmerkcontract km, cnt_kenmerk K, cnt_srtkenmerk skm WHERE km.cnt_contract_key = c.contract_key AND km.cnt_kenmerkcontract_verwijder IS NULL AND k.cnt_kenmerk_verwijder IS NULL AND skm.cnt_srtkenmerk_verwijder IS NULL AND km.cnt_kenmerk_key = k.cnt_kenmerk_key(+) AND k.cnt_srtkenmerk_key = skm.cnt_srtkenmerk_key(+); REGISTERRUN('$Id$') #endif // CNT