Files
Customer/onces/MDUX/MDUX#31775.sql
Ruud Lipper c1eda13cc1 MDUX#31775
svn path=/Customer/; revision=27057
2015-11-19 15:39:59 +00:00

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