SD Availability Check Part 9: Troubleshooting ATP and aATP
A method for "no confirmation" and "wrong date" incidents: verify whether ATP ran, scope of check and checking rule, replenishment lead time, scheduling dates, receipts and issues in CO09, allocation and supply protection limits, BOP changes, and delivery-time rechecks.
Explanation
📌 KEY POINTS
✅ First question: did ATP run at all? (schedule line category, requirements class, checking group "no check").
✅ Second: what did it see? CO09 with the same checking group and rule shows stock, receipts and issues per date.
✅ Third: which limits applied? RLT, scheduling dates, product allocation, supply protection, BOP results.
✅ Delivery-time failures often come from stricter rule B scope.
⚠️ Comparing MMBE stock with the order confirmation is the most common false alarm.
━━━━━━━━━━━━━━━━━━━━
▶ WHERE WE ARE
Parts 1–8 covered classic and aATP functions. Now the diagnostic path.
━━━━━━━━━━━━━━━━━━━━
▶ 1. DID ATP RUN?
- Procurement tab: requirements type; schedule line category flags; checking group not "no check".
━━━━━━━━━━━━━━━━━━━━
▶ 2. WHAT DID ATP SEE?
- CO09 with checking group + rule A: stock, receipts, issues, cumulative ATP.
- Earlier orders and deliveries consuming stock.
━━━━━━━━━━━━━━━━━━━━
▶ 3. DATES
- Material availability date vs requested date (scheduling: transit, loading, pick/pack).
- Beyond RLT: confirmed (with RLT) or not (without RLT).\n\n━━━━━━━━━━━━━━━━━━━━\n▶ 4. aATP LIMITS\n• Product allocation consumed for the characteristic combination.
- Supply protection reserving quantities for others.
- BOP run changed confirmation (monitor BOP result).
━━━━━━━━━━━━━━━━━━━━
▶ 5. DELIVERY TIME
- Rule B scope: planned receipts excluded, only stock.
- Delivery creation partial or failing although order was confirmed.
━━━━━━━━━━━━━━━━━━━━
▶ STEP BY STEP
- Check item requirements type and flags.
- Run CO09 with the same parameters.
- Check scheduling dates on the schedule line.
- Check allocation/supply protection/BOP results.
- Compare rule A and rule B scopes for delivery issues.
✅ CHECKPOINT: every "no confirmation" ticket is explained with a CO09 screenshot or a named aATP limit.
Code example
===== STEP 1: diagnostic chain =====Item Procurement tab → requirements type, confirmed qtyVOV6 / OVZG → Availability flagsMM03 MRP 3 → checking group (not "no check"), RLTCO09 → same checking group + rule A (order) / B (delivery)Schedule line → material availability date vs requested date ===== STEP 2: aATP checks (apps, names per release) =====Product allocation monitor → consumption for the characteristic valuesSupply protection → protected quantitiesMonitor BOP Run → item result: gained / lost / unchanged ===== STEP 3: typical causes =====Stock promised to earlier orders | receipts not in scope | RLT not considered | allocation exhaustedDelivery check rule B excludes planned receiptsReal project scenario
A warehouse reported 1,000 units on hand but a new order confirmed nothing. CO09 with rule A showed 1,050 units already committed to existing orders and a delivery due tomorrow; the "on hand" figure included stock reserved for those. Additionally, the item's segment had lost confirmations in the nightly BOP run. The support team added CO09 and BOP monitor checks to the standard ticket template, halving investigation time.
Common mistakes
- Comparing MMBE with confirmations.
- Using different checking rules when simulating in CO09.
- Ignoring scheduling dates.
- Forgetting allocation or BOP effects.
- Assuming delivery uses the same scope as the order.
Best practices
- Standardize the diagnostic chain.
- Always reproduce with CO09 and the same parameters.
- Include aATP monitors in tickets.
- Keep RLT and scheduling master data accurate.
- Document scope differences between rules.
Interview angle
Questions: "Stock exists but no confirmation — why?", "How do you use CO09?", "Why can an order confirm but the delivery fail?"
Strong answer: check whether ATP ran, reproduce with CO09 and the same group/rule, consider committed quantities, scheduling and RLT, aATP limits (allocation, supply protection, BOP), stricter delivery scope rule B.
Practice this lesson
Quick check
1. An order was confirmed, but the delivery could not be created for the full quantity. What is a typical explanation?
2. An order was not confirmed although stock arrived later the same day. What should be checked first?
3. To reproduce an order's availability result, how should CO09 be used?
Interview questions
1. A customer order for a scarce material shows no confirmation although the plant has stock and receipts. Walk through your analysis for an S/4HANA system with aATP.
Answer it in your own words first, then compare.
2. An MTO sales order's schedule line shows zero confirmed quantity even though stock exists, and downstream delivery creation is blocked. How would you investigate whether incompletion procedure settings are contributing to this?
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 1: What ATP Does and Why It Matters
- 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