Page tree
Skip to end of metadata
Go to start of metadata

The Bridge supports UN/EDIFACT and X12 electronic data interchange. In this chapter we assume a basic knowledge of EDIFACT and X12 concepts. For a gentle introduction see for example the Wikipedia entries for EDIFACT and X12.

Example File (Builder project Add-ons/EDI):

<your example path>\Add-ons\EDI\uml\EDIFACT.xml
<your example path>\Add-ons\EDI\uml\X12.xml

The examples have a focus on UN/EDIFACT messages, but all definitions and descriptions always mean X12 messages, too. All UN/EDIFACT and X12 message types are available to be used within the Bridge. To import the selected message definitions, please refer to Importing UN/EDIFACT Directory Definitions.

It is also possible to import and use more than one message type within the same model. Therefore, import all necessary message types into your project. For example, after importing the D96 ORDERS and PRICAT (price catalog) messages, you will see the following containment tree:

EDIFACT messages share segment and composite definitions for each directory (e.g. D96A). Thus, after importing one message (e.g. ORDERS) all segments and composites are imported as well. Importing an additional message such as PRICAT will only add the D96A.PRICAT.xsd.import.xml module, because segments and composites have been imported before. The imported messages can be displayed in a class diagram. The classes model the underlying EDIFACT data structure, for example the ORDERS Interchange class looks like:

Beside the supported standard message types, enhancements or self defined EDI message types can be designed in these models. A typical adaptation is the change of

  • segment delimiters: tag segmentTerminator at <<EDIFACTInterchange>> or <<X12Interchange>> classes and

  • element delimiters: tag dataElementSeparator at <<EDIFACTSegment>> or <<X12Segment>> classes

The X12 example listed above shows how to implement this adoption. Additionally, this example shows how to reduce the overall complexity of the model by importing the X12 modules into the main UML model and deleting all unnecessary segment classes.