Sometimes, in Sage X3, the error “Calculation capacity exceeded” appears in a function where a customization was added. The error message is not descriptive, but analyzing the subsequent error messages makes it possible to identify the line of code causing the problem.
Here's what you do when you see the calculation capacity exceeded error in Sage X3.
Background
When we first saw this error, we thought the calculation-capacity-exceeded error was a memory issue in the folder setup, but there was enough free memory available for the Enterprise Management session. We then thought it was a data issue, such as incorrect characters, but after running different SQL scripts, we couldn’t identify any unexpected characters.
Finally, we realized it was a data conversion problem.
We were also initially confused because the customization worked fine for almost a year; after finding the cause of the problem, we can tell that it didn’t occur before because no invoice had ever had more than 32 lines.
This error is related to issues with data type conversion. When a larger value is assigned to a variable with a smaller type, the system displays the “Calculation capacity exceeded” error.
|
|
The line above was crashing the logic because the table has values bigger than integer. Shortint à -32768 to +32767
|
|
In our case, when an invoice has more than 32 lines and the next line ID is 33000, the object can’t handle it because it’s declared as an integer. |
Contact Us to Request a Sage X3 Demo
Solution
There was a view with incorrect data types for the lines; changing the data type from C to L fixed the problem.
We spent more time than we would have liked digging down to find the cause of this error, and we hope we’ve saved some of your time with this blog. For more questions about the particular error or about Sage X3 in general, please contact us.
Talk to Us About Sage Software Support