28 January 2015

DIXF crashs when using SQL Server 2012 SP2

Today I was asked how to solve the problem of service crashes of the data import export framework service in an environment that is running SQL Server 2012 SP2.
We had this issue some month ago at a customer who updated the SQL Server according to his regular update plan. Suddenly we were not able to import data with the DIXF anymore. The solution to this issue is the cumulative update CU2 for SQL Server 2012 (http://support.microsoft.com/kb/2983175).

Microsoft announcend the compatibility to SQL Server 2012 SP2 CU2 or higher in the following blog post:
  • Microsoft SQL Server 2012 SP2 CU2 or later with Microsoft Dynamics AX 2012 R3, Dynamics AX 2012 R2 CU7 and Dynamics AX 2012 CU7

27 January 2015

Copy Company is back :)

Thanks to Munib who has reimplemented a copy company function based on the way it was done back in AX 2009. He made it available on codeplex so that we all can test it: https://dax2012copycompany.codeplex.com/
Have fun with it but keep in mind that deleting a company can also lead to problems :)

21 January 2015

AX 2012 R2 SSAS: Process Production Cube error 22007

If you cannot process the Production cube and get the following error:

OLE DB-Fehler: OLE DB- oder ODBC-Fehler : Warnung: Ein NULL-Wert wird durch einen Aggregat- oder sonstigen SET-Vorgang gelöscht.; 01003; Bei der Konvertierung eines nvarchar-Datentyps in einen datetime-Datentyp liegt der Wert außerhalb des gültigen Bereichs.; 22007.

OLE DB or ODBC error: Warning: Null value is eliminated by an aggregate or other SET operation.; 01003; The conversion of a nvarchar data type to a datetime data type resulted in an out-of-range value.; 22007.

This error occurs when your language != English

You should check the method daysDelayed in the ProductionTableExtended View:
It should not use the date2StgrUsr() method!

str todayDate = SysComputedColumn::comparisonLiteral(date2StrUsr(today(), DateFlags::None));
str todayDate = SysComputedColumn::comparisonLiteral(date2str(today(), 321,
DateSeparator::Hyphen, DateMonth::Digits2,
DateSeparator::Hyphen, DateYear::Digits4,

Check - KB 2859489 - Cannot process the Production cube

If that does not help replace Hyphen with None

str todayDate = SysComputedColumn::comparisonLiteral(date2str(today(), 321,
DateDay::Digits2, DateSeparator::None, DateMonth::Digits2,
DateSeparator::None, DateYear::Digits4,

19 January 2015

Check your Business Connector Configuration

Lately I had the following error in the eventlog of the SSRS Server. After several checks I found out that this missleading error message was produced by a business connector call to an AX environment that was no longer up and running.
After changing the business connector configuration everything is working fine again.


Protokollname: Application
Quelle:        Microsoft Dynamics AX Enterprise Portal
Datum:         24.12.2014 14:48:45
Ereignis-ID:   1000
Ebene:         Fehler
Benutzer:      Nicht zutreffend
Computer:      abc.defg
Beim Anmelden am Server durch Benutzer abc.defg\ABCDEFG ist ein Fehler aufgetreten, als der Dynamics-Adapter LogonAs von Prozess 'ReportingServicesService' und Threadkennung '26' verwendet wurde.
The server is unavailable. Microsoft Dynamics will try to connect to other servers in your configuration.
   bei Microsoft.Dynamics.AX.ManagedInterop.Session.LogonAs(String user, String domain, NetworkCredential bcProxyCredentials, String company, String language, String objectServer, String configuration, String tenant)
   bei Microsoft.Dynamics.Framework.BusinessConnector.Session.DynamicsAdapter.LogonAs(String user, String domain, NetworkCredential bcProxyCredentials, String company, String language, String objectServer, String configuration, String partitionKey)