Available-to-promise (ATP)
Available-to-promise (ATP) is the uncommitted portion of an inventory and planned production in the master schedule to support customer order promising. ATP contains the on-hand inventory, scheduled receipts, and reserved inventory, which enables a company to provide reliable delivery dates to customers.
ATP is calculated in periods. The first period includes the current on-hand balance and extends until the first scheduled receipt. Each succeeding period begins with a scheduled delivery and continues until the next delivery is due. ATP is calculated by subtracting the total reserved quantity from the available or on-order quantity.
Reservations indicate planned stock issues, such as customer orders or material requirements for manufacturing. The reserved quantities are summed for each period. A reservation is associated with a specific period when the reservation’s planning date and time are equal to or later than the planning date and time of the scheduled receipt. If the reserved quantity during a period exceeds the quantity on order, the value of ATP becomes negative, indicating a shortage. The ATP calculations do not include forecasts.
- Discrete ATP
- Cumulative ATP
- Cumulative ATP with look-ahead
Cumulative ATP involves carrying forward the unreserved quantities into the subsequent periods. This contrasts with discrete ATP, where available quantities are reset for each scheduled receipt.
Cumulative ATP with look-ahead is used in M3 to calculate the ATP. Cumulative ATP with look-ahead refers to the method of carrying over unreserved quantities to the next period and adjusting for cases where reserved quantities exceed scheduled receipt quantities. In such cases, cumulative ATP is reduced in earlier periods to ensure it does not exceed the cumulative ATP of future periods. This method prevents allocating quantities reserved for future periods to earlier dates.
As a result, cumulative ATP with look-ahead typically increases over time and does not decrease.
This diagram shows a timeline for tracking product availability with scheduled receipts:
ATP allocation scenarios based on customer orders
Customer orders affect ATP inventory over time, with ATP values adjusted across periods based on order quantities, scheduled receipts, and the applied ATP calculation method. These scenarios show how customer orders affect the ATP:
- The on-hand quantity is 100 pieces. The two scheduled receipts contain 100 pieces each. The customer orders exist for 60 pieces in period 0, and 50 pieces for period 1.
This table shows how cumulative ATP increases with each period:
Period: number of days Order quantity Reserved quantity Discrete ATP Cumulative ATP Cumulative ATP with look-ahead 0 100 60 40 40 40 1: 1-2 days 100 50 50 40 + 50 = 90 90 2: 3-5 days 100 0 100 90 + 100 = 190 190 Day 6 onwards Infinite Infinite Infinite Infinite Infinite - A customer places a new order for 110 pieces on day 3. The cumulative ATP in period 2 is 190, which exceeds the order quantity of 110. This availability ensures that the system can fulfill the order without causing a shortage. After placing the order and recalculating ATP, the reserved quantity in period 2 exceeds the reserved quantity.
This table shows how the cumulative ATP with look-ahead in the previous period is reduced:
Period: number of days Order quantity Reserved quantity Discrete ATP Cumulative ATP Cumulative ATP with look-ahead 0 100 60 40 40 40 1: 1-2 days 100 50 50 90 (adjusted) 80 2: 3-5 days 100 110 -10 90- 10 = 80 80 Day 6 onwards Infinite Infinite Infinite Infinite Infinite - A customer places a new order for 50 pieces on day 4. The cumulative ATP in period 2 is 80, which exceeds the order quantity of 50. This availability enables the system to fulfill the order without causing a shortage. After placing the order and recalculating ATP, the cumulative ATP in period 2 becomes lower than the ATP values in both periods 0 and 1.
This table shows how the cumulative ATP values are reduced in period 0 and period:
Period: number of days Order quantity Reserved quantity Discrete ATP Cumulative ATP Cumulative ATP with look-ahead 0 100 60 40 40 (adjusted) 30 1: 1-2 days 100 50 50 90 (adjusted) 30 2: 3-5 days 100 110 + 50 = 160 -60 90- 60 = 30 30 Day 6 onwards Infinite Infinite Infinite Infinite Infinite In this example, you can still add customer orders for up to 30 pieces in period 0, 1, or 2. However, adding a larger quantity results in a shortage.
Significant dates to ATP
- 'Lead time date'
The 'Lead time date' is calculated by adding the values of 'Lead Time' (LEAT), 'Aging Days' (AGDY), and 'Safety Time' (SATD) to the current date. These parameters are retrieved from the item warehouse table MITBAL.
'Aging Days' (AGDY) is included in the 'Lead time date' only when the item is classified as a manufactured item.
'Safety Time' (SATD) is added to the 'Lead time date' only when the 'Consider safety time' option is enabled in the item’s CTP policy. In this case, 'Safety Time' (SATD) is consistently applied as working days.
Note: If an item has an 'Acquisition code' set to 2-'Purchased' item and 'Lead Time days per Week' (LTDY) is equal to 7, the 'Lead time date' is computed using calendar days. Otherwise, working days are used. - 'Planning time fence date'
The 'Planning time fence date' is the period during which the MRP process does not automatically adjust the material plan for master scheduled items. This date is determined by adding the 'Lead Time' (LEAT), 'Aging Days' (AGDY), 'Safety Time' (SATD), and the lead time of underlying components. The Planning time fence (PFTM) is automatically calculated using the function 'Planning Time Fence & Horizon. Calculate' (MMS355). Alternatively, in 'Item. Connect Warehouse' (MMS002/E), the PFTM is manually defined. In such cases, you must specify a sufficient PFTM to cover the entire required timeframe for acquiring the item.
- ATP fence date
The ATP fence date serves as the cutoff period for determining whether a reservation qualifies for ATP calculation. After this date, the ATP quantity is treated as infinite. The ATP fence date is calculated using these methods:
- For master scheduled items, the ATP fence date is determined by identifying whichever is longer: the 'Planning time fence date' or the 'Lead time date'.
- For the non-master scheduled items, the ATP fence date corresponds to the 'Lead time date'.
- ATP Horizon Date
The calculation of ATP is until the ATP horizon date, which includes the material plan records with planning dates earlier than this date in the calculation. The ATP horizon date is calculated using this formula:
ATP horizon date = ATP fence date + ATP adjustment days (ATPA)
ATP Fence Date vs. ATP Horizon Date
The ATP fence date, which is usually equal to or earlier than the ATP horizon date, is the threshold for determining whether ATP calculation is applied when a reservation is added. The ATP calculation includes reservations and planned receipts up to the ATP horizon date.
In this example, a customer places an order for 25 pieces beyond the ATP fence date but within the ATP horizon date. This order affects the ATP for period 1. To prevent shortages, ensure that any reservation within the ATP fence date does not exceed 45 pieces. However, a reservation of 46 pieces placed beyond the ATP fence date but within the ATP horizon date is accepted without causing shortages. This outcome occurs because the reservation falls outside the ATP fence date. Therefore, the ATP calculation is not applied for the reservation. Nevertheless, the reservation impacts the ATP for period 1 and prevents additional reservations within the ATP fence date.
This diagram shows how the ATP fence date and the ATP horizon date affect the ATP calculation:
ATP calculation tables
This table shows the tables used in ATP calculation, along with their respective functions and managed parameters:
Table | Use |
---|---|
'Material plan' (MITPLO) | Stores material plan information, receipts, and reservations |
'Item – warehouse' (MITBAL) | Maintains accumulators, such as 'On-hand balance approved' (STQT), 'Allocatable on-hand balance' (AVAL), and 'Allocated quantity' (ALQT)
Holds different parameters, such as the 'CTP policy' (CPCD), 'Planning policy' (PLCD), 'Lead time' (LEAT), planning time fence (PFTM), and 'Master scheduled' (MSCH) |
MITMAS | Contains 'Basic unit of measure' (UNMS), 'Number of decimal places' (DCCD), and 'Status' (STAT) |
CSYTAB | Contains 'CTP policy' (CPCD) and 'Planning policy' (PLCD) |
CSYPAR | Specifies purchase parameters, including 'Lead time days per week' (LTDY) |
'Available to Promise' (MITATP) | Stores the results of ATP calculation when the 'Available-to-Promise calculation' (ATPC) in Capable-to-Promise Policy. Open (CTS090) is equal to '1-At changes' or '3-At changes type 2'. |
Key parameters affecting ATP calculation
This table shows the parameters used in ATP calculation and their respective functions:
Program | Field | Heading | Description |
---|---|---|---|
(CTS090) | ATPC | ATP calculation | Defines how and when the ATP is calculated for the item.
These settings include these values:
Perform a Type 2 ATP calculation by placing all reserved quantities up to and including the lead time date in the first period. Use this approach when an on-hand balance needs to cover all reservations within the lead time. |
(CTS090) | ATLE | ATP level | Specifies the level at which the user can perform the ATP calculations.
ATP calculations include these levels:
|
(CTS090) | FIAT | Finite ATP | Defines the ATP horizon date for the item in the selected supply model alternative by using this parameter in Supply Model flows. When selected, treat the ATP horizon date as infinite. Consequently, no supply order is placed for that alternative, and the system proceeds to search for the next available supply option defined in the supply model. |
(CTS090) | IEAQ | Exclude allocated quantity | Excludes all allocated quantities from the calculation. The parameter reduces the allocated quantity from the available on-hand balance in the first period and includes only unallocated reserved quantities in subsequent periods. |
(CTS090) | EXNA | Exclude non-allocatable | Uses the 'Allocatable on-hand balance' (AVAL) as the available on-hand quantity in the first period instead of the 'On-hand approved quantity' (STQT). |
(CTS090) | CSIA | Consider safety time | Balances all receipt planning dates by the safety time when the safety time is greater than 0.
For example, if a purchase order receipt has a planning date of July 1 and the safety time is 2, the ATP table reflects the date as July 3. As a result, any reservations on July 1 and July 2 fall into the previous period. If the sum of the receipt planning date and safety time is greater than or equal to the ATP horizon, exclude the receipt from the calculation. |
(MMS002/E) | PUIT | Acquisition code | Defines how to acquire an item. For example, use 1-'Manufactured' or 2-'Purchased'. This setting can affect the ATP horizon calculation. |
(MMS002/E) | MSCH | Master scheduled | Indicates whether the item is master scheduled. If the value is 0, ignore the planning time fence when calculating the ATP horizon. |
(MMS002/E) | LEAT | Lead time | Expressed as the number of workdays |
(MMS002/E) | PFTM | Planning time fence | Expressed as the number of workdays |
(MMS002/E) | AGDY | Aging days | Defines the number of calendar days required for a manufactured item to age before reaching an approved status. This parameter affects the ATP horizon only when the item uses 'Acquisition code' set to 1- 'Manufactured'. |
(MMS002/E) | SATD | Safety time | Expressed as the number of workdays |
(MMS037) | ATPA | 400 ATP calculation horizon adjustment | Adds the specified number of days to the ATP fence date to calculate the ATP Horizon Date. Depending on the values of the PUIT and LTDY parameters, the added days are treated as either working days or calendar days. |
(CRS780) | LTDY | Lead Time Days Per Week | Specify how many days per week to use for ATP date calculations for purchased items with PUIT = 2.
Use 5 to apply working days, which are days that have general capacity defined in the system calendar, or use 7 to apply calendar days, which include all seven days of the week. |
This table shows the parameters that are included in ATP setting:
Program | Field | Heading | Description |
---|---|---|---|
(CTS090) | R*** | Order category | Defines the corresponding Include and From status fields to control whether each order category listed on this page affects ATP.
Use the order categories to determine whether to treat a receipt as ATP. Reservations typically affect ATP and are not controlled in this setting, except for DO issues and planned DO issues, or order categories 510 and 511. |
(CTS090) | Y*** | Include (yes/no) | Indicates that the corresponding order category affects the ATP if it is enabled. If disabled, the corresponding order category is completely ignored. |
(CTS090) | S*** | From status | Indicates the status from which a transaction in the corresponding order category begins to affect ATP when enabled.
For example, if order category 251 has Included = 1 and From status = 35, then a confirmed PO (status 35) counts as a receipt that affects ATP. A printed PO with status 20 is excluded from the ATP calculation. |