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.
You may want to delay the creation of the Returns delivery in certain Return for Credit scenarios.
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:
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.