FAQ and Known Issues

How to activate File Debug Logging

  1. Open the DD Configuration Tool.
  2. Go to the Debugging tab.
  3. For DD Processing Logging, click the Get Config button, type 15 in the Startup Level box for Router, Database, and DD Old, click the Send Config button or Restart DD. The log files will appear under Log folder in the Data Folder (see Base Config tab).
  4. For errors that show up in NAV, like connection problems or a Scheduler job error, type 15 in the Client Control field. Restart NAV Client/NAS Service. The log files will appear under Log folder in Data Folder (See Base Config tab). For NAV Client you may need to run it As Administrator for logging to work.

How to activate Live Debug Logging

  1. Open the DD Configuration Tool.
  2. Go to the Debugging tab.
  3. For DD Processing Logging, click the Open button next to the Startup Level box for Router, Database, or DD Old, depending on what you want to debug. A new window opens for each process, and to connect to Debugging stream click Connect.
  4. To see detailed debugging, select Detail L1 and/or Detail L2.
  5. To see if the process is locked and not doing anything, select Tick, which will show a lot of status messages on the current process for five seconds, if the DD process is in middle of doing something or waiting for something.

How to check Job Queue status and frozen processing status

  1. Open the DD Configuration Tool.
  2. Go to the Debugging tab.
  3. Click the Queue button.
  4. The Queue status window opens showing the status of all active queues. Open the Queue to see detailed information.
  5. Check the Waiting status: if it is True, that means the queue is waiting for result status from job processing. If DD seems to be frozen and nothing is happening, click the Reset button.
  6. To see the first job in the queue and the one that is causing the error, click the Show 1st Pk button and it will display the Guid and job ID for the job. You can use this to look up information about the job in the log files to see what happened during the job processing and why DD stopped.

Read field design return: The length of the string is x but it must be less than or equal to y characters

If reading from BC 23 or later use the latest version of DD. There is also a BC system table, Published Application, that has one field named Resource Exposure Policy Applicable To Dev Extension that is longer than 50 chars. Just exclude that table when reading field design.

Text replicates with strange characters or Chinese letters

This is caused by different versions of DD running on two hosts. First, update DD to the latest version on both ends. Make sure that Add-ins DD DLLs files that LS Nav or LS Central uses are also the latest version. You can find those four DLLs in the bin folder where DD is installed and you can copy them from there to update Add-ins, if they are not the same or the latest version.

NAV client or POS do not see the data unless restarted

When DD sends data to NAV 2013, it inserts the data directly into the SQL Database, so in some cases the NAV Client is still working on the old data set and does not see the updated data unless it is restarted.

You can solve this by adding the command SELECTLATESTVERSION into the NAV Code to instruct it to read new data to the buffer. This is not an issue with NAV 2013 R2 or later.

Conversion overflows

This error occurs because the number in the Int or Decimal field in this table is too big, or because of incorrect Field mapping types. If you look at the DD debug log for Database process, you may also see which record DD stops on. The most common case is a barcode that has been scanned into the Qty field. Find the record and fix the value to a valid number. If the number is a decimal number and needs to be this big, you can change the setting in the DD Configuration tool and set the Decimal Fix value to BIG in App Config. The BIG setting allows a larger number but only supports four decimal places.

Cannot Query Data from Table: xxx >> Exception of type 'System.OutOfMemoryException' was thrown

This may show up when using a Linked table job and the amount of data to be replicated is extremely large or the table includes a blob field with large data. The way DD works with linked table is that it must load the main table data to memory to process the linked tables, and in this case the main table data is too large for the computer memory.

You can fix this either by excluding the blob field or by splitting the job into separate sub jobs, and not use a linked table job. Linked table jobs are only useful for smaller jobs using replication counter.

Moving Data Folder to a different location

Type the new path in the Data Folder field. Restart DD. Upload the DD license file again. DD will use the new folder to store Work, Temp, and Log files in the new location. If you have unprocessed jobs in the Work folder, move the files to the new location before starting DD Service.

Note: The configuration file will still be located in the default location, it is not moved, so do not delete the default folder and the configuration file. You can delete other folders, like work, log, cfront, and archive from the default location.

Rename host where DD is running

To let DD pick up the new host name, you can do the following:

  • Uninstall DD, install again or shut down DD and delete the lsretail.config file in the Work folder (the configuration file for DD). Then start DD again and do necessary adjustments, if any.

You may also need to delete the files used for Configuration Tool and Job Monitor in these folders:

  • \Users\<user>\AppData\Roaming\LSRetail
  • \Users\<user>\AppData\Local\LS_Retail

Timeout expired when running job on SQL Server

If the database process it is taking very long on the SQL server, the error Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding may be displayed. This is SQL Timeout, and you can adjust this in LS NAV 2013 by setting the DD Timeout value or by adding to the Connection String: Connect Timeout=xxx;

Replicate between NAV 2009 and 2013/BC

