Monday, November 21, 2011

What type of companies can use Dynamics AX 2012

  1. Customers with 500 to 5000 employees in Public Sector, Manufacturing and Retail industries only
  2. Customers with over 5000 employees 
  3. Customers with between 200 and 7500 employees in all industries. The solution includes out-of the box capabilities for Manufacturing, Construction, Retail, Services, and Public Sector industries.
  4. Customers with between 200 and 7500 employees in all industries except Public Sector

Dynamics AX 2012 Cumulative Update 2 is released

Last week Microsoft announced the Cumulative update 2 for Dynamics AX 2012. Please review the Support KB Article for more details. This cumulative update include
For more details on fixes included please review the Support KB Article

Friday, November 11, 2011

Debugging in Dynamics AX 2012 as a non-admin Role

To access breakpoints as a limited user:
1. open dynamics as admin
2. add yourself to your favorite role (in addition to admin)
3. shift control w to open a workspace.
4. insert a break point into a well know x++ class that the role accesses.
5. create a new job
6. insert this:
static void NonAdmin(Args _args)

7. run job
8. control w to open regular workspace (or open it from the menus, sometimes its sticky)
9. Open the form/class via navigation

observe that you can now stop in debugger as "limited" user

Wednesday, November 9, 2011

Microsoft Dynamics Sure Step 2012 Launched

Microsoft Dynamics Sure step 2012 is officially launched, please read the following article for more details:

Monday, October 17, 2011

Set focus on specific control when opening form

To set the focus on specific control when form is open, you need to override the firstField() method of the form and set your desired control after super() call.

public void firstField(int _flags=1)

Dynamics AX 2012 SSRS reports patterns

Here are the design pattern/changes that we need to make sure for AX 2012 SSRS report development:

Functional Area
Input parameters (definition)
Data contract (*)
Input parameters (validation)
Data contract (*)
Input dialog (simple)
Data contract (*)
Input dialog (complex)
UI Builder (*)
Input parameters (modification)
Controller (*)
Dynamic query
Report data
Table (temp)
Business logic
Report layout
SSRS Report

Dynamics AX 2009 and Dynamics AX 2012 modules comparisons

Following are the enhancements made by Microsoft on Dynamics AX 2012:
For example, GL module in AX 2009 is now break into GL and Fixed assets in AX 2012.

AX 2009 Module
AX 2012 Module
General LedgerGeneral Ledger
 Fixed Assets (New)
BankCash and bank management
Accounts PayableAccounts Payable
 Procurement and sourcing (New)
Accounts ReceivablesAccounts Receivables
 Sales and Marketing (New)
Inventory ManagementProduct information (New)
 Inventory  and warehouse management
Expense managementTravel and expense management
ProductionProduction control
ProjectProject management and accounting
 Compliance and internal control (New)

Saturday, September 24, 2011

Change company logo on EP home page

Here is the very useful link for displaying/changing the Dynamics AX 2009 EP home page.
Display Company Logo on Dynamics EP Site and Hide Page Title

alternatively/in dynamics ax 2012, you can change the logo from C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\ep\images\ location and change the name you your logo file to DynamicsLogo64x64.png 

Wednesday, August 24, 2011

Cannot connect to the Configuration database error – SharePoint 2010

Resolution steps:
1. If the WSS is in a server farm, use the “SharePoint Products and Technologies Configuration Wizard” to disconnect the server from the farm.
2. Navigate to Start >Program > Microsoft SQL Server 2005 > Configuration Tools >SQL Server Configuration Manager
3. Navigate to SQL Server 2005 Network Configuration > Protocol for MSSQLSERVER
4. Right click Named Pipes and select Enable (if not enabled)
5. Restart SQL Server
6. Join back the server to server farm using “SharePoint Products and Technologies Configuration Wizard” and follow the wizards
Note: If the installation is a stand-alone installation, then you don’t need to worry about steps 1 & 6

Show/Hide the dialog range field

To hide/show the query dialog field, you need to implement/override the showIndexFields() method of the dialog and return FALSE if you want to hide the field from the dialog query range.

here is an example:

public boolean showIndexFields(tableId _tableId)

boolean ret = true; 
switch (_tableId)

case tableNum(YourTable): 
ret = false; 

return ret; 

Dynamics AX 2012 Price list

