Advertisement

Tip Jar:

One-Time Donation

Recurring Monthly $2 Donation Appreciated

The tip jar is to help contribute to keeping this site going. If you like what you see... feel free to help out!

Why Microsoft Dynamics Partners Begin with Big Advantages Over Competitors

Go directly to Source

THE WORLD IS FLAT…..a very famous book by Thomas
Friedman on globalization and next wave of business excellently sums up the
scheme of things to come. Organizations are looking for collaborators anywhere
in the world to create a new economic order–Partnership.

I am tempted to refer to the
famous saying – "Before You Can Multiply, You Must First Learn to
Divide"
If
you dissect, simply share your profits, reduce your costs and increase your
sales. Effectively for the equation Profit (P) = Sale price (S)
minus (-) Costs (C)
,
you are increasing the pie and sharing costs over multiple entities. It means
true financial sense for partnerships and the most effective ‘shared
risk’

model.

If we compare the…

read more

Make sure to visit the author of this post!

Systems Downtime November 2009

Go directly to Source
In an effort to help Partners prepare for a necessary online systems maintenance period occurring over the first weekend in November 2009, Microsoft Dynamics would like to advise Partners in advance regarding the availability of PartnerSource, CustomerSource, My messages, Commerce and Deployed C/Caps by region during this time.  Partners should refer to the table below to see resource availability by region.
Make sure to visit the author of this post!

Order Central Update

Go directly to Source
Microsoft are delighted to advised that following intensive testing we are confident that Order Central,  Microsoft Dynamics new online Ordering and self service system is ready to be rolled out to our Partners over the coming months.  Testing was also conducted by a selection of our Worldwide Partner. The feedback from these Partners has been very positive and they are looking forward to obtaining the benefits from Order Central for their business.
Make sure to visit the author of this post!

How the Business Case, Licensing, and Partner Role Should Influence Microsoft Dynamics AX Selection

Go directly to Source

As we move into the fall, parents
everywhere have just finished the daunting task of getting their kids ready for
the new school year.  Microsoft Dynamics
ERP partners go through a similar process as we get ready to kick-off the "Software
Evaluation Season". After almost 10 years in the channel, I hope
to offer companies seeking a new ERP solution some useful tips when beginning
their evaluation of Microsoft Dynamics AX.

TIP#1
- Begin the evaluation with a business case

I have the unique opportunity to
observe and participate in many ERP evaluations and I am constantly amazed how
many companies begin evaluating software without a business case.  The business case is a living document and
will change as you bec…

read more

Make sure to visit the author of this post!

How the Business Case, Licensing, and Partner Role Should Influence Microsoft Dynamics AX Selection

Go directly to Source

As we move into the fall, parents
everywhere have just finished the daunting task of getting their kids ready for
the new school year.  Microsoft Dynamics
ERP partners go through a similar process as we get ready to kick-off the "Software
Evaluation Season". After almost 10 years in the channel, I hope
to offer companies seeking a new ERP solution some useful tips when beginning
their evaluation of Microsoft Dynamics AX.

TIP#1
- Begin the evaluation with a business case

I have the unique opportunity to
observe and participate in many ERP evaluations and I am constantly amazed how
many companies begin evaluating software without a business case.  The business case is a living document and
will change as you bec…

read more

Make sure to visit the author of this post!

Introducing AX models – Part 1

Go directly to Source


About a milestone ago I announced SQL AOD. Since then it has been quite quiet on my blog – for two reasons 1) I’ve been heads down in new features and 2) I’ve been on paternity leave. Now the completion of M2, the next milestone of AX “6″, is within reach and I’ve returned to my office. This means I can share some more exciting news.


Since the days of AOD files are numbered we need a new vehicle for deploying metadata elements to an AX installation. To address this need we introduce Models. A model is a containment of metadata elements.


To create a model you use the new command line utility AxUtil:


AxUtil create /model:”My Model” /Layer:USR

