SD Availability Check Part 1: What ATP Does and Why It Matters
The business purpose of the availability check (ATP): promising reliable delivery dates, how requested and confirmed schedule lines arise, the ATP formula (stock + receipts − issues), backward and forward scheduling, and where ATP runs in the order-to-cash flow.
What this complete series covers
Learn Availability Check in a clear, practical sequence — from the basic idea to real project use, troubleshooting, and interview-ready understanding.
- Who it is for
- Best for SAP consultants, developers, and learners who want a practical understanding of Availability Check.
- Prerequisites
- Basic SAP S/4HANA navigation and an understanding of the business process are helpful. Configuration or transaction steps require suitable access to a practice or project system.
- Final outcome
- By the end, you should be able to explain Availability Check clearly, follow the main end-to-end flow, apply it in a project scenario, and troubleshoot the most common issues.
- Part 1: SD Availability Check Part 1: What ATP Does and Why It Matters
Understand what Availability Check (ATP) does, why it exists, and the basic terms every SD consultant must know before touching configuration.
- Part 2: SD Availability Check Part 2: Configuring the Classic Availability Check
Learn how checking groups, checking rules, and scope of check are configured together, and how ATP results flow from sales order to delivery in real transactions.
- Part 3: SD Availability Check Part 3: Scope of Check and Replenishment Lead Time
Explains how checking groups and checking rules combine to define the scope of check, and how replenishment lead time (RLT) and checking horizon influence ATP results.
- Part 4: SD Availability Check Part 10: Architecting Availability Check at Scale — Classic ATP, aATP and Landscape Trade-offs
Evaluate architectural decisions for Availability Check design across ECC, S/4HANA embedded aATP, and decentralized aATP, covering performance, governance, migration, and operation
- Part 5: SD Availability Check Part 4: Classic Backorder Processing and Rescheduling
Covers backorder processing, rescheduling of confirmed quantities, and how ATP integrates with MM procurement and PP production to resolve supply-demand mismatches in production support scenarios.
- Part 6: SD Availability Check Part 5: aATP Product Availability Check in S/4HANA
Understand aATP Product Availability Check as the S/4HANA advanced order-promising capability that confirms requested quantities and dates using configured supply, demand and scheduling rules.
- Part 7: SD Availability Check Part 9: Troubleshooting ATP and aATP
Diagnose confirmation differences by reconstructing the exact plant/date checking context, eligible receipts and requirements, scheduling, replenishment lead-time behavior and aATP allocation methods.
- Part 8: SD Availability Check Part 6: Product Allocation in Advanced ATP
Use Product Allocation to protect scarce supply by business dimensions and time buckets so high-demand products are confirmed within controlled allocation limits rather than simple
- Part 9: SD Availability Check Part 7: Alternative-Based Confirmation — Plant and Product Substitution
Use Alternative-Based Confirmation in supported S/4HANA releases to search configured alternative plants or products when the initially requested source cannot confirm demand.
- Part 10: SD Availability Check Part 8: aATP Backorder Processing — Segments, Strategies and Reconfirmation
Use aATP Backorder Processing to redistribute limited supply among existing demands according to explicit business segments, priorities and confirmation strategies.
System and release assumptions: Examples focus on SAP S/4HANA. Exact apps, transaction codes, configuration paths, and field names can vary by release and deployment model.
Explanation
📌 KEY POINTS
✅ ATP = available-to-promise: what can still be promised to a new requirement after considering stock, planned receipts and existing issues.
✅ The check runs per schedule line: it confirms the requested quantity on the requested date, a later date, partially, or not at all.
✅ Delivery and transportation scheduling work backwards from the requested delivery date to the material availability date the ATP check needs.
✅ ATP runs in the sales order (checking rule A) and again at delivery creation (checking rule B).
⚠️ Physical stock ≠ available quantity: stock already promised to earlier orders or deliveries is not available.
━━━━━━━━━━━━━━━━━━━━
▶ WHAT THIS SERIES COVERS
Part 1: What ATP does and why it matters
Part 2: Configuring the classic availability check
Part 3: Scope of check and replenishment lead time
Part 4: Classic backorder processing and rescheduling
Part 5: aATP product availability check in S/4HANA
Part 6: Product allocation
Part 7: Alternative-based confirmation
Part 8: aATP backorder processing
Part 9: Troubleshooting ATP and aATP
Part 10: Architecting availability check at scale
━━━━━━━━━━━━━━━━━━━━
▶ 1. THE ATP IDEA
- Available = stock + planned receipts − planned issues (orders, deliveries, reservations), per date.
- Cumulative ATP over time decides what a new requirement can get.
━━━━━━━━━━━━━━━━━━━━
▶ 2. WHAT THE USER SEES
- Requested schedule line (customer wish).
- Confirmed line(s): full, partial, later date, or zero.
- Availability screen with delivery proposal (one-time delivery, complete delivery, delivery proposal).
━━━━━━━━━━━━━━━━━━━━
▶ 3. SCHEDULING
- Backward: requested delivery date − transit time − loading − pick/pack → material availability date.
- If not available then: forward scheduling from the date material is available.
━━━━━━━━━━━━━━━━━━━━
▶ 4. WHERE ATP RUNS
- Sales order creation/change (checking rule A).
- Delivery creation (checking rule B).
- Rescheduling / backorder processing (redistribution).
━━━━━━━━━━━━━━━━━━━━
▶ 5. WHAT CONTROLS IT
- Schedule line category and requirements class switch ATP on.
- Checking group (material) + checking rule (transaction) define scope (Parts 2–3).
- S/4HANA: advanced ATP adds allocation, alternatives and BOP (Parts 5–8).
━━━━━━━━━━━━━━━━━━━━
▶ STEP BY STEP
- Check stock in MMBE and ATP in CO09.
- Create an order for more than available.
- Read the availability screen and confirmed lines.
- Create a second order and see how the first one reduces ATP.
✅ CHECKPOINT: you can explain why the second order confirms later although stock seems sufficient in MMBE.
Code example
===== STEP 1: availability views =====MMBE stock overview (physical)CO09 availability overview (ATP quantities per date, checking group/rule)MD04 stock/requirements list (planning view) ===== STEP 2: ATP example =====Date | Stock | Receipt | Issue (orders) | ATP (cumulative)01.10 | 100 | | 60 (order A) | 4005.10 | | +50 PO | | 90New order B for 70 on 01.10 → 40 confirmed 01.10, 30 confirmed 05.10 ===== STEP 3: scheduling in the order =====VA03 > item > Schedule lines > Shipping: requested delivery date, material availability date,loading date, goods issue date, confirmed quantityReal project scenario
A distributor promised dates from MMBE stock in phone calls, then entered orders later. Customers were told "in stock" while the system confirmed next month, because earlier orders had already consumed the stock. Sales was trained to promise only from the order's confirmation (or CO09), and a Fiori order entry app with immediate ATP result replaced the phone-and-enter-later practice.
Common mistakes
- Promising from physical stock instead of ATP.
- Ignoring the difference between requested and confirmed schedule lines.
- Forgetting that deliveries check again (rule B).
- Assuming ATP creates procurement — it only checks; MRP plans.
- Ignoring scheduling times when judging dates.
Best practices
- Promise dates only from ATP results.
- Monitor unconfirmed quantities.
- Keep scheduling master data (routes, times) accurate.
- Explain ATP basics to sales users.
- Use CO09 for availability questions.
Interview angle
Questions: "What is ATP?", "What happens if stock is insufficient?", "Where does the availability check run?"
Strong answer: ATP = stock + receipts − issues per date; confirmation per schedule line, partial/later/none; backward/forward scheduling; runs in order (rule A), delivery (rule B), rescheduling; controlled by schedule line category, requirements class, checking group and rule; aATP in S/4HANA.
Practice this lesson
Quick check
1. A warehouse shows 1,000 units on hand, but a new order gets no confirmation. What is the most likely reason?
2. Which checking rule is used by standard when a delivery is created?
3. What does the availability check (ATP) calculate for a new requirement?
Interview questions
1. Sales orders for a fast-moving product confirm dates the warehouse cannot meet, while customer service promises from stock figures. How do you explain ATP to the business and fix the process?
Answer it in your own words first, then compare.
2. Walk through how the availability check determines confirmed schedule lines when checking rule, checking group, and replenishment lead time interact, and what happens if backward scheduling pushes the requested date before today.
Answer it in your own words first, then compare.
Reference-verified: the steps are checked against official SAP documentation and tutorials, and object and field names in the sample code are checked for consistency. The code has not been compiled or run on an SAP system by ERPClimb. Syntax marked release-dependent varies by SAP release, so check it in your own system.
More lessons in this topic
- SD Availability Check Part 10: Architecting Availability Check at Scale — Classic ATP, aATP and Landscape Trade-offs
- SD Availability Check Part 2: Configuring the Classic Availability Check
- SD Availability Check Part 3: Scope of Check and Replenishment Lead Time
- SD Availability Check Part 4: Classic Backorder Processing and Rescheduling
- SD Availability Check Part 5: aATP Product Availability Check in S/4HANA
- SD Availability Check Part 6: Product Allocation in Advanced ATP
- SD Availability Check Part 7: Alternative-Based Confirmation — Plant and Product Substitution
- SD Availability Check Part 8: aATP Backorder Processing — Segments, Strategies and Reconfirmation