DENB#53711 Rap/Bestellingen per maand-kostenplaats-ECL

svn path=/Customer/trunk/; revision=38546
This commit is contained in:
Maarten van der Heide
2018-07-17 12:44:18 +00:00
parent 15fa2dd484
commit fefff1c23b

View File

@@ -2748,6 +2748,122 @@ AS
GROUP BY TO_CHAR (mld_melding_datum, 'mm'),
TO_CHAR (mld_melding_datum, 'yyyymm');
-- DENB#53711: Rapportage splitsing artikelen per kostenplaats.
CREATE OR REPLACE VIEW denb_v_rap_bes_per_maand
(
maand,
catalogus,
bestemd_voor,
reden,
sector,
organisatie,
kostenplaats,
ecl,
aanvrager,
bestelnr,
besteld_op,
afgemeld_op,
artikel,
aantal,
prijs,
prijs_tot,
status
)
AS
SELECT DECODE (x.bes_bestelling_status, 6, TO_CHAR (x.afgemeld_op, 'yyyy-mm'), 'Lopend')
maand,
x.ins_discipline_omschrijving catalogus,
bvoor.fac_usrdata_omschr bestemd_voor,
reden.fac_usrdata_omschr reden,
x.sector,
x.organisatie,
x.prs_kostenplaats_nr kostenplaats,
DECODE (bvoor.fac_usrdata_key,
1041, DECODE (reden.fac_usrdata_key,
1043, DECODE (SIGN (x.prijs_tot - 25), -1, '40164', '40159'),
'40159'),
1042, '40157',
NULL)
ecl,
x.prs_perslid_naam_full aanvrager,
TO_CHAR (x.bes_bestelling_key) bestelnr,
x.besteld_op,
x.afgemeld_op,
DECODE (x.aantal_bestelregels, 1, x.artikel, 'Diverse artikelen') artikel,
DECODE (x.aantal_bestelregels, 1, TO_CHAR (x.aantal), 'Diverse aantallen') aantal,
DECODE (x.aantal_bestelregels, 1, REPLACE (TO_CHAR (x.prijs), '.', ','), 'Diverse prijzen') prijs,
x.prijs_tot,
x.bes_bestellingstatuses_omschr status
FROM ( SELECT b.bes_bestelling_key,
b.bes_bestelling_status,
s.bes_bestellingstatuses_omschr,
d.ins_discipline_omschrijving,
a1.prs_afdeling_omschrijving sector,
a2.prs_afdeling_omschrijving organisatie,
k.prs_kostenplaats_nr,
pf.prs_perslid_naam_full,
b.bes_bestelling_datum besteld_op,
COALESCE (fac.gettrackingdate ('BESOTV', b.bes_bestelling_key), bo.bes_bestelopdr_leverdatum) afgemeld_op,
MIN (sd.bes_srtdeel_omschrijving) artikel,
MIN (bi.bes_bestelling_item_aantal) aantal,
MIN (bi.bes_bestelling_item_prijs) prijs,
SUM(bi.bes_bestelling_item_aantal * bi.bes_bestelling_item_prijs) prijs_tot,
COUNT ( * ) aantal_bestelregels
FROM bes_bestelling b,
bes_bestellingstatuses s,
bes_bestelling_item bi,
bes_bestelopdr_item boi,
bes_bestelopdr bo,
bes_srtdeel sd,
bes_srtgroep sg,
ins_tab_discipline d,
prs_perslid p,
prs_v_perslid_fullnames_all pf,
prs_v_afdeling_boom ab,
prs_v_afdeling a1,
prs_v_afdeling a2,
prs_kostenplaats k
WHERE b.bes_bestelling_status <> 1
AND b.bes_bestelling_status = s.bes_bestellingstatuses_key
AND b.bes_bestelling_key = bi.bes_bestelling_key
AND bi.bes_bestelopdr_item_key = boi.bes_bestelopdr_item_key(+)
AND boi.bes_bestelopdr_key = bo.bes_bestelopdr_key(+)
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key
AND sd.bes_srtgroep_key = sg.bes_srtgroep_key
AND sg.ins_discipline_key = d.ins_discipline_key
AND d.ins_discipline_key IN (221, 1521, 1522) -- Gebak STK/Cadeaukaarten STK/Bloemen STK
AND b.prs_perslid_key = p.prs_perslid_key
AND p.prs_perslid_key = pf.prs_perslid_key
AND p.prs_afdeling_key = ab.prs_afdeling_key
AND ab.prs_afdeling_key1 = a1.prs_afdeling_key
AND ab.prs_afdeling_key = a2.prs_afdeling_key
AND a2.prs_kostenplaats_key = k.prs_kostenplaats_key(+)
GROUP BY b.bes_bestelling_key,
b.bes_bestelling_status,
s.bes_bestellingstatuses_omschr,
d.ins_discipline_omschrijving,
a1.prs_afdeling_omschrijving,
a2.prs_afdeling_omschrijving,
k.prs_kostenplaats_nr,
pf.prs_perslid_naam_full,
b.bes_bestelling_datum,
COALESCE (fac.gettrackingdate ('BESOTV', b.bes_bestelling_key), bo.bes_bestelopdr_leverdatum),
sd.bes_srtdeel_omschrijving) x
LEFT JOIN (SELECT kb.bes_bestelling_key, ud.fac_usrdata_key, ud.fac_usrdata_omschr
FROM bes_kenmerkbestell kb, bes_kenmerk k, fac_usrdata ud
WHERE kb.bes_kenmerkbestell_verwijder IS NULL
AND kb.bes_kenmerk_key = k.bes_kenmerk_key
AND k.bes_srtkenmerk_key = 221 -- Bestemd voor
AND kb.bes_kenmerkbestell_waarde = TO_CHAR (ud.fac_usrdata_key)) bvoor
ON x.bes_bestelling_key = bvoor.bes_bestelling_key
LEFT JOIN (SELECT kb.bes_bestelling_key, ud.fac_usrdata_key, ud.fac_usrdata_omschr
FROM bes_kenmerkbestell kb, bes_kenmerk k, fac_usrdata ud
WHERE kb.bes_kenmerkbestell_verwijder IS NULL
AND kb.bes_kenmerk_key = k.bes_kenmerk_key
AND k.bes_srtkenmerk_key = 222 -- Reden
AND kb.bes_kenmerkbestell_waarde = TO_CHAR (ud.fac_usrdata_key)) reden
ON x.bes_bestelling_key = reden.bes_bestelling_key;
------ payload end ------
SET DEFINE OFF