This will create a new model with the name “My Model” in the USR layer. This new model can be selected in the AX client configuration utility as the default model. When you start AX the status bar will tell you which model you are currently working in – just next to where the current layer is shown. When you make changes in the AOT, like overlayering elements, creating new elements, changing X++ code etc., the resulting elements will automaticaly be contained in your model.


When you have completed all your changes, then your model is complete. In other words it is time to move the model from your developer box to a production system. In AX2009 you would copy your AOD files – with models you need to export it to a physical file. Again you will use AxUtil:


AxUtil export /model:”My Model” /file:MyModel.axmodel

Now you can copy this file to the production system and import it there:


AxUtil import /file:MyModel.axmodel

You can even uninstall it again – if that is what you want. This is semantically the same as deleting an AOD file in AX2009:


AxUtil delete /model:”My Model”

So far I have described the model capabilities that gives parity with AOD files: We have a file based container that can be xcopy deployed and we can delete models again.


From what I’ve described so far models aren’t much different than layers and AOD files. They are; and provide some highly desirable capabilities – which will be the topic of a near-future post – so stay tuned.


This posting is provided “AS IS” with no warranties, and confers no rights.


Make sure to visit the author of this post!

Microsoft Dynamics AX 4.0 and Dynamics AX 2009 are compatible with Microsoft Windows 7 and Microsoft Windows Server 2008 R2

Go directly to Source
The Microsoft Dynamics AX Sustained Engineering team is proud to announce the following compatibility between the released versions of Microsoft Dynamics AX and the Release Candidate of Windows 7 and Windows Server 2008 R2:
Make sure to visit the author of this post!

At Long Last, Microsoft Unveils Its Verticals Strategy for Dynamics AX

Go directly to Source
For several years, Microsoft has been promising Dynamics users and partners vertical solutions–special functionality geared toward particular industries.
Now, it is delivering on the promise, beginning with Dynamics AX customers.
Microsoft announced today four acquisitions of intellectual property designed to provide industry solutions across the verticals of pharmaceuticals, food, retail, manufacturing, and professional services:

US Partner Executive Program News for Microsoft Dynamics – September 2009

Go directly to Source
This newsletter delivers critical program updates for Microsoft Dynamics partners in the US, including activities surrounding the MBS Competency, Microsoft Dynamics partner training and readiness events, partner program updates, resources, recognition opportunities, and much more.
Make sure to visit the author of this post!

Troubleshoot Dynamics AX Performance with SQL Profiler

Go directly to Source

Issue: 
Recently, we had an issue with a production schedule report running in Dynamics AX PROD Environment, which was taking around more than 30-40 mins to display on the screen. The same report used to come in 2 mins or 3 mins time before. This is a critical running report for the business and a performance delay on this report means a huge impact on the business. 
We initially tried with AOS/SQL restart but still this issue used to pop-up every 2 days in a week and since this is a 24 * 7 system, we didn’t have the luxury to do a SQL/AOS Restart as it impacts negatively production hours. 
Mentioned below, are a series of steps which we followed to resolve this issue.
  
Troubleshooting Steps: 
Using Code Profiler (20%)
i. Walk through the code for the report using Code Profiler Tool available in Dynamics AX. This is a handy tool to start with, when debugging performance issues. To know more about Code Profiler, read these links:
http://msdn.microsoft.com/en-us/library/aa499181(AX.10).aspx
http://msdn.microsoft.com/en-us/library/aa637896.aspx
This helped to find out the object methods(standard and customized) ones which were taking the longest duration to execute.
ii. With the aid of code profiler and anlaysing the report code, helped us in the following: 
    – Removed some redundant code from report methods
    – Re-wrote one report method as table methods
   This helped us in achieving 20% + in performance, The rest 80% (the considerable part) of the performance improvement came in form of adding indexes, defragmentation of indexes and updating statistics on  the table (Thanks to SQL Profiler), which is demonstrate in the next steps
Using SQL Profiler (80%)
Using SQL Profiler, helped us in the following:
     - Created missing indexes on some of the AX tables used for the report 
     – Rebuilt and Reorganized some of the indexes
     - Update statistics on the tables used for the report 
