You are previewing Microsoft Dynamics AX 2009 Programming: Getting Started.
O'Reilly logo
Microsoft Dynamics AX 2009 Programming: Getting Started

Book Description

Get to grips with Dynamics AX 2009 development quickly to build reliable and robust business applications

  • Develop and maintain high performance applications with Microsoft Dynamics AX 2009

  • Create comprehensive management solutions to meet your customer's needs

  • Best-practices for customizing and extending your own high-performance solutions

  • Thoroughly covers the new features in AX 2009 and focuses on the most common tasks and issues

  • Aimed at developers on the Microsoft platform with little or no previous knowledge of AX development

  • In Detail

    Microsoft Dynamics AX 2009 is Enterprise Resource Planning (ERP) software that comes with its own development environment and a programming language called X++. It is specialized and optimized to solve the tasks that are typical of an ERP system. But the specialized development environment of AX brings a steep learning curve. Hence, getting started with Dynamics AX and mastering it effectively can sometimes be daunting.

    This tutorial has been carefully structured to guide you through the basic features of AX development, and get you started as quickly as possible. With this book, you will soon be able to develop and maintain comprehensive management solutions for enhancing your application's performance.

    The book starts with a tour of the development environment, which helps you gain a deep understanding of Dynamics AX tools and architecture. It will introduce you to the X++ language. It helps you to create new functionality that can be used and changed in the standard application. You'll also learn how to search, manipulate, and integrate data. The practical examples in this book take you through sample AX development projects and help you learn to create forms, reports, menu items, menus, and navigation pages. It also helps you work with the MorphX application.

    The author's experience of developing solutions with Dynamics AX enables him to share insights in an effective, clear, and friendly way.

    By the end of this book, you will have a better understanding of the inner workings of Microsoft Dynamics AX – making your development simpler and faster, and your applications fast, reliable, and robust.

    Table of Contents

    1. Microsoft Dynamics AX 2009 Programming: Getting Started
      1. Microsoft Dynamics AX 2009 Programming: Getting Started
      2. Credits
      3. About the Author
      4. About the Reviewers
      5. Preface
        1. What this book covers
        2. What you need for this book
        3. Who is this book for
        4. Conventions
        5. Reader feedback
        6. Customer support
          1. Errata
          2. Piracy
          3. Questions
      6. 1. Getting to know Dynamics AX 2009
        1. Development environment
          1. Programming language
          2. MorphX
          3. Application Object Tree
            1. Data Dictionary
            2. Macros
            3. Classes
            4. Forms
            5. Data Sets
            6. Reports
            7. Report Libraries
            8. Queries
            9. Jobs
            10. Menus
            11. Menu Items
            12. Web
            13. Services
            14. Workflow
            15. Resources
            16. System documentation
            17. Application Developer Documentation
          4. Properties
          5. X++ code editor
          6. Compiler
          7. Labels
        2. Creating your first AX program
        3. Development tools
          1. Cross references
          2. MorphX version control
            1. Setting up the MorphX Version Control System
            2. Using the MorphX Version Control System
          3. Debugger
        4. Architecture
          1. Application object layers
          2. Network tiers
        5. Case Study: Carz Inc.
        6. Summary
      7. 2. X++ Language
        1. Introduction
        2. Data types
          1. Primitive data types
            1. String
              1. strfmt
              2. substr
            2. Integer
            3. Real
              1. str2num
              2. num2str
            4. Boolean
            5. Date
            6. Enum
              1. enum2str
              2. enum2int
            7. TimeOfDay
              1. str2time
            8. Utcdatetime
            9. Anytype
          2. Composite data types
            1. Container
              1. Container functions
            2. Class
            3. Table
              1. find
              2. exists
              3. initFrom
            4. Array
        3. Statements and loops
          1. For loop
          2. Continue
          3. Break
          4. While loop
          5. Do-while loop
          6. If, else if, else
          7. Switch
          8. Exception handling
        4. Operators
          1. Assignment operators
          2. Relational operators
          3. Arithmetic operators
        5. Classes and methods
          1. Method access
          2. RunOn property
          3. Static methods
          4. Default parameter
          5. Args
          6. Inheritance
          7. Construct
          8. Main
          9. RunBase framework
          10. Collection classes
            1. Array
            2. List
            3. Map
            4. Set
            5. Struct
        6. Macros
        7. Summary
      8. 3. Storing Data
        1. Extended data types
          1. Creating an extended data type
        2. Tables
          1. Creating a table
          2. Adding fields to a table
          3. Adding fields to a field group
          4. Creating an index
          5. Creating a relation
          6. Creating a delete action
          7. Table browser
        3. Relations
        4. Summary
      9. 4. Data-User Interaction
        1. Forms
          1. Main components of a form
            1. Methods
            2. Data sources
            3. Designs
          2. Creating a form with one data source
            1. Creating the form
            2. Adding the data source
            3. Creating a form design
          3. Creating a form with two data sources
          4. Separating the design using a FormSplitter
          5. Display and edit methods
            1. Edit methods
            2. Considerations
            3. Caching display methods
          6. Creating a lookup form
            1. Adding a new form in the AOT
            2. Creating a lookup in the lookup method
        2. Reports
          1. AX reports
            1. Main components of a report
              1. Methods
              2. Data sources
              3. Designs
            2. Creating an AX report using MorphX
              1. Creating the report
              2. Creating the design of the report
          2. Reporting services
            1. Creating an AX report using Visual Studio
        3. Menu items
          1. Creating a menu item
          2. Using a menu item as a button in a form
        4. Navigation pages
          1. List pages
          2. Creating a list page
        5. Menus
        6. Summary
      10. 5. Searching for Data
        1. Queries
          1. Creating a static query using the AOT
            1. Adding a sort order to the query
            2. Adding a range to the query
            3. Joining data sources in a query
          2. Creating a dynamic query using X++
          3. Using a query
        2. Views
          1. Creating a view
        3. Select statement
              1. CarTable
              2. RentalTable
              3. CustTable
          1. Writing a simple select statement
          2. Using sorting in select statements
          3. Using joins in a select statement
            1. Inner join
            2. Outer join
            3. Exists join
            4. NotExists join
          4. Writing aggregate select statements
        4. Optimizing the data retrieval
          1. Using the correct data retrieval method
          2. Field selects
          3. Indexing
          4. Using views to optimize the data retrieval
            1. Other ways to improve data retrieval
        5. Summary
      11. 6. Manipulate Data
        1. Validate methods
        2. Record-based manipulation
          1. Insert
          2. Update
          3. Delete
        3. Set-based data manipulation
          1. Insert_recordset
          2. Update_recordset
          3. Delete_from
        4. Direct handling
        5. Summary
      12. 7. Integrating Data
        1. Text files
          1. Write data to a text file
          2. Read from file
        2. Binary files
        3. XML
          1. Create XML and write to file
          2. Read XML from file
        4. ODBC
          1. Reading from a database using ODBC
          2. Writing to a database using ODBC
        5. Import/Export example
          1. ImpExpFileDialog class
            1. classDeclaration
            2. dialog
            3. getFromDialog
            4. pack
            5. run
            6. unpack
            7. main
          2. ImpExpFile class
            1. classDeclaration
            2. new
            3. openFile
            4. readFile
            5. run
            6. writeFile
            7. construct
          3. ImpExp_Cars class
            1. classDeclaration
            2. readFile
            3. writeFile
          4. ImpExp_Rentals class
            1. classDeclaration
            2. readFile
            3. writeFile
        6. Summary
      13. 8. Integrate with Standard AX
        1. Inventory
          1. InventTable entity schema
          2. InventTrans entity schema
          3. Main class hierarchies
            1. InventMovement
            2. InventUpdate
            3. InventAdj
            4. InventSum
          4. Inventory dimensions
          5. Finding an inventory dimension
          6. Finding current on-hand information
          7. Finding on-hand information by a specific date
          8. Entering and posting an inventory journal from code
        2. Ledger
          1. Ledger posting
            1. Enter and post a ledger journal
            2. LedgerVoucher
          2. Dimensions
            1. Adding a new dimension
        3. Accounts Receivable / Accounts Payable
          1. Entity schema: Base data and orders
          2. Entity schema: Transactions
          3. Trade agreements
            1. Finding the price for an item for a specific customer
          4. Posting and printing Sales/Purch updates
          5. Settlement
        4. Summary
      14. 9. Creating a New Module
        1. Setting up a number sequence reference
        2. Parameter table
          1. Setting up a number sequence
          2. Using the number sequence
        3. Security framework
          1. License codes
          2. Configuration keys
          3. Security keys
        4. Summary
      15. 10. Working with .NET and AX
        1. Common Language Runtime
          1. Adding a reference to a .NET class in AX
            1. Assembly exist in the Global Assembly Cache
            2. Assembly not in Global Assembly Cache
          2. Using a .NET class in X++
        2. .NET Business Connector
          1. Add a reference to .NET Business Connector
          2. Using the .NET Business Connector in .NET classes
            1. Calling a static class method in AX
            2. Insert data into an AX table
            3. Read data from an AX table
            4. Exception classes
        3. Summary
      16. 11. Web Services
        1. Expose AX logic using web services
          1. Creating a Web Service that expose AX logic
          2. Publishing a Web Service to IIS
        2. Accessing logic in an external Web Service
          1. Creating a service reference
          2. Creating a class that consumes the Web Service
        3. Summary
      17. 12. Enterprise Portal
        1. Creating a dataset
        2. Creating a new Visual Studio project
        3. Creating a grid
        4. Creating a new Web Part page
        5. Creating a tunnel or wizard
        6. Creating a toolbar
        7. Converting WebForm to .NET user controls
        8. Summary
      18. A. Links
        1. Websites
          1. Official Microsoft websites
          2. Blogs
          3. Other relevant websites
      19. B. Debugger