Você está na página 1de 48

Chapter 1: Microsoft Dynamics AX 2009 Architecture

CHAPTER 1: MICROSOFT DYNAMICS AX 2009 ARCHITECTURE


Objectives
The objectives are: Understand the advantages of using Microsoft Dynamics AX 2009 Understand the main elements of Microsoft Dynamics AX 2009 development Effectively navigate throughout Microsoft Dynamics AX 2009 Understand the layered architecture of Microsoft Dynamics AX 2009 Understand the basic security architecture Become familiar with Microsoft Dynamics AX 2009 reporting

Introduction
Microsoft Dynamics AX 2009 is a customizable, multiple-language, and multiple-currency Enterprise Resource Planning (ERP) solution. Microsoft Dynamics AX 2009 excels in: Manufacturing E-business Wholesale Services industries

Microsoft Dynamics AX 2009 is a completely integrated solution. It is Webenabled and supports Microsoft SQL Server and Oracle. With customizable source code, the solution can be modified however and whenever it is necessary.

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

1-1

Development I in Microsoft Dynamics AX 2009

Features of Microsoft Dynamics AX 2009


Microsoft Dynamics AX 2009 provides unique and powerful features within functional areas and the development environment. The features of Microsoft Dynamics AX 2009 are summarized here: Functional Features o o o o o Single database architecture is used for all companies in the organization A highly integrated design between functional areas such as resource planning, sales, and manufacturing Dimension-based system for Manufacturing and Financial modules Advanced features such as Forecasting and Master Planning are available Multicurrency and Multilanguage capabilities

Development Environment Features o Microsoft Dynamics AX 2009 MorphX is an integrated development environment (IDE) for developing in Microsoft Dynamics AX 2009 The .NET Business Connector provides access to the complete Microsoft Dynamics AX 2009 API allowing for easy integration of third-party and Web applications to Dynamics Ax Classes The Application Object Tree (AOT) provides a uniform and compact programming framework and viewing repository Drag-and-drop functionality is supported for many programming tasks Projects help organize and track customized applications in Microsoft Dynamics AX 2009

o o o

Elements of Microsoft Dynamics AX 2009 Development


Microsoft Dynamics AX 2009 Object Server
The Microsoft Dynamics AX 2009 Object Server (AOS) is the second-tier application server in the Microsoft Dynamics AX 2009 three-tier architecture. The three-tier environment is divided as follows: First Tier - Intelligent Client Second Tier - AOS Third Tier - Database Server

1-2

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

Chapter 1: Microsoft Dynamics AX 2009 Architecture


The AOS executes Microsoft Dynamics AX 2009 business logic that provides for scalability, flexibility, and better performance for properly designed objects. In this three-tier solution the database runs on a server as the third tier; the AOS handles the business logic in the second tier. The thin client is the first tier and it handles the user interface and necessary program logic. The Figure below shows Tier Interaction Diagram illustrates the interaction between the three tiers.

FIGURE 1.1 TIER INTERACTION DIAGRAM

The AOS architecture is highly scalable. As a business grows and the number of Microsoft Dynamics AX 2009 users increase, expand the capacity of Microsoft Dynamics AX 2009 by adding an additional AOS to the second tier. The additional server provides load balancing and introduces failover safety into the environment.

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

1-3

Development I in Microsoft Dynamics AX 2009


Application Object Tree
The Application Object Tree (AOT) is a tree view of all the application objects within Microsoft Dynamics AX 2009. The AOT contains everything needed to customize the look and functionality of a Microsoft Dynamics AX 2009 application. Use the drag-and-drop features of the AOT to create and modify application objects without writing any code.

FIGURE 1.2 AOT EXAMPLE

IntelliMorph
IntelliMorph is the technology that controls the user interface in Microsoft Dynamics AX 2009. The user interface is how the functionality of the application is presented or displayed to the user. The same functionality can be displayed on multiple platforms or devices that use the same application code; for example, through the Web or through Mobile devices. IntelliMorph controls the layout of the user interface and makes it easier to modify forms, reports, and menus.

MorphX
The MorphX Development Suite is the integrated development environment (IDE) in Microsoft Dynamics AX 2009 used to develop and customize both the Windows interface and the Web interface. An IDE integrates development functions such as designing, editing, compiling, and debugging within a common environment. With MorphX, common operations such as building or modifying forms, menus, and reports are done using drag-and-drop techniques with little or no coding.

1-4

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

Chapter 1: Microsoft Dynamics AX 2009 Architecture


Inheritance
A core concept of MorphX is inheritance. Think of inheritance as a child object receiving properties from a parent object. Characteristics of inheritance include the following: What is defined at a higher level in the system is automatically inherited by lower levels Microsoft Dynamics AX 2009 is flexible and modifiable on many levels because of this hierarchical structure A single parameter can be modified for the whole system to inherit the change. For example, if the length of a database field changes from ten to twenty characters, the change is automatically reflected on all forms that contains the field The concept of inheritance is used in all object-oriented programming languages. Their definition differs slightly. The objectoriented programming concept of inheritance refers to one class inheriting methods from a base class

