DAX 2012 R3 CU9 Retail database version mismatch and GAC issues

When upgrading the Contoso AX 2012 R3 CU8 to AX 2012 R3 CU9 and then trying to open the ePOS, you might get the following error. “Database version mismatch. You must either apply a Retail POS hotfix or upgrade the Retail POS database

In the event viewer you might see the following:

A TechNet article gave me some indications that the issue was related to the CreateDatabase.dll in the Retail Channel Utility.

My trick to make this work again was to open the installation folder for CU9, and apply the retaildatabaseutility.msp

This upgraded the CreateDatabase.dll to include upgrade to version 6.3.105

When I then re-run the Retail Channel Configuration Utility on the channel database and on the offline database

After successfully upgraded the channel database, when trying to startup the POS, I get the following error; Could not load type ‘Microsoft.Dynamics.Retail.Notification.Contracts.SignatureCaptureConfirmation’ from assembly ‘Microsoft.Dynamics.Retail.Notification.Contracts, Version=6.3.0.0, Culture=neutral..

And the POS screen shows no login, just the following “corrupted” screen.

I raisted a service request to Microsoft, and I got my answer today. It is related to All .NET applications will check first if the required assembly is available in the Global Assembly Cache (GAC) before searchin in the AppBase folder.

If we look at the C:\Windows\Microsoft.Net\assembly\GAC_MSIL we see the following

The date is older than the CU9. Microsoft explained me that this issue occures, because we have a “one-box” installation, and As we didn’t redeploy the Online Store after upgrading to CU9, the old assemblies were still in the GAC, causing the error. This would not come up in a real situation where all components are installed in separated server, but with this being an all in one environment we had this side effect.

The solution is therefore to uninstall the assembly from the GAC.

1. Check that GACUTIL is located at C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools in the VM-image

2. Run the command “gacutil /u Microsoft.dynamics.retail.notifocation.contracts”

You may need to do this for all Microsoft.dynamics.retail.* in the GAC_MIL folder

Then you can start the ePOS as expected J

Thank you Microsoft J

DAX 2009 – Shipping overview, a mirror of arrival overview

Dear AX 2009 customers. You are not forgotten, and Microsoft have support options available until year 2021 J. I wanted to write a blogpost to show that there still happens a lot of local innovation at the customers that are relying on this version of DAX.

Often, when we talk about purchase orders and sales orders, we often refer to them as mirrors. On the transaction level Purchase and sales can be seen as mirror processes, with just the opposite sign. But in standard AX the processes to handle the supply chain can be quite different. The question was therefore if it was possible to also mirror the supply chain processes. Taking the ideas from arrival overview and mirroring it to a shipment overview.

For receiving many reply on the Arrival overview to group together expected receipts and to create arrival journals. The Arrival overview is actually a quite good tool when you learn to use it. For the more the more advanced outbound logistics shipments are used to handle the picking, staging and loading of the goods. A customer came up the suggestion to create a “shipment overview”, but based on the arrival overview. This way the warehouse operator can search across shipments, but also have some volumetric indication of the load that is being released to the warehouse floor.

The arrival overview differs from other screens, because it actually consists of temporary tables that is build based on a query. The same thing happens here. The shipments are loaded on the upper grid, while the picking lines is loaded on the lower grid. There are advanced queries to control the loading of the data. Since it is a temporary table, the fields like address, weights, pallet quantity is real fields on the temporary table. This means that after the result have been fetched, the user can perform additional search and filtering. Like sorting and filtering the shipments in a based on addresses, pallet quantity, weight etc. Also the ability to multi select shipments or lines to be able to move lines between shipments. The screen will mainly be used for inquiry and for activating shipments.

And in relation to performance.. It is acceptable J