Schedule
This transaction schedules orders to specific ship nodes making sure that the scheduled ship nodes have enough inventory to process the order.
Run this transaction after order creation.
Do not run the individual Schedule or Release agents when running the combined "Schedule and Release" agent.
Attributes
The following are the attributes for this time-triggered transaction:
| Attribute | Value |
|---|---|
| Base Transaction ID | SCHEDULE |
| Base Document Type | Order |
| Base Process Type | Order Fulfillment |
| APIs Called | scheduleOrder() |
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. |
| MaximumRecords | Determines the maximum number of possible solutions
that the Schedule Agent can find. This parameter may improve the best
solution found, but it also impacts the performance of this agent. If left blank or specified as 0 (zero), it defaults to 5. |
| OptimizationType | Optional. Determines the optimization rules to apply to the
scheduling process. Valid values are:
|
| OrderFilter | Optional. Determines the types of orders to filter. Possible
values are:
|
| ScheduleAndRelease | Optional. Notify the schedule process to release all releasable
line quantities. Valid values are:
Enabling this parameter does not validate hold types configured for the release transaction. |
| IgnoreReleaseDate | Optional. Determines whether the schedule process should ignore
line release date criteria. Valid values are:
|
| Next Task Queue Interval | Not used. This agent updates a failed task so that it is suspended for the back order retry interval setup in the appropriately scheduled rule. |
| Task Queue Filter Criteria | Optional. Determines the jobs to be fetched by the agent. The value assigned to this
parameter is matched against the value stored in the FILTER_CRITERIA column of
YFS_TASK_Q table, while fetching the jobs. The possible values for the parameter
depend on the following two segregation policies that are implemented for the order entity out of
the box.
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 matching the values can be fetched or processed together. When assigning multiple values to the parameter use comma-separated enumerations. For more information, see Workload segregation for task queue agents. |
| ColonyID | Required in a sharded 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 |
|---|---|
| NumFutureDateFailures | Number of orders that Sterling™ Order Management System Software did not attempt to
schedule because of future date failures. Failures can be caused by any of the following:
|
| NumOrdersAttempted | Number of orders attempted to schedule. This statistic does not include the values for NumFutureDateFailures and NumOrdersCannotBeProcessedFailures statistics. |
| NumOrderLinesReleased | Number of order lines that have been released. |
NumOrdersCannotBeProcessed
Failures |
Number of orders that Sterling Order Management System Software did not attempt to
schedule because of cannot be processed failures. Failures can be caused by any of the following:
|
| NumOrdersCreated | Number of orders created. This also includes the number of procurement orders created. |
| NumOrderLinesCreated | Number of order lines created. |
| NumOrdersProcessed | Number of orders processed. |
| NumOrdersScheduled | Number of orders that have at least one line that was scheduled. This includes scheduled lines in any status except BACKORDER. |
| NumOrdersProcOrdersCreated | Number of procurement orders created. |
| NumWorkOrdersCreated | Number of work orders created. |
| NumOrdersBackordered | Number of orders backordered. |
| NumOrderLinesScheduled | Number of order lines scheduled. |
| NumOrderLinesBackordered | Number of order lines backordered. |
| NumReleasesCreated | Number of order releases created. |
Pending job count
For this transaction the pending job count is the number of records representing the unheld orders that are 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, if tasks on hold are not ready to be processed.
Events raised
This
transaction raises events as specified under the scheduleOrder() API
in the Javadoc.
Providing Oracle hints
You can provide Oracle Hints to increase the performance of the scheduleOrder agent. The two hints that can be provided for each criteria ID of the scheduleOrder agent are the Outer Hint and the Inner Hint. The Outer Hint is always used for the YFS_TASK_Q table. The Inner Hint is used for the YFS_ORDER_HEADER table only if the earlier hold functionality is used; otherwise, the Inner Hint is used for the YFS_ORDER_RELEASE_STATUS table.
Insert
the following entries in the yfs.properties file
in order to enable Oracle Hints:
- Edit the <INSTALL_DIR>/properties/yfs.properties file.
- Insert
yfs.<agent_criteria_id>.getjobs.hint.outer=/*+ parallel(YFS_TASK_Q 8) full(yfs_task_q)*/Insert
yfs.<agent_criteria_id>.getjobs.hint.inner=/*+ NL_AJ */