X++ X++ is the object-oriented programming language that is used in the MorphX environment. When working with X++, reference the Microsoft Dynamics AX 2009 Developer Help, available from the Help menu. This manual introduces the X++ environment. Additional training offerings discuss X++ in detail.

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

1-5

Development I in Microsoft Dynamics AX 2009

Microsoft Dynamics AX 2009 Application Essentials


Basic Navigation
Navigation Pane: When first opening Microsoft Dynamics AX 2009, the Navigation Pane appears. This menu contains all the purchased modules in the license code. From here, the user can browse to any module in Microsoft Dynamics AX 2009.

FIGURE 1.3 NAVIGATION PANE

Area Page: An Area Page is a Microsoft Dynamics AX 2009 navigation page that displays menu items that link to list pages, content pages, forms, reports, classes, jobs, and queries. To view an area page, click a module button in the Navigation Pane. The area page opens in the client content pane that is automatically generated using the menu information for that module. The Area Page will be discussed in detail in a later course.

Working with Data in Forms


Creating New Records
Within each module tasks can be performed such as creating new records. For example, in the Accounts Receivable module customers can be added and sales orders created.

1-6

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

Chapter 1: Microsoft Dynamics AX 2009 Architecture


Demonstration: Creating a New Record in the Customer Table
This course uses the Contoso Entertainment USA Company to illustrate Microsoft Dynamics AX 2009s functionality. 1. Open the customer form located in the Accounts Receivable module. (Accounts Receivable/Common Forms/Customer Details) 2. Press CTRL + N to create a new blank row in the customer form. 3. Enter the following data into the fields: o Customer account: 4099 o Name: Wholesale Foods o Customer group: 30

FIGURE 1.4

NOTE: The wavy red underline in empty fields indicates a mandatory field. The record cannot be saved until these fields contain data. The data is automatically saved into the database after moving away from the new record.

Sorting Records
When working with data in a form it is sometimes necessary to change the sort order of the data to find specific information more easily. Records can be sorted in a form using three different methods.

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

1-7

Development I in Microsoft Dynamics AX 2009


Demonstration: Sorting Records
1. Click the header of the sorting column. Records are sorted in descending order. Clicking the header again sorts in ascending order. 2. Right-click on a field in the column to sort. The shortcut menu appears with the options to sort in ascending or descending order.

FIGURE 1.5 SORTING RECORDS

3. Sort records by selecting either Sort Ascending or Sort Descending from the Edit/Sort menu in the menu bar. o To remove the sort order, click the Remove Filter icon in toolbar

Filtering Records
Sorting works well when working on a small set of data. However, to work efficiently with large amounts of data, filter the data to work with a specific subset of information. There are three ways to filter data in the user interface: Current content of a field Using an inquiry dialog where the criteria for the filter is specified Filter by grid

Using X++ code, there are many more ways to filter data; this chapter focuses on how to use MorphX utilities.

1-8

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

Chapter 1: Microsoft Dynamics AX 2009 Architecture


Demonstration: Filtering Records on the Sales Order form
The following demonstration filters data in a form that is based on the current content of a field. Ensure that the form is set as Advanced. 1. Open the Sales Order form in the Accounts Receivable module. a. Filter the sales order form so that it displays only the orders for customer account number 3003. 2. Put the pointer in the Customer account field that contains the value 3003. 3. Right-click and select Filter By Selection on the shortcut menu.

FIGURE 1.6

Now, only the sales orders for account number 3003 appear. 4. To remove this filter, click the Remove Filter icon on the toolbar.

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

1-9

Development I in Microsoft Dynamics AX 2009


This demonstration filters the sales order form using the inquiry dialog box. 1. With the sales order form open, click the Advanced Filter/Sort icon on the toolbar.

FIGURE 1.7 FILTERING FROM THE TOOLBAR

2. After clicking the Advanced Filter/Sort icon, an inquiry dialog appears where the criteria can be specified for the filter. Click the OK button to return to the sales order form where only the records reflecting the specific criteria appear. o Again, if necessary, click the Remove Filter icon in the toolbar to remove the current filter. Filtering by grid provides the option to select one of ten expressions in a filter for each field in the grid.

FIGURE 1.8 FILTERING BY GRID

1. Click the Filter By Grid icon and select a filtering expression for the field.

FIGURE 1.9 FILTER BY GRID

1-10

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

Chapter 1: Microsoft Dynamics AX 2009 Architecture


Filters can be used on the grid. This example causes the Customers table to show only records where the Name field contains co.

FIGURE 1.10

