Contents tagged with Speed up

  • How to add parallelism to Shipments creation in Acumatica

    Hello everybody,

    Today I want to leave short note on new feature of Acumatica: ParallelProcessingOptions. Main purpose of that class is adding paralelism to processing screens. Take a look on it's declaration:

    public abstract class PXProcessingBase<Table> : PXSelectBase<Table>, IPXProcessing, IPXProcessingWithCustomDelegate where Table : class, IBqlTable, new()

     {

       . .  .

       public System.Action<PXParallelProcessingOptions> ParallelProcessingOptions;

       . .

    }

    As you can see, ParallelProcessingOptions is a member of PXProcessingBase, while PXProcessingBase is a parent for PXProcessing. For Acumatica developers it means that starting from 2018 R2 you can easily turn on parallel … more

  • Improve performance of grouping operations in Acumatica

    Hello everybody,

    today I want to write a note about interesting case I faced recently. 

    I was asked to load from Acumatica database Sales orders joined with PO Receipts by inventory, but I had one issue. It was needed to join only by latest PO Receipt, not by allo PO Receipts. In other words it was needed to take only one element of each group. 

    As usually such kind of implementation is done with help of overloading delegate, which loads all data from SQL Server into memory and then does grouping operaions in memory. Such approach is workable on relatively small cases, but if database of customer 

    is around 130 Gb, then we faced timeout issue. 

    How to deal with it. 

    After some trial … more