Wednesday, 25 September 2019

Available To Promise (ATP)



What is ATP? 

Available to Promise (ATP) is method of checking the projected supply of an item at a given time. ATP provides available quantities of the requested item and delivery due dates i.e. ATP provides with information on when the item quantity will be available based on current on-hand, plus incoming supply and outgoing demand 
ATP Quantity = On-hand quantity + Supply - Demand

ATP rules determine the sources of Supply and Demand and also, specifies the time when supply is assumed to be infinite. There are two types of ATP where the ATP information is retrieved from
  1. ATP Based on Collected Data: This is the basic type of ATP where calculation is based on collected data from transactional system. It can be deployed without ASCP. The main capabilities of this type of ATP are 
    • Basic ATP
    • Single-Level Supply Chain ATP
    • Product Family ATP
    • Configuration ATP
    • Demand Class ATP
  2. ATP Based on Planning Output: This type of ATP calculates the availability from the output of an ASCP Plan and promises delivery date based on it. This offers more advanced options
    • Basic ATP
    • Multi-Level Supply Chain ATP
    • Product Family ATP
    • Configuration ATP
    • Allocated ATP
    • Demand Class ATP
    • End Item Substituation

How to Know Which Type of ATP is used

Type of ATP used is defined by profile option "INV: Capable to Promise". This is a site level profile option and values are 
  • ATP/CTP based on Planning Output
  • ATP based on collected Data

What are the Steps involved for Checking ATP 



Inputs for ATP Calculation

Following are the inputs required for calculation of ATP 
  1. Item
  2. Item quantity
  3. Unit of Measure and
  4. Request Date
Based on input information, ATP can be calculated for a single order line or for entire order. ATP results for a single order line are displayed in a separate "Availability" window. 

Output of ATP 

Following information is displayed in the "Availability" window
  1. Warehouse: This is the warehouse from which the item will be shipped. If warehouse is available at order line then it is displayed. If warehouse is not available at order line, then best warehouse is picked up based on sourcing rule
  2. Request Date Qty: This is the quantity that is available on Request Date
  3. On-Hand Qty: Quantity that is currently available in warehouse
  4. Qty Reservable: On-hand quantity that is available to be reserved against the sales order line i.e. on-hand quantity minus quantity that is already reserved
  5. Available Date: This is the date on which the ordered quantity will be available. It is the request date if order quantity is available or future date i.e. date at which the requested quantity will be available 
  6. Error Message: Any error that occurred during ATP calculation. Or, message when ATP is not applicable for the item
  7. Substitute Item: If the requested item is not available but quantity for substitute item is available, then the substitute item will be displayed
If ASCP is not used then ATP rules must be defined to determine the sources of supply and demand which are included in calculations. Also, running the data collection plan is mandatory to summarize the supply and demand picture and ATP calculations are performed on summary tables
Important Item Attribute
ATP and ATP Components Flag determine the level of complexity while ATP calculation.

  1. Check ATP: Determines if the availability date of the item in an Order is driven by material availability, resource availability or both 
  2. Check ATP Components: Determines if the availability of the item i.e. promise date is dependent on the availability of its components

Define ATP Rules

ATP Rules are defined in Oracle Inventory and these Rules are used for calculating ATP details for an Order. Multiple ATP rules can be defined as per organization need and can be used independent of each other as per requirement. Each ATP rule is combination of ATP computation options, time fence options and supply & Demand options. ATP rules can't be deleted but can be modified or renamed. 

  1. Consumption: Optional, either one, both or none can be selected 
    • Forward: Uses the available quantities from future periods to cover a period shortage
    • Backward: Uses the available quantity from prior periods to cover a period shortage
  2. Accumulate Available: If backward consumption is selected this field indicates if ATP information should be calculated by carrying available quantity from one period over to the next (Accumulate)
  3. Past Due Days: This field determines the number of days to be considered for determining past due demand and supply time fence days. While calculating ATP for an item, Oracle Inventory does not consider any Demand or Supply source scheduled before these dates. 
  4. Infinite Supply: The Infinite supply time fence days marks the end of ATP horizon, after which inventory assumes infinite supply is available to cover for any scheduled demand. Possible list of values for this field are
    • Cumulative Total Lead Time:  Cumulative Total Lead time of an item is used for determining infinite supply time fence
    • Cumulative Mfg Lead Time: Cumulative Manufacturing lead time of an item is used for determining infinite supply time fence
    • Total Lead Time: Total Lead time of an item is used for determining infinite supply time fence
    • User Defined Time Fence: Uses the lead time provided in Days to be considered as ATP horizon
  5. ATP by Demand Class: If selected then following supply sources are not available
    • Internal Requisitions
    • Supplier Requisitions
    • Purchase Orders
    • On-hand available
    • Interorg Transfers
  6. Demand Sources: Controls the demand sources which are to be considered while calculating ATP
  7. Supply Sources: Controls the supply sources which are to be considered while calculating ATP

Tuesday, 17 September 2019

