DJIN#55168 -- Bestellingen vs voorraad hierzien, nu ook maatloze artikelen

svn path=/Customer/trunk/; revision=40772
This commit is contained in:
Robin Stoker
2019-02-01 15:03:49 +00:00
parent 4019fee217
commit b42b1ca225

View File

@@ -2768,6 +2768,157 @@ END;
-- Vanaf hier rapportages
-- Exporteer bestellingen in het formaat van de FIP objecten
CREATE OR REPLACE VIEW dvon_v_rap_expbestelling
(
bestelling_key,
disciplineomschrijving,
disciplinekostensoort,
groepsoortomschrijving,
objectsoortcode,
objectsoortomschrijving,
objectidentificatie,
objectopmerking,
reserveerbaar,
eenheid,
prijs,
locatiecode,
gebouwcode,
bouwlaagvolgnummer,
ruimtenummer,
reserveringscope,
catalogusnaam,
cataloguskostensoort,
persoonmatchcode,
persoonmatchwaarde,
ingangsdatum,
vervaldatum,
aantal,
maat,
kenmerk2,
kenmerk3,
kenmerk4,
kenmerk5,
kenmerk6,
kenmerk7,
kenmerk8,
kenmerk9,
kenmerk10,
kenmerk11,
kenmerk12,
kenmerk13,
kenmerk14,
kenmerk15,
kenmerk16,
kenmerk17,
kenmerk18,
kenmerk19,
kenmerk20
)
AS
SELECT
sub.bes_bestelling_key,
d.ins_discipline_omschrijving,
NULL,
sg.ins_srtgroep_omschrijving,
sd.ins_srtdeel_code,
sd.ins_srtdeel_omschrijving,
MAX (I.INS_DEEL_OMSCHRIJVING),
NULL, -- geen opmerking
NULL, -- reserveerbaar is nvt
NULL, -- eenheid is nvt
NULL, -- prijs is nvt
'DVO-ASSEN3', -- locatiecode
'DVO-ASS-MA', -- gebouwcode
'0', -- bouwlaag
'MAGAZIJN', --ruimtenummer
NULL, -- reserveringscope
NULL, -- catalogusnaam
NULL, -- cataloguskostensoort
NULL, -- persoonmatchcode
NULL, -- persoonmatchwaarde
NULL, -- ingangsdatum
NULL, -- vervaldatum
sub.aantal, -- aantal, moet nog omgebogen worden
sub.maat, -- kenmerk 1
-- en hieronder kenmerk 2 tm 20
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL
-- (SELECT ins.get_description('LPN_INS_DEEL' ,6 , ins_srtdeel_code_upper) FROM ins_srtdeel WHERE ins_srtdeel_key = sd.ins_srtdeel_key) omschrijving
FROM ( SELECT
b.bes_bestelling_key,
sd.ins_srtdeel_key,
sd.bes_srtdeel_omschrijving productomschrijving,
COALESCE (maat.fac_usrdata_omschr, 'NVT') maat,
SUM (bi.bes_bestelling_item_aantal) aantal
FROM bes_bestelling b,
bes_bestelling_item bi,
bes_bestelopdr_item boi,
bes_bestelopdr bo,
bes_kenmerkbesteli bki,
bes_kenmerk bk,
ins_tab_discipline d,
bes_srtdeel sd,
bes_srtgroep sg,
(SELECT f.fac_usrdata_omschr,
f.fac_usrdata_key,
bsk.bes_srtkenmerk_key
FROM fac_usrdata f, bes_srtkenmerk bsk
WHERE bsk.bes_srtkenmerk_upper LIKE '%MAAT%') maat
WHERE 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 bki.bes_bestelling_item_key(+) =
bi.bes_bestelling_item_key
AND bki.bes_kenmerk_key = bk.bes_kenmerk_key(+)
AND bk.bes_srtkenmerk_key = maat.bes_srtkenmerk_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 maat.fac_usrdata_key(+) =
fac.safe_to_number (bki.bes_kenmerkbesteli_waarde)
GROUP BY (
b.bes_bestelling_key,
sd.ins_srtdeel_key,
sd.bes_srtdeel_omschrijving,
-- bi.bes_bestelling_item_aantal,
COALESCE (maat.fac_usrdata_omschr, 'NVT'))) sub,
ins_tab_discipline d,
ins_deel i,
ins_srtdeel sd,
ins_srtgroep sg
WHERE sub.ins_srtdeel_key = sd.ins_srtdeel_key
AND sd.ins_srtdeel_key = i.ins_srtdeel_key
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
AND sg.ins_discipline_key = d.ins_discipline_key
AND sub.ins_srtdeel_key IS NOT NULL
GROUP BY (
sub.bes_bestelling_key,
d.ins_discipline_omschrijving,
sg.ins_srtgroep_omschrijving,
sd.ins_srtdeel_code,
sd.ins_srtdeel_omschrijving,
sub.aantal,
sub.maat);
CREATE OR REPLACE VIEW dvon_v_rap_voorraad
(
srtdeel_key,
@@ -2850,80 +3001,92 @@ AS
CREATE OR REPLACE VIEW dvon_v_rap_voorraad_auth
(
fclt_3d_discipline_key,
object_groep,
object_soort,
maat,
aantal,
locatie,
gebouw,
verdiepingcode,
ruimtenr
fclt_3d_discipline_key,
srtdeel_key,
object_groep,
object_soort,
maat,
aantal,
locatie,
gebouw,
verdiepingcode,
ruimtenr
)
AS
SELECT i.ins_discipline_key,
iv.groep,
iv.soort,
maat.fac_usrdata_omschr,
COALESCE (COUNT (maat.fac_usrdata_omschr), 0),
iv.locatie_omschrijving,
iv.gebouw,
iv.verdiepingcode,
iv.ruimtenr
FROM ins_v_udr_deel iv,
ins_discipline i,
(SELECT f.fac_usrdata_omschr, iv.ins_deel_key
FROM fac_usrdata f, ins_v_srtdeel_kenmerkdeel iv, ins_kenmerk ik, ins_srtkenmerk isk
WHERE f.fac_usrdata_key = iv.ins_kenmerkdeel_waarde
AND ik.ins_srtkenmerk_key = isk.ins_srtkenmerk_key
AND iv.ins_kenmerk_key = ik.ins_kenmerk_key
AND isk.ins_srtkenmerk_upper LIKE '%MAAT%') maat
WHERE iv.deel_key = maat.ins_deel_key(+)
AND maat.fac_usrdata_omschr IS NOT NULL
AND i.ins_discipline_omschrijving = iv.discipline
AND i.ins_discipline_verwijder IS NULL
AND iv.uitgeleend NOT LIKE 'ja'
GROUP BY maat.fac_usrdata_omschr,
iv.groep,
iv.soort,
iv.locatie_omschrijving,
iv.gebouw,
iv.verdiepingcode,
iv.ruimtenr,
i.ins_discipline_key
UNION ALL
SELECT i.ins_discipline_key,
iv.groep,
iv.soort,
'NVT',
COUNT (iv.deel_key),
iv.locatie_omschrijving,
iv.gebouw,
iv.verdiepingcode,
iv.ruimtenr
FROM ins_v_udr_deel iv,
ins_discipline i
WHERE NOT EXISTS
(SELECT 1
FROM ins_kenmerk ik,
ins_srtkenmerk isk,
ins_kenmerkdeel ikd,
ins_srtdeel isd
WHERE isd.ins_srtdeel_code_upper = iv.soortcode
AND iv.deel_key = ikd.ins_deel_key
AND ikd.ins_kenmerk_key = ik.ins_kenmerk_key
SELECT i.ins_discipline_key,
sub.ins_srtdeel_key,
iv.groep,
iv.soort,
maat.fac_usrdata_omschr,
COALESCE (COUNT (maat.fac_usrdata_omschr), 0),
iv.locatie_omschrijving,
iv.gebouw,
iv.verdiepingcode,
iv.ruimtenr
FROM ins_v_udr_deel iv,
ins_discipline i,
( SELECT ins_deel_key, ins_srtdeel_key FROM ins_deel) sub,
(SELECT f.fac_usrdata_omschr, iv.ins_deel_key
FROM fac_usrdata f,
ins_v_srtdeel_kenmerkdeel iv,
ins_kenmerk ik,
ins_srtkenmerk isk
WHERE f.fac_usrdata_key = iv.ins_kenmerkdeel_waarde
AND ik.ins_srtkenmerk_key = isk.ins_srtkenmerk_key
AND isk.ins_srtkenmerk_upper LIKE '%MAAT%')
AND i.ins_discipline_omschrijving = iv.discipline
AND i.ins_discipline_verwijder IS NULL
AND iv.uitgeleend NOT LIKE 'ja'
GROUP BY iv.groep,
iv.soort,
iv.locatie_omschrijving,
iv.gebouw,
iv.verdiepingcode,
iv.ruimtenr,
i.ins_discipline_key;
AND iv.ins_kenmerk_key = ik.ins_kenmerk_key
AND isk.ins_srtkenmerk_upper LIKE '%MAAT%') maat
WHERE iv.deel_key = maat.ins_deel_key(+)
AND maat.fac_usrdata_omschr IS NOT NULL
AND iv.uitgeleend NOT LIKE 'ja'
AND sub.ins_deel_key = iv.deel_key
AND i.ins_discipline_omschrijving = iv.discipline
AND i.ins_discipline_verwijder IS NULL
GROUP BY sub.ins_srtdeel_key,
maat.fac_usrdata_omschr,
iv.groep,
iv.soort,
iv.locatie_omschrijving,
iv.gebouw,
iv.verdiepingcode,
iv.ruimtenr,
i.ins_discipline_key
UNION ALL
SELECT i.ins_discipline_key,
sub.ins_srtdeel_key,
iv.groep,
iv.soort,
'NVT',
COUNT (iv.deel_key),
iv.locatie_omschrijving,
iv.gebouw,
iv.verdiepingcode,
iv.ruimtenr
FROM ins_v_udr_deel iv,
ins_discipline i,
( SELECT ins_deel_key, ins_srtdeel_key FROM ins_deel) sub
WHERE NOT EXISTS
(SELECT 1
FROM ins_kenmerk ik,
ins_srtkenmerk isk,
ins_kenmerkdeel ikd,
ins_srtdeel isd
WHERE isd.ins_srtdeel_code_upper = iv.soortcode
AND iv.deel_key = ikd.ins_deel_key
AND ikd.ins_kenmerk_key = ik.ins_kenmerk_key
AND ik.ins_srtkenmerk_key = isk.ins_srtkenmerk_key
AND isk.ins_srtkenmerk_upper LIKE '%MAAT%')
AND iv.uitgeleend NOT LIKE 'ja'
AND sub.ins_deel_key = iv.deel_key
AND i.ins_discipline_omschrijving = iv.discipline
AND i.ins_discipline_verwijder IS NULL
GROUP BY sub.ins_srtdeel_key,
iv.groep,
iv.soort,
iv.locatie_omschrijving,
iv.gebouw,
iv.verdiepingcode,
iv.ruimtenr,
i.ins_discipline_key;
CREATE OR REPLACE VIEW dvon_v_rap_bes_voorraad
(
@@ -3005,6 +3168,7 @@ SELECT bo.bes_bestelopdr_id,
AND dv.srtdeel_key(+) = sd.ins_srtdeel_key
AND bo.bes_bestelopdr_key IS NOT NULL
AND dv.maat(+) = maat.fac_usrdata_omschr
AND maat.fac_usrdata_omschr NOT LIKE '%NVT%'
UNION ALL
SELECT bo.bes_bestelopdr_id,
b.bes_bestelling_key,
@@ -3075,6 +3239,7 @@ CREATE OR REPLACE VIEW dvon_v_rap_bes_voorraad_auth
besteller,
catalogus,
groep,
objectgroep,
productomschrijving,
productcode,
maat,
@@ -3087,65 +3252,124 @@ CREATE OR REPLACE VIEW dvon_v_rap_bes_voorraad_auth
bestopdr_key
)
AS
SELECT
d.ins_discipline_key,
bo.bes_bestelopdr_id,
b.bes_bestelling_key,
'A-' || b.bes_bestelling_key bestelaanvraagnr,
b.bes_bestelling_datum besteldatum,
(SELECT bes_bestellingstatuses_omschr
FROM bes_bestellingstatuses bs
WHERE bs.bes_bestellingstatuses_key = b.bes_bestelling_status)
status,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = b.prs_perslid_key)
besteller,
d.ins_discipline_omschrijving catalogus,
sg.bes_srtgroep_omschrijving groep,
sd.bes_srtdeel_omschrijving productomschrijving,
sd.bes_srtdeel_nr productcode,
COALESCE (maat.fac_usrdata_omschr, 'NVT') maat,
bi.bes_bestelling_item_aantal aantal,
lcl.l ('lcl_bestelopdr_flag' || bo.bes_bestelopdr_flag),
COALESCE (dv.aantal, 0) op_voorraad,
COALESCE (dv.locatie, 'Niet beschikbaar') voorraad_locatie,
bo.bes_bestelopdr_opmerking,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = b.prs_perslid_key_voor)
besteld_voor,
bo.bes_bestelopdr_key
FROM bes_bestelling b,
bes_bestelling_item bi,
bes_bestelopdr_item boi,
bes_bestelopdr bo,
bes_kenmerkbesteli bki,
bes_kenmerk bk,
dvon_v_rap_voorraad dv,
ins_tab_discipline d,
bes_srtdeel sd,
bes_srtgroep sg,
(SELECT f.fac_usrdata_omschr,
f.fac_usrdata_key,
bsk.bes_srtkenmerk_key
FROM fac_usrdata f, bes_srtkenmerk bsk
WHERE bsk.bes_srtkenmerk_upper LIKE '%MAAT%') maat
WHERE 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 bki.bes_bestelling_item_key(+) = bi.bes_bestelling_item_key
AND bki.bes_kenmerk_key = bk.bes_kenmerk_key(+)
AND bk.bes_srtkenmerk_key = maat.bes_srtkenmerk_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 maat.fac_usrdata_key(+) =
fac.safe_to_number (bki.bes_kenmerkbesteli_waarde)
AND dv.object_soort(+) = sd.bes_srtdeel_omschrijving
AND bo.bes_bestelopdr_key IS NOT NULL
AND (dv.maat = maat.fac_usrdata_omschr
OR dv.maat = 'NVT');
SELECT d.ins_discipline_key,
bo.bes_bestelopdr_id,
b.bes_bestelling_key,
'A-' || b.bes_bestelling_key bestelaanvraagnr,
b.bes_bestelling_datum besteldatum,
(SELECT bes_bestellingstatuses_omschr
FROM bes_bestellingstatuses bs
WHERE bs.bes_bestellingstatuses_key = b.bes_bestelling_status)
status,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = b.prs_perslid_key)
besteller,
d.ins_discipline_omschrijving catalogus,
sg.bes_srtgroep_omschrijving bestelgroep,
COALESCE (dv.object_groep, 'Niet beschikbaar') objectgroep,
sd.bes_srtdeel_omschrijving productomschrijving,
sd.bes_srtdeel_nr productcode,
COALESCE (maat.fac_usrdata_omschr, 'NVT') maat,
bi.bes_bestelling_item_aantal aantal,
lcl.l ('lcl_bestelopdr_flag' || bo.bes_bestelopdr_flag),
COALESCE (dv.aantal, 0) op_voorraad,
COALESCE (dv.locatie, 'Niet beschikbaar') voorraad_locatie,
bo.bes_bestelopdr_opmerking,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = b.prs_perslid_key_voor)
besteld_voor,
bo.bes_bestelopdr_key
FROM bes_bestelling b,
bes_bestelling_item bi,
bes_bestelopdr_item boi,
bes_bestelopdr bo,
bes_kenmerkbesteli bki,
bes_kenmerk bk,
dvon_v_rap_voorraad dv,
ins_tab_discipline d,
bes_srtdeel sd,
bes_srtgroep sg,
(SELECT f.fac_usrdata_omschr,
f.fac_usrdata_key,
bsk.bes_srtkenmerk_key
FROM fac_usrdata f, bes_srtkenmerk bsk
WHERE bsk.bes_srtkenmerk_upper LIKE '%MAAT%') maat
WHERE 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 bki.bes_bestelling_item_key(+) = bi.bes_bestelling_item_key
AND bki.bes_kenmerk_key = bk.bes_kenmerk_key(+)
AND bk.bes_srtkenmerk_key = maat.bes_srtkenmerk_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 maat.fac_usrdata_key(+) =
fac.safe_to_number (bki.bes_kenmerkbesteli_waarde)
AND dv.srtdeel_key(+) = sd.ins_srtdeel_key
AND bo.bes_bestelopdr_key IS NOT NULL
AND dv.maat(+) = maat.fac_usrdata_omschr
AND maat.fac_usrdata_omschr NOT LIKE '%NVT%'
UNION ALL
SELECT d.ins_discipline_key,
bo.bes_bestelopdr_id,
b.bes_bestelling_key,
'A-' || b.bes_bestelling_key bestelaanvraagnr,
b.bes_bestelling_datum besteldatum,
(SELECT bes_bestellingstatuses_omschr
FROM bes_bestellingstatuses bs
WHERE bs.bes_bestellingstatuses_key = b.bes_bestelling_status)
status,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = b.prs_perslid_key)
besteller,
d.ins_discipline_omschrijving catalogus,
sg.bes_srtgroep_omschrijving bestelgroep,
COALESCE (dv.object_groep, 'Niet beschikbaar') objectgroep,
sd.bes_srtdeel_omschrijving productomschrijving,
sd.bes_srtdeel_nr productcode,
COALESCE (maat.fac_usrdata_omschr, 'NVT') maat,
bi.bes_bestelling_item_aantal aantal,
lcl.l ('lcl_bestelopdr_flag' || bo.bes_bestelopdr_flag),
COALESCE (dv.aantal, 0) op_voorraad,
COALESCE (dv.locatie, 'Niet beschikbaar') voorraad_locatie,
bo.bes_bestelopdr_opmerking,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = b.prs_perslid_key_voor)
besteld_voor,
bo.bes_bestelopdr_key
FROM bes_bestelling b,
bes_bestelling_item bi,
bes_bestelopdr_item boi,
bes_bestelopdr bo,
bes_kenmerkbesteli bki,
bes_kenmerk bk,
dvon_v_rap_voorraad dv,
ins_tab_discipline d,
bes_srtdeel sd,
bes_srtgroep sg,
(SELECT f.fac_usrdata_omschr,
f.fac_usrdata_key,
bsk.bes_srtkenmerk_key
FROM fac_usrdata f, bes_srtkenmerk bsk
WHERE bsk.bes_srtkenmerk_upper LIKE '%MAAT%') maat
WHERE 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 bki.bes_bestelling_item_key(+) = bi.bes_bestelling_item_key
AND bki.bes_kenmerk_key = bk.bes_kenmerk_key(+)
AND bk.bes_srtkenmerk_key = maat.bes_srtkenmerk_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 maat.fac_usrdata_key(+) =
fac.safe_to_number (bki.bes_kenmerkbesteli_waarde)
AND dv.srtdeel_key(+) = sd.ins_srtdeel_key
AND bo.bes_bestelopdr_key IS NOT NULL
AND dv.maat = 'NVT';
CREATE OR REPLACE VIEW dvon_v_rap_gelev_nbev
(