Microsoft CorporationPublished: <DATE>

Microsoft Dynamics AX 2009 -

Managing Customizations for Sustainable Upgrades

June 2008

AX2009-DS027

Version 1.5.0

Table of Contents

Table of Contents

Summary

Audience

Technology

1.Demo Scenario

2.Demo Setup

3.Demo Map

4.Demo Script

4.1 Demo Scene: Extending the Functionality

4.2 Demo Scene: Upgrade Discussion

Comments, questions, and feedback may be directed to

Summary

All large-scale deployments of enterprise resource planning (ERP) applications have some level of customization. Upgrading ERP applications has always been a complex process, andincluding customizations brings an additional dimension to the upgrade process. Buyers of ERP systems who have been involved in previous large-scale ERP deployments will know the challenges associated with upgrading a system with customizations and will look to understand how this is managed in Microsoft Dynamics™ AX 2009.

Although the logical upgrade steps are the same with any customized system, the underlying architecture and technology in Microsoft Dynamics AX provide tools to help in the upgrade process.

This script can be used to demonstrate the customization tools and upgrade tools when asked for by the customer in the pre-sales presentation.

Audience

This script should be used to demonstrate the value of Microsoft Dynamics AX 2009 to a technical decision maker (TDM). This script is targeting the CIO or IT Manager who is involved in the selection of a new ERP system.

In these demos, Contoso is a global electronics manufacturer and retailer that specializes in televisions and home theater systems.

The following role examples are targeted as the key decision makers at Contoso:

  • CIO-IT Manager (Tim): Tim's role is to ensure the efficient running of the IT systems. He is responsible for the IT budget and resources. He is always getting his budget cut. He is concerned with providing a platform for the business application to run on. He will be interested in what it takes to manage the business application. Tim will be responsible for the budget to manage the partners who work on the system, so he is interested in making sure they can upgrade with minimal business disruption and costs.
  • CEO (Charlie): Charlie will be the decision make for the system selection, but is unlikely to actually want to see how customization and upgrades are done. He will rely on Tim to report back to him during the system selection process.

The following role examples may be involved in the selection process or may be influencers or evaluators:

  • IT Engineer (Chris): Chris's main role is to make sure that the IT systems are running. He isn't a developer, but he may write some scripts to manage systems. He has a good understanding of technology trends, so he will be familiar with terms such as object-oriented programming, .NET Framework, Windows® Workflow, Web Services, Windows Communication Foundation, and Windows SharePoint® Services. He may also have done some development with Microsoft® Visual Basic®, Microsoft Office macros, or Microsoft Office Access®, and so will be familiar with forms development. Chris may also be the company’s database administrator (DBA) and will be familiar with databases and Microsoft SQL Server®.
  • Technical Support (Sean): Sean is the IT support go-to guy. He does the run-around work of fixing people systems. He will be familiar with IT trends and terms, such as object-oriented programming, .NET Framework, Windows Workflow, Web Services, Windows Communication Foundation, and SharePoint. He may also have done some development with Microsoft Visual Basic, Microsoft Office macros, or Microsoft Office Access, and so will be familiar with forms development. Sean will be responsible for some operational monitoring activities that have been delegated to him.
  • Sales Manager (Kevin): As Sales Manager, one of Kevin’s primary concerns is easy access to sales data, including data that will help him build good relationships with customers. He will be interested in features that ensure fast, accurate modifications of customer data.

Note: These role examples are for general consideration throughout the demos. Tim is the only role example that will be appearing in the following demo scenes.

Page 1 of 23 Microsoft Dynamics™ AX 2009 BDM Overview

Technology

  • Microsoft Dynamics AX 2009 core customization tools.
  • Code management and source control, Microsoft Visual SourceSafe®.

1.Demo Scenario

Kevin, the Sales Manager, is always on the road, and he needs to be able to get his customer data from anywhere. One thing he wants his sales team to record is the customer’s default order contact where order issues can be escalated.So he sends a request to the IT department to have this field added to the customer table.

Kevin expects that Tim, the IT manager, will tell him that his request will be added to the list of things he has to do and that it could take weeks.

With Microsoft Dynamics AX, Tim has access to tools that help him made the requested changes easily. A day later, Tim has made the changes and Kevin is happy, because the enhancements help him to build better relationships with his customers.

2.Demo Setup

  • This script was written for the Microsoft Dynamics AX 2009 RTM Demonstration VPC released in June 2008.
  • This script can be demonstrated from AX-SRV-01
  • Make sure that the VPC is up and running.
  • This script can be run by any user who is set up on the VPC.
  • For example, use CONTOSO\TIM for both scenes.
  • The password for all users is pass@word1.

3.Demo Map

