/* tr-c-fbc.p - Update trigger for fringe-class */ TRIGGER PROCEDURE FOR WRITE OF fringe-class NEW fringe-class OLD old-fringe-class. DEFINE VARIABLE iterator AS INTEGER NO-UNDO. DEFINE VARIABLE gotAChange AS LOGICAL NO-UNDO. /* Include Commons */ {common.i} /* Assign user, date & time of update */ ASSIGN fringe-class.upd-date = TODAY fringe-class.upd-time = STRING(TIME, "HH:MM:SS") fringe-class.upd-user-name = menu-user. IF fringe-class.ent-id <> old-fringe-class.ent-id THEN gotAChange = TRUE. DO iterator = 1 TO 12: IF fringe-class.cost-acct-num[iterator] <> old-fringe-class.cost-acct-num[iterator] THEN gotAChange = TRUE. END. DO iterator = 1 TO 10: IF fringe-class.employee-acct-mask[iterator] <> old-fringe-class.employee-acct-mask[iterator] THEN gotAChange = TRUE. IF fringe-class.employer-acct-mask[iterator] <> old-fringe-class.employer-acct-mask[iterator] THEN gotAChange = TRUE. END. IF gotAChange THEN DO: ON WRITE OF fringe-period OVERRIDE DO: END. FOR EACH fringe-period EXCLUSIVE-LOCK WHERE fringe-period.payroll-year = fringe-class.payroll-year: IF fringe-period.period-locked THEN NEXT. ASSIGN fringe-period.needs-recalc = TRUE fringe-period.needs-repush = TRUE. END. END. /* Go back */ RETURN.