Description:

The configuration key Sales tax (ledgerbasicSalesTax) has been turned off in the system. When running example the retail statement posting, the performance is very poor.

 The slow response is originated in every call to TaxParameters::find().

When analyzing the sql server queries we see a large number of Temporary table been generated which all take 150-200 msec.

 

 

 

Reason:

By design:

 

We have explained what is happening in this article.

 

http://msdn.microsoft.com/en-us/library/bb314749.aspx

 

TempDB Tables for
Disabled Tables


You can disable a regular
persisted database table by disabling the configuration key
that controls the table. Disabling the key causes the system to automatically
create a TempDB style of temporary table that matches the fields and schema of
the database table. This temporary table exists in the underlying SQL Server
database and is managed by the Application Object Server (AOS).

The purpose of automatically
creating this TempDB table is to enable AOT objects that reference the disabled
table to continue to compile and run. You can read and write to this TempDB
table even though the configuration key is disabled.

All table buffer variables
inherit the methods of the xRecord class. One such
method is setTmp, which creates an InMemory temporary
table that has the same schema as the regular table. However, the setTmp method cannot create an InMemory table from a TempDB
table. You can call the method isTempDb to determine
whether the setTmp method is available.

 

 

Solution:

Turn it on again.

In the example with sales tax use a tax percentage of 0,00% instead

 

 

 

Author: Kim Truelsen

Date: 25/11-2013