One of the useful frameworks within the Microsoft Dynamics AX 2012 to implement the Auditing and Compliance requirements is the Database log framework.
While the functionality is easy to setup and use from the following entries in the application:
- /System administration/Setup/Database/Database log setup
- /System administration/Inquiries/Database/Database log
- /System administration/Reports/Database/Database log
We would like to clarify the behaviour of the application when setting up database logs for tables which are not storing data per company, like global address book related tables.
Let us assume that based on the requirements we need to log all changes on the following tables: DirPartyTable, DirPersonName and CustTable.
You can setup the database log by following the "Logging database changes" wizard from the "Database log setup" form for the given tables by clicking on the "New" button in this form.
To review the changes on i.e. Customer name field, it is important to first switch to the DAT-company, as the database log for the tables which are not storing data per company is saved in the DAT-company.
Here bellow you have a sample of log records for the Customer name field value changes:
When reviewing the recorded database logs in the DAT-company, after setting-up the database log and modifying the name of a customer from the Customer details form, we note that:
- The DirPartyTable record is updated
- There is also a new record in the DirPersonName table has been created
- The previous DirPersonName record is set as expired (by the date effectivity framework)
NOTE: It is not recommended to configure database log functionality on tables with high frequency of data modification as it might have a big impact on the application performance.
Configure and manage database logging [AX 2012]