BLOS#82278 1 check van de [U]pdate&[I]nsert-trigger verplaatst naar de [I]nsert-trigger van mld_opdr
svn path=/Database/trunk/; revision=64886
This commit is contained in:
@@ -337,6 +337,32 @@ FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(mld_opdr_key, mld_s_mld_opdr_key);
|
||||
|
||||
/* Controleer of de opdracht bij een melding hoort die de goede status heeft,
|
||||
* Het voorkomt dat er onverwachts opdrachten zijn op Afgewezen of nog niet Geaccepteerde meldingen
|
||||
* namelijk: GEACCEPTEERD, UITGEGEVEN of AFGEMELD
|
||||
* Sinds FSN#30228 hoort daar zelfs ook VERWERKT bij
|
||||
* Zo niet, dan mag het alleen als de contract_key is ingevuld
|
||||
*/
|
||||
IF :new.mld_melding_key IS NOT NULL
|
||||
THEN
|
||||
DECLARE
|
||||
dummy CHAR;
|
||||
BEGIN
|
||||
SELECT 'X'
|
||||
INTO dummy
|
||||
FROM mld_melding
|
||||
WHERE mld_melding_key = :NEW.mld_melding_key
|
||||
AND mld_melding_status IN (4, 5, 6, 7);
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
IF :NEW.cnt_contract_key IS NULL
|
||||
THEN
|
||||
raise_application_error (-20000, 'mld_m201');
|
||||
END IF;
|
||||
END;
|
||||
END IF;
|
||||
|
||||
BEGIN
|
||||
IF fac.getSetting ('mld_opdr_discipline_mode') = 1
|
||||
THEN -- altijd vakgroep discipline
|
||||
@@ -364,32 +390,6 @@ CREATE_TRIGGER(mld_t_mld_opdr_B_IU)
|
||||
BEFORE INSERT OR UPDATE ON mld_opdr
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
/* Controleer of de opdracht bij een melding hoort die de goede status heeft,
|
||||
* Het voorkomt dat er onverwachts opdrachten zijn op Afgewezen of nog niet Geaccepteerde meldingen
|
||||
* namelijk: GEACCEPTEERD, UITGEGEVEN of AFGEMELD
|
||||
* Sinds FSN#30228 hoort daar zelfs ook VERWERKT bij
|
||||
* Zo niet, dan mag het alleen als de contract_key is ingevuld
|
||||
*/
|
||||
IF (NOT UPDATING OR :old.mld_opdr_discipline_key = :new.mld_opdr_discipline_key) -- UPDATING & opdr discipline gewijzigd gebeurd alleen in de mld_t_mld_melding_B_IU alwaar de mld_status al gecheckt wordt
|
||||
AND :new.mld_melding_key IS NOT NULL
|
||||
THEN
|
||||
DECLARE
|
||||
dummy CHAR;
|
||||
BEGIN
|
||||
SELECT 'X'
|
||||
INTO dummy
|
||||
FROM mld_melding
|
||||
WHERE mld_melding_key = :NEW.mld_melding_key
|
||||
AND mld_melding_status IN (4, 5, 6, 7);
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
IF :NEW.cnt_contract_key IS NULL
|
||||
THEN
|
||||
raise_application_error (-20000, 'mld_m201');
|
||||
END IF;
|
||||
END;
|
||||
END IF;
|
||||
CHECK_REFERENCE_UITVOERENDE (mld_uitvoerende_keys, 'mld_m37');
|
||||
-- gooi fiatverzoeknotificaties weg als gefiatteerd of afgewezen-> opnemen in bovenste deel
|
||||
IF :OLD.mld_statusopdr_key = 3 AND :new.mld_statusopdr_key IN (4, 2)
|
||||
|
||||
Reference in New Issue
Block a user