Change in Data import export framework – AX 2012 R3
Since the initial beta release of the Data Import/Export Framework, I was very pleased with the tool. During the years Microsoft did some great additional investments on this framework to help us import, export and migrate data using Microsoft Dynamics AX 2012. In this post I will inform you on a change that I experienced recently.
Introduction
Before going into the details, I will first give a brief overview of the application objects used for Data import export framework entities. There are three types of application objects used for an entity in Microsoft Dynamics AX:
- Staging table
- Entity class
- Target query
When you want to convert e.g. string fields to a RecId value or if you want to generate records in a related table, you can create a function on the entity class.
These functions do have a prefix ‘Generate’. For example the method to generate a global address book record and return the record ID is called ‘GenerateParty’.
You can have multiple fields on the staging table as input (or output) for this method.
What is the change?
The way the list of fields were provided has been changed within Microsoft Dynamics AX 2012 R3 compared to previous versions. Before you needed to create a field group for the staging table with the staging fields related to this method. The naming convention is <<FunctionName_Sequence>>. For the GenerateParty method a field group was created called GenerateParty_1. The label of the field group was intended to contain the description of the function.
The generate method dealt with the staging fields and the target field based on an import parameter if there was an inbound or outbound data flow.
In Microsoft Dynamics AX 2012 R3 the field groups have been removed.
To handle the list of staging fields and the description of the function, the generate functions on the entity class have a new design. Before declaring the function a container with some metadata is added.
The container has the next contents:
Transformation indication | DMFTargetTransformationAttribute(true) |
Description | DMFTargetTransformationDescAttribute(“<<label ID>>”) |
Sequence | DMFTargetTransformationSequenceAttribute(<<Sequence>>) |
Field list | DMFTargetTransFieldListAttribute([fieldStr(<<field 1>>), fieldStr(<<field 2>>), …]) |
So when you need to create transformation functions on the entity class in Microsoft Dynamics AX 2012 R3, this is the new way of implementing the field lists.
That’s all for now. Till next time!
Leave a Reply
Want to join the discussion?Feel free to contribute!