Files
Database/CNT/CNT_VIE.SRC
Peter Feij 1af55e173e FCLT#59300 UDR plus kenmerken rapportage uitgebreid met waarde_x kolom
svn path=/Database/trunk/; revision=56952
2022-08-19 12:04:26 +00:00

1134 lines
58 KiB
Plaintext

#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_qvw_algemeen, 0)
(
contract_key,
internnr,
externnr,
beschrijving,
discipline_key,
contractsoort,
typecontract_key,
typecontract,
ingangsdatum,
rappeldatum,
rappeltermijn,
opzegdatum,
opzegtermijn,
einddatum,
eigenaar,
beheerder,
uitvoerder,
contactpersoon,
kostenplaats,
termijnbedrag,
contractbedrag,
locatie_key,
locatie_code,
gebouw_key,
gebouw_code,
terreinsector_key,
terreinsector_code,
verdieping_key,
verdieping_omschrijving,
ruimte_key,
ruimte_nr
)
AS
SELECT basis.contract_key,
basis.internnr,
basis.externnr,
basis.beschrijving,
basis.discipline_key,
basis.contractsoort,
basis.typecontract_key,
basis.typecontract,
basis.ingangsdatum,
basis.rappeldatum,
basis.rappeltermijn,
basis.opzegdatum,
basis.opzegtermijn,
basis.einddatum,
basis.eigenaar,
basis.beheerder,
basis.uitvoerder,
basis.contactpersoon,
basis.kostenplaats,
basis.termijnbedrag,
basis.contractbedrag,
plaats.locatie_key,
plaats.locatie_code,
plaats.gebouw_key,
plaats.gebouw_code,
plaats.terreinsector_key,
plaats.terreinsector_code,
plaats.verdieping_key,
plaats.verdieping_omschrijving,
plaats.ruimte_key,
plaats.ruimte_nr
FROM (SELECT cc.cnt_contract_key contract_key,
cc.cnt_contract_nummer_intern internnr,
cc.cnt_contract_nummer externnr,
cc.cnt_contract_omschrijving beschrijving,
cc.ins_discipline_key discipline_key,
cs.ins_discipline_omschrijving contractsoort,
tc.cnt_typecontract_key typecontract_key,
tc.cnt_typecontract_omschrijving typecontract,
TRUNC (COALESCE (cc.cnt_contract_looptijd_van, SYSDATE)) ingangsdatum,
TRUNC(COALESCE (cnt.cnt_getrappeldatum (cc.cnt_contract_key),
COALESCE (cc.cnt_contract_looptijd_tot, SYSDATE)))
rappeldatum,
rt.cnt_termijn_omschrijving rappeltermijn,
TRUNC(COALESCE (cnt.cnt_getopzegdatum (cc.cnt_contract_key),
COALESCE (cc.cnt_contract_looptijd_tot, SYSDATE)))
opzegdatum,
ot.cnt_termijn_omschrijving opzegtermijn,
TRUNC (COALESCE (cc.cnt_contract_looptijd_tot, SYSDATE)) einddatum,
(SELECT d.prs_afdeling_naam6
FROM prs_v_aanwezigafdeling d
WHERE d.prs_afdeling_key = cc.prs_afdeling_key_eig)
eigenaar,
(SELECT p.prs_perslid_naam
|| DECODE (NVL (p.prs_perslid_voorletters, ''),
'', '',
', ' || p.prs_perslid_voorletters)
|| DECODE (NVL (p.prs_perslid_tussenvoegsel, ''),
'', '',
' ' || p.prs_perslid_tussenvoegsel)
|| DECODE (NVL (p.prs_perslid_voornaam, ''),
'', '',
' (' || p.prs_perslid_voornaam || ')')
FROM prs_perslid p
WHERE p.prs_perslid_key = cc.prs_perslid_key_beh)
beheerder,
(SELECT b.prs_bedrijf_naam
FROM prs_bedrijf b
WHERE b.prs_bedrijf_key = cc.cnt_prs_bedrijf_key)
uitvoerder,
(SELECT c.prs_contactpersoon_naam
|| DECODE (NVL (c.prs_contactpersoon_voorletters, ''),
'', '',
', ' || c.prs_contactpersoon_voorletters)
|| DECODE (NVL (c.prs_contactpersoon_tussenv, ''),
'', '',
' ' || c.prs_contactpersoon_tussenv)
|| DECODE (NVL (c.prs_contactpersoon_voornaam, ''),
'', '',
' (' || c.prs_contactpersoon_voornaam || ')')
prs_contactpersoon_naam
FROM prs_contactpersoon c
WHERE c.prs_contactpersoon_key = cc.prs_contactpersoon_key)
contactpersoon,
(SELECT k.prs_kostenplaats_nr || ' ' || k.prs_kostenplaats_omschrijving
FROM prs_kostenplaats k
WHERE k.prs_kostenplaats_key = cc.prs_kostenplaats_key)
kostenplaats,
cc.cnt_contract_termijnkosten termijnbedrag,
cc.cnt_contract_kosten contractbedrag
FROM cnt_contract cc,
cnt_discipline cs,
cnt_disc_params dp,
cnt_typecontract tc,
cnt_termijn rt,
cnt_termijn ot
WHERE cc.ins_discipline_key = cs.ins_discipline_key
AND cc.ins_discipline_key = dp.cnt_ins_discipline_key
AND dp.cnt_srtcontract_type = tc.cnt_typecontract_key
AND cc.cnt_contract_rappeltermijn = rt.cnt_termijn_key
AND cc.cnt_contract_opzegtermijn = ot.cnt_termijn_key
AND cc.cnt_contract_verwijder IS NULL) basis
LEFT JOIN
(SELECT cp.cnt_contract_key contract_key,
DECODE (
cp.cnt_alg_plaats_code,
'L',
cp.cnt_alg_plaats_key,
'G',
(SELECT l.alg_locatie_key
FROM alg_gebouw g, alg_locatie l
WHERE g.alg_gebouw_key = cp.cnt_alg_plaats_key
AND g.alg_locatie_key = l.alg_locatie_key),
'T',
(SELECT l.alg_locatie_key
FROM alg_terreinsector t, alg_locatie l
WHERE t.alg_terreinsector_key = cp.cnt_alg_plaats_key
AND t.alg_locatie_key = l.alg_locatie_key),
'V',
(SELECT l.alg_locatie_key
FROM alg_gebouw g, alg_locatie l, alg_verdieping v
WHERE v.alg_verdieping_key = cp.cnt_alg_plaats_key
AND g.alg_gebouw_key = v.alg_gebouw_key
AND g.alg_locatie_key = l.alg_locatie_key),
'R',
(SELECT l.alg_locatie_key
FROM alg_gebouw g,
alg_locatie l,
alg_verdieping v,
alg_ruimte r
WHERE r.alg_ruimte_key = cp.cnt_alg_plaats_key
AND v.alg_verdieping_key = r.alg_verdieping_key
AND g.alg_gebouw_key = v.alg_gebouw_key
AND g.alg_locatie_key = l.alg_locatie_key))
locatie_key,
DECODE (
cp.cnt_alg_plaats_code,
'L',
(SELECT l.alg_locatie_code
FROM alg_locatie l
WHERE l.alg_locatie_key = cp.cnt_alg_plaats_key),
'G',
(SELECT l.alg_locatie_code
FROM alg_gebouw g, alg_locatie l
WHERE g.alg_gebouw_key = cp.cnt_alg_plaats_key
AND g.alg_locatie_key = l.alg_locatie_key),
'T',
(SELECT l.alg_locatie_code
FROM alg_terreinsector t, alg_locatie l
WHERE t.alg_terreinsector_key = cp.cnt_alg_plaats_key
AND t.alg_locatie_key = l.alg_locatie_key),
'V',
(SELECT l.alg_locatie_code
FROM alg_gebouw g, alg_locatie l, alg_verdieping v
WHERE v.alg_verdieping_key = cp.cnt_alg_plaats_key
AND g.alg_gebouw_key = v.alg_gebouw_key
AND g.alg_locatie_key = l.alg_locatie_key),
'R',
(SELECT l.alg_locatie_code
FROM alg_gebouw g,
alg_locatie l,
alg_verdieping v,
alg_ruimte r
WHERE r.alg_ruimte_key = cp.cnt_alg_plaats_key
AND v.alg_verdieping_key = r.alg_verdieping_key
AND g.alg_gebouw_key = v.alg_gebouw_key
AND g.alg_locatie_key = l.alg_locatie_key))
locatie_code,
DECODE (cp.cnt_alg_plaats_code, 'G', cp.cnt_alg_plaats_key, NULL) gebouw_key,
DECODE (
cp.cnt_alg_plaats_code,
'G',
(SELECT g.alg_gebouw_code
FROM alg_gebouw g
WHERE g.alg_gebouw_key = cp.cnt_alg_plaats_key),
'V',
(SELECT g.alg_gebouw_code
FROM alg_gebouw g, alg_verdieping v
WHERE v.alg_verdieping_key = cp.cnt_alg_plaats_key
AND g.alg_gebouw_key = v.alg_gebouw_key),
'R',
(SELECT g.alg_gebouw_code
FROM alg_gebouw g, alg_verdieping v, alg_ruimte r
WHERE r.alg_ruimte_key = cp.cnt_alg_plaats_key
AND v.alg_verdieping_key = r.alg_verdieping_key
AND g.alg_gebouw_key = v.alg_gebouw_key),
NULL)
gebouw_code,
DECODE (cp.cnt_alg_plaats_code, 'T', cp.cnt_alg_plaats_key, NULL)
terreinsector_key,
DECODE (cp.cnt_alg_plaats_code,
'T', (SELECT t.alg_terreinsector_code
FROM alg_terreinsector t
WHERE t.alg_terreinsector_key = cp.cnt_alg_plaats_key),
NULL)
terreinsector_code,
DECODE (cp.cnt_alg_plaats_code, 'V', cp.cnt_alg_plaats_key, NULL)
verdieping_key,
DECODE (
cp.cnt_alg_plaats_code,
'V',
(SELECT alg_verdieping_omschrijving
FROM alg_verdieping v
WHERE v.alg_verdieping_key = cp.cnt_alg_plaats_key),
'R',
(SELECT alg_verdieping_omschrijving
FROM alg_verdieping v, alg_ruimte r
WHERE r.alg_ruimte_key = cp.cnt_alg_plaats_key
AND v.alg_verdieping_key = r.alg_verdieping_key),
NULL)
verdieping_omschrijving,
DECODE (cp.cnt_alg_plaats_code, 'R', cp.cnt_alg_plaats_key, NULL) ruimte_key,
DECODE (cp.cnt_alg_plaats_code,
'R', (SELECT alg_ruimte_nr
FROM alg_ruimte r
WHERE r.alg_ruimte_key = cp.cnt_alg_plaats_key),
NULL)
ruimte_nr
FROM cnt_contract_plaats cp
WHERE cp.cnt_contract_plaats_verwijder IS NULL) plaats
ON basis.contract_key = plaats.contract_key;
-- Een eerste versie
CREATE_VIEW(cnt_v_api_contracten, 1)
AS
SELECT c.cnt_contract_key contract_key,
c.cnt_contract_nummer contract_nummer,
c.cnt_contract_omschrijving omschrijving,
c.cnt_contract_looptijd_van looptijd_van,
c.cnt_contract_looptijd_tot looptijd_tot,
c.cnt_contract_kosten kosten,
c.cnt_contract_nummer_intern nummer_intern,
c.cnt_contract_korting korting,
c.cnt_contract_contact_persoon contactpersoon,
c.cnt_contract_document beschrijving,
c.cnt_contract_status status,
c.cnt_contract_termijnkosten termijnkosten,
c.cnt_contract_opmerking opmerking,
c.cnt_contract_versie versie,
c.cnt_contract_verlenging verlenging,
cm.cnt_contract_nummer mantelcontract,
b.prs_bedrijf_naam bedrijf,
a1.prs_afdeling_naam afdeling,
d.ins_discipline_omschrijving discipline,
p1.prs_perslid_naam_full eigenaar,
p2.prs_perslid_naam_full beheerder,
kp.prs_kostenplaats_omschrijving,
ks.prs_kostensoort_oms kostensoort,
t1.cnt_termijn_omschrijving opzegtermijn,
pd.prs_dienst_omschrijving dienst,
cp.prs_contactpersoon_naam contactpersoon_extern,
c.ins_discipline_key fclt_3d_discipline_key,
c.cnt_prs_afdeling_key fclt_3d_afdeling_key
FROM cnt_contract c,
cnt_contract cm,
prs_bedrijf b,
prs_afdeling a1,
ins_tab_discipline d,
prs_v_perslid_fullnames_all p1,
prs_v_perslid_fullnames_all p2,
prs_kostenplaats kp,
prs_kostensoort ks,
cnt_termijn t1,
prs_dienst pd,
prs_contactpersoon cp
WHERE c.cnt_prs_bedrijf_key = b.prs_bedrijf_key(+)
AND c.cnt_prs_afdeling_key = a1.prs_afdeling_key(+)
AND c.prs_contactpersoon_key = cp.prs_contactpersoon_key(+)
AND c.ins_discipline_key = d.ins_discipline_key(+)
AND c.prs_perslid_key_eig = p1.prs_perslid_key(+)
AND c.prs_perslid_key_beh = p2.prs_perslid_key(+)
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
AND c.prs_kostensoort_key = ks.prs_kostensoort_key(+)
AND c.cnt_contract_mantel_key = cm.cnt_contract_key(+)
AND c.cnt_contract_opzegtermijn = t1.cnt_termijn_key
AND c.prs_dienst_key = pd.prs_dienst_key(+)
AND c.cnt_contract_verwijder IS NULL;
/* Formatted on 17-9-2013 16:56:26 (QP5 v5.115.810.9015) */
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