This chapter covers the following topics:
Oracle Incentive Compensation performs calculation in two ways: Complete and Incremental. Complete Calculation calculates all transactions in the interval, and it is the default setting. However, calculating the entire set of transactions can take a long time. Using Incremental Calculation, the calculation engine processes only transactions that have been newly loaded or affected by setup changes since the last calculation was run.
Calculation proceeds in phases. In the Classification phase, the application checks the applicable product classification rules against the affected transaction attribute values. In the Rollup phase, Oracle Incentive Compensation determines all resources who should receive credit for a transaction based on the rollup date and the resource hierarchy effective on that date. In the Population phase, Oracle Incentive Compensation identifies the appropriate plan elements for every transaction by matching the products of the plan elements with the products of the transaction. Lastly, in the Calculation Phase, Oracle Incentive Compensation performs calculation on all transactions that have passed the Population phase for resources specified for the period. See the Oracle Incentive Compensation User Guide for more information on the Calculation Process.
For calculation setup involves three processes:
Set up calculation parameters: Change default settings as needed.
Configure tables and columns: Optional--make changes only as needed.)
Define external table mappings: Optional--use only external data is required.
See the following sections for information on these processes.
Calculation parameters are used to configure the calculation process to your requirements. They are important for making the application run as efficiently as possible for the volume of transactions you must handle and the processing capability of your system. Also, choices such as whether to rollup transactions or not can have a significant impact on processing time.
The view-only Date Last Calculated field indicates the date of the latest transaction for which calculation has been run. This information is important in case you rerun other incremental calculation. It can also alert you to what transactions already have been run so that you know if it is safe to close a period.
The Transaction Batch Size and Resource Batch Size together determine how many transaction batch runners get submitted for calculation. During the transaction batch pre-processing phase, Oracle Incentive Compensation determines how many batches will be run for this calculation process. For example, if you want to calculate 10,000 transactions and the batch size is 1,000, ten batches will be created. These settings affect calculation performance.
A good starting point for setting the values for resource batch size is a rough equivalent to the maximum number of concurrent manager slots and the number of server processors available. You can then fine tune the numbers to get the best setting for your setup. To help prevent problems with the open period process, It is essential that the Resource Batch Size is not set to zero. Set it to a positive number, for example 2, or 200.
Rule Batch Size does not affect calculation in any way. This option is used when creating the Classification Rules Package.
The resources are first assigned to physical batches (identified by PHYSICAL_BATCH_ID) based on the transaction batch size and resource batch size. A physical batch contains at most the number of resources specified by the resource batch size parameter and at most the number of transactions specified by the transaction batch size parameter. When a physical batch is filled up, Oracle Incentive Compensation creates another physical batch to continue the assignment process until all resources and their transactions are assigned to a physical batch.
Calculation assigns each resource to a single physical_batch_id. It does not split the resource across two batches.
To improve the performance of concurrent calculation, and thereby save time, Oracle Incentive Compensation reuses existing resource groupings to create batch runners. Sometimes, over time or due to certain circumstances, the existing groupings create a skewed distribution of transactions and need to be regrouped. A simple setting of the Transaction Batch Size parameter controls this. To reuse existing groupings, enter a transaction batch size ending in a zero (0), for example, 2,500. To make the application regroup resources and transactions into new batch runners, enter a transaction batch size ending in a number other than zero, for example, 2,501. After you are satisfied with the new grouping and want to reuse it, reset the transaction batch size parameter to a number ending in zero.
Use the Numeric Precision for Rate Tables field to set the precision of the calculation, which affects the number of places to the right of the decimal point that are displayed in the rate tables. This setting is not used for calculation purposes.
If the Allow Prior Period Adjustments parameter is set to No, it allows all plan elements in a period to be calculated incrementally. Before selecting this parameter, be sure that any transactions that have a processed date earlier than the latest processed date showing in the System Parameter window have been calculated. If your business processes require you to calculate for prior periods, set this parameter to Yes.
Select the correct product hierarchy in order to classify transactions. Only one product hierarchy can be active at a time.
The amounts generated in Projected Compensation are not exact. If you want to generate a disclaimer along with the amounts, you can indicate it on the Calculation Parameters page. You can also specify the particulars of that disclaimer.
The Enable Managerial Rollup parameter is used to set up managerial rollups for a resource who is assigned the same role in multiple groups or multiple roles in the same group. If a resource is assigned a role in multiple groups, it must be the same role. Oracle Incentive Compensation does not support rollup along multiple paths when the managers receiving the credit have different roles in the compensation groups along the rollup paths. This is because the application picks the role at random.
Set the Enable Managerial Rollup parameter to Yes if you want sales credits to roll up through the compensation group hierarchies. If the parameter is set to yes, Oracle Incentive Compensation awards indirect credit for each transaction whose direct credit receiver is in the compensation group hierarchy. This parameter affects all transactions. You can use preprocessed code to control indirect credit on a transaction-by-transaction basis.
Aggregate Transactions During Rollup: Select Yes for this parameter if you want to aggregate matching transactions. For example, If you have a large volume of transactions that are for the same product and the same resource, it is more efficient to aggregate them and process them as one transaction.
Aggregate Transactions Based on Custom Criteria During Rollup: Select Yes for this parameter if you want to use customized summarization code to aggregate transactions during rollup. This works only if the Aggregate Transactions During Rollup parameter is set to Yes.
Tables from Accounts Receivable, Order Management, or an external source that are used in calculating compensation in Oracle Incentive Compensation must be defined before they can be used in calculation.
Oracle Incentive Compensation calculates transaction data from the CN_COMMISSION_HEADERS and CN_COMMISSION_LINES tables for processing commissions for resources. Set up the columns that contain the data you need to perform calculation. You can also define external mappings for calculation.
After you have defined tables for calculation, use the Columns area below it to define specific columns and relate them to columns in other tables. Be sure that you have selected Calculation in the Usage column and selected Attributes, Classification Attributes, or Dimension Attributes in the View Column list of values in the Columns section below.
The column name is set in the application, but you can assign a column user name to it to match your business process or for ease of use. The external call field currently is not used.
Navigation
Setup Tasks > Calculation > Configure Tables and Columns
Notes
Specify the CN schema to narrow your search to Oracle Incentive Compensation tables.
A table user name is an optional name you can specify that is easier to remember and relevant to its use. Aliases are set up when the table is built, and are used in the same way.
You can change the name in the User Name field for any view.
For the Attributes view:
The Data Type field indicates if the column contains alphanumeric material (VARCHAR2), numerical data (NUMBER), or a date (DATE).
The data length is already defined in the database.
Check the Usage box to identify whether this column is available to build expressions for formulas.
For the Classification Attributes view:
Check the Classification Value box next to a column to indicate that the column can be used in the classification process and on the Transaction Maintenance Search page as a search criterion. Check the Display in Results column if you want this column to be displayed in the default search results table.
The Value Set Name is used to set a value when this column is defined as a rule attribute.
You can select three data types: Alphanumeric, Date, and Numeric.
For the Dimension Attributes view:
The dimension name identifies the dimension (of hierarchies) associated with this column.
The Dimension Value box indicates whether the User Name column is being used.
When building your custom logic on top of Oracle Incentive Compensation functionality, make sure that you are not basing your logic on the Oracle Incentive Compensation table columns that store the intermediate results of internal Oracle Incentive Compensation processes. The representation and interpretation of the values stored in these columns may be changed by the application without notice. For these columns, do not change any of the stored values, and do not modify the list of allowed values.
For example, the values in cn_commission_lines_all.input_achieved, output_achieved, commission_rate store intermediate results of the calculation process and are used by Oracle only. Any customization or custom logic based on these columns is not allowed without Oracle's approval.
As another example, the column cn_commission_lines_all.status has a fixed list of valid values. The addition of extra values to this list is not supported by Oracle.
If the information you need is in tables that are not in Oracle Incentive Compensation, you can join those tables to destination tables in Oracle Incentive Compensation. For example, you may need to use salary information from an external table in order to calculate commissions for resources.
The tables must already exist, and must be in the same instance as Oracle Incentive Compensation.
Navigation
Setup Tasks > Calculation > Define External Table Mapping
Notes
When you search for a table you must supply a valid search criteria value in at least one field.
The table name alias is system generated and the Columns link appears in the External Columns column. It is used by the system to generate SQL code.
Select a table to open the Columns area, where you can map columns.