WorkWithPlus for Audit can be used to audit changes in GAM tables.
To audit GAM tables, the user must create a transaction and a dataview for each GAM table that will be audited.
e.g. To audit the GAM "user" table, a transaction and its corresponding dataview must be created:
![AuditPlusAndGamIMg01](/com.wiki.pgetwikiimage?1638,2)
GAM transactions can be added manually, or they can be added using GeneXus Database Reverse Engineering tool.
![AuditPlusAndGamIMg02](/com.wiki.pgetwikiimage?1636,2)
It's not necessary to add all GAM tables and attributes, the user can simply add only the tables and attributes that require audit.
After GAM transactions and dataviews are created, the user can proceed to customize audit as if it were normal transactions.
Changes in GAM tables are managed through GAM APIs, and not thorough GeneXus Transactions. This means GeneXus manages the connection and modifications in a different and separate way than it does with regular tables.
For this reason, the procedure 'AuditPlusSaveUser' is not invoked in the same way when GAM APIs are used to modify GAM information tables. Therefore, the currently logged user in the application can not be retrieved by WorkWithPlus for Audit triggers, and it will not be saved in the Audit log.
Even if WorkWithPlus for Audit cannot retrieve user information by default, GAM module already provides some audit capabilities.
Every time a GAM table is modified, it will store (in each table), the user that made the change.
e.g.: Table "Role" contains an attribute "RoleUpdUser", which stores the application user GUID, so does table "User" (attribute "UserUpdUser"), etc.
If you still require the user information to be included in WorkWithPlus for Audit "audit record", user information can be extracted from these attributes using an extension point, if this is your case, please contact support as this implementation will require some walkthrough.
|