Scheduling and Booking

Scheduling is a means of communicating the balance between customer demand and a company’s ability to fulfill an order from current inventory and supply sources.  Order scheduling is managed differently from company to company – and Oracle Order Scheduling supports a variety of scheduling environments.

The scheduling feature of Oracle Order Management (OM) enables you to determine when items will be available to promise to a customer(ATP), schedule the shipment or arrival of order lines based on this availability(Schedule), and reserve on-hand
inventory to sales order lines(reservation) SO
, the features that are provided under the umbrella term of scheduling are:
■ Calculating Available-to-Promise (ATP)
■ Scheduling ( Populate dates - ship and arrival schedule dates)
Create demand (Makes demand visible to planning)
■ Reserving (Reserves the line items if the due date is within the reservation time fence)
Sets the ship from
Calculates the delivery  lead  time based  on as  ship  method (if you have set up a shipping network)

Scheduling is an action performed on an order line or a group of lines. The action performs the following:

  • Determines the source (warehouse) for the order line. If the warehouse is entered on the line, either manually or using defaulting rules, the scheduling action uses the requested warehouse and the other scheduling results are based on it. If the warehouse is blank, the scheduling action determines the best warehouse based on the sourcing rules. This functionality includes ATO models.
  • Determines the schedule ship date, the schedule arrival date, the delivery lead time and the shipping method.
  • Makes the line visible to the planning applications and consumes supply for the item. When a line is successfully scheduled the VISIBLE_DEMAND_FLAG is set to Yes.
  • If the reservation time fence is set and the schedule ship date is within the  reservation time fence, automatically reserves the line.
Scheduling Process
Sales order line would be scheduled for both the ATP as well non-ATP items based on the availability of the item. When scheduling is not performed during sales order entry (either manually or automatically), then as part of standard functionality, scheduling will be done by the workflow process.

Scheduling is done by the workflow process associated with the order line (OEOL). For example: Considering the Line Flow – Generic work flow Once the order is Booked, the work flow completes the Booking activity and proceed to the next stage i.e. Scheduling. This is when Scheduling is performed.
Open the process ‘Line Flow - Generic’ in the Workflow Builder. The ‘Line Flow - Generic’ process looks as below

Order will wait at “Wait for Booking” till booking action is performed. The work flow will progress to next stage.
- Double click on the 'Schedule - Line' sub process in 'Line Flow - Generic' process. Double clicking opens 'Schedule - Line' sub process which looks as below

Once the line is scheduled, SCHEDULE_SHIP_DATE is populated into the OE_ORDER_LINES_ALL.
The SCHEDULE_SHIP_DATE should be a value between the REQUEST_DATE and the LATEST_ACCEPTABLE_DATE.

Scheduling sets the VISIBLE_DEMAND_FLAG, SCHEDULE_STATUS_CODE as soon as the lines are scheduled. The two columns are independent and are not based on the setups
Scheduling by Ship or Arrival Date
The request date may be either the requested ship date or the requested arrival date depending on the request date type of the customer. If the customer's request dates are requested arrival dates, the scheduling action calls MRP's scheduling API with the requested arrival date. The API returns the first date on or after the requested arrival date that the items could arrive at the customer location, and enters that date into the scheduled arrival date field for the line(s). The schedule ship date is calculated by subtracting the delivery lead time (number of days for items to reach the customer once they ship) from the schedule arrival date. If the shipping network has not been defined for this combination of locations, the delivery lead time will be considered zero days and the schedule ship date and schedule arrival date will be the same.

If you enter a schedule ship date on the order line before performing the schedule action, the system will attempt to schedule on that date when the schedule action occurs. If it cannot, the schedule action fails.

You can define for each customer the delivery window in days that they will accept by entering the latest schedule limit on the customer window. When you enter an order line, the latest acceptable date is calculated by adding the latest schedule limit to the request date. When the scheduling action occurs, the schedule date will only be returned if it is between the requested date and the latest acceptable date. If it is not within this range, the scheduling action fails. For example, suppose that you have a customer who only accepts orders that ship within 5 days of the request date. You would enter 5 in the latest schedule limit fields on the Order Management tab of the customer window. When you enter an order line, if the request date is September 10, the latest acceptable date would be September 15. When the scheduling action occurs, if the schedule date returned is not in the date range of September 10 through September 15, the schedule request fails.

