Microsoft Dynamics AX

Axapta

AX database tuning and maintenance – How to keep it healthy

It is very crucial for your environment to audit, evaluate, then carry out an AX database tuning and maintenance task regularly in order to keep Microsoft Dynamics AX in a good shape.

There are many areas which are frequently being overlooked by partners and customers, for which Bertrand from the Microsoft PFE team has written an excellent summary that you should read here:

https://blogs.msdn.microsoft.com/axinthefield/top-10-issues-discovered-from-dynamics-ax-health-check/.

Many of these configurations are very important to keep your environment healthy from day 1. Often overlooked settings include for example the Index fill factor. It causes fragmentation as records are getting created and updated in your database, resulting in slower statement execution times and even timeouts, which is very bad and has been discussed in this post:

If you’ve got very large DBs like we have, you could be safe with setting 90% then doing an index rebuild to not bloat your DB size by too much. Other than that the MS recommendation is between 80-95%.

Having the correct SQL Trace Flags are also equally important, you could read about them again on the PFE blog. We are running 1117, 1118, 1224, 2371 and 4199. Also it is recommended to use the dataAreaIdLiteral AX setting if you have a multi-company environment, to avoid parameter sniffing.

(more…)

By |2017-09-12T07:46:44+02:00May 11th, 2016|Categories: AX 2012|Tags: , , , , , , , |1 Comment

Table Delete actions in code compare window

I am sure all fellow developers have faced the frustrating problem of not being able to insert certain objects when importing an XPO or comparing different models, layers. Today I will show you how can you insert the Table Delete actions in code compare window for AX 2012 R3.

Modify \Classes\SysTreeNode\mergeInsertSubnode method in the AOT as per below:

(more…)

By |2016-03-30T15:24:06+02:00March 30th, 2016|Categories: AX 2012|Tags: , , , , , , |3 Comments

Modified objects between two AX 2012 databases

In case if you were wondering what are the modified objects between two AX 2012 databases (renamed, or deleted entries based on OriginId), we could use the Linked Server feature of Microsoft SQL Server to find out.

Our scenario was an AX 2012 RTM Feature Pack installation that is being upgraded to R3 version, and we wanted to find out which objects have been renamed or removed (either DEL_ prefix, or complete deletion) between the two instances with my colleague, Peter Prokopecz.

The solution was to open SSMS and under Server Objects > Linked Servers add a connection for the other SQL instance, then we could use the queries below to find out which are the modified objects between two AX 2012 databases of any versions.

(more…)

By |2016-03-14T11:00:11+01:00March 14th, 2016|Categories: AX 2012|Tags: , , , |1 Comment

Technical Conference Day 2

As the day is passing by more details are being revealed on the Technical Conference break-out sessions. Here is a summary of the keynote and some topics for Solution architects and Developers:

  • Various models will be available for deploying AX. Current version is the Ready-To-Web release, which is in line with Microsoft’s Cloud First strategy for brand new implementations. Later on Azure Private Cloud deployments will be the next step down the ladder, after which the On-premise deployments will follow. This needs to be synchronized with other technologies to be available, namely Windows Server 2016, SQL Server 2016 and Azure Stack on-prem
  • The main goals with the Cloud First strategy are to offload responsibilities from Partners for infrastructure sizing and maintenance, application platform patching and seamless deployment of new functionality, and lastly sealing down modules to make it more configuration-based rather than doing bespoke changes to go for an SaaS structure
  • Form styles are now referred as Patterns and they became mandatory. The number of pattern templates have been greatly increased, and they fall into the categories of Form Pattern (top level) and Subpattern (lower levels). Special cases are supported as Custom Patterns, however the performance, responsiveness and upgradeability are up to the implementor
  • A developer box now requires minimum 16 GB of RAM due to the highly optimized compiler (xppc), which can do a full compilation including cross-reference updates in 9 minutes on a VM which meets the system requirements
  • The X++ Language Toolkit (XLNT) is completely rewritten in C#, and produces native MSIL managed code that executes server-side. The source code is now stored in a file structure using XML format
  • Ignorelist could be used to partly skip code with problems during the migration, to be able to generate the assembly for the pieces that can compile and are ready for testing
  • Packages/models are now making the traditional layering obsolete, we could think of it like there are unlimited number of layers
  • The overlayed code only stores a differential delta compared to the model below, and layering is now much granular (i.e. Form datasources are no longer a single object that we cannot even compare)
  • Code changed on the Application suite or any other models flag them for code conflict, which we could merge in Visual Studio very intuitively
  • xRef is now sitting in it’s own database
  • Different Best Practice rules could be applied per model, and they could also be extended with our own rules
  • A lot of interesting features came in from the .Net framework, just to name a few: variable declaration without type using VAR keyword, CONST and READONLY keywords for static variables, access restrictions on variables using PUBLIC/PRIVATE/PROTECTED, THIS.method/variable calls for clarifying scope, TRY-CATCH-FINALLY, USING statements and clauses, _Extension methods, code-based and declarative event handlers