Scheduling in Order Management


Introduction:

Aim of this blog is to cover functional aspects of scheduling in Oracle Order Management.  
  1. What is Scheduling in Order Management?
  2. What happens when a line is scheduled?
  3. When Does Scheduling Happen?
  4. Few Important Definitions/Terminology
  5. Scheduling vs Reservation
  6. What are the Attributes Related to Scheduling?
  7. What is Scheduling by Ship or Arrival Date?
  8. Important Profile Options related to Scheduling?
  9. Important System Parameters Related to Scheduling?

What is Scheduling in Order Management

Scheduling is an action performed on Order Line or Group of order line and it performs following actions 

  • Place the demand in the inventory based on item availability and provides schedule date that will fulfill the customer demand
  • If the warehouse is entered on the order line either manually or using defaulting rules, the scheduling action uses the requested warehouse and all other scheduling actions are based on it 
  • Determines the Schedule Ship Date, schedule arrival date, the delivery lead time and shipping method 
  • Reserve the line automatically if the schedule ship date is within the release time fence 
  • Makes the line visible to planning applications and consume supply for the item. If an item has Check ATP enabled, then the supply will be consumed and if an item does not have Check ATP enabled then the supply will not be consumed 
  • Sales order lines are scheduled for both ATP enabled and non ATP items based on availability of the item 

What Happens When a Line is Scheduled? 

  1. Scheduling sets following columns in table as soon as line is scheduled. The two columns are independent and not dependent on setups 
    • VISIBLE_DEMAND_FLAG 
    •  SCHEDULE_STATUS_CODE 
  2. Scheduling controls following sets of data along with the above. 
    • 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

When Does Scheduling Happen/Different Ways of Scheduling an Order Line

Scheduling happens during anyone of the following events
  1. Automatic Scheduling at time of entry
  2. Manual Scheduling at time of entry
  3. Scheduling during Booking and 
  4. Scheduling after Booking  
  5. Schedule Orders Concurrent Program
  • Automatic Scheduling at time of Entry:- If the profile option "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 or manual save 
  • Manual Scheduling at time of 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. Manual Scheduling can be done in any of the following three ways
    • Tools -> Scheduling -> Schedule
    • Enter the Schedule Ship Date (or the Schedule Arrival Date if the Order Date Type in order header is 'Arrival')
    • Order line -> Right Click -> Scheduling -> Schedule
  • Scheduling During Booking:- As part of standard functionality scheduling happens at the time of order booking if scheduling is not performed at time of entry or manually. This is done by the workflow process attached with the order line
  • Scheduling After Booking:- Scheduling after booking can be achieved by two different workflow processes, which has deferred activity before "Schedule-Line" activity. 
  • Schedule Orders Program:- Concurrent program can be used to reschedule the lines that have been previously scheduled or schedule the lines that have never been scheduled (helpful in cases when business wants to schedule the lines after booking or while processing high-volume orders)
          Schedule orders program can be used to schedule order lines across multiple operating units

Few Important Definitions/Terminology 

  1. Demand - Requests which consumes inventory such as sales orders. Discrete manufacturing work orders and flow manufacturing schedules, place demand for components, and sales orders place demand for finished goods 
  2. Supply - Supply is incoming inventory. Few of the transactions that generate supply are, Purchase Orders, work orders, flow manufacturing schedules. 
  3. Sourcing - Selecting the warehouse for the order line i.e. the warehouse from which the sales order line will be shipped 
  4. ATP - On-hand quantity that is available for reservation. This is the quantity of current on-hand stock, outstanding receipts and planned production orders not already committed to sales orders and other sources of demand
  5. Override ATP - An action that allows authorised users to schedule the line even if there is no supply. Once ATP is overridden sales order line will have to be manually reserved
  6. ATP Date - The date that the requested quantity will be available to promise 
  7. Request Date - The date the customer requests that the products be either shipped or received
  8. Delivery Lead Time - Time in Days, for the item to reach customer once they are shipped
  9. Reservation - A guaranteed allotment of the item to a specific sales order line. Once reserved the item/quantity can't be allocated to other sources of demand.
  10. Reservation Time Fence - Time in days, before the Schedule Ship Date, within which a line should be automatically reserved
  11. Line Set - A set of lines which can be grouped into"Ship Set" or "Arrival Set" 
  12. Ship Set - A set of lines which will be shipped together from the same warehouse to the same location
  13. Arrival Set - A set of Order Lines, which arrive at same time at the destination
  14. Promise Date - The data on which we can ship the items to customers OR customer will receive the product. This field is for tracking purpose only and may be defaulted from "Schedule Ship Date" or "Schedule Arrival Date" 
  15. Schedule Arrival Date - The date returned by system on which the customer can receive the items
  16. Schedule Ship Date - The date returned by system on which the items can be shipped to the customer
  17. Actual Ship Date - This is the date on which the order lines are shipped,. This field/date is populated when delivery for the order line is shipped confirmed
  18. Actual Arrival Date  - The date the order lines arrive at the customer site
  19. Scheduling Across Orders - The ability to perform scheduling action on lines from multiple orders. With Scheduling across orders, order lines can be, Scheduled/Un-Scheduled, Reserved/Unreserved and perform ATP checks 