Finding Records
Use the Global Search option to search for information across selected tables. There are three ways to start a Global Search. From the Menu Pane: Select the Find option on the Edit menu Select the Binocular icon from the toolbar Press Ctrl + F

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

1-11

Development I in Microsoft Dynamics AX 2009


Before using the Global Search feature set up the Data Crawler. 1. Select the tables and fields to be included in the Global Search. Click Basic > Setup > Data Crawler > Table Setup. 2. On the Overview tab, add the tables required for the search.

FIGURE 1.11 TABLE SETUP OVERVIEW TAB

1-12

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

Chapter 1: Microsoft Dynamics AX 2009 Architecture


3. On the Text index tab select the fields for each table. 4. Start the Data Crawler. Click Basic > Setup > Data Crawler > Data Crawler.

FIGURE 1.12 DATA CRAWLER OVERVIEW TAB

5. On the Overview tab, add the Companies to be included in the Global Search.

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

1-13

Development I in Microsoft Dynamics AX 2009


6. To set up parameters and start the Data Crawler, open the Crawler tab. 7. Select the Start Crawler button.

FIGURE 1.13 DATA CRAWLER SETUP CRAWLER TAB

The Global Search is now ready to use. In addition to sorting and filtering, use the find functionality within Microsoft Dynamics AX 2009 to move to: A specific record. A range of records. A group of records that contains the same value or text.

The find functionality can be invoked in several ways. NOTE: Use wildcard characters (that is, ?, *) within the Find dialog to help broaden a search.

CAUTION: When using the Data Crawler with companies with large database tables, be aware of the significant time requirement for building indices on large tables.

1-14

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

Chapter 1: Microsoft Dynamics AX 2009 Architecture


Scenario
A customer who has account number 3003 calls the Sales Department to ask about an order; however, the customer has forgotten the order number. The salesperson uses the Global Search to find all sales orders for Customer 3003. The salesperson types 3003 in the Search for field and clicks the button to the right of the field. All records matching the criteria are sorted into Categories. The salesperson selects the Sales order category. By using the customer number as the search criteria, the customer can identify the specific order.

FIGURE 1.14 SEARCH HEADER

The sales person then select the Categories for the records to be displayed. The sales person then select Customer Transactions to receive a list of all transactions matching the search criteria and then click the specific order. This action opens the order directly from the list view.

The Help System


Microsoft Dynamics AX 2009 has an extensive help system that includes: General help Application development help

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

1-15

Development I in Microsoft Dynamics AX 2009


General help is available from the Microsoft Dynamics AX 2009 application menu bar and provides help for the complete Microsoft Dynamics AX 2009 application. This help document can be modified to include specific information about the customizations.

FIGURE 1.15 CONTEXT-SENSITIVE HELP

The Microsoft Dynamics AX 2009 Developer Help contains information specific to developing or customizing Microsoft Dynamics AX 2009 applications and can be accessed from the Microsoft Dynamics AX 2009 application help menu. The reference documentation within the Developer Help is also available by double-clicking the relevant object in the AOT. The AOT includes documentation on many application objects in Microsoft Dynamics AX 2009.

1-16

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

Chapter 1: Microsoft Dynamics AX 2009 Architecture

Lab 1.1 - Filtering Records on the Customer Form


Filtering records using the Filter by Selection functionality. Scenario The user wants only to view customer records in the customer group 30.

Challenge Yourself!
The Customer form has many customers in different customer groups. Using the Filter by Selection functionality in Microsoft Dynamics AX 2009, filter the Customer details form to display only customers in Customer Group 30.

Need a Little Help?


1. Right-click on the column to locate the Filter by Selection.

Step by Step
1. Open the Customer details form in the Accounts Receivable module. 2. Place the cursor in the Customer Group field that contains the value 30. 3. Right-click and select Filter by Selection from the shortcut menu. 4. To remove this filter, click the Remove Filter icon on the Toolbar.

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

1-17

Development I in Microsoft Dynamics AX 2009

Microsoft Dynamics AX 2009 Layered Architecture


The method used by Microsoft Dynamics AX 2009 to separate and control the updates and modifications made in the application is known as "layering." Layers are a hierarchy of levels in the application source code that make sure modifications and additions can be made without interfering with the application objects on the level lower than the user's. When modifying an object on one level, the modified object overshadows the object on a lower level. Layering is one of the most attractive features for developers and businesses because it enables software to "fit business needs."

Application Object Layers


The advantages to the layered architecture of Microsoft Dynamics AX 2009 include the following: Any user of the Microsoft Dynamics AX 2009 application can customize the Microsoft Dynamics AX 2009 application The standard application is never overwritten Deleting an object removes it either in the current layer or the layer above if the object exists in a higher layer. Every time an object is opened, the system automatically searches for and uses the object files needed in the highest layers first