scene / scene title / value proposition / description
4.1 / Extending the Functionality / Adapting the business application to the business enables a competitive advantage. / This demonstration shows how easy it is to extend the business application to capture new information for decision making.
4.2 / Upgrade Discussion / Being able to keep up with new versions enables customers to take advantage of new technology shifts, therefore helping them to be more productive. / This part of the demonstration walks through the technology availabel in the business application to migrate changes to a new version.

4.Demo Script

4.1 Demo Scene: Extending the Functionality

Value Proposition:
Integrated tools for customizations: Customizations are difficult in legacy systems; small modifications take a long time, and there is a large backlog of users’ requests for system changes. Microsoft Dynamics AX 2009 provides an integrated development environment that enables the IT team to adapt the application as needed by the business team.
Scene Description:
4.1.1 View where change is to be made.
4.1.2 Add field to the table.
4.1.3 Changing the field name.
4.1.4 Changing the field label.
4.1.5 Adding field to the field group.
OPENING Tell:In this demonstration, I want to walk you through how flexible Microsoft Dynamics AX is. This enables you to adapt the business application to suit your business process needs. In this example, we’ll extend the customer table to store additional data. Then, present that information on a form on which users can enter and maintain information as needed. In this example, we’ll add a new contact person to the customer master list.
4.1.1 Sub-Scene Description: Adding a field to a table.
Talking Points / Click Steps / Screen Shots
Tim has just received the request from Kevin, the Sales Manager, to add a field to the customer table.
A good customer relationship is very important to Kevin, and that’s why he would like to keep track of the default order contact of his clients.
Tim knows that this is an important request, and with the flexibility of Microsoft Dynamics AX, he can make the requested modification easily.
Microsoft Dynamics AX has an integrated development environment that enables him to make the adjustments.
Let’s go into Microsoft Dynamics AX and see how this is done. /
  • Start Microsoft Dynamics AX.
  • Click Start.
  • Click All Programs.
  • Click the Microsoft Dynamcis AX 2009 folder.
  • Click Microsoft Dynamics AX 2009.
Note: This demo is being done logged in as TIM. It could be done under any user name. /
First, let’s see where the change will be displayed. /
  • Click Accounts Receivable, or use the Address Bar to locate the Accounts receivable Area.
/
Or

Let’s open the Customer Details. /
  • Click Customer Details.
/
If we have a look at the contact information, this is where we want to make the change.
You can see that we have a default main contact. We want to add a new contact here, which will be our default order contact.
Note: Each Sales Order in Microsoft Dynamics AX has a contact that is for that specific order. /
  • When the Customer form opens, click the Contact Information tab.
  • Show the fields in the Contact information section.
/

4.1.2 Sub-Scene Description: Adding a field to a table
Microsoft Dynamics AX has an integrated development environment to customize the business application. This environment is called Microsoft MorphX®.
It is the same tool set that Microsoft uses to develop the application. It’s also the same tool set that Microsoft’s partners can use, and that you, as a customer, can use to modify the business application. /
  • Click the View button at the top right corner of the screen.
  • Click Developer Mode.
  • This minimizes the area page so that you can work more easily with the AOT, or the Application Object Tree.
/
Now, if I have the right security permissions, I can use this tool. This is similar to Microsoft Office in that it has the ability to extend Microsoft Office Word and Microsoft Office Excel® with Visual Basic for Applications.
This is the Application Object Tree, or the AOT. /
  • Click the Application Object Tree toolbar icon, or press CTRL+D.
  • This will open the AOT, or the Application Object Tree.
/
From this tool, you can modify any part of the business application if you have the right security permissions.
Using the Data Dictionary, you can create new data types and tables to store data. There are approximately 2,700 tables in Microsoft Dynamics AX 2009.
In the Classes node, you can create new business logic. This is the heart of Microsoft Dynamics AX application functionality, and there are 6600+ classes that make up the application.
Forms are the presentation of the data out of the business application. This is what a user interacts with. /
  • Click Dictionary.
  • Explain some of the items in the Dictionary—for example, the tables, extended data types, configuration keys, security keys.
  • Show the Forms.
  • Show the Classes.
  • Show the Web menu.
  • Show the Menu elements.
/
OK, with MorphX, we can easily drag and drop to modify the business application with a little coding. /
  • Open another AOT by pressing CTRL+D.
  • Position the two AOTs side-by-side so that you can make it easy to drag and drop.
/
I can easily locate the customer table. /
  • Expand the Data Dictionary node.
  • Expand Tables.
  • Click on the first table, which will be the Address table.
  • Start typing the table name, which is CustTable.
  • This will find the table.
  • Alternatively, you can just scroll down.
/

When I expand that, you can see the Fields, Field Groups, Indexes, Methods, and so on, that make up the table.
The really important point to note here is that all of the modifications are done with one tool. I don’t have to go to the database and make changes. This is a great benefit of this tool: Changes are made in one place.
Point out that business logic can also be written on the Methods node. This is another important feature of this team to minimize upgrade issues, because it means that the same code is executed, no matter what form is built against this table. /
  • Expand the Cust Table node.
  • Show the Fields, Field Groups,Indexes, Methods.
