ERP Implementation Strategies – A Guide to ERP Implementation Methodology

When implementing an ERP, one important decision which needs to be made is on the implementation rollout strategy. Will it be Big Bang, Phased, Agile etc. A lot depends on this strategy.
Big bang – Implementation happens in a single instance. All users move to the new system on a given date.
Phased rollout – Changeover occurs in phases over an extended period of time. Users move onto new system in a series of steps.
Parallel adoption – Both the legacy and new ERP system run at the same time. Users learn the new system while working on the old.

www.softwareadvice.com is currently running a survey regarding these strategies. Please click on the link below to take the survey.

Happy DAX-ing

Dynamics AX 2009 Bulk Data insert using SSIS

Recently I was working on a POC which required me to insert 1,00,000 records into AX 2009 from an external LOB application and post these lines in AX. Well that got me thinking since it was a huge amount of import. .NET BC would be very slow, excel import would not be feasible. Direct SQL inserts seemed to be the feasible solution but I had to deal with RecId, RecVersionId & Company. Well after much R&D I hit upon using SSIS and some custom scripts to get the data inside AX. My test environment was:

Environment: WIN 2008 Enterprise 32 Bit, 4 GB RAM, MSSQL 2008 Developer SP1, AX 2009 SP1.

Test Dataset: 1,00,000 records into a table in a separate database in SQL 2008.

Objective: Insert these records in AX 2009.

Results: Inserted 1,00,000 records inside AX 2009 in 13.6 seconds (along with RecId, RecVersionId & DataAreaId). Used SSIS to bulk insert the records.

So how I went forward??

1. Created a sample database & sample table and populated with demo data.

The script for sample table create is as follows.

USE [Database]

GO
SET ANSI_NULLS ON

GO
SET QUOTED_IDENTIFIER ON

GO
CREATE TABLE [dbo].[tbl_PortalTrans]( [TransactionId] [nvarchar](20) NOT NULL, [TransactionReference] [nvarchar](30) NULL, [TransactionAmount] [numeric](28, 13) NULL) ON [PRIMARY]
GO

The script for sample data in the above table is as follows.

declare @counter int

set @counter = 0

while @counter <>

begin

set @counter = @counter + 1

insert into tbl_PortalTrans values (‘TRID-‘+cast(@counter as char),’Transaction Ref : ‘ + cast(@counter as char),

1000)

end

SSIS005

2. Created a sample target table & form in AX 2009.

This would be the ultimate target of these 1,00,000 records from the source table. The source xpo is attached in the download url.

SSIS003

3. Created a sample target table & form in AX 2009.

This was the meat of the application. I creates a SSIS package which reads the source tables, uses a few transformations to add extra columns to the data, use the custom script to generate the recid’s on the fly and finally push it inside AX 2009. I have also uploaded the VS 2008 SSIS package.

SSIS Control Flow objects.

SSIS001

SSIS Data Flow objects.

SSIS002

I’m also attaching a video on how this works πŸ™‚

The source files are present below at Sky drive. In case you want to use the package, you need to have a good understanding about SSIS 2008 in order to modify the package. To use it, please modify the package. The upload also contains the AX 2009 XPO files and scripts for creating the Source Table & demo data. The files also contain a detailed video.

Happy DAX-ing πŸ™‚

Book Review : Microsoft Dynamics AX 2009 Development Cookbook

This is one book I wish was published a few years back when I was learning Dynamics AX. During that time there was a real crisis for AX related literature that I had to learn everything the hard way and it would have been really good had I got this book then :). This book is the first one of its class in the Dynamics AX Technology Books family and is a must read resources for new or experienced developers.
Mindaugas has done a really good job of compiling technical ‘how to’s’ in this book. It has 6 chapters and each chapter focusses on how to do simple things in X++. What I like most it apart from just X++ codes, it also explains how it works and some sections on ‘There’s more’. The book covers the following chapters:
Chapter 1: Processing Data
Chapter 2: Working with Forms
Chapter 3: Working with Data in Forms
Chapter 4: Building Lookups
Chapter 5: Processing Business Tasks
Chapter 6: Integration with Microsoft Office
My favourite is Chapter # 5 which explains and demonstrates the Ledger, Purch & Sales API’s which helps a developer to integrate with base AX. This is one area where I have seen developers struggle and this chapter does a good job of demonstrating the intricacies.

You can also view a Free Chapter here.
Code Download for the book is available here.
Click on the image below to go to Packt Site.


This is a really super(); book and I recommend it for new developers and also for advanced developers as a ready reference guide. I hope in the next release of this book (AX 6) additional topics like .NET integration, Reald world X Platform integration , AIF samples are also covered. Great work Mindaugas.

BI Persona Presentation for Microsoft Dynamics AX 2009

A new presentation has been released which can be used when meeting with customers and prospects who need to explore the Business Intelligence capabilities of Microsoft Dynamics AX 2009.

“With this presentation you will be able to present the BI concept and examples of how Microsoft Dynamics AX 2009 supports the BI needs of 10 specific roles – from the CEO, accounts payable coordinator to the order processor, Environmental Manager etc. You will be able to present how the different roles with Microsoft Dynamics AX 2009 have access to the information they need when they need it, and in a format that makes sense to them.”

