Delivery Processing
SD / O2Cintermediate

SD Delivery Processing Part 2: Delivery Types and Delivery Item Categories

Key takeaway

Configure outbound deliveries: delivery types (0VLK) with number ranges, order requirement, default order type for deliveries without reference, storage location rule, text and partner procedures; delivery item categories (0VLP) with picking relevance, availability check, quantity checks and storage location requirements; and item category determination for deliveries without reference.

Explanation

📌 KEY POINTS
✅ Delivery type (0VLK, table TVLK) controls numbering, order reference requirement, storage location rule, route determination, procedures and output for the delivery header.

✅ Delivery item category (0VLP, table TVLP) is copied from the sales order item category (same key, e.g. TAN) and controls picking relevance, availability check, quantity checks and storage location requirement.

✅ Common types: LF (outbound with order), NL (replenishment/stock transfer), LR (returns), LO (without reference).

✅ For deliveries without reference, item category is determined by delivery type + item category group + usage (0184).

⚠️ A new sales item category without a matching delivery item category (0VLP) cannot be delivered.

━━━━━━━━━━━━━━━━━━━━
▶ WHERE WE ARE

Part 1 introduced the delivery. Now its configuration.

━━━━━━━━━━━━━━━━━━━━
▶ 1. DELIVERY TYPE (0VLK)

  • Document category, number ranges (internal/external).
  • Order required (e.g. LF requires sales order; LO does not).
  • Default order type for deliveries without reference (DL).
  • Storage location rule (MALA, RETA, MARE).
  • Route redetermination, text/partner determination procedures, output.

━━━━━━━━━━━━━━━━━━━━
▶ 2. DELIVERY ITEM CATEGORY (0VLP)

  • Relevant for picking (needed for picking status and WM/EWM).
  • Check quantity 0, minimum delivery quantity, check overdelivery.
  • Availability check off/on at delivery.
  • Storage location required, determine storage location, don't check storage location.
  • Automatic batch determination.

━━━━━━━━━━━━━━━━━━━━
▶ 3. DETERMINATION

  • With reference to an order: item category copied from order item.
  • Without reference: 0184 delivery type + item category group + usage.

━━━━━━━━━━━━━━━━━━━━
▶ 4. COPY CONTROL LINK

  • VTLA order type → delivery type, item category level (Copy Control topic).

━━━━━━━━━━━━━━━━━━━━
▶ 5. TYPICAL CHANGES

  • New order type → VOV8 delivery type + VTLA.
  • New sales item category → 0VLP entry + VTLA item level.

━━━━━━━━━━━━━━━━━━━━
▶ STEP BY STEP

  1. Review LF in 0VLK and TAN in 0VLP.
  2. Copy to Z versions if behavior must differ.
  3. Maintain VTLA for order types and item categories.
  4. Create a delivery and check picking relevance and storage location determination.

✅ CHECKPOINT: a ZTAN order item creates a picking-relevant delivery item with storage location determined.

Code example

ABAP Code
===== STEP 1: delivery type (SPRO > Logistics Execution > Shipping > Deliveries >             Define Delivery Types)  (0VLK)  table TVLKLF  : order required X | storage loc. rule MARE | route redetermination per setting | output ...NL  : replenishment delivery (stock transport order)LR  : returns deliveryLO  : delivery without reference | default order type DL ===== STEP 2: delivery item category (Define Item Categories for Deliveries)  (0VLP)  table TVLPTAN : relevant for picking X | check quantity 0: B (error) | storage location required X      availability check: per setting | automatic batch determination XTAS : (third-party) not delivered from own stock → no delivery item ===== STEP 3: without reference (Define Item Category Determination in Deliveries)  (0184)LO + NORM + blank usage → DLN ===== STEP 4: copy control =====VTLA  OR → LF  | header + item TAN

Real project scenario

A client introduced ZTAN for special handling in sales but forgot the delivery item category. VL10 showed the orders, but delivery creation failed with "item category ZTAN is not defined". After creating ZTAN in 0VLP (copied from TAN) and the VTLA item entry, deliveries worked. The definition-of-done checklist for new sales item categories now includes 0VLP and VTLA.

Common mistakes

  • Creating sales item categories without delivery item categories.
  • Forgetting picking relevance, so WM/EWM ignores items.
  • Wrong storage location rule for the warehouse setup.
  • Deliveries without reference without 0184 entries.
  • Changing standard LF instead of copying.

Best practices

  • Treat 0VLK/0VLP/VTLA as one package.
  • Copy standard types and categories.
  • Align storage location rules with warehouse design.
  • Test deliveries with and without reference.
  • Document delivery types per process.

Interview angle

Questions: "What does the delivery type control?", "How is the delivery item category determined?", "What happens if 0VLP is missing?"
Strong answer: 0VLK controls numbering, order reference, storage location rule, procedures, output; 0VLP copied from order item category controls picking relevance, checks and storage location; 0184 for deliveries without reference; VTLA copy control; missing 0VLP blocks delivery creation.

Practice this lesson

Quick check

1. Which statement correctly describes how the delivery item category is determined during delivery creation?

2. A material is flagged as batch-managed in the material master. During delivery processing, no batch was manually entered on the item. What behavior should be expected if batch determination is configured?

3. A new sales item category ZTAN cannot be delivered ("item category not defined"). What is missing?

Interview questions

1. A client introduced a new order type and sales item category, but deliveries fail. Which delivery-side configuration must exist?

Answer it in your own words first, then compare.

2. Returns and stock transfers use the same delivery type as customer shipments in a template, causing wrong output and numbering. How would you set up delivery types?

Answer it in your own words first, then compare.

Practice more with Interview AI →

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

Interview questions on this topic

Related SAP topics