UWVA#65182 Bewaartermijnen/automatische schoning in core
svn path=/Database/trunk/; revision=49209
This commit is contained in:
@@ -71,6 +71,7 @@ AS
|
||||
RETURN varchar2;
|
||||
FUNCTION opdrsprintf (ps IN varchar2, pbes_bestelopdr_key IN number)
|
||||
RETURN varchar2;
|
||||
PROCEDURE remove(p_bes_opdr_key IN NUMBER, p_module IN VARCHAR2 DEFAULT 'BES');
|
||||
END bes;
|
||||
/
|
||||
|
||||
@@ -2154,6 +2155,57 @@ AS
|
||||
RETURN s;
|
||||
END;
|
||||
|
||||
PROCEDURE remove(p_bes_opdr_key IN NUMBER, p_module IN VARCHAR2 DEFAULT 'BES')
|
||||
IS
|
||||
CURSOR c_bestelling(p_bestelling_key IN NUMBER) IS
|
||||
SELECT bes_bestelling_key
|
||||
FROM bes_bestelling
|
||||
WHERE bes_bestelling_retourvan_key = p_bestelling_key
|
||||
OR bes_bestelling_parentkey = p_bestelling_key;
|
||||
|
||||
CURSOR c_factuur(p_bestelopdracht_key IN NUMBER) IS
|
||||
SELECT fin_factuur_key
|
||||
FROM fin_factuur
|
||||
WHERE bes_bestelopdr_key = p_bestelopdracht_key;
|
||||
|
||||
BEGIN
|
||||
IF (p_module = 'BES')
|
||||
THEN
|
||||
-- Verwijderen bestelling
|
||||
FOR ref_bestelling IN c_bestelling(p_bes_opdr_key)
|
||||
LOOP
|
||||
bes.remove(ref_bestelling.bes_bestelling_key, 'BES');
|
||||
END LOOP;
|
||||
|
||||
DELETE FROM bes_bestelling
|
||||
WHERE bes_bestelling_key = p_bes_opdr_key;
|
||||
|
||||
-- Van de volgende tabellen worden de records die naar deze p_bestelling_key
|
||||
-- verwijzen met ON DELETE CASCADE ook verwijderd:
|
||||
-- bes_kenmerkbestell
|
||||
-- bes_bestelling_item
|
||||
-- Hierdoor worden de afhankelijkheden in de volgende tabel ook verwijderd:
|
||||
-- bes_kenmerkbesteli
|
||||
|
||||
fac.remove_tracking('bestelling', p_bes_opdr_key);
|
||||
ElSE
|
||||
-- Verwijderen bestelopdracht
|
||||
FOR ref_factuur IN c_factuur(p_bes_opdr_key)
|
||||
LOOP
|
||||
fin.remove(ref_factuur.fin_factuur_key);
|
||||
END LOOP;
|
||||
|
||||
DELETE FROM bes_bestelopdr
|
||||
WHERE bes_bestelopdr_key = p_bes_opdr_key;
|
||||
|
||||
-- Van de volgende tabellen worden de records die naar deze p_bestelling_key
|
||||
-- verwijzen met ON DELETE CASCADE ook verwijderd:
|
||||
-- bes_bestelopdr_item
|
||||
|
||||
fac.remove_tracking('bestelopdr', p_bes_opdr_key);
|
||||
END IF;
|
||||
END;
|
||||
|
||||
END bes;
|
||||
/
|
||||
|
||||
|
||||
Reference in New Issue
Block a user