KFNS#73533+KFNS#73843+KFNS#74055 Numerieke overflow (ORA-01426)

svn path=/Customer/trunk/; revision=57175
This commit is contained in:
Maarten van der Heide
2022-09-07 13:30:30 +00:00
parent 13bcce27f4
commit e0dd8acaf0

View File

@@ -3601,12 +3601,12 @@ AS
-- Dat de data per artikelgroep(/eigenaar) wordt genotificeerd (via extra_key-
-- principe).
/* Formatted on 15-1-2016 13:58:02 (QP5 v5.136.908.31019) */
/*
CREATE OR REPLACE VIEW kfns_v_mag_voorraad
(
extra_key, -- fac_usrdata_key in ET-Artikeleigenaren (per Artikelgroep)
artikelgroep,
--artikeleigenaar,
--afleveradres,
artikelnummer,
artikelomschrijving,
voorraad,
@@ -3621,38 +3621,38 @@ AS
--TRIM (ud.fac_usrdata_code),
sg.bes_srtgroep_omschrijving,
--TRIM (ud.fac_usrdata_omschr),
--sd.bes_srtdeel_opmerking, -- KFNS#73533/73843/74055: ORA-01426?
--'DD-Daalsedijk 14',
--sd.bes_srtdeel_opmerking,
sd.bes_srtdeel_nr,
sd.bes_srtdeel_omschrijving,
--x.extern_geleverd
--- COALESCE (
-- CEIL (x.intern_besteld / sd.bes_srtdeel_voorraadfactor),
-- 0),
x.extern_geleverd
- CEIL(x.intern_besteld
/ DECODE (sd.bes_srtdeel_voorraadfactor,
NULL, 1,
0, 1,
sd.bes_srtdeel_voorraadfactor)),
--DECODE (x.bes_srtdeel_nr,
-- NULL, 0,
-- x.extern_geleverd
-- - CEIL(x.intern_besteld
-- / DECODE (sd.bes_srtdeel_voorraadfactor,
-- NULL, 1,
-- 0, 1,
-- sd.bes_srtdeel_voorraadfactor))),
COALESCE (x.extern_geleverd, 0) - COALESCE (x.intern_besteld, 0),
sd.bes_srtdeel_eenheid,
sd.bes_srtdeel_voorraadmin,
bes.getsrtdeelprijs (sd.bes_srtdeel_key, NULL),
(x.extern_geleverd
- CEIL(x.intern_besteld
/ DECODE (sd.bes_srtdeel_voorraadfactor,
NULL, 1,
0, 1,
sd.bes_srtdeel_voorraadfactor)))
* bes.getsrtdeelprijs (sd.bes_srtdeel_key, NULL),
(x.extern_geleverd
- CEIL(x.intern_besteld
/ DECODE (sd.bes_srtdeel_voorraadfactor,
NULL, 1,
0, 1,
sd.bes_srtdeel_voorraadfactor)))
* bes.getsrtdeelprijs (sd.bes_srtdeel_key, NULL)
* ( (100 + sd.bes_srtdeel_btw) / 100) -- Afronding?
--(x.extern_geleverd
-- - CEIL(x.intern_besteld
-- / DECODE (sd.bes_srtdeel_voorraadfactor,
-- NULL, 1,
-- 0, 1,
-- sd.bes_srtdeel_voorraadfactor)))
--* bes.getsrtdeelprijs (sd.bes_srtdeel_key, NULL),
--(x.extern_geleverd
-- - CEIL(x.intern_besteld
-- / DECODE (sd.bes_srtdeel_voorraadfactor,
-- NULL, 1,
-- 0, 1,
-- sd.bes_srtdeel_voorraadfactor)))
--* bes.getsrtdeelprijs (sd.bes_srtdeel_key, NULL)
--* ((100 + sd.bes_srtdeel_btw) / 100) -- Afronding?
TO_NUMBER (NULL),
TO_NUMBER (NULL)
FROM bes_v_aanwezigsrtgroep sg,
bes_v_aanwezigsrtdeel sd, -- KFNS#71209: Geen verwijderde artikelen!
( SELECT inkoop_disc_key,
@@ -3745,13 +3745,120 @@ AS
AND COALESCE (sd.bes_srtdeel_vervaldatum, SYSDATE) > TRUNC (SYSDATE)
AND sd.bes_srtdeel_nr = x.bes_srtdeel_nr(+)
AND UPPER (TRIM (sg.bes_srtgroep_omschrijving)) = ud.fac_usrdata_upper(+);
*/
CREATE OR REPLACE VIEW kfns_v_mag_voorraad
(
extra_key, -- fac_usrdata_key in ET-Artikeleigenaren (per Artikelgroep)
artikelgroep,
artikelnummer,
artikelomschrijving,
voorraad,
eenheid,
min_voorraad,
artikelprijs,
voorraadexcl,
voorraadincl
)
AS
SELECT ud.fac_usrdata_key,
sg.bes_srtgroep_omschrijving,
sd.bes_srtdeel_nr,
sd.bes_srtdeel_omschrijving,
COALESCE (x.extern_geleverd, 0) - COALESCE (x.intern_besteld, 0), -- Voorraadfactor in de praktijk altijd 1.
sd.bes_srtdeel_eenheid,
sd.bes_srtdeel_voorraadmin,
TO_NUMBER (NULL), -- Prijzen in de praktijd altijd 0,00.
TO_NUMBER (NULL), -- Voorraad-waarde niet relevant zonder prijzen.
TO_NUMBER (NULL) -- Voorraad-waarde niet relevant zonder prijzen.
FROM bes_v_aanwezigsrtgroep sg,
bes_v_aanwezigsrtdeel sd, -- KFNS#71209: Geen verwijderde artikelen!
( SELECT bes_srtdeel_nr,
SUM (intern_besteld) intern_besteld,
SUM (extern_besteld) extern_besteld,
SUM (extern_geleverd) extern_geleverd
FROM ( -- Intern besteld
SELECT dp.bes_ins_discipline_key_inkoop inkoop_disc_key,
sd.bes_srtdeel_nr,
bi.bes_bestelling_item_aantal intern_besteld,
0 extern_besteld,
0 extern_geleverd
FROM bes_bestelling b,
bes_bestelling_item bi,
bes_srtdeel sd,
bes_srtgroep sg,
bes_discipline bd,
bes_disc_params dp
WHERE b.bes_bestelling_key = bi.bes_bestelling_key
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key
AND sd.bes_srtdeel_verwijder IS NULL
AND sd.bes_srtgroep_key = sg.bes_srtgroep_key
AND sg.ins_discipline_key = bd.ins_discipline_key
AND bd.ins_discipline_key = dp.bes_ins_discipline_key
AND dp.bes_ins_discipline_key_inkoop IS NOT NULL
UNION ALL -- Extern besteld
SELECT bd.ins_discipline_key inkoop_disc_key,
sd.bes_srtdeel_nr,
0 intern_besteld,
bi.bes_bestelling_item_aantal extern_besteld,
0 extern_geleverd
FROM bes_bestelling b,
bes_bestelling_item bi,
bes_srtdeel sd,
bes_srtgroep sg,
bes_discipline bd,
bes_disc_params dp
WHERE b.bes_bestelling_status IN (2, 3, 4, 5)
AND b.bes_bestelling_key = bi.bes_bestelling_key
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key
AND sd.bes_srtdeel_verwijder IS NULL
AND sd.bes_srtgroep_key = sg.bes_srtgroep_key
AND sg.ins_discipline_key = bd.ins_discipline_key
AND bd.ins_discipline_key = dp.bes_ins_discipline_key
AND dp.bes_ins_discipline_key_inkoop IS NULL
AND dp.bes_ins_discipline_key IN
(SELECT bes_ins_discipline_key_inkoop
FROM bes_disc_params
WHERE bes_ins_discipline_key_inkoop IS NOT NULL)
UNION ALL -- Extern geleverd
SELECT bd.ins_discipline_key inkoop_disc_key,
sd.bes_srtdeel_nr,
0 intern_besteld,
0 extern_besteld,
bi.bes_bestelling_item_aantal extern_geleverd
FROM bes_bestelling b,
bes_bestelling_item bi,
bes_srtdeel sd,
bes_srtgroep sg,
bes_discipline bd,
bes_disc_params dp
WHERE b.bes_bestelling_status IN (6, 7)
AND b.bes_bestelling_key = bi.bes_bestelling_key
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key
AND sd.bes_srtdeel_verwijder IS NULL
AND sd.bes_srtgroep_key = sg.bes_srtgroep_key
AND sg.ins_discipline_key = bd.ins_discipline_key
AND bd.ins_discipline_key = dp.bes_ins_discipline_key
AND dp.bes_ins_discipline_key_inkoop IS NULL
AND dp.bes_ins_discipline_key IN
(SELECT bes_ins_discipline_key_inkoop
FROM bes_disc_params
WHERE bes_ins_discipline_key_inkoop IS NOT NULL))
GROUP BY bes_srtdeel_nr) x,
( SELECT TRIM (fac_usrdata_upper) fac_usrdata_upper,
MIN (fac_usrdata_key) fac_usrdata_key
FROM fac_v_aanwezigusrdata
WHERE fac_usrtab_key = 42
GROUP BY TRIM (fac_usrdata_upper)) ud -- Artikeleigenaren
WHERE sg.ins_discipline_key = 402 -- Beperken tot Magazijn-Ontvangst?
AND sg.bes_srtgroep_key = sd.bes_srtgroep_key
AND COALESCE (sd.bes_srtdeel_vervaldatum, SYSDATE) > TRUNC (SYSDATE)
AND sd.bes_srtdeel_nr = x.bes_srtdeel_nr(+)
AND UPPER (TRIM (sg.bes_srtgroep_omschrijving)) = ud.fac_usrdata_upper(+);
CREATE OR REPLACE VIEW kfns_v_rap_mag_voorraad
(
fclt_f_artikelgroep,
--fclt_f_eigenaar,
--artikeleigenaar, -- KFNS#73533/73843/74055: ORA-01426?
--afleveradres,
artikelnummer,
artikelomschrijving,
voorraad,
@@ -3763,8 +3870,7 @@ CREATE OR REPLACE VIEW kfns_v_rap_mag_voorraad
)
AS
SELECT artikelgroep,
--artikeleigenaar, -- KFNS#73533/73843/74055: ORA-01426?
--afleveradres,
--artikeleigenaar,
artikelnummer,
artikelomschrijving,
voorraad,
@@ -3782,7 +3888,7 @@ CREATE OR REPLACE VIEW kfns_v_mag_verbruik -- Intern besteld
kwartaal,
extra_key, -- fac_usrdata_key in ET-Artikeleigenaren (per Artikelgroep)
artikelgroep,
--artikeleigenaar, -- KFNS#73533/73843/74055: ORA-01426?
--artikeleigenaar,
bestelnr,
besteldatum,
besteller,
@@ -3797,7 +3903,7 @@ AS
--TRIM (ud.fac_usrdata_code),
x.bes_srtgroep_omschrijving,
--TRIM (ud.fac_usrdata_omschr),
--x.bes_srtdeel_opmerking, -- KFNS#73533/73843/74055: ORA-01426?
--x.bes_srtdeel_opmerking,
TO_CHAR (x.bes_bestelling_key),
x.bes_bestelling_datum,
og.opdrachtgever,
@@ -3809,7 +3915,7 @@ AS
b.bes_bestelling_datum,
ud.fac_usrdata_key,
sg.bes_srtgroep_omschrijving,
--sd.bes_srtdeel_opmerking, -- KFNS#73533/73843/74055: ORA-01426?
--sd.bes_srtdeel_opmerking,
sd.bes_srtdeel_nr,
sd.bes_srtdeel_omschrijving,
sd.bes_srtdeel_eenheid,