Issue description
On specific forms (often sales or purchasing documents) it can take several seconds to perform actions. This happens especially on line operations and copying one document to another (e.g. a sales quotation to a sales order). The performance issues are only recognizable when coresuite is running.
Troubleshooting steps/tips
coresuite itself slows down the performance of SAP Business One a bit, caused by the fact that coresuite connects to the SAP Business One UI SDK/API. Even if it catches the events and does nothing with it, it slows down a little bit the performance. This is a problem of the design of the SAP Business One UI SDK/API.
The described behaviour causes partly the perfomance issue you might figure. The main cause are SAP Business One formatted searches on document line level which are automatically triggered. As soon the lines are added or modified the formatted searches are triggered. The formatted searches trigger again UI events which are catched by the AddOns. This itself wouldn't be a problem. The issue starts there that this events are not fired once, the same events are fired multiple times (can be checked with the SAP EventListener, can be up to thousands of events). This again a design mistake in the SAP Business One UI SDK/API. SAP decided not to change this behaviour as they do not want to risk that configured functionality could not work anymore.
Is my system affected?
To figure out if your system is affected, run the query below. It shows all automatically triggered fromatted searches on a specified form and item (please adjust the parameters T0.FormID and T0.ItemID). If the query returns any results, your system is affected with the described behaviour.
SQL
SELECT
T0.FormID,
T0.ItemID,
T0.ColID,
CASE T0.ActionT
WHEN '0' THEN 'Without Search in User-Defined Values'
WHEN '1' THEN 'Search in Existing User-Defined Values'
WHEN '2' THEN 'Search in Existing User-Defined Values According to Saved Query'
ELSE ' '
END AS 'ActionT',
CASE T0.Refresh
WHEN 'Y' THEN 'Autorefresh'
WHEN 'N' THEN 'Use Shift+F2'
ELSE ' '
END AS 'Refresh',
CASE T0.FrceRfrsh
WHEN 'Y' THEN 'Refresh Regularly'
WHEN 'N' THEN 'Display Saved User-Defined Values'
ELSE ' '
END AS 'FrceRfrsh',
CASE T0.ByField
WHEN 'Y' THEN 'When Field Changes'
WHEN 'N' THEN 'When Exiting Altered Column'
ELSE ' '
END AS 'ByField',
T0.FieldID
FROM [CSHS] T0
WHERE T0.Refresh = 'Y'
AND T0.ByField = 'N'
AND T0.FormID = '139' /*sales order*/
AND T0.ItemID = '38' /*item matrix on document form*/
HANA
SELECT T0."FormID",
T0."ItemID",
T0."ColID",
CASE T0."ActionT"
WHEN '0' THEN 'Without Search in User-Defined Values'
WHEN '1' THEN 'Search in Existing User-Defined Values'
WHEN '2' THEN 'Search in Existing User-Defined Values According to Saved Query'
ELSE ' '
END AS "ActionT",
CASE T0."Refresh"
WHEN 'Y' THEN 'Autorefresh'
WHEN 'N' THEN 'Use Shift+F2'
ELSE ' '
END AS "Refresh",
CASE T0."FrceRfrsh"
WHEN 'Y' THEN 'Refresh Regularly'
WHEN 'N' THEN 'Display Saved User-Defined Values'
ELSE ' '
END AS "FrceRfrsh",
CASE T0."ByField"
WHEN 'Y' THEN 'When Field Changes'
WHEN 'N' THEN 'When Exiting Altered Column'
ELSE ' '
END AS "ByField",
T0."FieldID"
FROM "CSHS" T0
WHERE T0."Refresh" = 'Y'
AND T0."ByField" = 'N'
AND T0."FormID" = '139' /*sales order*/
AND T0."ItemID" = '38' /*item matrix on document form*/
What to do if my system is affected?
There is no other option as to remove the formatted searches which are triggered automatically and are related to the lines from the form. This searches can be replaced by coresuite customize functions.
Comments
0 comments
Article is closed for comments.