FAQ and Known Issues
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);
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.
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.
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 Data Director. This is necessary so that CFront can find values like Boolean, where it is Yes in English but Sí in Spanish, for example. The CFront files that come with Data Director Install are from the English W1 install of NAV.
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
Replicating data between NAV 2009 and older to and from NAV 2013 and newer does not require any different setup than when doing replication between same versions of NAV. DD knows how to handle the differences between the two versions. If the Table and Field names are same between versions, as in 99% of the time they will be, no mapping is needed. Difference in number of fields between versions is not an issue. There is only known table name difference between NAV 3.80 and later versions, and in that case you only need to add that table to Table Design setup and have special table name mapping, fields do not need mapping setup.
Replicate Unicode text from NAV 2013 to 2009
When replicating text other than English, like Chinese or Arabic, between NAV 2013 and 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 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.
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>]
11: Conversion overflows
This error occurs because the number in the Int or Decimal field in this table is too big, or because of wrong 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 valid number. If the number is a decimal number and needs to be this big, then you can change the setting in DD Configuration tool and set the Decimal Fix value to BIG in App Config. BIG setting allows a larger number but only supports 4 decimal places.
12: 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:
<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”