29 August 2014

Dataimport/-export Framework DMF / DIXF - broken target entity

The Dataimport/-export Framework is a great tool to get a lot of data into AX. But like most of the nice tools the Feedback is sometimes not as detailed as it could be.

While working on some imports with standard entities I was unable to move data from staging to target.

The infolog showed the well known message that 0 records had been inserted into target. So I started some research. Best hint was the message from the Validation of the target entity which was:

Target XML tags are not generated and hierarchy cannot be found

Die Ziel-XML-Markierungen wurden nicht generiert, und die Hierarchie kann nicht gefunden werden.

So I checked the structure of the entity which was empty. I still don't know how this could happen, but there is an easy way to recreate this structure. The following lines of code will help:


DMFEntity   dmfEntity;

select dmfEntity where dmfEntity.EntityName == "BrokenEntityName";

if (dmfEntity.EntityType == DMFEntityTypes::Entity)
{
    DMFTargetXML::buildQueryDS(dmfEntity);
    DMFTargetXMLToEntityMap::generateMapping(dmfEntity);
}

28 August 2014

Test Data Transfer Tool - TDTT is unable to transfer memo fields

we recently had problems transfering test data from a test to a dev environment using the test data transfer tool. After some research we figured out that the problem occurs when transfering tables that contain memo fields.

the error log is always showing the following BCP Error: "Warning: BCP Import with a format file will convert empty strings in delimited columns to NULL"

Error = [Microsoft][SQL Server Native Client 11.0] Warnung: Beim BCP-Import mit einer Formatdatei werden leere Zeichenfolgen in durch Trennzeichen getrennten Spalten in NULL konvertiert.
After some discussions with Microsoft the actual Statement is that TDTT is still beta and right now it is not supported to transfer tables with Memo fields containing NULL Values.

So we transfered These tables manually with some SQL commands and requested MS to add this functionality in the final Version of the Test Data Transfer Tool.

Please vote for this request on the connect platform:  https://connect.microsoft.com/dynamicssuggestions/feedbackdetail/view/957734

11 August 2014

LCS Diagnostic Tools - Failed to Invoke Diagnostik External Services

I just installed LCS System Diagnotic to get an overview of the functionality provided within the life cycle services. After the Installation process I started Diagnostics Services and got the following error message:
"Failed to Invoke Diagnostic External Services:  Keyset does not exist" or in german:
"Failed to Invoke Diagnostic External Services:  Der Schl├╝sselsatz ist nicht vorhanden"


After some research I found out that this is due to the fact that my service is running with an account which is not within the administrators group.

So I followed these steps to allow the service account to access the certificate;

  1. Start the Microsoft Management Console from the start menu (typing mmc and hitting enter is enough).
  2. Click on File > Add or remove Snap-In
  3. Select Certificates
  4. Click on Add and select “Computer account”
  5. Select “Local Computer”
  6. Click finish
  7. Under Certificates > Personal > Certificates look for the one you created
  8. Right click on the certificate and select All Tasks > Manage Private Keys…
  9. On the Security tab add the service account for the Diagnostics Service and grant full control to it.
  10. Click on accept.
  11. Restart the Diagnostics service.
That's it - Thank you Microsoft!