Split the Deferred Deal Simulation Process

Until now, the C1_​SMLD batch considered all deals which are in the Simulation Deferred status and calculated the cost, profit, revenue, profitability (%), and profit variation (%) for the respective deal version. The way this batch was designed to work resulted in long batch processing time. To improve the batch performance, we have done the following:

  • Introduced a new status named Person Simulation Deferred in the lifecycle of the C1-DEAL business object.

  • Split the deferred deal simulation process into the following two batches:

    • Simulation Batch For Account (SMLDA)

    • Simulation Batch For Person (SMLDP)

    Note that you need to execute the above two batches in the following sequence:

    1. SMLDA

    2. SMLDP

The Simulation Batch For Account (SMLDA) batch is used to monitor or check whether there is any deal in the Simulation Deferred status. It considers only those deals where the simulation type is set to Account or Customer. If there is a deal in the Simulation Deferred status, the system considers its deal version which is in the Simulation Deferred status. It then does the following:

  • Calculates the average price for the selected price items in the price item hierarchy.

  • Calculates the original, proposed, standard (if the Standard Pricing Comparison option in the respective deal type is set to Y), and recommended (if the deal approver has recommended a pricing or commitment) cost, profit, revenue, profitability (%), profit variation (%), and revenue variation (%) for the accounts in the deal. Note that it calculates the above statistics for only those accounts where the SIML_​REQD_​FLG column is set to Y.

  • If the simulation type of the deal is set to Account, the system calculates the original, proposed, and standard cost, profit, revenue, profitability (%), profit variation (%), and revenue variation (%) at the deal level. If the division and/or product level approval is required, this batch calculates the original, proposed, and standard cost, profit, revenue, profitability (%), profit variation (%), and revenue variation (%) at the division and/or product level, respectively. Finally, the status of the deal is changed to Simulated.

At the end, the C1-DSAOPR algorithm attached to the Post-Processing system event of the SMLDA batch is executed. If the simulation type of the deal is set to Customer, this algorithm checks whether all the accounts (where the simulation is required) of the person are successfully simulated. If so, it changes the status of the deal to Person Simulation Deferred.

This batch is a multi-threaded batch. The multi-threading is based on account ID and chunks for multi-threading are created based on numerical distribution of account ID. You can specify the following parameters while executing this batch:

Parameter Name Mandatory (Yes or No) Description
Deal ID No Used when you want to calculate the cost, profit, revenue, profitability (%), profit variation (%), and revenue variation (%) of a particular deal.
Model ID No Used when you want to calculate the cost, profit, revenue, profitability (%), profit variation (%), and revenue variation (%) of a particular deal version.
Division No Used when you want to calculate the cost, profit, revenue, profitability (%), profit variation (%), and revenue variation (%) of the deals which belong to a particular division.
Thread Pool Name No Used to specify the thread pool on which you want to execute the batch.

The Simulation Batch For Person (SMLDP) batch is used to monitor or check the following:

  • Whether there is any deal in the Simulation Deferred status where the simulation type is set to Deal

  • Whether there is any deal in the Person Simulation Deferred status where the simulation type is set to Customer

If so, the batch considers its deal version which is in the Simulation Deferred or Person Simulation Deferred status. It then does the following:

  • Calculates the original, proposed, standard (if the Standard Pricing Comparison option in the respective deal type is set to Y), and recommended (if the deal approver has recommended a pricing or commitment) cost, profit, revenue, profitability (%), profit variation (%), and revenue variation (%) for the customer and its child persons in the deal. Note that it calculates the above statistics for only those persons where the SIML_​REQD_​FLG column is set to Y.

  • If the simulation type of the deal is set to Deal and the person is successfully simulated, the system calculates the original, proposed, and standard cost, profit, revenue, profitability (%), profit variation (%), and revenue variation (%) at the deal level. If the division and/or product level approval is required, this batch calculates the original, proposed, and standard cost, profit, revenue, profitability (%), profit variation (%), and revenue variation (%) at the division and/or product level, respectively. Finally, the status of the deal is changed to Simulated.

At the end, the C1-DSPOPR algorithm attached to the Post-Processing system event of the SMLDP batch is executed. If the simulation type of the deal is set to Customer, this algorithm checks whether all the persons (where the simulation is required) of the deal are successfully simulated. If so, the system calculates the original, proposed, and standard cost, profit, revenue, profitability (%), profit variation (%), and revenue variation (%) at the deal level. If the division and/or product level approval is required, this batch calculates the original, proposed, and standard cost, profit, revenue, profitability (%), profit variation (%), and revenue variation (%) at the division and/or product level, respectively. Finally, the status of the deal is changed to Simulated.

This batch is a multi-threaded batch. The multi-threading is based on person ID and chunks for multi-threading are created based on numerical distribution of person ID. You can specify the following parameters while executing this batch:

Parameter Name Mandatory (Yes or No) Description
Deal ID No Used when you want to calculate the cost, profit, revenue, profitability (%), profit variation (%), and revenue variation (%) of a particular deal.
Model ID No Used when you want to calculate the cost, profit, revenue, profitability (%), profit variation (%), and revenue variation (%) of a particular deal version.
Division No Used when you want to calculate the cost, profit, revenue, profitability (%), profit variation (%), and revenue variation (%) of the deals which belong to a particular division.
Thread Pool Name No Used to specify the thread pool on which you want to execute the batch.

We recommend you use the above two batches instead of the Deal Simulation (C1_​SMLD) batch whenever you want to simulate the deals that are created for the customers with large hierarchies in the deferred mode.