I’ve been doing Variant Configuration for the majority of my “professional” career. I learned something in a recent project that I somehow missed up until now. Sales Order Availability checking for Make-To-Order items has some major limitations. Let me start by explaining the setup and what we ran into in a recent client of mine when we attempted to use Variant Configuration Availability Checking.
We were creating a reasonably complex VC model and placing it into the sale order. We were generating an Assemble-To-Order production order directly from the sales order (skipped the planned order step). Now to further complicate things, we were also using collective orders inside of the VC bill of material structure. None of these things by them self were that far out there, but it was the first time I’d ever done all of them together.
SAP provides a program, SDV03V10 as an availability checking program. I found this through some OSS notes and eventually started playing with it. The functionality worked alright, so we went live with it. What we quickly discovered after go-live is that orders just weren’t being pulled into early dates. It quickly became apparent that the MTO availability program ran one line item at a time. During unit testing, not problem, but suddenly there were many VC line items on the same sales order (or possibly even standard items). Well, the availability programs don’t exactly play well with eachother. Below are the conditions we discovered.
- The standard V_v2 will not pick up any MTO items. It automatically excludes them from the program selection. So now this program will only work on standard items.
- The SDV03V10 program only executes one sales order line item.
- Sales order are often complete delivery
This “perfect storm” cause nothing to be rescheduled automatically. If you are not picking up the pattern, don’t feel bad, it took 3 of us to finally pull this all together. So, here’s an example:
Sales order 1 has the following items: The original promise dates are shown first.
10 STD1 qty: 1 Date: 12/12/2012
20 MTO1 qty:1 Date:12/12/2012
The sales order is complete delivery.
Now there are some inventory changes that make the availability of item 10 to be 11/15/2012 and item 20: 11/20/2012.
if you run V_V2, it will run against the order, but because it is complete delivery and there is an MTO item, it can’t reschedule it earlier than 12/12/2012. Now if you run the SDV03V10 (or any variation of this), the exact same thing will happen. This will leave you in a loop where nothing reschedules unless you go into the order and run a ATP check of all items.
After finding this, I decided that JaveLLin Solutions, LLC should design a new program that will mimic the complete ATP check. If you think this is something you could use, please contact me.
Thanks for reading,