Each layer is saved in a separate file that has an extension of .aod. For example, Axsys.aod is the SYS layer. The aod extension is an acronym for Application Object Data file. The layers are designed for different Microsoft Dynamics AX 2009 developer groups. Three groups have an interest in adding or modifying application objects: Microsoft Business Solution Developers who create the standard application Business partners and developers who want to enhance Microsoft Dynamics AX 2009 Microsoft Dynamics AX 2009 end-users

1-18

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

Chapter 1: Microsoft Dynamics AX 2009 Architecture


The following figure illustrates the hierarchy of the seven layers in Microsoft Dynamics AX 2009.

FIGURE 1.16 HIERARCHY OF LAYERS

System Application Layers (From Lowest to Highest)


The innermost layers (SYS, GLS, HFX, SL1, SL2, and SL3) are the standard layers in Microsoft Dynamics AX 2009: SYS - The innermost layer is the System or SYS layer. This is where the standard Microsoft Dynamics AX 2009 application is implemented GLS - Local Microsoft Dynamics AX 2009 offices are provided with a Global Localization or GLS layer for country-specific functionality HFX - The application layer that may be used for on-demand hot fixes SL1, SL2, and SL3 - The SL1, SL2, and SL3 layers are managed by distributors and are used for vertical partner solutions

NOTE: Object ID's in the standard layers are in the range of 1-20000. The four outermost layers (BUS, VAR, CUS, and USR) are modified by developers or end-users: BUS - Business partners can develop and distribute vertical and horizontal solutions to other partners and customers using the Business Solution or BUS layer

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

1-19

Development I in Microsoft Dynamics AX 2009


Solutions in the BUS layer are protected by the same license code framework the standard application uses. The BUS layer is reserved for the Add-on Solution program and requires a signed agreement to use for development and distribution. BUS layer Object ids range from 20001 - 30000. VAR - Business partners access a separate layer, the Value Added Reseller or VAR layer without business-related restrictions. This means that any developments can be added to this layer

The business partner must keep a catalog of application functionality and VAR configurations customers have implemented to update installations correctly. VAR layer Object id's range from 30001 - 40000. CUS - Corporate enterprises and business partners can modify their installations using the Customer or CUS layer. If a corporate enterprise has an internal IT Department with Microsoft Dynamics AX 2009 programming skills, use this layer to add generic enterprise modifications

The Customer layer supports in-house development without jeopardizing modifications made by the business partner. This means application code made in the VAR layer cannot be changed. CUS layer object id's range from 40001 50000. USR - The USR layer enables individual companies or companies in an enterprise to use this layer to make customizations that are unique to the customers installation that includes reports by using the report wizard

The USR layer object id's range from 50001 - 60000.

Patch Layers
In addition to the seven layers, each layer has one patch layer to help incorporate updates into a current application. When a patch file is present, modified objects in the patch file take precedence over regular objects and are used automatically. Patch files for a specific layer are stored in files that have the extension aod and contain a p within the name. For example, Axsyp.aod is a patch file included in the system layer. Object layers are visible in the AOT. The layer in which an object resides is listed in parentheses after the object's name if this option is chosen. NOTE: Refer to Microsoft PartnerSource or CustomerSource for up to date information on deployment strategies for Service Packs and Hotfixes. NOTE: The Administration in Microsoft Dynamics AX 2009 course addresses the procedures for the application of Service Packs and Hotfixes.

1-20

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

Chapter 1: Microsoft Dynamics AX 2009 Architecture


AOT Display of Layers
To select to view the application object layers for any object in the AOT: 1. Select Tools > Options. 2. On the Development tab click the drop-down box next to the Application object layer field.

FIGURE 1.17 OPTIONS DEVELOPMENT TAB

The menu choices are as follows: Show no layers - No objects are labeled with a layer indicator Show all layers - All objects are labeled with layer indications for all layers in which they exist Show highest layer - Shows only the highest layer where the object has been modified Show corrected layers - Shows only objects modified in the current layer or higher and labeled with indication of the highest layer Show all from corrected layers - Shows only objects modified in the current layer or a higher layer, with an indication of all layers of modification

NOTE: By using the Show All Layers option, a developer can see all layers that an object might reside in. This can allow the developer to use informed judgment when modifying an object.

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

1-21

Development I in Microsoft Dynamics AX 2009


Label Files
The names given to application objects when they are created in the AOT are not viewed by the user who is working with the system. Microsoft Dynamics AX 2009 uses a label system which systematizes all the labels (for buttons, forms, dialog boxes, and more) for a specific language in one file; a label file. A label is the text that appears in the user interface. For example, the CustTable has a database field named CustAccount; however, the label in the application is Customer Account. This is done by defining the Label property for the Extended Data Type That Is Used in the database field. Set the Label property at the Extended Data Type level to make sure it is inherited on all objects where Extended Data Type is used as a source.

FIGURE 1.18 EXAMPLE LABEL/FIELD NAME

