EDIFACT Adapter
This adapter reads an EDIFACT message (raw data and Stage 1-3, DIN ISO 9735 compliant) and outputs it as an UTF-8-encoded XML document. In addition, the adapter can output an EDIFACT message.
Properties
Operation | Determines which operation the adapter executes Possible values:
|
Parameters
Adapter | Main class of the adapter (do not change!) Possible values: |
Status values
1 | The operation was executed successfully. |
0 | The operation was executed successfully, but without a result (input is null). |
-1 | The operation failed due to a technical error. |
Input
An EDIFACT message of the type INVOIC (invoice) could be structured as follows:
UNA:+,? '
UNB+UNOC:2+FHPEDAL+HUBERGMBH+990802:1557+9908021557'
UNH+INVOIC0001+INVOIC:D:93A:UN'
BGM+380+9908001+9'
DTM+3:19990802:102'
RFF+ON:O0010001'
DTM+4:19999715:102'
NAD+SE++Fahrradhandel Pedal++Wagingerstr. 5+München++81549'
NAD+BY++Huber GmbH++Obstgasse 2+München++81549'
LIN+1++4711.001'
IMD+F++:::Fahrrad, Damen'
QTY+47:1:PCE'
MOA+66:750'
PRI+AAA:750'
LIN+2++4711.002'
IMD+F++:::Luftpumpe, Stand-'
QTY+47:1:PCE'
MOA+66:19,9'
PRI+AAA:19,9'
LIN+3++4711.003'
IMD+F++:::Ersatzventil'
QTY+47:3:PCE'
MOA+66:7,5'
PRI+AAA:2,5'
UNS+S'
MOA+79:777,4'
MOA+124:124,38'
MOA+128:901,78'
TAX+7+VAT+++:::16+S'
UNT+28+INVOIC0001'
UNZ+1+9908021557'
Output
With Operation ReadRaw
, EDIFACT messages are output 1:1 as XML, e.g.:
<EDIFACT decimalSeparator="," segmentTerminator="'"
releaseIndicator="?" dataSeparator="+" componentSeparator=":">
<Segment>
<Component>
<Data>UNB</Data>
</Component>
<Component>
<Data>UNOC</Data>
<Data>2</Data>
</Component>
<Component>
<Data>FHPEDAL</Data>
</Component>
<Component>
<Data>HUBERGMBH</Data>
</Component>
<Component>
<Data>990802</Data>
<Data>1557</Data>
</Component>
<Component>
<Data>9908021557</Data>
</Component>
</Segment>
<!--weitere Segmente-->
</EDIFACT>
Operation ReadStage1
outputs EDIFACT messages as XML documents that already use concrete names instead of generic element names, e.g.:
<EDIFACT decimalSeparator="," segmentTerminator="'"
releaseIndicator="?" dataSeparator="+" componentSeparator=":">
<UNB>
<Component>
<Data>UNOC</Data>
<Data>2</Data>
</Component>
<Component>
<Data>FHPEDAL</Data>
</Component>
<Component>
<Data>HUBERGMBH</Data>
</Component>
<Component>
<Data>990802</Data>
<Data>1557</Data>
</Component>
<Component>
<Data>9908021557</Data>
</Component>
</UNB>
<!--weitere Segmente-->
</EDIFACT>
With Operation ReadStage2
, EDIFACT messages are output as XML documents in which the segments are organised based on the messages, e.g.:
<EDIFACT decimalSeparator="," segmentTerminator="'"
releaseIndicator="?" dataSeparator="+" componentSeparator=":">
<UNB>
<Component>
<Data>UNOC</Data>
<Data>2</Data>
</Component>
<!--weitere Komponenten-->
<UNH>
<Component>
<Data>INVOIC0001</Data>
</Component>
(weitere Komponenten)
<BGM>
<Component>
<Data>380</Data>
</Component>
<Component>
<Data>9908001</Data>
</Component>
<Component>
<Data>9</Data>
</Component>
</BGM>
<!--weitere Segmente-->
<UNT>
<Component>
<Data>28</Data>
</Component>
<Component>
<Data>INVOIC0001</Data>
</Component>
</UNT>
</UNH>
<UNZ>
<Component>
<Data>1</Data>
</Component>
<Component>
<Data>9908021557</Data>
</Component>
</UNZ>
</UNB>
</EDIFACT>
With Operation ReadStage3
, EDIFACT messages are output as XML documents in which the segments are structured with the correct hierarchy including nested segment groups in the tree, provided the adapter supports the message type, e.g.:
<EDIFACT decimalSeparator="," segmentTerminator="'"
releaseIndicator="?" dataSeparator="+" componentSeparator=":">
<UNB>
<Component>
<Data>UNOC</Data>
<Data>2</Data>
</Component>
<!--weitere Komponenten-->
<UNH>
<Component>
<Data>INVOIC0001</Data>
</Component>
<Component>
<Data>INVOIC</Data>
<Data>D</Data>
<Data>93A</Data>
<Data>UN</Data>
</Component>
<BGM>
<Component>
<Data>380</Data>
</Component>
<Component>
<Data>9908001</Data>
</Component>
<Component>
<Data>9</Data>
</Component>
</BGM>
<DTM>
<Component>
<Data>3</Data>
<Data>19990802</Data>
<Data>102</Data>
</Component>
</DTM>
<!--weitere Segmente-->
<SegmentGroup22>
<LIN>
<Component>
<Data>1</Data>
</Component>
<Component>
<Data />
</Component>
<Component>
<Data>4711.001</Data>
</Component>
</LIN>
<IMD>
<Component>
<Data>F</Data>
</Component>
<Component>
<Data />
</Component>
<Component>
<Data />
<Data />
<Data />
<Data>Fahrrad, Damen</Data>
</Component>
</IMD>
<QTY>
<Component>
<Data>47</Data>
<Data>1</Data>
<Data>PCE</Data>
</Component>
</QTY>
<SegmentGroup23>
<MOA>
<Component>
<Data>66</Data>
<Data>750</Data>
</Component>
</MOA>
</SegmentGroup23>
<SegmentGroup25>
<PRI>
<Component>
<Data>AAA</Data>
<Data>750</Data>
</Component>
</PRI>
</SegmentGroup25>
</SegmentGroup22>
<!--weitere Segmentgruppen-->
<UNT>
<Component>
<Data>28</Data>
</Component>
<Component>
<Data>INVOIC0001</Data>
</Component>
</UNT>
</UNH>
<UNZ>
<Component>
<Data>1</Data>
</Component>
<Component>
<Data>9908021557</Data>
</Component>
</UNZ>
</UNB>
</EDIFACT>