Now accepting guest editorial from SAP, Oracle, Workday and ServiceNow practitioners.Pitch a guide
The Sign-Off Table

Lesson 2 of 6

DESADV and DELVRY07: the delivery IDoc

10 min

Listen to this lesson

0:00 / 13:00

The ship notice is built from the outbound delivery, not from the order. For Great Lakes that is delivery 80001234: created from sales order 1000457 at shipping point 1710, picked in EWM warehouse 1710 from storage location 171A, packed at work center PK01, and issued when the GL-NORTH truck leaves. SAP's delivery documentation describes the shipping notification as the advance announcement of the delivery at the customer, sent as message type DESADV with output type LAVA in application V2 (shipping).

  1. Output LAVAMessage control in V2 finds Great Lakes' record: partner function SP, medium 6, dispatch time 4
  2. WE20 DESADV rowKU 17100001, message control V2 / LAVA / DELV, port XP1_PO, transfer immediately
  3. Process code DELVFunction module IDOC_OUTPUT_DELVRY reads the delivery and its handling units
  4. DESADV IDocBasic type DELVRY07, status 03 when handed to the port
  5. 856 outProcess Orchestration maps it to X12 004010 and sends it over AS2
From LAVA output to an 856: the same chain as the 855, with shipping objects.
The Sign-Off Table · thesignofftable.com/academy/sap-edi-204

Which version: DELVRY07

SAP's documentation shows several DELVRY versions because the pages were written over many releases: examples name DELVRY01, DELVRY03 or DELVRY06, and one older table still says DELVRY01 is current. The rule SAP states on the same pages is the one to follow: the IDoc type is a version number, and the highest number is the latest. SAP's current documentation describes the enhanced segments of DELVRY07, and that is what Contoso's DESADV row uses. When a partner's translator was built for an older version, the segment release in WE20 can hold the older segment definitions, but changing the basic type is a partner retest, not a configuration tweak.

The shape of DELVRY07

The most important thing to know about the delivery IDoc is that it is flat where the 856 is deep. Under the header segment E1EDL20 sit, side by side, the delivery items (E1EDL24) and the handling units (E1EDL37). Handling units do not contain items in the IDoc; they point to them. Each handling unit item (E1EDL44) names the delivery number, the delivery item number and the packed quantity, or, for a pallet that holds cartons, the external ID of the lower-level handling unit.

In DELVRY07, items and handling units are siblings under the delivery header; HU items point back to delivery items.
The Sign-Off Table · thesignofftable.com/academy/sap-edi-204
SegmentContentFields the 856 map uses
E1EDL20 delivery headerDelivery number, shipping point, route, weights, number of packages, bill of lading, means of transport ID, external delivery IDVBELN, VSTEL, ROUTE, BTGEW, NTGEW, GEWEI, ANZPK, BOLNR, TRAID, LIFEX
E1EDL22Delivery header descriptionsTexts for shipping point, route and similar
E1ADRM1Partners with addresses (ship-to, sold-to, carrier)Ship-to number and address for N1*ST
E1EDT13Deadlines by qualifier, with planned and actual datesQualifier 006 goods issue (actual date) for DTM*011
E1EDL24 delivery itemItem number, material, customer material, delivered quantity, sales unit, weightsPOSNR, MATNR, KDMAT, LFIMG, VRKME
E1EDL41Reference data of the ordering party: customer PO number and dateBSTNR, BSTDT for PRF
E1EDL37 handling unit headerExternal HU identifier, packaging material, weights, volumes, dimensionsEXIDV, VHILM, BRGEW
E1EDL44 handling unit itemDelivery and item number, quantity in the HU, or a lower-level HUVBELN, POSNR, VEMNG, EXIDV, VELIN

DELVRY07 segments that matter for an outbound ASN. WE60 shows the full documentation for your release.

Header control and deadlines

Two segment names confuse people on their first DESADV project. E1EDL18 (delivery header control) carries qualifiers such as PGI (post goods issue), DEL (delete delivery) and PIC (picking with flow records). SAP documents these for inbound delivery messages from a warehouse subsystem, where they tell SAP what to do. They are not a status flag on an outbound ASN, and a map that reads E1EDL18 to decide whether goods were issued is reading the wrong thing. E1EDT13 (deadlines) is the right place: SAP lists qualifier 006 for goods issue and 010 for picking, each with planned and actual dates.

Partners, references and customer numbers come from the order and the master data. E1EDL24-KDMAT carries the customer material number that sap-edi-203 translated on the way in (GLF-ALT-100), so the 856 can quote Great Lakes' own part number. E1EDL41 brings back the customer's purchase order number GLF-PO-55120, which the 856 needs at order level. If the order did not store the customer PO number, the ASN cannot carry it, and Great Lakes' receiving cannot match the shipment to its PO.

QuestionWhere the answer livesCommon mistake
Which order and PO?E1EDL41 under each delivery itemReading the SAP order number and sending it as the customer PO
When did it ship?E1EDT13 qualifier 006, actual dateUsing the IDoc creation date or the planned goods issue date
What is in each package?E1EDL44 under each E1EDL37Assuming items are nested inside handling units in the IDoc
Which part number?E1EDL24 KDMAT (customer) and MATNR (Contoso)Sending only CMC-ALT-100 to a partner that receives by its own number
Four questions every 856 map must answer from the DESADV IDoc, and the field each answer comes from.
The Sign-Off Table · thesignofftable.com/academy/sap-edi-204

Partner function and partner profile

The ship notice is usually addressed to the ship-to. Great Lakes is different: it receives every 856 at one EDI ID at head office and reads the delivery location inside the message, so Contoso's LAVA records use partner function SP and the DESADV row sits on KU 17100001 (sap-edi-201). SAP's own example partner profile for DESADV shows the same pattern of a sold-to row, V2 message control and process code DELV. If Great Lakes ever asked for 856s per depot, each ship-to (17100006, 17100007) would need its own partner profile, its own records, and a fresh partner test.

What would you do?

A tester in CMQ sees a DESADV IDoc for delivery 80001234 in status 03, but Process Orchestration's 856 has no PRF segment, so Great Lakes' test system cannot match it to GLF-PO-55120. Which check comes first?

Key points
  • DESADV uses output type LAVA (V2), process code DELV (IDOC_OUTPUT_DELVRY) and basic type DELVRY07, the highest version.
  • DELVRY07 is flat: items (E1EDL24) and handling units (E1EDL37) are siblings; HU items (E1EDL44) point to delivery items or lower HUs.
  • Customer PO references come from E1EDL41; the goods issue date from E1EDT13 qualifier 006; customer part numbers from E1EDL24-KDMAT.
  • E1EDL18 qualifiers (PGI, DEL, PIC) are documented for inbound control, not as an outbound shipped flag.

Check your understanding · not graded

Lesson check

  1. 1. Which segment carries the customer's purchase order number for a delivery item in DELVRY07?

  2. 2. How are handling units related to delivery items inside a DELVRY07 IDoc?

  3. 3. Which output type and application send the shipping notification in SAP's standard?

  4. 4. Where should the 856 map read the actual goods issue date from?