Process order hold type

You can create a time-triggered transaction, derived from the PROCESS_ORDER_HOLD_TYPE abstract transaction. It can be configured as the processing transaction for one or more hold types. If an order is associated with a hold type that has a transaction configured as the processing transaction, a record is created in the YFS_TASK_Q table for processing that transaction.

When the processing transaction is triggered, it checks the hold types that it can process based on the hold type configuration. If no hold types can be processed, the YFS_TASK_Q record is deleted. If some hold types can be processed, the processOrderHoldType user exit is invoked with the list of hold types to be processed. The processOrderHoldType user exit returns the list of hold types that can be removed from the order.

The transaction then modifies the order and updates the order hold type list based on the output returned by the processOrderHoldType user exit. If now no hold types can be processed, the YFS_TASK_Q record is deleted. If some hold types can still be processed, YFS_TASK_Q is updated with the next available date.

You can also call the processOrderHoldType user exit to add new hold types or change the status of a hold type that is already applied to an order. For more information about the processOrderHoldType user exit, see the IBM Sterling Order Management: Javadoc.

Attributes

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

Table 1. Process order hold type attributes
Attribute Value
Base Transaction ID PROCESS_ORDER_HOLD_TYPE
Base Document Type Order
Base Process Type Order Fulfillment
Abstract Transaction Yes
APIs Called changeOrder

Criteria parameters

The following are the criteria parameters for this transaction:

Table 2. Process order hold type 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 the YFS_TASK_Q table may exist in multiple schemas. Runs the agent for the colony.

Statistics tracked

None.

Pending job count

None

Events raised

The following events are raised by this time-triggered transaction:

Table 3. Events raised by process order hold type transaction
Transaction/Event Raised when... Key Data Data Published Template Support?
ON_SUCCESS
On success
modifyOrder_
dbd.txt
YFS_ORDER_
CHANGE.ON_
SUCCESS.xml
Yes *
ON_HOLD_TYPE
_STATUS_
CHANGE
The status of a
hold type is
changed.
modifyOrder_
dbd.txt
YFS_ON_
HOLD_TYPE_
STATUS_
CHANGE.xml
Yes
ON_ORDER_
LINE_HOLD_
TYPE_STATUS_
CHANGE
The status of a
hold type is
changed.
modifyOrder_
dbd.txt
YFS_ON_
ORDER_LINE
_HOLD_TYPE
_STATUS_
CHANGE.xml
Yes
* Note: Some of the elements and attributes are not template-driven. Refer to the xml for element level details.