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:
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:
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:
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. |