Incent Validate Order Details
Summary
Use the incent validate order details command to run Connect’s standard data validations against staged sales order details found in the staging.order_item_detail table. This command can be run explicitly by itself or implicitly as part of the incent upload order details command.
Sales order details are an Incent feature that provides the ability to join aggregated sales order information used in compensation calculations to finer grained order details. Using sales order details can improve Incent calculation runtimes by reducing the volume of data sent into Incent’s calculation engine while still retaining the sales order details needed for reporting. The feature must be activated by Xactly Customer Support.
Syntax
incent [synchronous] validate order details; |
Parameters
|
Parameter
|
Description
|
|---|---|
synchronous |
(Optional) The validate command runs asynchronously by default when invoked, i.e. control returns immediately to the calling program and the job runs in the background on the Connect server. Use the ‘synchronous’ keyword to force the Connect server to return control only after the validation completes.
When invoked asynchronously, you can track the status of validation by querying the |
Details
Data validation errors are written to staging.order_item_detail_validation_error.
staging.order_item_details_validation_error – The upload command writes any errors encountered during validation to this table. incent upload order details truncates this table automatically for each run. Archive any existing error rows as needed before running the command. |
||
| Column Name | Data Type | Description |
|---|---|---|
| validation_id | decimal | Unique identifier for the error validation row. |
| order_code | string | order_code and item_code are the composite primary key for sales order details |
| item_code | string | Refer to order_code |
| comp_order_code | string | comp_order_code and comp_item_code are the composition primary key for the aggregated xactly.xc_comp_order_item row. There is a one to many relationship from xc_comp_order_item to xc_comp_order_item_detail |
| comp_item_code | string | Refer to |
| error_id | decimal | Numeric error code. |
| error_message | string | Text description of the error. |
| error_field_name | string | Refer to staging.order_item |
| error_field_value | string | Depends on your data. Shows the data value present in the erorr_field_name from you staging table data. |
| created_timestamp | instant | Instant the row was created (UTC). |
| Validation Error Messages – Validation writes these error messages to the staging.order_item_details_validation_error table. The validate command deletes all rows at the start of each run. Archive your historical errors as dictated by business requirements. | ||
| Error Id | Error Message | How to Resolve |
|---|---|---|
| 9041 | staging.order_item_detail.order_code cannot be null | Use a non-null value |
| 9042 | staging.order_item_detail.item_code cannot be null | Use a non-null value |
| 9010 | staging.order_item_detail.batch_name must be valid | Use a value found in xactly.xc_user_batch.batch_name |
| 9040 | staging.order_item_detail.batch_name cannot be null | Use a value found in xactly.xc_user_batch.batch_name |
| 9021 | staging.order_item_detail.batch_type_name must be valid | The batch_type_name must equal the one assigned to the batch_name value. Refer to the LookupBatchTypeNameByBatchName function. |
| 9020 | staging.order_item_detail.amount cannot be null | Use a non-null numeric value |
| 9018 | staging.order_item_detail.amount_unit_type_name must be valid or staging.order_item_detail.amount_unit_type_name cannot be null |
Use a non-null numeric value |
| 9019 | staging.order_item_detail.incentive_date must fall into a valid period | Set to a date that exists between xactly.xc_period.start_date and end_date |
| 9016 | staging.order_item_detail.incentive_date cannot be null | Set to a date that exists between xactly.xc_period.start_date and end_date |
| 9019 | staging.order_item_detail.order_type_name must be valid | Set to a value found in xactly.xc_order_type.name |
| 9011 | staging.order_item_detail.period_name must be valid | Set to a monthly period in xactly.xc_period.name |
| 9011 | staging.order_item_detail.period_name must be of type ‘MONTHLY’ | Set to a monthly period in xactly.xc_period.name |
| 9014 | staging.order_item_detail.product_name must be valid | Set to a value found in xactly.xc_product.name |
| 9013 | staging.order_item_detail.customer_name must be valid | Set to a value found in xactly.xc_customer.name |
| 9015 | staging.order_item_detail.geography_name must be valid | Set to value found in xactly.xc_geography.name |
| 9000 | exception: system error message staging.order_item_detail | Thrown if an unexpected system error occurs. |
| 9071 | staging.order_item_detail.order_code/item_code is duplicated in staging.order_item_detail | order_code and item_code combination must be unique. |
| 9018 | staging.order_item_detail.custom field unit type name must be valid | Use a value found in xactly.xc_unit_type.name |
Examples
incent validate order details;

select command, invocation_id, state, status, created_instant, completed_instant, description from (show invocation details) where invocation_id = '2c909419579c30670157a0cdf9172d96';

