Create derived order

This 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 Sterling Selling and Fulfillment Foundation: Javadocs.

Attributes

The following are the attributes for this time-triggered transaction:

Table 1. Create derived order attributes
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:

Table 2. Create derived order criteria parameters
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.
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:

Table 3. Create derived order statistics
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 Sterling Selling and Fulfillment Foundation: Javadocs.