FSN#39055 BCS/2000 functionaliteit in FACILITOR - customization

svn path=/Database/trunk/; revision=33764
This commit is contained in:
Erik Groener
2017-05-10 08:27:18 +00:00
parent cdc9cdba0e
commit 432cefe793
4 changed files with 39 additions and 14 deletions

View File

@@ -134,11 +134,15 @@ CREATE_TABLE(bgt_budgetmutatie, 1)
CONSTRAINT bgt_r_bgt_budget1 REFERENCES bgt_budget (bgt_budget_key),
bgt_budget_bedrag_van
NUMBER (12, 2),
bgt_budget_btwbedrag_van
NUMBER (12, 2),
bgt_budget_key_naar
NUMBER (10)
CONSTRAINT bgt_r_bgt_budget2 REFERENCES bgt_budget (bgt_budget_key),
bgt_budget_bedrag_naar
NUMBER (12, 2),
bgt_budget_btwbedrag_naar
NUMBER (12, 2),
CONSTRAINT bgt_c_bgt_budget_key1 CHECK(bgt_budget_key_van IS NOT NULL OR bgt_budget_key_naar IS NOT NULL)
);

View File

@@ -53,8 +53,14 @@ CREATE_TRIGGER(bgt_t_bgt_budgetmutatie_B_IU)
BEFORE INSERT OR UPDATE ON bgt_budgetmutatie
FOR EACH ROW
BEGIN
UPDATE bgt_budget SET bgt_budget_bedrag = bgt_budget_bedrag + :new.bgt_budget_bedrag_van WHERE bgt_budget_key = :new.bgt_budget_key_van;
UPDATE bgt_budget SET bgt_budget_bedrag = bgt_budget_bedrag + :new.bgt_budget_bedrag_naar WHERE bgt_budget_key = :new.bgt_budget_key_naar;
IF (:new.bgt_budget_key_van IS NOT NULL) THEN
UPDATE bgt_budget SET bgt_budget_bedrag = NVL(bgt_budget_bedrag, 0) + NVL(:new.bgt_budget_bedrag_van, 0) WHERE bgt_budget_key = :new.bgt_budget_key_van;
UPDATE bgt_budget SET bgt_budget_btwbedrag = NVL(bgt_budget_btwbedrag, 0) + NVL(:new.bgt_budget_btwbedrag_van, 0) WHERE bgt_budget_key = :new.bgt_budget_key_van;
END IF;
IF (:new.bgt_budget_key_naar IS NOT NULL) THEN
UPDATE bgt_budget SET bgt_budget_bedrag = NVL(bgt_budget_bedrag, 0) + NVL(:new.bgt_budget_bedrag_naar, 0) WHERE bgt_budget_key = :new.bgt_budget_key_naar;
UPDATE bgt_budget SET bgt_budget_btwbedrag = NVL(bgt_budget_btwbedrag, 0) + NVL(:new.bgt_budget_btwbedrag_naar, 0) WHERE bgt_budget_key = :new.bgt_budget_key_naar;
END IF;
END;
/