Replicating data between NAV 2009 and older to and from LS Central 2013 and newer does not require any different setup than when doing replication between same versions of LS Nav/LS Central till version 17.5. DD knows how to handle the differences between the two versions. If the Table and Field names are the same between versions, as in most cases before version 17.5, no mapping is needed. Difference in number of fields between versions is not an issue (see more in How to: Replicate Between Different NAV / BC Versions).

Replicate between LS Central versions prior to 17.5 and after

Table names changed in version 17.5. A prefix was added to the table name and in some cases to field names. Because of this, long table names had to be renamed, and therefore it was impossible to do automatic mapping between those two versions. To Replicating data between those versions, read the Table design only for the remote location where Scheduler is running (remote means the other destination / source where Scheduler will send / pull data from). Only for standard tables (Microsoft tables) it may be necessary to read the field design if there are fields within those tables with Ext on the name. For tables with Extension in their name, it is usually not necessary to read the fields, as they should be the same between versions. In Sub Job setup, do mapping between the tables and fields, if needed (see more in How to: Replicate Between Different NAV / BC Versions).

Replicate Unicode text from 2013/BC to NAV 2009

When replicating text other than English, for example Chinese or Arabic, between LS Central 2013 and NAV 2009, the text must be converted from Unicode (2013) text to Double byte (2009) text. If the operating system's code page is set to the same as the Collation or Code page of the SQL Database, this should work using |ms| mode in the connection string, and the text should show up correctly both in SQL and NAV Client.

If the Collation is set to Latin and the Code page of the OS is other than 1252, you will run into problems and get “????” instead of the text. The workaround is to use the CFront mode |fin| in the connection string for the NAV 2009 location, and then the text should appear correctly in the NAV Client, even if it is not shown correctly in the SQL Database or in SQL Manager.

It is possible to override the default Codeunit used when working with SQL Database by setting the CP=xxxx value into the Additional Parameters field in the NAV Scheduler Job setup. A detail of what code pages DD is using can be seen by activating Database debug with Detail Level L1 & L2.

DD License file is invalid

If you have an older version of the DD License file, you need an updated file. To check if your file is an older version or not, open it with Notepad, and if it starts with DD_LIC you have an older file. If, however, if it starts with DD_LIC1 you have a newer file and it should work with DD3.

Error: Dynamic NAV Developer client is not installed, but it is ...

DD 3.2.16 has a fixed path for the NAV 2013 Developer client, so if you are running the newer 2013 R2 or later, DD may come up with this error. There is a workaround to fix this, but a later version of DD will also have a fix for this.

Add Registry key:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Dynamics NAV\70\RoleTailored Client
Value: Path=

You will have this value under different version folders, for example 71, but DD 3.2.16 or older only looks under version 70 for the path.

Date value is off by a day when sending data with TS

If Date value is off by a day (ahead or behind), modify the codeunits: 99008908 & 99008920 function: AddValuesGeneric change thecCode for 'Date' to:

'Date':
BEGIN
tmpDate := FldRef.VALUE;
DataClient3.SetAsString(BOUtil.STDDateToString(tmpDate)) //LS7.1-03
END;

Note: The code appears twice within the function. Change both sections to the same code.

After Installing DD 3.2.8 or later, Nav gives error message when running job

The registration process of the TransAutomClient changed for support with NAV 2013, and it may cause an error when running codeunits that point to the older DD3 client control.

Uninstall older DD, clear the Registry of any trace of TransAutomClient entry (delete the key that includes the entry), and then install DD again.

Check if the DataClient variable in NAV Codeunit Global Variables is pointing to TransAutomClient 3.2 and does not show Unknown Automation Server.TransAutomClient

LS NAV Codeunits that need to be validated are:

  • 99001474 Data Distribution v3.0
  • 99001475 Distribute FOB Objects v3.0
  • 99001476 Data Director Utils v3.0
  • 99008920 POS Data Client Utility v3.0

Data Director hangs, and does not process jobs or always shows Error

First, upgrade to the latest DD version from the LS Retail Portal (Latest Version).

Note: Access to the Portal requires login. If upgrading does not help, activate debugging and catch the error and see if it is something that points out what could be wrong. If not, send the logs to LS Retail Support. Any DD version older than 3.2.22 should be upgraded to the latest version, if you experience strange errors or behavior.

DD fails to start up after upgrading from 3.2.12 or older

The configuration file may be out of date and missing necessary data for DD to start. In the DD Configuration Tool, click Get Config for the DD Host, then click Send Config. This will update the configuration file to the latest version without overriding any modifications that have been done to it. If you want fresh configuration files with default settings, go to the System Config tab and click the Reset Config button.

Error 12305

Error 12305 is a general error for communication. To find out what is going on, open the Configuration Tool, go to the Debug tab, open the Debug on the DD Old and Router applications, and connect to it. You will see a more detailed error log there why the DD cannot process the request. See the Manual for information on using the DD3 TransAutomClient that can display the real error message to the NAV Client.

Error 12306

