Typical X12/EDIFACT/SAP IDoc mapping: transportation stages in logistics EDI

(Disclaimer 🙂 I’ve been working with logistics documents (Ocean and Road primarily, plus some Rail and Air) a lot recently, but I see them from the EDI prospective and might not fully understand business behind them. So I probably not always use the right terms, or misunderstand some details. This technical article is more about the structures used to describe transportation stages and related data.)

Another complex EDI case, related to the logistics EDI documents, is how different formats describe transportation stages (legs, conveyances, …). There are 2 main ways of describing transportation legs: stages and stops. For example, we need to move cargo from point A to point D, with points B and C in between.

A -> B -> C -> D

In case of Ocean Logistics it might be:

  • A-B, pre-carriage (warehouse to loading port)
  • B-C, main-carriage (loading to unloading ports)
  • C-D, on-carriage (unloading port to delivery destination)

In case of Motor it might be A as the loading point (warehouse) and B, C and D as Ship To store locations.

So, we could describe this route (A->D) as a set of stops (A, B, C and D) or as a set of legs (stages, conveyances, …) (AB, BC and CD). As we’ll see, different formats use one of these approaches.

Of course, for very simple cases, when we are interested in the first and last points only, we can always use Ship From and Ship To locations (N1 in X12, NAD in EDIFACT and something like E1EDKA1 in SAP Idoc (depends on the document)). It is typical for Orders or ASNs. But when it comes to Logistics, especially complex scenarios (like Ocean) and such things as Booking Request/Response, Shipping Instructions or Load Tender Motor documents, we need to know much more details – locations, requested/estimated/scheduled/actual dates of departure/arrival, carriers and sub-carriers, information about consignments/products loaded/unloaded in different points and so on. And logistic-specific documents contain structures for them.
Continue reading


Typical X12/EDIFACT/SAP IDoc mapping: ASN (Ship Notice) and Packaging structures

One of the most complex things you can encounter working on the maps is the mapping of hierarchical (nested) packages/products in ASNs (Ship Notices). Things like partners, dates or references usually are straight-forward and in a lot of cases you can use simple direct connections. But different formats use different approaches when it comes to hierarchical (nested) structures.

So, let me show you how X12, EDIFACT and IDocs describe this: one container C1 with 5 pallets, 2 pallets (P1 and P2) are for Product A, 2 pallets (P3 and P4) are for Product B and 1 pallet (P5) is a mixed load with Product A and Product C

        Product A, 100 KGM
        Product A, 100 KGM
        Product B, 90 KGM
        Product B, 90 KGM
        Product A, 20 KGM
        Product C, 90 KGM

Continue reading

GXS AI: how to process slash in XML data

If you are working with XML in GXS AI and your data contains a slash (like <Date>2016/01/08</Date>), you might face a situation when your map cannot process it, since slash is a special symbol.

Since this question is raised from time to time, I decided to write a short post about it. There are 2 ways (we are speaking about the map development, not about the map working in the production system):

1. you can change your data manually and add a release character in front of your slashes in the data
2. you can run otxmlcanon.exe pre-processor which would “fix” your XML file and do the same as it described in #1

otxmlcanon.exe -r \ _in.xml

Then, in your source model you should add release character:

SET_RELEASE(92) ; \ – this one is important

Gennady Kim

Typical X12/EDIFACT/SAP IDoc mapping: Delivery Terms

Delivery Terms – FOB in X12, TOD + LOC(s) in EDIFACT and E1EDK17 in ORDERS05 IDoc






Entity X12 (4010) EDIFACT (D96A) SAP IDoc (ORDERS05)
Delivery Terms FOB group TOD segment E1EDK17 records
  Delivery Terms Code (INCO) FOB-05 (335), Transportation Terms Code TOD-03C01 (4053), Terms of delivery or transport, coded E1EDK17 / LKOND, Delivery condition code. E1EDK17 / QUALF = 001 (Incoterms part 1)
  Location Type FOB-06 (309) Location Qualifier
DL = Delivery Location
LOC-01 (3227), Place/location qualifier
1 = Delivery
28 = Destination Country
  Location FOB-07 (352) Description LOC-02C01 (3225), Place/location identification E1EDK17 / LKTEXT, Delivery condition code. E1EDK17 / QUALF = 002 (Incoterms part 2)

Some INCO Terms:
CFR = Cost and Freight
CIF = Cost, Insurance, and Freight
CIP = Carriage and Insurance Paid To
COL = Buyer pays
CPT = Carriage Paid To
CPU = Pickup
DAF = Delivered at Frontier
DAP = Delivered at place
DAT = Delivered at Terminal
DDP = Delivered Duty Paid
DDU = Deliver Duty Unpaid
DEQ = Delivered Ex Quay
DES = Delivered Ex Ship
EXW = Ex Works
FAS = Free Alongside Ship
FCA = Free Carrier
FOB = Free on Board
PPA = Seller prepays
PPD = Prepaid and delivered

Gennady Kim