Create derived order
The create derived order transaction creates one or more derived orders from an
order whose OrderHeaderKey is stored in the task queue object. For existing derived orders, you can
add derivable lines or create new derived orders with these lines. The existing derived orders must
be identified by the determineDerivedOrderForConsolidation user exit. If the user
exit is not implemented or if the user exit returns a null document, new derived orders are created.
For more information about the creation of derived orders, see the details provided under the
createDerivedOrder() API and
YFSDetermineDerivedOrderForConsolidation user exit in the IBM Sterling Order Management: Javadoc.
Attributes
The following are the attributes for this time-triggered transaction:
| Attribute | Value |
|---|---|
| Base Transaction ID | DERIVED_ORDER_CREATE |
| Base Document Type | Order |
| Base Process Type | Order Fulfillment |
| Abstract Transaction | Yes |
| APIs Called | createDerivedOrder() |
The TransactionKey posted in the task queue object must be an instance of the Abstract Transaction DERIVED_ORDER_CREATE for the ProcessType associated with the Order. Otherwise, an exception is thrown.
Criteria parameters
The following are the criteria parameters for this transaction:
| Parameter | Description |
|---|---|
| Action | Required. Triggers the transaction. If left blank, it defaults to Get, the only valid value. |
| Number of Records To Buffer | Optional. Number of records to retrieve and process at one time. If left blank or specified as 0 (zero), it defaults to 5000. |
| Next Task Queue Interval | Optional. Specifies in hours how long a failed task should be suspended before it is considered for reprocessing. Defaults to 5 hours. |
| Task Queue Filter Criteria | Optional. Determines the jobs to be retrieved by the agent. The value that is assigned to
this parameter is matched against the value that is stored in the FILTER_CRITERIA
column of the YFS_TASK_Q table, while retrieving the jobs. The possible values for
the parameter depend on the following two default segregation policies that are implemented for the
order entity.
Note:
VOID is a valid task queue filter criteria value irrespective of the
segregation policy. It is used to match records with NULL value in the
FILTER_CRITERIA column of YFS_TASK_Q table.The parameter accepts multiple values so that the jobs that match the values can be retrieved or processed together. Use comma-separated enumerations when you assign multiple values to the parameter. For more information, see Workload segregation for task queue agents. |
| ColonyID | Required in a multischema deployment where a table may exist in multiple schemas. Runs the agent for the colony. |
Statistics tracked
The following statistics are tracked for this transaction:
| Statistic Name | Description |
|---|---|
| NumOrdersProcessed | Number of orders processed. |
| NumOrdersCreated | Number of derived orders created. |
If there are 2 orders being processed and the first order creates a derived order, the DetermineChainedOrderForConsolidation user exit causes the lines of the 2nd order to be added to the first order. The number of derived orders created is counted as 2.
Pending job count
For this transaction the pending job count is the number of records available to be processed by the transaction with the AVAILABLE_DATE value less than or equal to (<=) the current date value in the YFS_Task_Q table.
Events raised
This transaction raises events as specified under the createDerivedOrder() API in the IBM Sterling Order Management: Javadoc.