If you are interested in knowing the cost of a Dynamics AX 2012 license, Microsoft has provided a an Excel sheet that can help you estimate the cost of your implementation.

You can download the sheet from here

Tuesday, July 26, 2011

Monday, July 25, 2011

Dynamics AX technical consultant interview questions

I am going to share some frequent interview questions that generally asked for Dynamics AX Technical consultant position:
  1. How can we create primary key for a table?
  2. what precautions you need for overriding fetch() method for a report?
  3. Difference between OCC and PCC?
  4. How many types of MAP there in Dynamics AX? 
  5. What is cache lookup what is it used for?
  6. Difference between table and views?
  7. why we use dialog? and how to accomplished it?
  8. what are the different type of index?
  9. Difference b/w cascade + restricted and restricted delete actions?
  10. In which case delete_from and delete() have same result?
  11. Explain sales/purchase order processes in AX.
I will share more questions in my next post.

Saturday, June 25, 2011

We have done it, We proud to be the part of Dynamics AX 2012 development and now its ready for City of Redmond

As My company own the public sector solution for the Dynamics AX 2012 release and I am glad to see the implementation of Microsoft Dynamics AX 2012 for the City of Redmond USA, see this case study:
Microsoft Case Study: Microsoft Dynamics AX 2012 - City of Redmond

Wednesday, June 22, 2011

Upgrade Dynamics AX 4.0/AX 2009 to Dynamics AX 2012

Setup source Environment
1.      Import the PreProcessing (databaseupgrade\xpo\UpgradeAX5.xpo) XPO, located in the installation CD folder and Un check "Import with ID values:"
2.      Open the PreProcessing Checklist "SysCheckList_PreUpgrade50" located in the AX50PreUpgradeFramework project.
3.      The Preprocessing Checklist appears, if your checklists has this @ABC123 instead of text, and then do this to get the missing label file. To apply the new label files in your AX4/5 machine (if you are working with preprocessing framework):
·         Copy the label file to the label folder in your AX4/2009 machine
·         Restart the AOS
·         Label folder in AX4/2009 is a sub folder under ...\Application\Appl\ where you can find *.ald files in it.
4.      Run through the PreProcessing Checklist Items to prepare the database for Upgrade
·         If upgrading AX 2009, and the upgrade scripts don't run after opening the cockpit, jump to step #12 and follow the steps there to setup the batch server (AX4 does not require setting up a batch server). Then come back to this point and continue.
·         If upgrading AX4, You need to compile the ReleaseUpdate* classes and the ReleaseUpdateCockpit form.
·         If upgrading AX4, when running the cockpit run multiple instances of AX4:
o   Start the new Microsoft Dynamics AX client.
o   Select Basic > Periodic > Batch > Processing.
o   A batch dialog appears.
o   Add DataUpgrade in the Group field, and click OK.
5.      In the Inventory Dimension Group Upgrade checklist Item, click on the “Map dimension groups 1:1” button (Do not click on the “Assign identical groups” button) and then click on the “Set to Ready For Upgrade” button.
6.      In the System Parameters checklist Item, select “en-us” as the default language and click on the “Set to Ready for Upgrade” button.
7.      In the Company Priority setup, click on the “Set to Ready for Upgrade” button.
8.      In the Product Upgrade Form, click on the Synchronize button and then on the Product Mapping -> Map all items 1:1. Click on the “Set to Ready for Upgrade” button after doing these steps.
9.      In the Units form, click on the “Automatically assignment” button.
a.       Set all decimals to 2
b.      Set all Unit classes to “Length”
c.       Click on the “Validate” button to make sure no errors are found
d.      Click on the “Set to Ready for Upgrade” button.
10.  In the Pre-Upgrade of Unit Conversions checklist item click on the Validate button and then on the “Set to Ready for Upgrade” button.
11.  In the Pre-Upgrade of Unit Texts click on the Validate button and then on the “Set to Ready for Upgrade” button.
12.  In the Pre-Upgrade Data checklist item you might need to configure the Batch Server and Batch Server Groups if the Live PreProcessing scripts don’t start running. In order to do so, go to Administration\Setup\Server Configuration
13.  Make sure that only the machine you are using has the Is Batch Server checkbox checked. Now go to the Batch Server Groups tab and select the DataUpdate Batch Server Group
14.  Another configuration that is required to start running these jobs is the Batch Group form. You can access this in Administration\Setup\Batch Groups
15.  Select the DataUpdate Batch Group and go to the Batch Servers tab.
16.  Make sure the machine you’re running the upgrade on is on the Selected Servers list on the left side pane.
17.  After running the Live PreUpgrade, continue with the next checklist items (Validate Pre Upgrade, check Single User Mode and Single User Mode Upgrade)
18.  Once the checklist is finished, the PreProcessing stage is done. Uninstall AX50 (don’t drop the database) and you are ready to go to the AX6 steps.

