Posts

Showing posts from 2014

DMF data load using fixed field length files + AX 2012

Image
I have encountered scenario where I need to load data into AX 2012 using fixed field txt files from legacy system. I used DMF to upload the data. The catch is the fixed field txt file upload is different from the regular csv or excel file upload in DMF. The file format settings will be as follows. Here we need to perform additional steps to mention the field lengths of various fields and make sure they stay as-is post mapping them to the staging fields. Once we create the Processing group, Entity record for the required Entity and file format as the one created for Fixed field file, click 'Specify File Format' button and click next.   Remove all the field list and add manually the fields from the way they are coming from the fixed length file and also mention the field lengths of the fields. Click 'Finish'.     Select the file path where the file for upload is placed on the file system. Click on Generate Source mapping, th...

DMF changes in Generate methods - AX 2012 R3

Till AX 2012 R2, the Generate methods in DMF entity classes do not have attributes. These were identified by the field groups with names starting with Generate. In AX 2012 R3, the Generate methods of entity classes need to have the Attributes mentioned so that they will be recognized in the Target entity mapping. [DMFTargetTransformationAttribute(true),DMFTargetTransformationDescAttribute(<<Label for Descriotion>>), DMFTargetTransformationSequenceAttribute(<<Attribute sequence>>) ,DMFTargetTransFieldListAttribute([fieldStr(<<DMFEntityTable>>,<<FieldName>>)]) ] And there is no need for us to create the field group with <<Generate method name>>. Happy daxing :)

Code to find Electronic addresses from Postal Address AX 2012

Hi Folks, Here I present the code to find the Electronic Addresses (Email / Phone / Mobile) of a Party using Logistics Postal Address framework in AX 2012. static void FindEmailFromAddress(Args _args) { DirPartyTable dirPartyTable; LogisticsPostalAddress postalAddress; LogisticsElectronicAddress electronicAddress; LogisticsLocation logLocation;   dirPartyTable = DirPartyTable::findByNum( '000003452' ); postalAddress = DirParty::findPostalAddressByRole(dirPartyTable.RecId, LogisticsLocationRoleType::Consignment_IN);   select logLocation where logLocation.ParentLocation == postalAddress.Location;     while select electronicAddress where electronicAddress.Location == logLocation.RecId { info(electronicAddress.Locator); } }   Happy DAXing.. :)