Tables can be defined with the HAS_AUDIT flag set TRUE. This will result in a mirror [tablename]_aud table being generated.
Fields can be defined with the ON_AUDIT flag set TRUE. The relevant table triggers are generated to monitor specified field changes. Any change to the field will trigger a write of the old row content to the audit table.