307 lines
14 KiB
SQL
307 lines
14 KiB
SQL
-- Customer specific once-script MDUX#31775.
|
|
|
|
SET ECHO ON
|
|
SPOOL xMDUX#31775.lst
|
|
SET DEFINE OFF
|
|
|
|
create or replace view fin_v_udr_kostenoverzicht
|
|
(
|
|
datum,
|
|
aanvrager,
|
|
organisatie,
|
|
categorie,
|
|
referentie,
|
|
bedrag,
|
|
status,
|
|
kostenplaatsgroep,
|
|
kostenplaatsnr,
|
|
kostenplaats,
|
|
kostensoortgroep,
|
|
kostensoortnr,
|
|
kostensoort,
|
|
ordernr,
|
|
locatie,
|
|
district,
|
|
fclt_3d_locatie_key,
|
|
fclt_3d_afdeling_key
|
|
)
|
|
AS
|
|
SELECT datum,
|
|
p.prs_perslid_naam
|
|
|| NVL2 (p.prs_perslid_voorletters, ', ' || p.prs_perslid_voorletters, '')
|
|
|| NVL2 (p.prs_perslid_tussenvoegsel, ' ' || p.prs_perslid_tussenvoegsel, '')
|
|
|| NVL2 (p.prs_perslid_voornaam, ' (' || p.prs_perslid_voornaam || ')', '')
|
|
aanvrager,
|
|
d.prs_afdeling_naam organisatie,
|
|
categorie,
|
|
categorienummer,
|
|
SUM (bedrag) bedrag,
|
|
status,
|
|
kpg.prs_kostenplaatsgrp_oms,
|
|
k.prs_kostenplaats_nr,
|
|
lcl.x ('prs_kostenplaats_omschrijving',
|
|
k.prs_kostenplaats_key,
|
|
k.prs_kostenplaats_omschrijving),
|
|
ksg.prs_kostensoortgrp_oms,
|
|
ks.prs_kostensoort_oms,
|
|
ks.prs_kostensoort_opmerking,
|
|
ordernr,
|
|
alg_locatie_code,
|
|
alg_district_omschrijving,
|
|
alg_locatie_key,
|
|
d.prs_afdeling_key
|
|
FROM (SELECT rr.prs_kostenplaats_key,
|
|
rr.res_rsv_ruimte_van datum,
|
|
res_rsv_ruimte_contact_key prs_perslid_key,
|
|
'Reservering' categorie,
|
|
TO_CHAR (rr.res_reservering_key) || '/' || rr.res_rsv_ruimte_volgnr
|
|
categorienummer,
|
|
res_rsv_ruimte_prijs bedrag,
|
|
s.res_status_bo_omschrijving status,
|
|
'RES' module,
|
|
dis.prs_kostensoort_key,
|
|
rr.res_rsv_ruimte_ordernr ordernr,
|
|
rr.res_reservering_key kostenplaats_item_key,
|
|
rr.res_rsv_ruimte_key kostenplaats_item_child_key,
|
|
(SELECT MAX (g.alg_locatie_key)
|
|
FROM alg_ruimte r,
|
|
alg_verdieping v,
|
|
alg_gebouw g,
|
|
res_alg_ruimte ar
|
|
WHERE ar.res_alg_ruimte_verwijder IS NULL
|
|
AND ar.alg_ruimte_key = r.alg_ruimte_key
|
|
AND r.alg_verdieping_key = v.alg_verdieping_key
|
|
AND v.alg_gebouw_key = g.alg_gebouw_key
|
|
AND ar.res_ruimte_key = ro.res_ruimte_key)
|
|
locatie_key
|
|
FROM res_v_aanwezigrsv_ruimte rr,
|
|
res_ruimte_opstelling ro,
|
|
res_ruimte ru,
|
|
res_discipline dis,
|
|
res_status_bo s
|
|
WHERE ru.res_ruimte_prijs <> 0
|
|
AND rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
|
|
AND ro.res_ruimte_key = ru.res_ruimte_key
|
|
AND s.res_status_bo_key = rr.res_status_bo_key
|
|
AND ru.res_discipline_key = dis.ins_discipline_key
|
|
UNION ALL
|
|
SELECT rr.prs_kostenplaats_key,
|
|
ra.res_rsv_artikel_levering datum,
|
|
res_rsv_ruimte_contact_key prs_perslid_key,
|
|
'Reservering' categorie,
|
|
TO_CHAR (rr.res_reservering_key) || '/' || rr.res_rsv_ruimte_volgnr
|
|
categorienummer,
|
|
res_rsv_artikel_prijs bedrag,
|
|
s.res_status_bo_omschrijving status,
|
|
'RES' module,
|
|
dis.prs_kostensoort_key,
|
|
rr.res_rsv_ruimte_ordernr ordernr,
|
|
rr.res_reservering_key kostenplaats_item_key,
|
|
rr.res_rsv_ruimte_key kostenplaats_item_child_key,
|
|
COALESCE (
|
|
(SELECT g.alg_locatie_key
|
|
FROM alg_ruimte r, alg_verdieping v, alg_gebouw g
|
|
WHERE rr.alg_ruimte_key = r.alg_ruimte_key
|
|
AND r.alg_verdieping_key = v.alg_verdieping_key
|
|
AND v.alg_gebouw_key = g.alg_gebouw_key),
|
|
(SELECT MAX (g.alg_locatie_key)
|
|
FROM alg_ruimte r,
|
|
alg_verdieping v,
|
|
alg_gebouw g,
|
|
res_alg_ruimte ar,
|
|
res_ruimte_opstelling ro
|
|
WHERE ar.res_alg_ruimte_verwijder IS NULL
|
|
AND ar.alg_ruimte_key = r.alg_ruimte_key
|
|
AND r.alg_verdieping_key = v.alg_verdieping_key
|
|
AND v.alg_gebouw_key = g.alg_gebouw_key
|
|
AND ar.res_ruimte_key = ro.res_ruimte_key
|
|
AND rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key))
|
|
locatie_key
|
|
FROM res_v_aanwezigrsv_ruimte rr,
|
|
res_v_aanwezigrsv_artikel ra,
|
|
res_artikel a,
|
|
res_discipline dis,
|
|
res_status_bo s
|
|
WHERE COALESCE (ra.res_rsv_artikel_prijs, a.res_artikel_prijs) <> 0
|
|
AND rr.res_rsv_ruimte_key = ra.res_rsv_ruimte_key
|
|
AND ra.res_artikel_key = a.res_artikel_key
|
|
AND s.res_status_bo_key = ra.res_status_bo_key
|
|
AND a.res_discipline_key = dis.ins_discipline_key
|
|
UNION ALL
|
|
SELECT rr.prs_kostenplaats_key,
|
|
rd.res_rsv_deel_van datum,
|
|
res_rsv_ruimte_contact_key prs_perslid_key,
|
|
'Reservering' categorie,
|
|
TO_CHAR (rr.res_reservering_key) || '/' || rr.res_rsv_ruimte_volgnr
|
|
categorienummer,
|
|
res_rsv_deel_prijs bedrag,
|
|
s.res_status_bo_omschrijving status,
|
|
'RES' module,
|
|
dis.prs_kostensoort_key,
|
|
rr.res_rsv_ruimte_ordernr ordernr,
|
|
rr.res_reservering_key kostenplaats_item_key,
|
|
rr.res_rsv_ruimte_key kostenplaats_item_child_key,
|
|
COALESCE (
|
|
(SELECT g.alg_locatie_key
|
|
FROM alg_ruimte r, alg_verdieping v, alg_gebouw g
|
|
WHERE rr.alg_ruimte_key = r.alg_ruimte_key
|
|
AND r.alg_verdieping_key = v.alg_verdieping_key
|
|
AND v.alg_gebouw_key = g.alg_gebouw_key),
|
|
(SELECT MAX (g.alg_locatie_key)
|
|
FROM alg_ruimte r,
|
|
alg_verdieping v,
|
|
alg_gebouw g,
|
|
res_alg_ruimte ar,
|
|
res_ruimte_opstelling ro
|
|
WHERE ar.res_alg_ruimte_verwijder IS NULL
|
|
AND ar.alg_ruimte_key = r.alg_ruimte_key
|
|
AND r.alg_verdieping_key = v.alg_verdieping_key
|
|
AND v.alg_gebouw_key = g.alg_gebouw_key
|
|
AND ar.res_ruimte_key = ro.res_ruimte_key
|
|
AND rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key))
|
|
locatie_key
|
|
FROM res_v_aanwezigrsv_ruimte rr,
|
|
res_v_aanwezigrsv_deel rd,
|
|
res_deel d,
|
|
res_discipline dis,
|
|
res_status_bo,
|
|
res_status_bo s
|
|
WHERE d.res_deel_prijs <> 0
|
|
AND rr.res_rsv_ruimte_key = rd.res_rsv_ruimte_key
|
|
AND rd.res_deel_key = d.res_deel_key
|
|
AND s.res_status_bo_key = rd.res_status_bo_key
|
|
AND d.res_discipline_key = dis.ins_discipline_key
|
|
UNION ALL
|
|
SELECT o.prs_kostenplaats_key,
|
|
o.mld_opdr_datumbegin datum,
|
|
m.prs_perslid_key prs_perslid_key,
|
|
mdis.ins_discipline_omschrijving categorie,
|
|
sd.ins_srtdiscipline_prefix
|
|
|| m.mld_melding_key
|
|
|| '/'
|
|
|| o.mld_opdr_bedrijfopdr_volgnr
|
|
categorienummer,
|
|
COALESCE (o.mld_opdr_kosten, 0) bedrag,
|
|
s.mld_statusopdr_omschrijving status,
|
|
'MLD' module,
|
|
COALESCE (s.prs_kostensoort_key, mdis.prs_kostensoort_key) prs_kostensoort_key,
|
|
o.mld_opdr_ordernr ordernr,
|
|
o.mld_opdr_key kostenplaats_item_key,
|
|
-1 kostenplaats_item_child_key,
|
|
m.mld_alg_locatie_key locatie_key
|
|
FROM mld_opdr o,
|
|
mld_typeopdr ot,
|
|
mld_melding m,
|
|
mld_stdmelding s,
|
|
mld_discipline mdis,
|
|
ins_srtdiscipline sd,
|
|
mld_statusopdr s
|
|
WHERE o.mld_opdr_kosten <> 0
|
|
AND o.mld_typeopdr_key = ot.mld_typeopdr_key
|
|
AND ot.mld_typeopdr_kosten = 1
|
|
AND o.mld_melding_key = m.mld_melding_key
|
|
AND s.mld_statusopdr_key = o.mld_statusopdr_key
|
|
AND m.mld_stdmelding_key = s.mld_stdmelding_key
|
|
AND mdis.ins_discipline_key = s.mld_ins_discipline_key
|
|
AND mdis.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
|
AND o.mld_statusopdr_key NOT IN (1, 2, 3, 4, 10)
|
|
UNION ALL
|
|
SELECT b.prs_kostenplaats_key,
|
|
bo.bes_bestelopdr_datum datum,
|
|
b.prs_perslid_key prs_perslid_key,
|
|
'Bestelling' categorie,
|
|
TO_CHAR (b.bes_bestelling_key) categorienummer,
|
|
(boi.bes_bestelopdr_item_aantal * boi.bes_bestelopdr_item_prijs) bedrag,
|
|
s.bes_bestelopdrstatuses_omschr status,
|
|
'BES' module,
|
|
bdis.prs_kostensoort_key,
|
|
b.bes_bestelling_ordernr ordernr,
|
|
b.bes_bestelling_key kostenplaats_item_key,
|
|
-1 kostenplaats_item_child_key,
|
|
(SELECT alg_locatie_key
|
|
FROM mld_adres ma
|
|
WHERE ma.mld_adres_key = b.mld_adres_key_lev)
|
|
locatie_key
|
|
FROM bes_bestelling b,
|
|
bes_bestelling_item bi,
|
|
bes_bestelopdr bo,
|
|
bes_bestelopdr_item boi,
|
|
bes_srtdeel isd,
|
|
bes_srtgroep isg,
|
|
bes_discipline bdis,
|
|
bes_bestelopdrstatuses s
|
|
WHERE b.bes_bestelling_key = bi.bes_bestelling_key
|
|
AND bo.bes_bestelopdr_key = boi.bes_bestelopdr_key
|
|
AND bi.bes_bestelopdr_item_key = boi.bes_bestelopdr_item_key
|
|
AND s.bes_bestelopdrstatuses_key = bo.bes_bestelopdr_status
|
|
AND bi.bes_srtdeel_key = isd.bes_srtdeel_key
|
|
AND isd.bes_srtgroep_key = isg.bes_srtgroep_key
|
|
AND isg.ins_discipline_key = bdis.ins_discipline_key
|
|
AND bo.bes_bestelopdr_status IN (4, 6, 7)) tab,
|
|
prs_kostenplaats k,
|
|
prs_kostenplaatsgrp kpg,
|
|
prs_kostensoort ks,
|
|
prs_kostensoortgrp ksg,
|
|
prs_perslid p,
|
|
prs_v_afdeling d,
|
|
alg_locatie l,
|
|
alg_district d
|
|
WHERE tab.prs_kostenplaats_key(+) = k.prs_kostenplaats_key
|
|
AND tab.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
|
AND k.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)
|
|
AND ks.prs_kostensoortgrp_key = ksg.prs_kostensoortgrp_key(+)
|
|
AND tab.prs_perslid_key = p.prs_perslid_key(+)
|
|
AND p.prs_afdeling_key = d.prs_afdeling_key(+)
|
|
AND tab.locatie_key = l.alg_locatie_key(+)
|
|
AND l.alg_district_key = d.alg_district_key(+)
|
|
AND datum >= TO_DATE ('01-01-2010', 'DD-MM-YYYY')
|
|
GROUP BY k.prs_kostenplaats_nr,
|
|
lcl.x ('prs_kostenplaats_omschrijving',
|
|
k.prs_kostenplaats_key,
|
|
k.prs_kostenplaats_omschrijving),
|
|
datum,
|
|
p.prs_perslid_naam
|
|
|| NVL2 (p.prs_perslid_voorletters, ', ' || p.prs_perslid_voorletters, '')
|
|
|| NVL2 (p.prs_perslid_tussenvoegsel, ' ' || p.prs_perslid_tussenvoegsel, '')
|
|
|| NVL2 (p.prs_perslid_voornaam, ' (' || p.prs_perslid_voornaam || ')', ''),
|
|
d.prs_afdeling_naam,
|
|
d.prs_afdeling_key,
|
|
categorie,
|
|
categorienummer,
|
|
status,
|
|
kpg.prs_kostenplaatsgrp_oms,
|
|
ksg.prs_kostensoortgrp_oms,
|
|
ks.prs_kostensoort_oms,
|
|
ks.prs_kostensoort_opmerking,
|
|
ordernr,
|
|
ksg.prs_kostensoortgrp_oms,
|
|
alg_locatie_key,
|
|
alg_district_omschrijving,
|
|
alg_locatie_code;
|
|
|
|
COMMIT;
|
|
|
|
INSERT INTO fac_usrrap (fac_usrrap_omschrijving,
|
|
fac_usrrap_view_name,
|
|
fac_usrrap_info,
|
|
fac_functie_key,
|
|
fac_usrrap_functie)
|
|
SELECT 'UDR: Kostenoverzicht',
|
|
'fin_v_udr_kostenoverzicht',
|
|
'Basisrapport kostenoverzicht',
|
|
fac_functie_key,
|
|
32
|
|
FROM fac_functie
|
|
WHERE fac_functie_code = 'WEB_PRSSYS'
|
|
AND NOT EXISTS
|
|
(SELECT ''
|
|
FROM fac_usrrap
|
|
WHERE UPPER (fac_usrrap_view_name) =
|
|
'FIN_V_UDR_KOSTENOVERZICHT');
|
|
|
|
COMMIT;
|
|
|
|
BEGIN adm.systrackscriptId('$Id$'); END;
|
|
/
|
|
SPOOL OFF
|