Error 12306 is a general error from the Database processing. To find out what is going on, open the Configuration Tool, go to the Debug tab, open the Debug on the Database application, and connect to it. You will see a more detailed error log there why the DD cannot process the request. See the Manual for information on using the DD3 TransAutomClient that can display the real error message to the NAV Client.

Null Data, Wrong Field Type or Wrong DateTime when replicating NAV 2013

Use DD 3.2.16 or newer. Do not do any field mapping or if you have, check if Field types are the same on both fields. Check the connection string that it has plugin version parameter |ms|nav7xx.

A Call to TransAutomClient failed because object type cannot be converted or Cannot create an instance of the following .NET Framework object: assembly TransAutomClient

If the DD DLL cannot be found or if there is a convert error, there is a mismatch in DD DLLs version or they are missing in the Add-ins folders.

You can run the DD installation again and select the insert Add-ins files check boxes, or copy the DLL from the running DD bin folder and replace all files in all Add-ins folders, both for Role Tailor Client and Service Tier. Do this for all locations where DD DLL files are used, like Scheduler service, service tiers, and client hosts.

The DD DLLs that are needed are:

  • DDConfigClient.dll
  • LSRetail.DD.Common.Data.dll
  • LSRetail.DD.Common.dll
  • TransAutomClient.dll.

For LS Nav it may be necessary to import again all the codeunits that use the TransAutomClient.dll and recompile them. The codeunits can be found under the Objects\TXT folder in the LS Retail Nav release package.

LS NAV codeunits that need to be validated are:

  • 99001474 Data Distribution v3.0
  • 99001475 Distribute FOB Objects v3.0
  • 99001476 Data Director Utils v3.0
  • 99008920 POS Data Client Utility v3.0

DD is holding up user sessions on NAV Database

When DD is used for Transaction request, like from POS, it may take up a lot of sessions if there are many requests coming in at same time. To release the session, set the Timeout value under App Data for Database connection to timeout after one minute. Also use the latest version of DD as there may have been some fixes done to help release the session, if it gets locked for a long time.

NAV 2013 cannot create an instance of the following…

If you get this error: "This message is for C/AL programmers: Cannot create an instance of the following .NET Framework object:” when doing Test Connection or running a Job in NAV 2013 and later, you are missing the DD Client files in the NAV Add-ins folders. When installing DD, check the “Install DD Client files for NAV 2013 xx”. If you still get this error, then you can manually copy the files to the Add-ins folders, both for the NAV Service and NAV Role-Tailor Client. The files can be found in the DD bin installation folder and these are the files that need to be copied:

  • LSRetail.DD.Common.dll
  • LSRetail.DD.Common.Data.dll
  • TransAutomClient.dll
  • DDConfigClient.dll

FOB Import with Service Tier or Multi-Tenant

Importing FOB object to Dynamic NAV 2013 and later in multi-server tier/tenant environment requires extra parameters in the connection string, to include which service tier you need to connect to when compiling fob objects. The new parameters are:

;navsrv=xxx; navinst=xxx; navport=7045; navten=xxx;

Which will set these parameters for finsql:

[navservername=<server name>,] [navserverinstance=<instance>,] [navservermanagementport=<port>,] [tenant=<tenant ID>]

NAV in languages other than English

If you are running NAV in a different language than English, you need to copy the fin.etx and fin.stx files from the language folder where the NAV Client is installed to the correct CFront folder for DD. This is necessary so that CFront can find values like Boolean, where it is Yes in English but in Spanish, for example. The CFront files that come with DD Install are from the English W1 install of NAV.

DD looks for wrong version of AX DLL

DD is set to use version 6.3.0.0 of Business Connector DLL for AX (2012R3). If a newer version is in place, you can change this via the dddatabase.exe.config file that is located in the DD\bin folder. Add this section to the file:

Copy
<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
            <assemblyIdentity name="Microsoft.Dynamics.BusinessConnectorNet" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
            <bindingRedirect oldVersion="6.3.0.0" newVersion="6.4.0.0"/>
        </dependentAssembly>
    </assemblyBinding>
</runtime>

Extension table replication fails with Connection property has not been initialized

"Error when execute Query for Table: Company$Item >> Prepare: Connection property has not been initialized."

This error is most likely due to a mismatch in records between the Main Table data and Extension table data. DD assumes that if a record needs to be updated in the main table, DD will only try to update the record in the Extension table. Same goes for insert.

Exception has been thrown by the target of an invocation

If this error comes up while DD is trying to move files or compress a data file, the solution could be settings in this Security Policy on the host where DD is running:

Administrative Tools > Local Security Policy > Local Policies > Security Options >

“System cryptography: Use FIPS compliant algorithms for encryption, hashing and signing”

Empty path name is not legal

When running job mixed with Action jobs, Normal jobs, with or without Replication counters, the Scheduler may pop up with this error and not be able to run the job. This happens using CU 99001474 in LS Nav 7.00.3 and earlier. To fix this change the CU 99001474.

Function: OnAfterReadReplCounters() : Boolean
DataClient.Disconnect;
Initialized := FALSE; -add this line
EXIT(TRUE);