DJIN#55168 -- Bestellingen vs voorraad nu op ins_srtdeel basis

svn path=/Customer/trunk/; revision=40341
This commit is contained in:
Robin Stoker
2018-12-21 14:01:51 +00:00
parent c6a4914105
commit cd455ba52f

View File

@@ -2770,69 +2770,83 @@ END;
CREATE OR REPLACE VIEW dvon_v_rap_voorraad
(
object_groep,
object_soort,
maat,
aantal,
locatie,
gebouw,
verdiepingcode,
ruimtenr
srtdeel_key,
object_groep,
object_soort,
maat,
aantal,
locatie,
gebouw,
verdiepingcode,
ruimtenr
)
AS
SELECT 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,
(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 iv.uitgeleend NOT LIKE 'ja'
GROUP BY maat.fac_usrdata_omschr,
iv.groep,
iv.soort,
iv.locatie_omschrijving,
iv.gebouw,
iv.verdiepingcode,
iv.ruimtenr
UNION ALL
SELECT iv.groep,
iv.soort,
'NVT',
COUNT (iv.deel_key),
iv.locatie_omschrijving,
iv.gebouw,
iv.verdiepingcode,
iv.ruimtenr
FROM ins_v_udr_deel iv
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
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,
(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 iv.uitgeleend NOT LIKE 'ja'
GROUP BY iv.groep,
iv.soort,
iv.locatie_omschrijving,
iv.gebouw,
iv.verdiepingcode,
iv.ruimtenr;
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
GROUP BY
sub.ins_srtdeel_key,
maat.fac_usrdata_omschr,
iv.groep,
iv.soort,
iv.locatie_omschrijving,
iv.gebouw,
iv.verdiepingcode,
iv.ruimtenr
UNION ALL
SELECT 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, (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
GROUP BY
sub.ins_srtdeel_key,
iv.groep,
iv.soort,
iv.locatie_omschrijving,
iv.gebouw,
iv.verdiepingcode,
iv.ruimtenr;
CREATE OR REPLACE VIEW dvon_v_rap_voorraad_auth
(
@@ -2910,7 +2924,7 @@ GROUP BY iv.groep,
iv.verdiepingcode,
iv.ruimtenr,
i.ins_discipline_key;
CREATE OR REPLACE VIEW dvon_v_rap_bes_voorraad
(
bestelopdrachtnummer,
@@ -2921,6 +2935,7 @@ CREATE OR REPLACE VIEW dvon_v_rap_bes_voorraad
besteller,
catalogus,
groep,
objectgroep,
productomschrijving,
productcode,
maat,
@@ -2933,64 +2948,121 @@ CREATE OR REPLACE VIEW dvon_v_rap_bes_voorraad
bestopdr_key
)
AS
SELECT
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 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
UNION ALL
SELECT 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_bes_voorraad_auth
(