Scheduling In Order Management
Introduction:
Scheduling is a concept, which helps to place the demand in the inventory based on the availability.
Scheduling helps with the following:
* Find the availability of the items
* Populate the Schedule ship date, arrival date and last acceptable date based on the calculated ATP Date
* Performs the reservation based on Scheduled Ship Date
* Calculates the delivery lead time based on as ship method
* Prevents over demand by setting the items attribute Check ATP
Scheduling also allows you to check ATP (Available to Promise), and display availability automatically as soon as
the line is entered. Setup is required to perform ATP on an item. A sample scenario is provided in the testflow for
ATP item below. From the availability window, ATP availability button guides to APS's Global ATP window to view
availability across the global supply chain.
This page describes in detail about the various profile options and setups, which affect the scheduling.
Functional Overview
Sales order line would be scheduled for both the ATP as well nonATP 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 workflow 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
* 'Line Flow – Generic' Process
Double click on the 'Enter Line'subprocess, it will open the subprocess which looks as below
* 'Enter Line' Subprocess
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' subprocess in 'Line Flow Generic' process. Double clicking opens 'Schedule
Line' subprocess which looks as below
* 'Schedule Line' Subprocess
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.
Table Level Changes
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 controls following sets of data along with the above.
http://snroracle.blogspot.com/2014/02/schedulinginordermanagement.html 1/24
2/10/2016 Oracle functional: Scheduling In Order Management
SCHEDULE_ARRIVAL_DATE
SCHEDULE_SHIP_DATE
LATEST_ACCEPTABLE_DATE
SHIPPING_METHOD, if the shipping network is set up
DELIVERY_LEAD_TIME, if the shipping network is set up
SHIP_FROM_ORG_ID (Warehouse)
VISIBLE_DEMAND_FLAG is set to yes when the line is scheduled. Demand is visible to the planning applications
when the line is scheduled.
SCHEDULE_STATUS_CODE is set to the SCHEDULED
Events Controlling Scheduling
Scheduling happens during any one of the following events
1. Automatic scheduling upon entry
2. Manual Scheduling upon entry
3. Scheduling during booking
4. Scheduling after Booking
Automatic scheduling upon entry
OM: Auto Schedule
If the profile OM: Auto Schedule is set to Yes, then line is scheduled at the time of saving. i.e. Scheduling is done at
the moment if cursor is moved from current line or Block, to next line or Block, manual save.
Ship Sets and Arrival Sets
You can include lines in Ship Sets or Arrival Sets depending on how you want to group them. Ship Sets and Arrival
Sets are based on similar dates: Ship Set (Schedule Ship Date) and Arrival Set (Schedule Arrival Date). Refer to the
documentation for further details.
Go to the Shipping tab of the order lines and notice the Ship Set and Arrival Set fields. The following methods can be
used to set a value in these fields.
1) Enter a value directly in one of these fields.
2) Right click on the order line and go to Sets > New > Ship Set to create a new ship set, or Sets > Add to Set >
Ship Sets to add to an existing set.
3) When entering the order header, enter either Ship or Arrival in the Line Sets field (Others tab). This will set the ship
set or arrival set field in the order lines by default.
4) To set a default value in the Line Sets field from the Others tab, set up Defaulting Rules for the entity 'Order
Header', Attribute 'Line Sets'.
Following screen shot shows one of the places the default value can be set up Customer Level. Navigation is
Customers > Standard Customers > Query Customer > Click on Customer link > Order Management Tab
When lines are entered into a Ship Set or Arrival Set, the scheduling would be done on saving the lines.
Why does the scheduling happen while using the Ship Set or Arrival Set?
All of the lines in the set would have the same value for Schedule Ship Date. However we do have option to include
lines of same order in different ship set / Arrival set.
Order entry processing uses the warehouse, ship to location, shipment priority, and shipment method for scheduling
If the default Order Header value for sets is set to Ship, and
a. if the profile option, "OM: Assign new set for each line," is set to "N," Order Management will automatically
determine the earliest Scheduled Ship Date, based upon your setup, and create a common ship set for all order lines
in that order.
b. if the profile "OM: Assign new set for each line," is set to "Y," Order Management will automatically determine the
earliest Scheduled Ship Date, based upon your setup, and create a unique ship set for each line in an order.
Tools > Auto Schedule
If the Auto Schedule flag is set from the sales order line, the lines will get scheduled when they are saved.
http://snroracle.blogspot.com/2014/02/schedulinginordermanagement.html 2/24
2/10/2016 Oracle functional: Scheduling In Order Management
The Auto Schedule set flag can be set by following ways:
1) Setting the profile OM: Auto Schedule to Yes
2) Setting the Transaction Type > Shipping Tab > Auto Schedule flag
Verify the Scheduling Levels on Transaction Types:
http://snroracle.blogspot.com/2014/02/schedulinginordermanagement.html 3/24
2/10/2016 Oracle functional: Scheduling In Order Management
The scheduling level on the order transaction type determines what type of scheduling is allowed. The possible
values for this are:
ATP Only You will not be able to schedule or reserve lines on the order. This could be used for BillOnly
or BillOnly with Inventory Interface flows, or possibly for quoting scenarios.
No Reservations You can perform all scheduling functions except for reserving inventory.
Allow All Scheduling Actions All scheduling actions can be performed.
Inactive Demand With Reservations You can manually enter any schedule date, but the system does
not schedule. The line can be reserved. The schedule date is not visible to MRP / APS. This functionality
is only for standard items, and it does not support ship or arrival sets.
Inactive Demand Without Reservations You can manually enter any schedule date, but the system does
not schedule. No reservation can be placed on the line. The schedule date is not visible to MRP/APS.
This functionality is only for standard items, and it does not support ship or arrival sets.
3) Manual checking
If profile OM: Auto Schedule is set to No and the Transactin Type Auto Schedule is not checked, then Auto
Schedule needs to be manually checked. Navigate to Tools > Auto Schedule from the Sales Order forms.
Manual Scheduling Upon Entry
If the profile OM: Auto Schedule is set to No, then line is not scheduled at the time of order entry. This would require
manual scheduling or this is postponed till booking activity. Three ways to do manual scheduling
1) Tools > Scheduling > Schedule
2) Enter the Schedule Ship Date (or the Schedule Arrival Date if the Order Date Type in order header is 'Arrival')
3) Keep the cursor on the line > Right Click > Scheduling > Schedule
Scheduling during Booking
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 at the time of booking.
Scheduling is done by the work flow process associated with the order line. For example: Consider the Line Flow –
Generic work flow. Once the order is Booked, Workflow 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
* 'Line Flow – Generic' Process
http://snroracle.blogspot.com/2014/02/schedulinginordermanagement.html 4/24
2/10/2016 Oracle functional: Scheduling In Order Management
Double click on the 'Enter Line' subprocess, it will open the subprocess which looks as below
* 'Enter – Line' Subprocess
Order will wait at “Wait for Booking” until Booking action is performed. Workflow will progress to the next stage.
Double click on the 'Schedule Line' subprocess in 'Line Flow Generic' process. Double clicking opens 'Schedule
Line' subprocess which looks as below
* 'Schedule – Line' Subprocess
The Schedule activity attempts to schedule the order line. If the Schedule activity returns a result of Incomplete or
On Hold, the process moves to the Schedule Eligible, activity. From there the process must be manually
progressed to return to the Schedule activity.
'Schedule' activity has the function OE_OEOL_SCH.SCHEDULE_LINE which performs the scheduling.
Scheduling after Booking
Scheduling after Booking can be achieved by two different work flow process, which has deferred activity before
'Schedule Line' activity.
Deferred Scheduling
'Schedule Line, Deferred' subprocess is identical to the 'Schedule Line', except two new activities. An activity to
determine whether the line is scheduled, and a defer activity.
The 'Schedule Line, Deferred subprocess begins with the Start activity. The 'Is Line Scheduled' activity checks
whether the line is scheduled or not.
If scheduling is complete or if the line is not eligible for scheduling, then the process ends and the work flow moves
to next activity in the parent flow. If scheduling has not yet been completed, the process moves to the 'Schedule
Deferred' activity. This activity moves scheduling to the background engine.
Manual Scheduling
http://snroracle.blogspot.com/2014/02/schedulinginordermanagement.html 5/24
2/10/2016 Oracle functional: Scheduling In Order Management
From Release 12, a new scheduling subprocess named 'ScheduleLine, Manual' is introduced to control scheduling
manually after the order is booked. If the new subprocess is used in the line workflow, then after booking the order,
lines are blocked at the 'Schedule Eligible' activity. From 'Schedule Eligible' activity the lines can be progressed
from Sales Orders window or the Schedule Orders concurrent program can be used to schedule the lines.
Scheduling Groups of Lines
The following table explains how does the ATP calculation, scheduling and reservations happens for different types
of item.
Business Scenarios (Test Flows)
This section includes testflows to understand some common business scenarios around scheduling.
How does one control Scheduling after booking an Order?
As we have already seen either the lines get automatically scheduled or these are scheduled when the order is
booked. But if you want to postpone scheduling still further…
This can be achieved by two ways.
a. Changing of workflow definition
http://snroracle.blogspot.com/2014/02/schedulinginordermanagement.html 6/24
2/10/2016 Oracle functional: Scheduling In Order Management
b. Applying hold at the time of order entry
Changing of work flow definition
Along with 'Schedule Line, Deferred' a new sub process 'Schedule Line, Manual' is introduced.
Deferred scheduling work flow process to be used in place of the default 'Schedule Line' activity.
One of the above subprocess can be copied and customized to the generic line process.
For example let us consider “Schedule Line, Deferred” here The process “Schedule Line, Deferred” should be used
in place of “Schedule – Line” in the Line work flow.
1. Copy “Line Flow – Generic” to some other name for example XX Line Flow Generic.
2. Copy “Schedule Line Deferred” sub process into the new work flow process XX Line Flow Generic.
3. Replace this with the new one.
The new workflow would look as below:
Understanding Schedule – Line, Deferred
Once booking is done then the workflow stops at “Schedule – Deferred” status and this would remain at “Schedule –
Deferred” activity. Since this is a deferred activity, we need manual intervention to push this further and this is done
using the Workflow Background process request.
Applying hold at the time of order entry
Apply hold once the line is saved and when booking “Could not Schedule. Line on Hold” processing message pops
up. Please apply the hold which is not an workflow activityspecific hold.
Note: If the hold is specific to workflow activity, then the Workflow Activity attached should be 'Line Scheduling' for
Workflow Item 'OM Order Line' or Workflow Activity attached should be 'Book Order' for Workflow Item 'OM Order
Header'
Sample Test case showing the above
1. Create an Order and apply the hold at the time of order entry.
2. Book the Order following error message pops up:
http://snroracle.blogspot.com/2014/02/schedulinginordermanagement.html 7/24
2/10/2016 Oracle functional: Scheduling In Order Management
See the Order is Booked but Schedule Ship Date is not populated (Scheduling not done) and Order Line is on Hold.
Workflow status diagram shows:
http://snroracle.blogspot.com/2014/02/schedulinginordermanagement.html 8/24
2/10/2016 Oracle functional: Scheduling In Order Management
Once the hold is released, one would need to select Actions > Progress Order on the line, or run the Schedule Order
concurrent request to schedule the order.
Note: “OM: Schedule Line on Hold” should be set to No. If the profile is Yes, then the workflow would complete the
scheduling activity.
Calculation of Latest Acceptable Date (LAD)
LAD is populated only when the Latest Schedule Limit (LSL) is provided at the time of order creation. Latest
Schedule Limit is defaulted from the site level or customer level based on defaulting rules.
Latest Acceptable Date (LAD) = Request Date + Latest Schedule Limit (LSL)
a. Set the Latest Schedule Limit
At Customer level:
b. Set Defaulting Rules:
http://snroracle.blogspot.com/2014/02/schedulinginordermanagement.html 9/24
2/10/2016 Oracle functional: Scheduling In Order Management
Test Case
The following test flow is created to demonstrate how to calculate the Latest Acceptable Date.
Create an Order with the setups mentioned above.
In Others Tab latest Schedule Limit defaulted from Customer Level which has higher precedence in Defaulting Rules
i.e. The LSL in this case is 10.
Request date + Latest Schedule Limit = Latest Acceptable Date
http://snroracle.blogspot.com/2014/02/schedulinginordermanagement.html 10/24
2/10/2016 Oracle functional: Scheduling In Order Management
Calculation of Schedule Arrival Date
Schedule Arrival Date = Schedule Ship Date + Delivery Lead Time
Delivery Lead Time needs to be calculated in order to calculate the Schedule Arrival Date. Delivery Lead Time is the
Transit time taken. There are two possible ways to set this: Internal Location Assigned to the Customer or by setting
up Regions and Zones.
Internal Location Assigned to the Customer
Step 1
Identify the “Ship To” Address for which Delivery Lead time is to be specified
Step 2
Create a Location for the ship to Address in Inventory Module.
Navigation: Inventory responsibility > Set up > Organizations > Locations
http://snroracle.blogspot.com/2014/02/schedulinginordermanagement.html 11/24
2/10/2016 Oracle functional: Scheduling In Order Management
Click Address tab
Step 3
Interlocation transit time needs to be defined for the specific ship method, to be used for the transit from Source
Location to Destination Location. Navigation: Inventory responsibility > Set up > Organizations > InterLocation
transit times
http://snroracle.blogspot.com/2014/02/schedulinginordermanagement.html 12/24
2/10/2016 Oracle functional: Scheduling In Order Management
Step 4
Associate this internal location to the customer ship to location on customer standard Form
Navigation: Customers > Standard > Query the Customer > Click on Customer hyperlink
Click on the primary shipto site > Details > Order Management tab > Enter the 'Internal Location'
Click the Ship To Location
Open the Ship to address at site level
Define the Internal Location in Ship to Location
http://snroracle.blogspot.com/2014/02/schedulinginordermanagement.html 13/24
2/10/2016 Oracle functional: Scheduling In Order Management
Step 5
Run ATP Data collections.
Navigation: Order Management > Scheduling > ATP Data Collection
Run it as "Complete Refresh"
Every time that a static setup is changed a Complete Refresh is needed.
Step 6
Add the 'Request Date type' as Arrival on the Customer Standard Form.
Regions and Zones
Step 1
Setup regions and zones.
Navigation: Order Management > Set up > Shipping > Regions and Zones > Regions and Zones
Define Regions or Zones.
http://snroracle.blogspot.com/2014/02/schedulinginordermanagement.html 14/24
2/10/2016 Oracle functional: Scheduling In Order Management
Step 2
Set up region level and zone level intransit times in the “Transit Times” form
Navigation: Order Management > Setup > Regions and Zones > Transit Times
a. Set the "From Location" to the Shipping Org
b. Set the "Destination Type" to [Region] or [Zone] as appropriate.
c. Set the "Destination" to the appropriate Region or Zone (ship to location)
d. Enter the Ship Methods for that Region or Zone and the Intransit Times
http://snroracle.blogspot.com/2014/02/schedulinginordermanagement.html 15/24
2/10/2016 Oracle functional: Scheduling In Order Management
Step 3
Run the following programs
OM > Shipping > Interfaces > Run
a. Import Shipping Locations (WSHMLOCR)
Parameters:
Map Regions : Yes
Location Type : Both (Process both Internal and External Locations)
Start Date : as required
End Date : as required
b. Location to Region Mapping (WSHLRMA)
Parameters:
Insert Flag : Yes
Location Start Date : as required
Location End Date : as required
http://snroracle.blogspot.com/2014/02/schedulinginordermanagement.html 16/24
2/10/2016 Oracle functional: Scheduling In Order Management
c. Region Interface (WSHRGINT)
(no parameters)
Step 4
Run ATP collections.
Nav > Order Mangement > Scheduling > ATP Data Collection
It needs to be a "Complete Refresh"
Every time that a static setup is changed a Complete Refresh is needed.
Test case created by using General Setup process
The following test flow is created to demonstrate how lead time is used to calculate the schedule arrival date.
1. Enter a sales order for that specific 'customer' and 'ship to'
2. In Others tab the values would be defaulted as below
3. Enter the lines details
http://snroracle.blogspot.com/2014/02/schedulinginordermanagement.html 17/24
2/10/2016 Oracle functional: Scheduling In Order Management
4. Book the Order
For the particular 'Intransit Delivery' Delivery leadtime and Schedule Ship Date on the order lines under shipping
alternative region would be populated.
When the order date type is Arrival then Schedule Ship Date cannot be changed. The following error occurs
Test case created by using Regions or Zone Setup process
1. Enter a sales order for that specific 'customer' and 'ship to'
2. In Others tab the values would be defaulted as below
3. Enter the lines details
http://snroracle.blogspot.com/2014/02/schedulinginordermanagement.html 18/24
2/10/2016 Oracle functional: Scheduling In Order Management
4. Book the Order
Test flow for ATP Item (calculation of Schedule Ship Date/ Available Date)
Available Date / Schedule Ship Date = Request date + Use defined time fence in ATP Rule i.e. For ATP items.
Scenario explains how to Schedule Ship Date / Available date for the ATP item is Request date + 1 day. Schedule
Ship Date is the date on which the item can be shipped. It is based on the material availability.
Create an ATP item
ATP item needs to be created i.e. Check ATP and ATP Rules needs to be set in Order Management.
Assign the item to Organization
Check the availability
Create an Order and click the availability button. Available Date would be blank and an Error “The requested item or
one of its components is not collected” displayed on availability window as mentioned below.
Resolve the Error Message
http://snroracle.blogspot.com/2014/02/schedulinginordermanagement.html 19/24
2/10/2016 Oracle functional: Scheduling In Order Management
To resolve the error “The requested item or one of its components is not collected” ATP data collection needs to be
run.
Run the ATP Data collection for complete refresh.
Navigation > Scheduling > ATP Data Collection
Note the ATP Rule in Order Management.
Define infinite Supply
To define the number of days required to manufacture the material is defined in ATP Rules.
Query the Rule used in the Items Attributes (Order Management tab).
Navigate to Inventory > Setup > Rules > Available to promise
In infinite Supply, select the option as Userdefined time fence and days as 1.
Once the setups are completed
Usage of Calendars
Available date in the availability window would be populated based on the ATP Rule and Calendar.
For example make changes to the workday calendar for a period 01Jan1990 to 31DEC2015 to show infinite supply
http://snroracle.blogspot.com/2014/02/schedulinginordermanagement.html 20/24
2/10/2016 Oracle functional: Scheduling In Order Management
date is +1 (no weekends to consider).
To reflect the changes rebuild the calendar.
Tools > Rebuild
On Booking the order the order lines will be scheduled based on next available date.
Run the ATP Data collection for complete refresh.
Navigation > Scheduling > ATP Data Collection
http://snroracle.blogspot.com/2014/02/schedulinginordermanagement.html 21/24
2/10/2016 Oracle functional: Scheduling In Order Management
The following test case shows how the Available date and Schedule Ship Date are calculated
Create an Order and enter the order line
Order Details
Line Details
http://snroracle.blogspot.com/2014/02/schedulinginordermanagement.html 22/24
2/10/2016 Oracle functional: Scheduling In Order Management
In this case Available Date / Schedule Ship Date = Request date + 1 day(s) (Use defined time fence in ATP Rule).
Timestamp Calculation
In scheduling time stamp is not considered, normally it would be 23:59:00 i.e. EOD. One exception to this is for Non
ATPable items, the profile 'MSC: Retain Time for NonATPable Items’, which governs display of timestamps for only
Non ATPable items only. When this profile option is 'Yes', then time stamp is copied from Requested Date.
Note: At the time of rescheduling it would consider the first scheduling time stamp
In case if the profile option is 'No' then for both ATPable and Non ATPable items, resources will be considered till
end of day and always SSD will be end of the day i.e. 23:59:00.
Testflow for Reservations
If OM: Reservation Time Fence is set to a number greater than zero, then the reservation is created for the item as
soon as the order is scheduled, if the schedule date is within the reservation time fence window. The time fence is
the system date plus the number of days specified in the profile. For example, if the profile is set to 30 days, then as
long as the Schedule Ship Date for the order is within the system date plus 30 days, then reservation is created.
The reservation is created once the line is scheduled either by manually or automatically.
To view the reservation details Click Tools > Scheduling > Reservation Details
Attributes Related to Scheduling
The following is a list of line attributes related to scheduling.
Request Date
Schedule Ship Date
Schedule arrival date
Warehouse
Ordered Quantity
http://snroracle.blogspot.com/2014/02/schedulinginordermanagement.html 23/24
2/10/2016 Oracle functional: Scheduling In Order Management
Ordered Quantity UOM
Shipping Method
Delivery Lead Time
Demand Class
Customer
Inventory Item
Ship Set
Arrival Set
If there is a change in any of the above attributes rescheduling would happen, since they are dependent on each
other. The exception for the above scenario is Request Date and Ship Method. The Request Date and Ship Method
can be controlled by two system parameters:
Reschedule with Request Date Change
Reschedule with Ship Method Change
If the above mentioned parameters are set to No, then Rescheduling will not happen even if the Request Date and
Ship Method are changed and vise versa
Profiles and System Parameters related to Scheduling
1. Profiles
Following are profile options related to Scheduling. Refer to the documentation for further information.
OM: Schedule Lines on Hold
OM: Autoschedule
OM: Reservation Time Fence
OM: Auto Push Group Date
OM: Authorized to Override ATP
OM: Scheduling Rule
MRP: ATP Assignment Set
INV: Capable to Promise
Scheduling profiles related to OM are explained in:
Note:396960.1 Scheduling Across Orders in Order Management
2. System Parameters
Navigate to OM > System Parameters > Values and select your Operating Unit and the category Scheduling
Parameters. Notice the following system parameters. Refer to the documentation for further details.
Allow Partial Reservation
Firm Demand Events
Latest Acceptable Date
Promise Date Setup
Reschedule with Request Date Change
Reschedule with Ship Method Change
Concurrent Programs
1) Schedule Order
Navigation: Orders, Returns > Schedule Order
2) Reserve Orders
Navigation: OM > Reports, Requests > Run Requests
http://snroracle.blogspot.com/2014/02/schedulinginordermanagement.html 24/24