Scheduling vs Reservation
  • Reservation allocates inventory to a specific order line from a warehouse, Sub-Inventory, Lot, or revision where as Scheduling allocates supply from a date bucket rather than specific supply
  • Reservation gives an additional degree of certainty, that supply will be available to fulfill the customer demand

What are the Attributes Related to Scheduling?

Following are the attributes related to Scheduling 
  • Request Date
  • Schedule Ship Date
  • Schedule Arrival Date
  • Warehouse
  • Ordered quantity
  • Ordered quantity UOM
  • Shipping Method
  • Delivery Lead Time
  • Demand Class
  • Inventory Item
  • Ship Set and 
  • Arrival Set
If there is a change in anyone of the above attribute, rescheduling will happen since these attributes are dependent on each other. Exception to above is "Request Date" and "Ship Method", if either Request Date or Ship Method is changed, rescheduling will only happen if value for these at System Parameter is set to "Yes"

What is Scheduling by "Ship Date" or "Arrival Date"

The "Request Date Type" can be either "Requested Ship Date" or "Requested Arrival Date" and depends on Request Date type of the customer. This can be defaulted on "Order Date Type" at the order header level based on "Defaulting Rules" 

Request Date is Schedule Arrival Date 
  • In this scheduling calls MRP Scheduling API using "Requested Arrival Date"
  • The API returns the first date on or after the Requested Arrival Date that the items could arrive at customer location and enters the date on the "Schedule Arrival Date" on the Order Line 
  • "Schedule Ship Date" is calculated by subtracting the "Delivery Lead Time" from "Schedule Arrival Date"
  • If the shipping network has not been defined for the combination then in this case both dates are same i.e. "Schedule Ship Date is same as "Schedule Arrival Date"
  • If "Schedule Ship Date" is entered manually on sales order line before scheduling action, the system will try to schedule the line on that date at the time of scheduling action. If can't then Scheduling Fails
Request Date is Schedule Ship Date
  • In this Schedule Ship Date is most likely to be same as "Request Date" 
  • If "Request Date" is same as date order is entered, then "Schedule Ship Date is most likely to calculated for tomorrow
We will look in detail how different dates on Order Lines are calculated in detail in next blog 

Important Profile Options related to Scheduling

  1. OM: Schedule Lines on Hold - If an Order Line is on Hold and profile option is set to "No" then scheduling action fails.
  2. OM: Auto Schedule - When this profile option is set to "Yes", Sales order form opens in "Auto Schedule" mode and Sales order line is scheduled when it is Saved. 
  3. OM: Auto Push Group Date - If set to "Yes", when line is added to already scheduled set and this new line can't be scheduled, then system will try to schedule the complete configuration at some other time. If set to "No", then system will try to schedule the single line and if scheduling fails, then whole configuration is not affected
  4. OM: Authorized to Override ATP - If set to "Yes", then authorized users are allowed to check the "Override ATP" flag and override the "Schedule Ship Date" or "Schedule Arrival Date"
  5. MRP: ATP Assignment Set - It mentions the assignment set that is used for calculating ATP
  6. INV: Capable to Promise - If ASCP is not used, value is set to "ATP based on collected Data" and is ASCP is used and planning output is to be used then set value to "ATP/CTP  based on planning output"

Important System Parameters Related to Scheduling

  1. Reservation Time Fence - Reservations are performed automatically when a line is scheduled and schedule ship date is within the Reservation Time Fence.
  2. Allow Partial Reservation - If set to "Yes", reservation time fence supports partial reservations
  3. Firm Demand Events - This parameter allows to firm demand line at different event points within the line flow. Once firmed, warehouse can not be updated on the order line. Values are Schedule, Shipping Interface, None/Null i.e. lines are not firmed by an event 
  4. Latest Acceptable Date - This parameter provides choices for using the Latest Acceptable Date with manual scheduling
  5. Promise Date Setup - This parameter controls the behavior of "Promise Date". 
    • First Request Date: Promise Date is equal to first Request Date
    • First Schedule Ship Date/Arrival Date: Promise date is same as First Schedule Ship/Arrival Date
    • Manual Entry: This is the default value of this parameter and allows for Promise date to be entered manually or defaulted
    • Request Date: Setting this to Request Date makes Promise date dependent on Request Date i.e. if Request Date is changed, Promise Date is also changed
    • Schedule Ship/Arrival Date: If selected, Promise date is dependent on Schedule Ship/Arrival Date, and if they are updated, Promise date is also updated
  6. Reschedule with Request Date Change - If set to "Yes", lines are rescheduled if request date is changed
  7. Reschedule with Ship Method Change - If set to "Yes", lines are rescheduled when Ship Method is changed on order line. If lead time is used in scheduling then set this parameter to "Yes"