/* tr-u-stn.p - Update trigger for state-table-name */ TRIGGER PROCEDURE FOR WRITE OF state-table-name OLD BUFFER old-name. DEFINE BUFFER localTable FOR state-table-name. /* Include commons */ {common.i} /* Assign name, date, time of update */ ASSIGN state-table-name.upd-date = TODAY state-table-name.upd-time = STRING(TIME, "HH:MM:SS") state-table-name.upd-user-name = menu-user. IF NEW state-table-name THEN DO: FIND FIRST localTable WHERE localTable.state-version-id <> state-table-name.state-version-id AND localTable.table-name = state-table-name.table-name NO-LOCK NO-ERROR. IF AVAILABLE localTable THEN state-table-name.state-table-name-id = localTable.state-table-name-id. END. ELSE DO: IF old-name.table-name <> state-table-name.table-name THEN DO: FIND FIRST localTable WHERE localTable.state-version-id <> state-table-name.state-version-id AND localTable.table-name = state-table-name.table-name NO-LOCK NO-ERROR. IF AVAILABLE localTable THEN state-table-name.state-table-name-id = localTable.state-table-name-id. ELSE state-table-name.state-table-name-id = NEXT-VALUE(record-id). END. END. /* Go back */