DENB#53711 Rap/Bestellingen per maand-kostenplaats-ECL
svn path=/Customer/trunk/; revision=38546
This commit is contained in:
116
DENB/denb.sql
116
DENB/denb.sql
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user