When creating a label file, a reference is made to a label data file (.ald) in the file system that stores all the label files numbers and text. The label files are allocated numerically, such as @SYS120 and @SYS121. Label files are stored in the application folder and use an extension of .ald. The .ald extension is an acronym for Microsoft Dynamics AX 2009 Label Data.

1-22

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

Chapter 1: Microsoft Dynamics AX 2009 Architecture

NOTE: Due to risk of overwriting label files during an upgrade, the following abbreviations should NOT be used: SYS, SYP, GLS, GLP, HFX, SL1, SL2, SL3, BUS, BUP, VAR, VAP, CUS, CUP, USR, USP.

The Label File Wizard


The Label File Wizard helps create and update label files. The label file wizard can be located in Tools > Development Tools > Label > Label File Wizard.

FIGURE 1.19 MENU PATH TO LABEL FILE WIZARD

1. Navigate to Tools > Development Tools > Label, and select Label file Wizard. This opens the Label File Wizard. 2. Select the Create a new label file ID field. In this case, only create a new label file ID. 3. Create a label file ID named MBS. This is how the system references the new label file. This ID must be unique and contain only three letters. 4. Click Finish. Before writing any newly created label files, shut down Microsoft Dynamics AX 2009 and restart.

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

1-23

Development I in Microsoft Dynamics AX 2009


Label Editor Form
This figure shows the Label editor form used to create new labels for application objects. Access the form by clicking the Browse button in the Label property field in the property sheet.

FIGURE 1.20 LABEL EDITOR

This is where the user searches for existing labels to use or add a custom label. 1. Type the name of the label in the Find what: field and then click Find now. The system searches all available label names to check if the label exists. If it exists, as long as the label is highlighted, the user can reuse it by selecting Paste label. If the label does not exist, create a new one by pressing CTRL + N. 2. Click the Advanced tab. When creating a new label, select which label file ID to create the new labels in.

1-24

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

Chapter 1: Microsoft Dynamics AX 2009 Architecture


The new label file ID created in the Label file Wizard is available in the dropdown list. 1. Select one or more languages to view translations of the current label or create translations of the new label. 2. Select the Auto Search function for the system to automatically start to search when the label dialog opens.

FIGURE 1.21 LABEL EDITOR SETUP TAB

NOTE: If the Version Control System is started the procedure is different. This is discussed in a later course.

Assign Labels to Objects


When a new application object is created, a label must be assigned in the properties. In some places the feature is called Label (for Extended Data Types), and in other places it is called Caption (Design node of forms). Reuse labels whenever possible by searching for the label, finding it in another label file, and using it for the object. NOTE: Label updates are only committed to the .ALD file when exclusive access to the label file is available, such as when AOS is restarted.

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

1-25

Development I in Microsoft Dynamics AX 2009

Tools for Customization


There are three main tools for customizing Microsoft Dynamics AX 2009 depending on the complexity of the customization. The tools are as follows: IntelliMorph MorphX X++

IntelliMorph
Intellimorph is the automatic layout generation of forms, reports, and menus.

Demonstration: Using Intellimorph


The following demonstration shows how to use IntelliMorph to hide the Recipient field on the sales order form in Microsoft Dynamics AX 2009. 1. Open the Sales Order form. 2. Confirm that the form is being viewed in the Simple view. 3. Right-click the Recipient field and select Hide from the context menu.

FIGURE 1.22 HIDING A FIELD ON THE SALES FORM

1-26

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

Chapter 1: Microsoft Dynamics AX 2009 Architecture


o To make the Recipient field visible, right-click anywhere on the Sales Order form and select SHOWRECIPIENT.

FIGURE 1.23 SHOWING A HIDDEN FIELD ON THE SALES FORM

IntelliMorph uses a drag-and-drop technique to rearrange fields on a form. For example, to rearrange the fields on the customer form: 1. Open the Customer form. 2. Click and hold the header for the Customer account column. 3. When holding down, drag it to the right of the header for the customer Search name column and drop it. NOTE: To enable this functionality, the Advanced Form Customizations option must be selected under the Administration node in the configuration key tree. The Configuration form is located in the Administration Module > Setup > System. Configuration keys are discussed later.

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

1-27

Development I in Microsoft Dynamics AX 2009


Notice that the Customer account is now the fourth column in the form.

FIGURE 1.24 RELOCATING A FIELD ON THE CUSTOMER FORM

MorphX
When customization requirements are beyond the basics of IntelliMorph, the next tool of choice is MorphX. Use MorphX to fulfill customization requirements, such as adding new fields to a report or form. The second chapter in this training focuses on MorphX development. In some cases, the customization may introduce new functionality into Microsoft Dynamics AX 2009, such as new or additional logic to process a sales order. Use X++ to create new or additional application logic.

X++
X++ is the development language Microsoft Dynamics AX 2009 is built upon. This course does not go into detail on the X++ environment. There are other training offerings available to learn more about X++.

