Skip to main content

#MSDyn365BC 2020 Wave 2 - Data Audit System Fields.

Hi Readers,

In this series of articles we will discuss about what's new in the product with Business Central 2020 Wave 2.

With Business Central 2020 Wave 2 (V17), Microsoft have added Data Audit System Fields in all Tables.

In this article we will understand what that means and how developers can utilize these fields with AL Programming.

#MSDyn365BC #BusinessCentral

With all tables, it means all - 

  • Base Microsoft Tables.
  • All Extension Tables.
  • Temporary Tables.
What are Audit System Fields added in every tables -
  • SystemCreatedBy
  • SystemCreatedOn
  • SystemLastModifiedBy
  • SystemLastModifiedOn



CreatedBy or ModifiedBy are GUID - Why?

When we create a New user in Business Central, a unique GUID is assigned to the user. 

GUID will never change for the use in Business Central. 

As a developer you can actually set a Lookup value based on GUID.


What These Fields are used for?
  • Used for Audit purpose. 
  • User cannot manually modify any of the audit Fields.
  • Developers cannot assign/modify values to any of the audit fields.
  • Platform sets these values.
  • Audit Fields cannot be imported with configuration packages.
How these Values are assigned?
  • After all onbefore[Modify|Insert] Events.
  • After the Modify/Insert Triggers.
  • Before all onafter [Modify|Insert] Events.
When New Records are Inserted?
  • SystemCreatedBy and SystemCreatedOn are populated with Values.
  • Fields SystemLastModifiedBy and SystemLastModifiedOn will be same.
When Records are Modified?
  • SystemLastModifiedBy & SystemLastModifedOn are updated.
  • No Impact on SystemCreatedBy and SystemCreatedOn.
What is there for Developers?
  • Developers can use these fields to filter records.
  • These Fields can be added in the page for user visibility.

Developer Usage - Example?

Example 1 - Add Fields in Page using Page Extension.



Example 2 - Use System Audit Fields in the code to filter Records.


Stay connected, We will discuss more about new features in product and how to use it.

Let me know your views as comment to this article.

Regards,
Saurav Dhyani
https://www.sauravdhyani.com/

Comments

Popular posts from this blog

VIEW SERVER STATE permission on SQL Server?

Hi all, Sometime While trying to Login into a database we face an error message as shown below. --------------------------- Microsoft Dynamics NAV Classic --------------------------- You cannot start Microsoft Dynamics NAV Classic because you do not have the VIEW SERVER STATE permission on SQL Server. Contact your system administrator. --------------------------- OK    ---------------------------

RTC Report It is not possible to instantiate the Visual Studio bridge.

Hi all, As a Navision developers I have Multiple Versions of Navision running in single Machine. As discussed Earlier in the post how to run multiple Version of RTC in single machine. So my machine have following details for RTC Versions - NAV 2009 R2    - is installed. NAV 2009 SP1  - is copied at C:\Program Files (x86)\Microsoft Dynamics NAV\60\NAV 6.0 SP1 IN\ NAV 2009         - is copied at C:\Program Files (x86)\Microsoft Dynamics NAV\60\NAV 6.0 IN\ This approach has been working great for execution of Classic and RTC Clients. However, after installing Dynamics NAV 2009 R2, if i tried to view the Layout for an NAV 2009 SP1 Report i was getting the following error: ---------------------------  Microsoft Dynamics NAV Classic  ---------------------------  It is not possible to instantiate  the Visual Studio bridge.  ---------------------------  OK    --------------------------- After searchi...

NAV 2013 R2 - Cumulative update 12 Released.

Hi all, Please find below the details of  Cumulative Update 12 released for Microsoft Dynamics NAV 2013 R2. Title - Cumulative Update 12 for Microsoft Dynamics NAV 2013 R2 Build No. - 38053 Release Date - October, 2014 Local Version Included - AU, AT, BE, CH, DE, DK, ES, FI, FR, IS, IT, NA, NL, NO, NZ, SE, UK, RU Download Link Note: Implementing this cumulative update will require a database conversion unless you have already implemented update rollup 5.