Click on the image to download (Requires Partnersource Logon)

Review of: Microsoft Dynamics AX 2009 Programming: Getting Started

I had been super() busy since the last few weeks so i was unable to do some serious blogging. I however got time last week and read through the new AX book ‘Inside Microsoft Dynamics AX 2009 Programming: Getting Started‘ by ‘Erlend Dalen’ and post my feedback.

This is a very good book for beginners who want to explore the technical side of Microsoft Dynamics AX 2009 as well as for Functional consultants who want to know what goes behind the hood. The language is simple and easy to follow and there is a case study which can be referred and the solution to the case study ‘Carz Inc.’ is unravelled as you move through the chapters. One good thing I like about this book is the plenty of sample code and step by step guidance which will help novice AX developers to understand the concepts and apply in real world scenarios.

Chapter # 8 (Integrate with Standard AX) is also very nice and provides some information regarding the important API’s which are required for Xmodule integration. There is plenty of sample code and entity diagrams for integration guidance. Considering the real world implementation scenario, this is an important chapter and has been well written.

Chapter # 9 (Creating a New Module) is also good for developers who want to create a new module in AX , just like the other AX standard modules and it walks the developer through number sequences, parameters, security aspects.

Chapter # 11 (Web Services) however deals with the old version of creating a web service (.asmx). In AX 2009 this framework has significantly changed to use WCF. You may want to refer to the latest AX 2009 SDK for AX 2009 AIF & WCF concepts.


Overall this is a very nice book for new developers. Its definitely worth reading this book. Kudos Erlend.

AX on Cloud 9

Lately there has been a lot of activity related to cloud computing with introduction of Windows AZURE. It truly is an interesting technology providing businesses wider opportunities. Well I decided to explore AZURE a bit and did a small POC on AX integration with AZURE. Well I hit on many roadblocks but was able to overcome them. In my POC I have created a simple WCF service on AZURE Platform and I’m calling that service from AX. The steps are as follows:

1. Setup and configure the AZURE Development prerequisites.
AZURE Account can be obtained at http://windows.azure.com
It is important you download the AZURE Platform Training Kit from MSDN. Really helpful.
2. Create the AZURE WCF Service using Visual Studio 2008 or 2010.
I created a very simple service which accepts employee code and returns the credit rating.

When I went to deploy the service, I got an error and on further investigating I found that SQL Express is required . I was on SQL 2008. Well there is a workaround for this in case you are on SQL 2008. Open AZURE SDK Command Prompt and key in the following as shown and press enter. This will allow you to use SQL Server 2008 for your AZURE Developments.
DSInit /sqlInstance:. /forceCreate

3. Deploy the Service on the Cloud.
Use the demos and the instruction in AZURE Platform Training Kit to deploy the service in the cloud in the Production instance.
Browse the service by providing the service name on your browser. You will be able to see the service.

One important thing to notice here is that service name marked above in red.
This is something which will give you issues when you want to generate proxy using wcftestclient or svcutil and also with Dynamics AX :-). There is a hotfix available from Microsoft KB971842 . I could however not use this hotfix as I got an error while trying to install. Im on WIN 2008. Nevertheless the show must go on. My service was up in the cloud and I needed to now access it from AX.
4. Consume the service from AX 2009.
As with general wsdl files, in AX when you go to add a service reference using http://daxguy.cloudapp.net/Service1.svc, you will get an error as shown. There is a issue with AZURE wcf services and proxy generation πŸ™

Well the workaround is to use your local service http://localhost:50026/Service1.svc to generate the proxy in AX 2009 and then configure the Service Reference using the MS WCF Service Configuration editor to change the service reference. See the screenshot below.

This will change the config file in the Service References folder in your AX 2009 Application Instance folder.
Now write some code to call the service. I created a small form where I pass an employee code and get the credit rating of the employee. Just to be on the safe side, I shut down my local IIS server just to ensure that I was really referring to the cloud.

The code sample is as follows in AX 2009.
And it was working. Really cool. I was consuming a AZURE WCF Service from Dynamics AX. There is a lot of potential in this. Maybe in next generation AIF , developers will be able to generate Cloud AIF directly from AX :-).
I had also created a Windows Application to test this out in similar ways and it worked nicely.
Happy DAXing πŸ™‚

Microsoft Dynamics AX 2009 Programming: Getting Started

Another book on Microsoft Dynamics AX ‘Microsoft Dynamics AX 2009: Getting Started has been released. Its good to see more and more books on Dynamics AX. This is the second book after ‘Inside Microsoft Dynamics AX 2009’. Presently I’m reviewing this book and will publish a review soon. The book is available from Packtub Publishing. Click on the image below to visit the site (Available in .pdf and Hard Copy).

There is also a sample chapter available for download and you can view it by clicking on the link below:
Looking forward to review this. Well since version 3 onwards there have been few books on AX and MSDN is primarily the developer source for learning. However more books on AX will really help the developer community. Developers would want to get a copy of this book.
Happy DAXING πŸ™‚

Sure Step 2010

The latest version of Sure Step 2010 is now available from Partnersource. Click on the image below to download.

Happy Sure stepping πŸ™‚