1 ON WRITE OF ProjectBudget
OVERRIDE DO: END.
2 FOR EACH Project
NO-LOCK:
3 FOR EACH ProjectBudget
EXCLUSIVE-LOCK OF Project
:
4 ProjectBudget.Adjustment
= 0.
5 ProjectBudget.AgreedVariation
= 0.
7 FOR EACH Variation
NO-LOCK OF Project
, EACH VariationFlow
NO-LOCK OF Variation
:
8 FIND ProjectBudget
WHERE ProjectBudget.ProjectCode
= Project.ProjectCode
9 AND ProjectBudget.AccountCode
= VariationFlow.AccountCode
10 EXCLUSIVE-LOCK NO-ERROR.
11 IF NOT AVAILABLE(ProjectBudget
) THEN DO:
13 ProjectBudget.ProjectCode
= Project.ProjectCode.
14 ProjectBudget.AccountCode
= VariationFlow.AccountCode.
15 ProjectBudget.EntityType
= Project.EntityType.
16 ProjectBudget.EntityAccount
= Project.EntityAccount.
17 ProjectBudget.EntityCode
= Project.EntityCode.
19 IF SUBSTRING(Variation.VariationType
, 1 , 1) = "V" THEN
20 ProjectBudget.AgreedVariation
= ProjectBudget.AgreedVariation
+ VariationFlow.Amount .
22 ProjectBudget.Adjustment
= ProjectBudget.Adjustment
+ VariationFlow.Amount .
25 ON WRITE OF ProjectBudget
REVERT.