You can control whether OM schedules lines on hold by using the profile option OM: Schedule lines on Hold. If an order or line is on hold and this profile option is No, then the scheduling action fails.

An entered order will create

An entered order will create demand and reservations depending on the order management setup especially depending on the values for the profile option s "OM: AutoSchedule" and "OM: Reservation Time Fence".

When a new order is created / entered, the order will autom atically create demand records in MTL_DEMAND if the profile option "OM: AutoSchedule" is set to Yes. The demand does not reduce the availability of the item or promise the onhand quantity to the order as long as a reservation is not created. The demand is used for advanced scheduling purposes in the MRP (Oracle Master Scheduling) application. For example, if one was to create two orders for equal amounts and the demand was reduced to a negative number by the second order, the pick release would process successfully for which ever order was run first. The second order would receive an error that negative quantity is not allowed assuming that your organization does not allow negative inventory.

Note that the "OM: Autoschedule" profile option is not the only way to set the 'Autoschedule' feature. One could also set this feature via the transaction type setup, or by manually setting the autoschedule selection to Yes or No via Tools > Autoschedule in the Order Mana gement entry form.

If the profile option, "OM: Reservation Time Fence", is set to a number greater than zero, a reservation will be created for the item as soon as the order is entered if the required date is within the reservation time fence window of days. The time fence is the system date plus the profile number of days. For example, if the profile is set to 30 days, then as long as the schedule date for the order is before the system date plus 30 days, then a reservation is created. The reservation will reduce the availability of the item.

Even when the autoschedule profile is not set, the reservation will be created as soon as soon as one enters the 'Schedule Date' field. For example, when booking an order, the scheduled date is automatically entered if one did not already exist. This occurs even when "OM: AutoSchedule" is not used. The reservation then is created when the order is booked as the booking process enters the schedule date.

As a side note, according to the OM manual, if a NULL value is entered for the "OM: Reservation Time Fence" then the system will not create a reservation automatically. However, tests have shown that when the profile is not entered (NULL) at the site level, it still acts as if it were set to zero (0).

If the entire quantity is not available, the reservation is not created automatically by the scheduling process. However, you could manually reserve the quantity available in the reservation form. You could use the Tools > Scheduling > Reservation Details option or goto Inventory > Onhand > Reservations and create a new reservation. You could then schedule the "Reserve Orders" program to run every few hours looking for onhand quantity for partially reserved orders. An enhancement request Bug 5722597 was created asking the partial quantity to be automatically scheduled based on profiles.

The following profile options were discussed in this note:OM: AutoSchedule: If Yes, autoscheduling is enabled by default. As a result, the scheduled date is entered automatically and the demand appears when an order is entered.OM: Reservation Time Fence: If > 0, auto matically creates a reservation upon order entry if scheduled date is entered. If NULL, no reservation created


Understanding the following terms will help you understand how scheduling works in Oracle Order Management.
■ Request Date: The date the customer requests that the products be either shipped or received.
■ Promise Date: The date on which you agree you can ship the products to your customer or that your customer will receive the products. This field is for tracking purposes only. It may be defaulted from the schedule ship date or the
■ Schedule Ship Date: The date returned by the system on which you can ship the products schedule arrival date.
■ Schedule Arrival Date: The date returned by the system on which your customer can receive the products.
■ Actual Arrival Date: The date the order line arrives at the customer site.
■ Actual Ship Date: The date the order line is shipped. This date is recorded by the ship confirm action.
■ Reservation: A guaranteed allotment of product to a specific sales order. Once reserved, the product cannot be allocated to any other source of demand. Also known as a hard reservation.
■ Reservation Time Fence: Time, in days, before the schedule date, within which a line should be automatically reserved.
■ Reserve Orders: A concurrent program that attempts to reserve all those order lines specified in the search criteria in a batch process.