Many points above are already available on the AX wiki, here is an overview for the development environment feature changes:

https://ax.help.dynamics.com/en/wiki/using-new-x-and-debugger-features-in-ax7/

By |2016-02-25T16:43:36+01:00February 25th, 2016|Categories: AX 7|Tags: , |1 Comment

Technical Conference Day 1

Just a day before kicking off the Microsoft Dynamics AX Technical Conference AX 7 has matured to RTW stage and has finally been shipped. During the Keynote session Dan Brown and Sri Srinivasan has revealed a couple of interesting topics, which later on will get expanded in the various breakout session.

Here is a quick re-cap for Day 1 for the sessions I have been able to attend:

  • Business Process Transformation and Business Process Platform are now the key phrases to memorize when we want to summarize what the changes are about for AX 7, where Azure cloud is acting as Platform as a Service (PaaS) to host the whole VM package including SQL Server
  • AX will not just be an ERP, but will be the foundation core of many components within the Microsoft stack, eventually becoming a Software as a Service (SaaS) model with modules being sealed and becoming more stand-alone
  • A continuous release- and hotfix model will be used from now on, with having an Update 1 and Update 2 package released later in 2016
  • The User Interface (UI) and User Experience (UX) are now very customizable which are referred as Workspaces and Personas for a 360-degree view of individual business areas and processes, where the user can create and arrange their frequently used areas as Tiles, Tabs and Lists (grids) either in their own workspace, or on the standard dashboard
  • Global search functionality is available to find data, or specific AX functionality within the current screen context
  • The UI has a responsive design which resizes automatically to the available window space and even utilizes zooming within the browser window
  • Help is pulling context-sensitive, relevant information from the Wiki page and Knowledgebase
  • AX Entity Store will be a new technology which provides a better interface for external connectivity, i.e. PowerBI can feed from this source where we could use natural language queries to pull data back and render it on a dynamically filtered chart
  • The LifeCycle Services Business Process Modeler (BPM) has been considerably extended functionality-wise. We can now attach a Task guide created by the Task recorder tool against a BPM node. Also Visual Studio is able to integrate and attach development projects against a specific Business Process, to structure coding more intelligently
  • The Task guide can be exported into an XML file, which we could use to generate a Test script code in Visual Studio utilizing the SysTest framework with automatically generating the test case for a developer. If we include that in a Version Control check-in, the Build process will automatically pick it up and run the test case against the modified codebase and flag up the success or failure within the build log according to the outcome
  • Visual Studio Team Services (VSTS) is now the foundation for tracking development progress, and utilizes many of the additional features through LCS, for example Gated check-ins and Code review features with shelvesets

Very exciting changes and improvements indeed. Tune in for more later today in the Technical Conference Day 2 article.

By |2016-02-25T07:26:31+01:00February 24th, 2016|Categories: AX 7|Tags: , |2 Comments
Go to Top