1-28

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

Chapter 1: Microsoft Dynamics AX 2009 Architecture

Lab 1.2 - Moving a Column


Using Intellimorph to move a field in the Customers Form. Scenario A user has identified a need to have the field Customer Group as the first field in the overview display of the Customers Form.

Challenge Yourself!
Using Intellimorph, move the Customer Group column to its new location for the user in the Customer form.

Need a Little Help?


Use the Drag and Drop ability of Intellimorph to move the column from its current location to its new location.

Step by Step
1. Open the Customer Form. 2. Left-click and hold on the column heading for the Customer Group column. 3. Drag the column heading to the first column position of the grid, and release the left-click.

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

1-29

Development I in Microsoft Dynamics AX 2009

Security
Security Structure
Four items control security in Microsoft Dynamics AX 2009: License codes include the company's purchased features. These license codes enable the whole company access to those areas purchased Configuration keys are used to enable or disable features in the application. These keys control access for the whole company Security keys are assigned to user groups and control access to features within Microsoft Dynamics AX 2009 at a user group level Record level security controls access to records in tables. This means that different user groups can have different access to different records in the same table

License Codes
The first step of configuring Microsoft Dynamics AX 2009 is purchasing and entering license codes into the system. License codes are installed in the Microsoft Dynamics AX 2009 Administration module. Development access is divided into four different licenses: Base Package MorphX Web MorphX X++

Base Package
The Base Package license gives access for creating or modifying reports, jobs, and queries. With the Base Package, the AOT displays the following nodes: Macros Reports Queries Jobs Menus Menu Items System documentation Application Developer Documentation Application documentation

1-30

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

Chapter 1: Microsoft Dynamics AX 2009 Architecture


MorphX
The MorphX license provides access to the Data Dictionary node, where tables, Fields, Enum, and Extended Data Types are maintained. The ability to create or modify forms and or Web forms requires the MorphX security package. With the MorphX license, the AOT displays the following nodes in addition to all the Base Package items: Data Dictionary Forms Extended Data Types Macros Jobs Queries Jobs Menus and Menu Items Help Documentation

In addition, the Web MorphX license provides access to Microsoft Dynamics AX 2009: Web Projects Web forms Web Page Style Sheet Editor

X++
The X++ license gives access to all classes in Microsoft Dynamics AX 2009 and a development code for the customer layer. It enables customers to put modified objects in the CUS layer, the USR layer, or both. The X++ license is used to modify standard routines, such as the invoice routine or the posting process for a ledger journal. It can also be used to create new business logic if functionality needs to be added to the application.

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

1-31

Development I in Microsoft Dynamics AX 2009


Configuration Keys
Configuration keys in Microsoft Dynamics AX 2009 control the functionality and features in the system. These keys make sure that the Microsoft Dynamics AX 2009 solution is not cluttered with functionality companies do not use. Configuration keys have descriptions to describe the functionality affected by enabling or disabling them.

FIGURE 1.25 ACCESSING CONFIGURATION KEYS

Each configuration key controls access to a specific feature, and as soon as it is enabled or disabled, the feature is automatically added or removed in the database and in the user interface. The license code determines which configuration keys are available. If the license code for a certain module is not known, the corresponding configuration key does not appear in the list.

1-32

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

Chapter 1: Microsoft Dynamics AX 2009 Architecture


A feature can be removed or added by selecting the configuration key. For example, if a company does not use payment schedule, remove this feature by clearing the child configuration key Payment schedule located under the parent configuration key General ledger.

FIGURE 1.26 CLEARING A CONFIGURATION KEY

Working with Companies


The Microsoft Dynamics AX 2009 database can hold information for many different companies. Companies can be thought of as different business entities within Microsoft Dynamics AX 2009. MorphX allows each company to have its own set of data, while all are using the same application logic. Some of the tables in the application may contain information that can be reused by several companies. When working with companies in Microsoft Dynamics AX 2009, MorphX uses the following concepts: Table Collection - A specification of a list of table names. Each table in the system only occurs once in any one-table collection, but a table can be added to more than one table collection. There is no table data stored in a table collection. Data is stored in a virtual company or in a company Virtual company - Uses table collections that contain tables that are shared by all companies. It is recommended that these shared tables contain only fairly static data such as items, customers, zip codes, and more. The individual standard companies will have their own set of tables except for the shared ones in the virtual company Company - These are based on one or more virtual companies. When adding data to a table that is not in a virtual company, the data is stored directly in the company

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

1-33

Development I in Microsoft Dynamics AX 2009


Understanding Companies within the Database
Here is how Microsoft Dynamics AX 2009 stores data using companies, virtual companies, and table collections in a Microsoft SQL Server database. The illustration below shows a few things:

FIGURE 1.27 VIRTUAL COMPANY CONFIGURATION

