Introduction Are you a field service management professional interested in specializing in a career in Microsoft Dynamics 365 consulting? Are you a Dynamics 365 functional
This article will cover advanced x++ to show how developers can serialize financial dimensions to create a default dimension surrogate key from a series of financial dimensions.
In Microsoft Dynamics AX 2012 the financial dimensions are stored as a 64bit integer surrogate key in the database. For example, the following financial dimension combination of BusinessUnit = 001, ItemGroup = Service in AX it is represented as 22565424233. For example, an integration or import process may require a combination of financial dimensions to be serialized in order to save this information in Microsoft Dynamics AX.
There have been significant changes in how financial dimensions are stored in Microsoft Dynamics AX 2012 versus previous versions, and this blog post can assist developers who are not familiar with Microsoft Dynamics AX 2012 financial dimension architecture. This blog explains how this can be used, using a simple import routine. Please refer to my other post about How to Deserialize a Default Dimension in Microsoft Dynamics AX 2012.
Financial dimensions are stored as a 64bit integer surrogate key in the database. When reading/importing financial dimensions it is necessary to create this 64bit integer surrogate key to be stored in the database. This blog explains some of the common Microsoft Dynamics APIs available to save/create a default dimension surrogate key. I’ve created a simple job to demonstrate this.
In this example, we will be working with the financial dimensions of a customer and we will be reading its financial dimensions out of a CSV file and we are filling out the default dimensions in AX.
These financial dimensions are stored in the SQL database as a 64 bit integer, right now for customer US-001 there are no financial dimensions, thus we have the DefaultDimension field equal 0.
The following script is created to demonstrate:
– The DimensionAttributeValueSetStorage class is used to iterate through all the financial dimensions in the DefaultDimension.
– The DimensionAttributeValue table is used, this stores a link to the VALUE of the financial dimension we want to display, for example a department or cost center number. This is usually linked via a surrogate key, e.g. DimensionAttibuteValue.EntityInstance is a surrogate key to the exact record we wish to display.
– The DimensionAttribute table is used, this stores information so we can understand the TYPE of financial dimension. This stores the object ID of the view or tabled used as backing entity, e.g. 11765 = DimAttributeOMDepartment
– The DimensionAttribute record contains a “ValueAttibute” field, which is the field id in the backing entity view that stores the VALUE of the financial dimension, this is a natural key, for example a department ID (e.g. Department 10).
Thanks for reading this blog, let me know if you liked it or if you want to hear about something else in my next post!
This blog post is written for CIO’s and CTO’s curious about Microsoft’s new OS- Windows 11. Introduction Whether you’re a CIO, an
Introduction The nature of the workplace has transformed in recent years. This evolution is due to technological advances, among economic disruptions, such
Introduction Are you a field service management professional interested in specializing in a career in Microsoft Dynamics 365 consulting? Are you a
Discover how Avantiico helps you improve business processes, provide customers with a seamless experience and transform the way you do business.