Book Image

Microsoft Dynamics AX 2012 Development Cookbook

By : Mindaugas Pocius
Book Image

Microsoft Dynamics AX 2012 Development Cookbook

By: Mindaugas Pocius

Overview of this book

Microsoft Dynamics AX is a comprehensive Enterprise Resource Planning (ERP) solution for mid-size and large organizations. Dynamics AX implementations are used worldwide by thousands of customers. With the new version - Dynamics AX 2012 - the system is due to expand even more rapidly. Every new implementation requires some level of customization, and all organizations want this to be done to the highest standards using proven approaches. Written by one of the leading experts in Microsoft Dynamics AX, 'Microsoft Dynamics AX 2012 Development Cookbook' is packed with over 80 task-based and immediately reusable recipes that will help you manage your company's or customer's ERP information and operations efficiently, and solve your business process problems in an effective and quick way. This book focuses on commonly used custom modifications in major Dynamics AX modules. The recipes in this book cover various areas of Dynamics AX to help developers not only learn about programming, but also about the functional side of Dynamics AX. The practical recipes will also allow you to look at the development from the perspective of business processes. You will learn to enhance your user interface using various Dynamics AX UI elements and managing your data and functions will become easier.
Table of Contents (15 chapters)
Microsoft Dynamics AX 2012 Development Cookbook
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface

Importing data from an XML file


In Dynamics AX, XML file importing is done in a very similar way as exporting. In this recipe, we will continue using the System.XML wrapper application classes. We will create a new class which reads XML files and displays the content onscreen. As a source file, we will use the previously created accounts.xml file.

How to do it...

Carry out the following steps in order to complete this recipe:

  1. 1. Open the AOT, and create a new class named ReadXmlFile with the following code. Use the document created in the previous recipe:

    class ReadXmlFile
    {
    }
    public static void main(Args _args)
    {
    XmlDocument doc;
    XmlNodeList data;
    XmlElement nodeTable;
    XmlElement nodeAccount;
    XmlElement nodeName;
    #define.filename(@'C:\Temp\accounts.xml')
    doc = XmlDocument::newFile(#filename);
    data = doc.selectNodes('//'+tableStr(MainAccount));
    nodeTable = data.nextNode();
    while (nodeTable)
    {
    nodeAccount = nodeTable.selectSingleNode(
    fieldStr(MainAccount, MainAccountId));
    nodeName = nodeTable.selectSingleNode(
    fieldStr(MainAccount, Name));
    info(strFmt(
    "%1 - %2",
    nodeAccount.text(),
    nodeName.text()));
    nodeTable = data.nextNode();
    }
    }
    
  2. 2. Run the class. The Infolog should display the contents of the accounts.xml file on the screen:

How it works...

In this recipe, we first create a new XmlDocument. We create it from the file and hence we have to use its newFile() method. Then we get all the document nodes of the table as XmlNodeList. We also get its first element by calling the nextNode() method.

Next, we loop through all the list elements and do the following:

  1. 1. Get an account number node as an XmlElement.

  2. 2. Get an account name node as an XmlElement.

  3. 3. Display the text of both nodes in the Infolog.

  4. 4. Get the next list element.

In this way, we retrieve the data from the XML file. A similar approach could be used to read any other XML file.