Good afternoon everyone,
I would like to raise a question regarding the performance of the FUNSTOR task in Sage X3, especially in environments with a high volume of items and stock movements.
In our case, we have observed that FUNSTOR generates a very high number of reads, largely because many processes start from the ITMMVT and ITMFACILIT tables. In large databases, this leads to a significant performance impact.
As a reference, in our environment, the FUNSTOR process for a single plant can take up to 6 hours, which considerably limits its execution frequency and operational usability.
Additionally, we have identified that in some of these processes, no filters are applied based on item status (for example, inactive or non-relevant items), which may be unnecessarily increasing the volume of processed records.
We would like to know if anyone in the community has implemented measures to reduce this impact, especially in high-load scenarios.
More specifically:
-
Have you applied optimization strategies (indexes, filters, partitioning, archiving, etc.) that significantly improved FUNSTOR performance?
-
Have you modified or extended the standard logic (entry points, custom developments) to limit the volume of processed records?
-
Have you had to make trade-offs between performance and data consistency?
-
What execution frequency do you consider appropriate for FUNSTOR in this type of environment (real-time, multiple times per day, nightly batch, etc.)?
-
In what type of environments do you consider it really necessary or recommended to run this process (data volume, stock criticality, type of activity, etc.)?
We are particularly interested in real-world experiences in production environments and lessons learned.
Any feedback or technical guidance would be greatly appreciated.
Thank you very much in advance.