To know more about SQL Profiler (Introduction), these links should be handy:
i. Created a new SQL Profiler Trace Template for troubleshooting production schedule report  based on the Duration and Tuning default templates and filtered the report columns for database and Application name as Microsoft Dynamics AX shown below: 
 ii. Adding the filters
  
iii.  Saved the trace to a table to enable troubleshooting on the queries which was taking longer duration. 
iv.  Queried the Trace table to extract long running queries and the table objects associated with it. The below Execution plans show the improvement in queries before and after indexing for each of the tables. 
      Also, to be noted below in the execution plans are the index lookup, Initially the lookup used to be from RID or bookmark lookup, but after indexing, the scan is done using the index lookups which
      overall improves the query performance.
     Below are the 3 table objects, identified by SQL profiler which needed some additional indexes. The below graphical plan can be generated in SQL Query Analyzer by using the Show Estimated Plan (this comes very handy when it comes to understand more from an index point of view, which index is benefitting the query and which is not)
     Custom Table (Before Indexing)    
  
 After Adding Index
SalesLine Table (Before Index) 
SalesLine Table (After Index)
ProdTable (Before Index)

ProdTable (After Index)

In all the above cases, one can see that Estimated cost of the query has come down after adding the required indexes.
Estimated Subtree Cost is generated via the Query Execution plan which tells us the total cost to the query optimizer for executing all the operations within the same subtree. The lower the cost the better for the performance of the query. 
Run Rebuilt and Update Statistics Queries for the following tables: (Initially, run this in your TEST/UAT environment which has a similar data load (mimics to PROD), this will help in analyzing the performance results before running it in PROD.
 
Performance Metrics (Before Adding new index)
Tables Duration (microseconds/seconds) Estimated SubTree Cost
ProdTable 976664/0.97 0.5911
SalesLine 8381053/8.38 10.200
MPRPPCComponents 1158199/1.15 4.8435
Performance Metrics (After Adding new index)
Tables Duration (microseconds/seconds) Estimated SubTree Cost
ProdTable 20439/0.02 0.0038
SalesLine 1104950/1.10 0.7177
MPRPPCComponents 50442/0.05 0.0068
Note – Duration column here is the time taken in microseconds by long running queries in the report which uses these tables. So the lower the duration the better the query efficiency.
Similarly, Estimated Subtree Cost is generated via the Query Execution plan which tells us the total cost to the query optimizer for executing all the operations within the same subtree. The lower the cost the better for the performance of the query.
 Performance metrics (Before & After Index Defragmentation – Rebuilt and Reorganize indexes): 
Before:
Tables
Average Fragmentation on all Indexes
(%)
Salesline
92.68
InventSum
114.29
InventDim
164.04
ProdTable
264.46
InventTable
280.49
MPRPPCComponents
127.50
 After:
Tables
Average Fragmentation on all Indexes
(%)
Salesline
11.22
InventSum
0.61
InventDim
4.42
ProdTable
15.68
InventTable
7.73
MPRPPCComponents
0.52
 Note – Average Fragmentation % here is the fragmentation percentage (out-of-order pages in index or heap). Some additional notes on this – SQL Server automatically maintains indexes whenever insert, update, or delete operations are made to the underlying data. Over time these modifications can cause the information in the index to become scattered in the database (fragmented). Fragmentation exists when indexes have pages in which the logical ordering, based on the key value, does not match the physical ordering inside the data file. Heavily fragmented indexes can degrade query performance and cause your application to respond slowly. 
One can refer SQL Books Online.chm to delve more into Query Execution Plan, Index Fragmentation etc. They have a detailed explanation about each topic. Also, there are very good links to resources on www
To conclude, SQL Server Profiler is a very handy tool which has come to my rescue number of times, when troubleshooting performance issues with Dynamics AX. Also, I would suggest to go through some valuable posts on performance by Brandon  in his blog. There are series of posts which talks about perfromance issues 

Make sure to visit the author of this post!

Next Page »

MCP Logos