11 September 2014

SSRS Report Error: Parameter FormLetterRecordId does not exist on this Report

When you see this error "Parameter FormLetterRecordId does not exist on this Report" when trying to open an SSRS Report then you should check the corresponding TMP Tables for the Report. These DataProvider tables are normally temp tables and should not contain data. In my case in the VendInvoiceDocumentTMP where still two records left which created this message. Deleting these records solved the Problem for me ;)

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!

05 June 2014

SSRS Report Pro-upgrade remaining accruals is empty

When opening the SSRS report Accounts Payable \ Reports \ Purchase Orders \ Pro-upgrade remaining accruals (in German: Restabgrenzung von vor der Aktualisierung) I was wondering why there is no data shown on that Report.
So I tried to find out what the use of this report is. It is only populated with data if you do a data upgrade from AX 4.0 to AX 2012 with open purchase orders that are not yet invoiced. These will be schown within that report. Once all the purchase orders that were received not yet invoice in AX 4.0 get finally invoiced in AX 2012 the report is obsolete. 

20 May 2014

TDTT - Test Data Transfer Tool - Part 2

To just exprot some tables from AX 2012 navigate to the [lists] folder of the test data transfer tool and open one of the exclude files. Add the following regular expression

.*(?<!^InventTable)

This will exclude all tables except the one defined wthin the brackets. If you want to add more tables just add them in the following way

.*(?<!^InventTable)(?<!^VendTable)(?<!^CustTable)

or use regular expresseions within the brackets

.*(?<!^SysVersion.*)

16 May 2014

TDTT - Test Data Transfer Tool - Part1

The test data transfer tool is a good way to move test data from one environment to another. Always keep in mind that it transfers data from all companies. Always backup the target environment cause the import deletes all the records in tables that are part of the import.

The generall process is done in two steps. Export data from source environment and import data into target environment.

Export data from source environment

The procedure for exporting data consists of these general steps:

  1. Generate a Metadata.xml file. (This can be done on every machine running an AX 2012 R2 Client)
    1. Import the MetadataXMLGenerator.xpo into the environment where you want to export data from.
    2. After the import is done open the aot and run the job. This will take some time. After two cups of coffee you'll get an infolog with the path where the Manifext.xml is stored.
    3. Copy the generated Manifest.xml into the [Lists] folder of the test data transfer tool C:\Program Files(x86)\Microsoft Dynamics AX 2012 Test Data Transfer Tool (Beta)\[Lists]
  2. Determine which data to export (This must be done on the SQL Server)
    Check the Exclude….txt files to define what tables will be exported.
  3.  Run the tool (This must be done on the SQL Server)
    1. Open a command prompt.   
    2. Change directory
      cd "c:\Program Files (x86)\Microsoft Dynamics AX 2012 Test Data Transfer Tool (Beta)
    3. DP.exe Export E:\Temp\TDTT20140102 AX2012R2CU7_TEST
      DP.exe Export "folder" "db"
      This will also take 10 to 15 minutes depending on the performance of the SQL Server.
Import data into target Environment
  1. Run the tool (This must be done on the SQL Server)
    1. Open a command prompt.   
    2. Change directory
      cd "c:\Program Files (x86)\Microsoft Dynamics AX 2012 Test Data Transfer Tool (Beta)
    3. DP.exe Import E:\Temp\TDTT20140102 AX2012R2CU7_DEV
      DP.exe Import "folder" "db"