Being a digital pack-rat, I end up with a lot of old random documents on my PC. I recently found an opportunity to do some spring cleaning (in winter) and came across an old document where I was researching Delivery Blocks. So… Let’s talk about SAP Delivery Blocks. There’s much more to these fields than meets the eye. In this article I take a deep dive into Delivery Blocks, what they do, where they come from, and why.
What Do Delivery Blocks Do?
They block the creation of the delivery. Right? Yes, but there is quite a bit more to this seemingly self explanatory field. Delivery blocks exist in several different places:
- Sales Document Header (VBAK-LIFSK)
- Sales Document Schedule Line (VBEP-LIFSP)
- Delivery (LIKP-LIFSK)
The function of the Delivery Block depends upon the object where the block is maintained. A block on the Sales Document prevents the delivery from being created (along with several other functions I’ll discuss shortly), while a Delivery Block on the Delivery can prevent Picking and Goods Issue from taking place.
How Are SAP Delivery Blocks Applied?
Delivery blocks can be set on a Sales Order in several ways:
- Defaulted from Sales Document Type Configuration
Certain processes (i.e. Document Types) may require that a delivery block be present upon Sales Order creation. - Manually by a user
In certain cases, it may make sense that a user manually set or remove Delivery Blocks. - Through custom code such as a User Exit
Many organizations have validation processes which will detect process exceptions (i.e. orders exceeding truck capacity) and set a specific delivery block automatically as a flag that the order requires review.
- Defaulted from the Customer Master (Sold-to)
Customers may have their Delivery Block indicator set due to special circumstances that require additional review or specialized processing.
When Should You Use SAP Delivery Blocks?
I’ve already outlined a few scenarios above. The delivery block functionality can be applied to an order which requires exceptions-based processing.
- Warranty / Free of Charge Orders
Organizations generally don’t enjoy giving product away for free. In these cases, it may be recommended to have Warranty / Free of Charge sales orders be blocked initially and released once reviewed and approved. - Documents requiring approvals (e.g. Workflow)
There are myriad reasons why you may not want a Sales Order to flow to the delivery: low margin orders, high dollar orders, orders awaiting freight estimates, etc. - Returns
You may want to delay the creation of the Returns delivery in certain Return for Credit scenarios. - Validations
Orders might be flagged for pricing issues or for orders not conforming to expected practices like full case/full pallet, or expected order weight.
The list goes on…
Additional SAP Delivery Block Sales Functions
In addition to blocking delivery creation, there are other parameters that a Delivery Block can have that block additional Sales Document functions. It is important to note that these additional functions are transparent to the user; there is no way to easily tell which of these functions are enabled from an order entry perspective. Here is a list of the additional SAP Delivery Block functions:
- Order Block
This works in conjunction with the Order Block maintained on the customer master; when processing a sales order for a customer with an active block, the delivery block is pulled into the corresponding Sales Order. Orders must be un-blocked manually. - Confirmation Block
If this option is selected, schedule line confirmations are deleted upon saving. This allows the order entry person to relay to the customer what is available while making sure that the product is available for other customers. - Print Block
This prevents system-generated output from being issued automatically. Note: This may not apply to output that is manually added to the Sales Order, so be careful. - Delivery Due List Block
Orders with this parameter set will not appear on the Delivery Due List (Transactions VL10*). Manual delivery using VL01n is still possible - Picking Block
This parameter affects deliveries only. When this parameter is set, the delivery cannot be picked. - Goods Issue Block
This parameter affects deliveries only. When this parameter is set, the delivery cannot be Goods Issued (PGI).
As mentioned before, these functions are invisible to users, so it’s strongly recommended that users understand that not all delivery blocks are created equal. It may also be possible to utilize the 20 Character block description to abbreviate what each block does.
Clearing SAP Delivery Blocks
Delivery blocks are cleared much in the same way that they are set — manually by a user, or through custom code. There are a couple of standard SAP reports designed to query for delivery blocks and present additional Order information. Using these worklists, users can identify documents with header delivery blocks and then drill into the documents to clear them:
Transaction V.14 – Sales Orders / Contracts Blocked for Delivery
According to the program documentation, the Delivery Due Index table (VEPVG) is used to derive the report listing. You’ll also find your typical selection criteria (Delivery Block, Sales Area, etc.). There are some additional functions for adjusting the value display. You can also save the dataset for future reference.
Transaction VA14L – Sales Documents Blocked for Delivery
This is a very similar report to V.14, but it seems to also include Delivery Documents in the results. As mentioned above, Delivery Blocks can be maintained on both Sales Orders and Deliveries.
There are, of course, other reports which show the header-level delivery block, like VA05.
NOTE: It's worth mentioning that reports to identify Schedule-line level Delivery Blocks do not seem to be delivered with SAP. If you are aware of one, please let me know in the comments.
SAP Delivery Block Notes
The following SAP Note is very helpful if you want to know all the various behaviors of SAP Delivery Blocks:
https://launchpad.support.sap.com/#/notes/485488
Conclusion
In my experience, delivery blocks are a misunderstood function in the system and are under-utilized. Do you have a business process that utilizes the unique Delivery Block functionality? Please let me know in the comments. And, thanks for reading.
Good article. Using delivery block to prevent an output is something I can use in my current project. As you have mentioned, the absence of automatic removal of the delivery block is a pain point. SAP could give a standard report to remove the blocks. Thank you.
Thanks for the comments, Raj. It’s definitely a useful feature, but you’re right that automated removal requires extra custom code.
Thanks Michael. Our SAP consultants say that it is only possible to block the shipment with a delivery block. We would like to put a hold to prevent starting production and the customer has no credit issues. Which block would you suggest to use?
Bart
Hi Bart. Sounds like you should forward my article to your consultants; they could learn a thing or two. 😉
Unfortunately, the delivery block can’t prevent the transfer of requirements to MRP. I’m not certain why. To accomplish what you want, SAP recommends using a Delivery Block which prevents Confirmation in conjunction with setting the Fix Dates and Quantities flag on the item level Schedule Lines tab. There is more information in this SAP Note:
1642465 – Transfer of requirement of sales documents even though delivery or credit block is set
Good luck and thank you for posting.
Thanks Michael. If we want to check the priority of delivery block scenarios, how to check it? e.g. Sales orders could be blocked by customer master data and VOV8(set by document type). Then which reason code will be applied on header of SO? Or who can define the priority of delivery block function.
Thank you for the question. I’m not sure what you mean by “priority of delivery block scenarios”. Perhaps you’re asking about the source of a specific delivery block? As far as I know, there is no way to see what the source of the block is without simply doing some legwork to investigate. If the delivery block is set by a user during change mode, you should be able to see that in the sales order change log. Does this help?
Can someone please explain me about the delivery block being Z1(compliance block having the checkbox as order and delduelistblock ) and how to remove that ?
Delivery blocks beginning with “Z” are typically custom entries specific to your system. Only those within your organization can answer that question, unfortunately.