/
  • Expand the Fields node.
/
MorphX has another unique feature to save time—predefined data types. These data types were built for other parts of the application and can be reused.
These are called Extended Data Types. For example, I can find the Contact Person. /
  • In the second AOT on the right, expand Data Dictionary.
  • Expand Extend Data Types.
  • Find Contact PersonId.
/

I can now just drag that into the customer table fields.
This is all there is to creating a new field. I can create as many fields as the database limits allow. /
  • Drag the ContactPersonId data type into the Fields node of the CustTable node.
/
4.1.3 Sub-Scene Description: Changing the field name
I can now change the field name to make it something more memorable.
In this example, I’m going to change the name to OrderContact. /
  • Click ContactPersonId1.
  • Press the F2 key to rename.
/

When I save this table, the changes will be automatically made in the database for me.
The Save triggers the synchronize process.
Now, these changes should be done on a development system, and tested before putting into production, so that there are proper change control processes in place.
Notice also that the field name now has (usr) included. This gives you an indication that this object has now changed by that user. This is another important feature of Microsoft Dynamics AX, which is the layer system. You are not making the changes directly in the code shipped from Microsoft, which makes it easy to compare at upgrade time. /
  • Notice the red bar next to the CustTable name.
  • Click Save from the toolbar at the top of the AOT.
  • You will see the red bar disappear.
/


4.1.4 Sub-Scene Description: Changing the field label.
I can now change the label of the field. /
  • Right-click OrderContact.
/
The label system is provided in Microsoft Dynamics AX to enable the system to be translated. In this example, we’ll just type in a label. /
  • In the Properties box, type iOrderContact in the Label field.
  • After you have finished, close the Properties box.
  • Note: This is hard coding a label and note by using the label tool. Because this isn’t a fully developed demoscript, to save time, we won’t go into the label tool .
/
I’ll save the changes. /
  • Click Save All.
/
4.1.5 Sub-Scene Description: Adding field to field group.
The AOT is a very flexible tool. I can open different views on the AOT when I need to be able to drag and drop fields. /
  • Right-click on CustTable.
  • Select Open New Window.
/
I need it in this case to be able to drag the new into the field Groups. /
  • In the new window displaying the CustTable, locate Field Groups.
  • Locate ContactInfo. node.
/
The ContactInfo group is the collection of fields that we saw at the beginning of the demo on the Customer Details. /
  • Expand the ContactInfo node.
/
This is another unique feature of Microsoft Dynamics AX. These fields groups are used to lay out the form with fields. The same group could be used on many different forms or reports. This means that I can make the change once here, and then all those forms and reports will inherit the change.
This is also a great upgrade feature because the forms don’t actually change. This means that, at upgrade time, I don’t have to worry about looking at them unless I make a change directly to the form. /
  • Position the windows and the open AOT so that you can drag from Fields to the field groups.
  • Drag the OrderContact field to the ContactInfo field group.
  • After you have finished, close the new window view of the customer table.
/
  • Click Save All.
  • Close the AOT windows.
/
4.1.6 Sub-Scene Description: View the changes.
Now, let’s have a look at the change.
You can see here that we now have a new contact here.
The important thing to note is that I also have the ability to look up contacts in the system. This has been made available by the relationships in the Contact Person data type.
So you can see that I haven’t written any code. By simply dragging and dropping, we can make extensions to the system. /
  • Follow the steps in 4.1.1, above, to open the Customer Details form.
  • Click the drop-down arrow in the list box to show the values.
/
CLOSING Tell:
This has been a simple example of how to extend the application when there is a business need to capture new data. The important point to note is that this can be done quickly and simply, and with the controls to understand what was changed in the system. The tools provided to extend the system are integrated and tailored to the development of the business application to help you adapt the business application when your business processes change.

4.2 Demo Scene: Upgrade Discussion

Value Proposition:
Integrated Code Management and Upgrade tools: Control of customizations has been difficult in legacy systems because the code exists in multiple places. This leads to overhead,due to the need for management and rolling out system modifications. Microsoft Dynamics AX provides an integrated tool set so that the customizations can be managed and controlled.
Scene Description:
4.2.1 Check the changes into source control.
4.2.2 Show version history.
4.2.3 Compare changes.
4.2.4 Data upgrade.
4.2.5 Layers.
OPENING Tell:
In this demonstration, we are going to look at the tools that are available in Microsoft Dynamics AX to track the changes that are made to the system. This is an important tool for compliance. Regulations such as the Sarbanes-Oxley Act (SOX) require that all changes made to the system can be tracked and traced.
We are also going to look at the tools and technology integrated to the development environment to assist in the upgrade process.