UWVA#65182 Bewaartermijnen/automatische schoning in core
svn path=/Database/trunk/; revision=52224
This commit is contained in:
@@ -2168,6 +2168,11 @@ AS
|
||||
WHERE bes_bestelling_retourvan_key = p_bestelling_key
|
||||
OR bes_bestelling_parentkey = p_bestelling_key;
|
||||
|
||||
CURSOR c_opdracht(p_bestelling_key IN NUMBER) IS
|
||||
SELECT bes_bestelopdr_key
|
||||
FROM bes_bestelopdr
|
||||
WHERE TO_NUMBER(SUBSTR(bes_bestelopdr_id, 1, INSTR(bes_bestelopdr_id, '/', 1)-1)) = p_bestelling_key;
|
||||
|
||||
CURSOR c_bijlagen(p_refkey IN NUMBER) IS
|
||||
SELECT b.fac_bijlagen_key
|
||||
FROM fac_bijlagen b
|
||||
@@ -2200,30 +2205,37 @@ AS
|
||||
AND r.bes_bestelling_key = p_refkey;
|
||||
|
||||
BEGIN
|
||||
-- Verwijderen bestelling
|
||||
-- Als een bestelling verwijderd wordt kunnen ook de eventuele retour- en child-bestellingen verwijderd worden.
|
||||
-- Ook alle child/retour bestellingen verwijderen.
|
||||
FOR ref_bestelling IN c_bestelling(p_bes_bestelling_key)
|
||||
LOOP
|
||||
-- Van alle bestellingen en bestelitems die worden verwijderd moeten ook de bijlagen verwijderd worden.
|
||||
FOR ref_bijlagen IN c_bijlagen(ref_bestelling.bes_bestelling_key)
|
||||
LOOP
|
||||
flx.deleteflexbijlage (ref_bijlagen.fac_bijlagen_key);
|
||||
END LOOP;
|
||||
|
||||
DELETE FROM bes_bestelling
|
||||
WHERE bes_bestelling_key = ref_bestelling.bes_bestelling_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', ref_bestelling.bes_bestelling_key);
|
||||
bes.remove(ref_bestelling.bes_bestelling_key);
|
||||
END LOOP;
|
||||
END;
|
||||
|
||||
-- Alle bestelopdrachten onder de bestelling verwijderen.
|
||||
FOR ref_opdracht IN c_opdracht(p_bes_bestelling_key)
|
||||
LOOP
|
||||
bes.remove_opdr(ref_opdracht.bes_bestelopdr_key);
|
||||
END LOOP;
|
||||
|
||||
-- Van alle bestellingen en bestelitems die worden verwijderd moeten ook de bijlagen verwijderd worden.
|
||||
FOR ref_bijlagen IN c_bijlagen(p_bes_bestelling_key)
|
||||
LOOP
|
||||
flx.deleteflexbijlage (ref_bijlagen.fac_bijlagen_key);
|
||||
END LOOP;
|
||||
|
||||
-- Verwijderen bestelling
|
||||
DELETE FROM bes_bestelling
|
||||
WHERE bes_bestelling_key = p_bes_bestelling_key;
|
||||
|
||||
-- Van de volgende tabellen worden de records die naar deze p_bes_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_bestelling_key);
|
||||
END;
|
||||
|
||||
PROCEDURE remove_opdr(p_bes_opdr_key IN NUMBER)
|
||||
IS
|
||||
|
||||
Reference in New Issue
Block a user