The virtual company called VLC includes the companies LAU and DMO The corresponding data in the database is identified as belonging to the VLC virtual company in the field DATAAREAID The table collection included in the virtual company is identified as COA or chart of accounts

Security Keys
Security keys are set by User Group and determine the features specific users, as members of those groups, can access. Users can be denied or granted access to complete modules or to specific forms and fields. Security keys are maintained in the Microsoft Dynamics AX 2009 Administration module in the user group permissions form, under the Permissions button on the Permissions tab.

FIGURE 1.28 SECURITY KEYS

1-34

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

Chapter 1: Microsoft Dynamics AX 2009 Architecture


The Permissions tab contains the security keys for specific groups. Notice that most security keys are divided into eight categories: Daily Journals Inquiries Reports Periodic Setup Miscellaneous Tables

FIGURE 1.29 SECURITY KEY CATEGORIES

Properties within these categories can be set to: No access View Edit Create Full control

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

1-35

Development I in Microsoft Dynamics AX 2009


Security Hierarchy
License codes, configuration keys, and security keys are dependent on each other to control the features available in Microsoft Dynamics AX 2009. The hierarchy begins with license codes, configuration keys, and the most detailed level - security keys. A license code must be available to enable a configuration key. The configuration key must be enabled to allow it to be part of a security key. For example, to use the Project series, a license must be purchased and installed in Microsoft Dynamics AX 2009. After this is completed, the configuration key is available to enable the features available in the Project module. After enabling features in the configuration key, the more detailed features can be enabled or disabled using security keys. There cannot be a combination of conflicting configuration keys and security keys. The configuration or security key does not enable features to be available in the system if a license is not available.

Inquiry and Reports


Reports
Reporting is an important part of an ERP system. There is a variety of flexible reporting facilities built into Microsoft Dynamics AX 2009. There are four levels of reporting and customization of reports that range from easy to access predefined standard reports to completely customized reports using the AOT. Companies with specific reporting needs can redesign standard reports or develop new reports using the AOT. Refer to the third chapter in this course titled Report Adjustments to learn more about how to create custom reports. This manual expands on the capabilities of the Microsoft Dynamics AX 2009 reporting tool that includes report design, adjustments, and best practices.

Standard Reports
Standard reports in Microsoft Dynamics AX 2009 contain predefined tables, fields, and layouts. Do not change the table that is used or the fields displayed; however, ranges and sorting can be specified for all fields in the predefined tables.

1-36

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

Chapter 1: Microsoft Dynamics AX 2009 Architecture


There are several standard reports in the Reports folder in each module. These standard reports cover the reporting needs of most companies.

FIGURE 1.30 STANDARD REPORTS

Auto Reports
Auto reports are more flexible than standard reports. In addition to ranges and sorting, there is the ability to: Select which fields to print Define report layouts Define the summation of fields Define criteria for the fields

This figure illustrates the print dialog when creating an auto report.

FIGURE 1.31 CREATING AN AUTO REPORT

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

1-37

Development I in Microsoft Dynamics AX 2009


Start auto reports from any form in Microsoft Dynamics AX 2009 by clicking the Printer icon on the toolbar.

FIGURE 1.32 MICROSOFT DYNAMICS AX 2009 TOOLBAR

Simple Inquiry
Opening a standard report or auto report causes the print dialog to appear. The name of the dialog depends on the report. From this print dialog, change the range and sorting by clicking the Select button in the upper-right corner.

FIGURE 1.33 SELECT BUTTON ON THE AUTOREPORT FORM

1-38

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

Chapter 1: Microsoft Dynamics AX 2009 Architecture


When clicking the Select button, the Inquiry window displays as illustrated in the following figure.

FIGURE 1.34 INQUIRY FORM

This form is divided into three sections: Use the top part of the Inquiry window to select, save, and delete queries Use the center part of the Inquiry window to select which table or tables to use in a report Use the bottom part of the Inquiry window to select range, sorting, and print options

A simple inquiry might involve making changes to the field criteria.

Demonstration: Creating a Simple Inquiry on an AutoReport


1. Click the Print icon when viewing the Customer form. 2. Click Select on the print dialog box. 3. If Customer Group is not a field available in the bottom part of the inquiry, add this field.

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

1-39

Development I in Microsoft Dynamics AX 2009


4. Set the criteria of this to only select customers in group 20. o If the criteria for customer group 20 are not listed in the criteria column, add it by selecting the list in the criteria column or by entering the new criteria into the text box of the criteria column for the customer group o The form should like the following illustration

FIGURE 1.35 INQUIRY FORM EXAMPLE

Make sure the print medium is set to Screen

NOTE: Change the print options from the print dialog screen by clicking the Options button. 5. Click OK.

Advanced Inquiry
Advanced Inquiries involve adding additional tables to reports and creating advanced ranges and sorts on fields in the additional tables.

1-40

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