Starting an Upgrade from the Target Environment

1.      Install Dynamics AX 2012.
2.      Setup Ax 2012 pointing the AOS to a new Database . Specify a different database name for the Model Database. Make sure you select the "Register Database for Upgrade checkbox:"
3.      At this stage, you should have 3 databases in your system: Database
·         The AX50 PreProcessed database
·         The new AX6 database
·         The new AX2012 model database
4.      Start AX 2012 and run through the Upgrade checklist
5.      In the Provide License Information step, specify the license.
6.      At this point, the Target Environment upgrade process is started. Make your way through the first five checklist items.

Data Upgrade Stages

Source DB connection step:
In the Source DB connection step, specify the server name where the Source Database is located and the Source Database name. Click OK once this information is entered.
PreSynchronize step:
This step loads the Upgrade cockpit. Depending on which stage you started the Upgrade Process; you might need to configure the Batch Groups and Batch Servers. Once this configuration is set, click the Run button. PreSync scripts should start running at this stage.
Create Tables Step:
This step synchronizes the database. No special steps need to be taken here.
Generate table and field mapping:
This step generates table and field mapping between source and target systems. There should be no mapping with error.
Generate Bulk Copy and Script Prioritization Step:
Bulk Copy Priorities and Script-Table dependencies are resolved in this step. No special steps need to be taken here.
Launch Data Upgrade Step:
This step loads the Upgrade cockpit. Once the cockpit is loaded, click on the Run button and the Post Sync scripts should start running.
This is where the data is actually copied from the Source Database to the Target Database based on the Mappings found in the Generate Table and Field Mapping step.

Tuesday, June 21, 2011

Install Dynamics AX 2009 Reporting Extensions with SQL server 2008

Sometime back, I have experience on interesting issue while installing Reporting Extensions with SQL server 2008, When I run the Setup, I get the following message : "You must install SQL server 2005 Reporting Services Service Pack 2 before installing the report extensions". Here is the workaround
  1. 1. Locate the Dynamics AX 2009 Reporting services dll from the extracted AX 2009 SP1 folder[\\AX2009SP1\support\axsetupresources\microsoft.dynamics.setup.reportingservices.dll;File Version - 5.0.1000.52]
  2. Extract the AX 2009 .iso to a folder
  3. Copy the microsoft.dynamics.setup.reportingservices.dll into the folder: \\DynamicsAX\Msi\Components32\Program Files\Microsoft Dynamics AX\50 and Setup\\DynamicsAX\Msi\Components64\Program Files\Microsoft Dynamics AX\50\Setup
  4. It will ask to replace the existing dll having File Version - 5.0.593.0. Say Yes and replace.
  5. 5. Then Install AX Reporting Services extensions. It works fine and the Reporting Extensions are installed nice.

Monday, June 20, 2011

Dynamics AX 2012 Programming model

The following table lists which programming model or models are best used in each development pattern.

<>   <>
Design Pattern

Programming Model

Strongly typed .NET interop to X++


Object-oriented development in X++

Use to access functionality implemented in X++ from .NET. Where appropriate, you should use eventing to decouple customization business logic implemented in .NET.
Not recommended
Layer-based X++ source code customization is supported. Where appropriate, you should use eventing to decouple customization business logic implemented in X++.
Not recommended
Use service interfaces to access Microsoft Dynamics AX.
Not recommended
External application development
Use if your Windows application runs only on the AOS server.
Use service interfaces to access Microsoft Dynamics AX in all other cases, including applications that are not Windows-based.
Not recommended
Report development
Not recommended
Use service interfaces when implementing data methods as your report data source type.
Use when developing an RDP data source type for your reports
Enterprise Portal application development
Use from Enterprise Portal applications to access business logic that is in X++ classes.
Use services to access Microsoft Dynamics AX functionality, especially if the application is Internet facing.
Not recommended