SCBR#60929 Magazijnlocaties toevoegen aan bestelregels
svn path=/Customer/trunk/; revision=45460
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user