invokeBatchSerially Method

Performs multiple batch operations (one after another) on a set of records.

It executes a number of Integration Procedures-based batch jobs in succession. It also supports the pre and post-processing steps on every batch.

For example, you could use it for various group-level (Quote/Order Group) actions to perform different sequential batch jobs on a set of quotes and orders.

  1. Validate and Price:

    • Validation

    • Pricing (gets fired once the validation batch-job is finished)

  2. Create and Submit Order:

    • Create Order (Quote checkout with price)

    • Price Sub-Orders

    • Submit Order (checkout the orders created in the initial batch)

For other uses, see invokeBatchSerially Method.

batchInput expects the list of objects as input. Every individual object represents a single batch job to execute.

ParameterRequiredDescription
batchOperationTypeindicatesRequiredThe name of the batch process.
batchSizeRequiredBatch-size configuration for the batch job to run.
classNameRequiredThe corresponding Apex class to invoke for the batch job. This class should extend MSInvokeVIPInBatch and can override start, execute, and finish methods if required.
classParamsRequiredThe Integration Procedures to execute at different stages of the batch job.
    Also, `classParams` can contain an additional set of class-level inputs.|
    ParameterDescription
    isJobStartedTrue — The batch job has started successfully.

    This remote action can also support the scenario where the next batch is expected to process a different set of records than the previous one.

    For example, in the Create and Submit Order batch, the finish stage of Create-Order and the whole Price and Submit-Order batches should process the new orders created by the previous batch. This is possible by splitting the finish of the Create-Order process into three steps:

    1. Run beforeCtxSwitchFinishVIP.

    2. Perform context switch.

    3. Run afterCtxSwitchFinishVIP.

    The corresponding batch-object of the input is shown in the following example.