Chapter 1: Microsoft Dynamics AX 2009 Architecture


Demonstration: Adding a Table in an Advanced Inquiry
To obtain a list of customers outside the United States, add a one to multiple relationships to the Customer Invoice Journal table and add new criteria where the country for delivery is not equal to U.S. 1. Right-click the table that needs to be joined to another table and select a one to multiple relationship (1:n) or a multiple to one relationship (n:1). a. Select from all tables related to the original table.

FIGURE 1.36 INQUIRY FORM DEMONSTRATION

2. Add another row to the bottom part of the inquiry window. 3. Add criteria based on fields in the new tables.

Best Practices
The Developers Best Practice Handbook can be found on MSDN and contains information on the standards, rules, and guidelines that make up the best practices that are used in the development of the Microsoft Dynamics AX 2009 standard application.

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

1-41

Development I in Microsoft Dynamics AX 2009


Use the handbook to better understand the Microsoft Dynamics AX 2009 standard application and to develop customizations and new solutions in the spirit of the Microsoft Dynamics AX 2009 standard application. Throughout the rest of this manual, there will be suggested best practices to perform while developing. These will be denoted as follows: BEST PRACTICE: Best Practices are found throughout the training manual and are preceded by the words BEST PRACTICE in bold.

1-42

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

Chapter 1: Microsoft Dynamics AX 2009 Architecture

Lab 2.3 - Creating a Simple Inquiry on an Auto-Report


A simple inquiry might involve making changes to the field criteria. Scenario Generate an Auto-Report of the Customers table for only those customers that are in customer group 20.

Challenge Yourself!
From the Customers Form, use the Auto-Report functionality to generate a report for customers that are in customer group 20.

Need a Little Help?


From the Customers Form, use the Auto-Report functionality to generate a report. Use the selection criteria of the Auto-Report to select only customers that are in customer group 20.

Step by Step
1. Click the Print icon while viewing the Customer form. 2. Click Select on the print dialog. 3. If Customer Group is not a field available in the bottom portion of the inquiry, add this field. 4. Set the criteria of this to only select customers in group 20. If the criteria for customer group 20 are not currently listed in the criteria column, criteria can be added by selecting the list box in the criteria column or just enter the new criteria into the text box of the criteria column for the customer group.

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

1-43

Development I in Microsoft Dynamics AX 2009


The form should look like the following figure:

FIGURE 1.37 SELECTION CRITERIA

Make sure that the print medium is set to Screen. NOTE: Change the print options from the print dialog screen by clicking the Options button. 5. Click OK.

Summary
This course discussed on a high level, the architecture behind Microsoft Dynamics AX 2009. It introduced important terms regarding the element of Microsoft Dynamics AX 2009 Development, and also looked at the user interface and different ways of having data presented in forms and reports. This course also discussed the basic security architecture that includes License codes, configuration keys, security keys and user groups. The next course examines the Microsoft Dynamics AX 2009 Data Dictionary and related topics.

1-44

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

Chapter 1: Microsoft Dynamics AX 2009 Architecture

Test Your Knowledge


Test your knowledge with the following questions. 1. Where should the Business logic be executed with correctly designed objects? ( ) The Client ( ) The Application Object Server ( ) The Database Server ( ) Stored Procedures on the SQL Server 2. What three items control security within Microsoft Dynamics AX 2009? ( ) Security Keys, Domains and Companies ( ) User Group Permissions, Security Keys, and Layers ( ) License Keys, Configuration Keys and Security Keys ( ) Base Package Keys, X++ Keys, and MorphX Keys 3. Label file ID's that should not be used due to the risk of being overwritten when applying service packs include: ( ) SYS, MBS, USR ( ) SYS, LOS, DIS ( ) GLP, HFX, SL1, SYS ( ) SYP, LOP, DIP, SLP

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

1-45

Development I in Microsoft Dynamics AX 2009

Quick Interaction: Lessons Learned


Take a moment and write down three key points you have learned from this chapter: 1.

2.

3.

1-46

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

Chapter 1: Microsoft Dynamics AX 2009 Architecture

Solutions
Test Your Knowledge
1. Where should the Business logic be executed with correctly designed objects? ( ) The Client () The Application Object Server ( ) The Database Server ( ) Stored Procedures on the SQL Server 2. What three items control security within Microsoft Dynamics AX 2009? ( ) Security Keys, Domains and Companies ( ) User Group Permissions, Security Keys, and Layers () License Keys, Configuration Keys and Security Keys ( ) Base Package Keys, X++ Keys, and MorphX Keys 3. Label file ID's that should not be used due to the risk of being overwritten when applying service packs include: ( ) SYS, MBS, USR ( ) SYS, LOS, DIS () GLP, HFX, SL1, SYS ( ) SYP, LOP, DIP, SLP

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

1-47

Development I in Microsoft Dynamics AX 2009

1-48

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

Você também pode gostar