SCBR#60929 Magazijnlocaties toevoegen aan bestelregels

svn path=/Customer/trunk/; revision=45460
This commit is contained in:
Suzan Wiegerinck
2020-01-16 12:48:13 +00:00
parent 3534031eaa
commit cb8a1a0525

View File

@@ -197,6 +197,86 @@ AS
COALESCE (p.prs_perslid_mobiel, p.prs_perslid_telefoonnr),
sleutel;
CREATE OR REPLACE PACKAGE SCBR
AS
PROCEDURE bijwerken_bes (p_bes_bestelling_key IN NUMBER);
END SCBR;
/
CREATE OR REPLACE PACKAGE BODY SCBR
AS
PROCEDURE bijwerken_bes (p_bes_bestelling_key IN NUMBER)
IS
v_count NUMBER;
v_kenmerk_key NUMBER;
v_errorhint VARCHAR2 (4000);
v_mag_locatie VARCHAR2 (25);
-- Haal de bestelregels van de bestelling op
CURSOR c_br IS
SELECT bes_bestelling_item_key, bes_srtdeel_key
FROM bes_bestelling_item br
WHERE br.bes_bestelling_key = p_bes_bestelling_key;
BEGIN
FOR rec IN c_br
LOOP
v_errorhint := 'Fout bij bepalen magazijnlocatie';
-- bepaal eerst de juiste kenmerkkey
SELECT k.bes_kenmerk_key
INTO v_kenmerk_key
FROM bes_srtkenmerk sk,
bes_kenmerk k,
bes_srtgroep ag,
bes_srtdeel a
WHERE k.bes_srtkenmerk_key = sk.bes_srtkenmerk_key
AND bes_srtkenmerk_upper = 'MAGAZIJNLOCATIE'
AND k.bes_srtinstallatie_key = ag.ins_discipline_key
AND a.bes_srtgroep_key = ag.bes_srtgroep_key
AND bes_srtdeel_key = rec.bes_srtdeel_key;
-- controleren of deze niet al gevuld is bij de bestelregel
SELECT COUNT (*)
INTO v_count
FROM bes_kenmerkbesteli km
WHERE km.bes_bestelling_item_key =
rec.bes_bestelling_item_key
AND km.bes_kenmerk_key = v_kenmerk_key
AND km.bes_kenmerkbesteli_verwijder IS NULL;
--- als dit kenmerk nog niet gevuld is dan gaan we het bij de bestelregel toevoegen
IF v_count = 0
THEN
--- eerst maar eens de magazijn locatie opvragen
SELECT bes_srtdeel_notitie
INTO v_mag_locatie
FROM bes_srtdeel art
WHERE art.bes_srtdeel_key = rec.bes_srtdeel_key;
IF v_mag_locatie IS NOT NULL
THEN
INSERT INTO bes_kenmerkbesteli (
bes_kenmerk_key,
bes_bestelling_item_key,
bes_kenmerkbesteli_waarde)
VALUES (v_kenmerk_key,
rec.bes_bestelling_item_key,
v_mag_locatie);
ELSE
INSERT INTO bes_kenmerkbesteli (
bes_kenmerk_key,
bes_bestelling_item_key,
bes_kenmerkbesteli_waarde)
VALUES (v_kenmerk_key,
rec.bes_bestelling_item_key,
'Onbekend');
END IF;
END IF;
END LOOP;
END;
END SCBR;
/
------ payload end ------
SET DEFINE OFF