EDI

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(Initial page)
 
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
{{FormatInfo
 
{{FormatInfo
 
|formattype=electronic
 
|formattype=electronic
|subcat=Transportation
+
|subcat=Enterprise software
 
|extensions={{ext|edi}}, {{ext|x12}}, {{ext|edifact}}
 
|extensions={{ext|edi}}, {{ext|x12}}, {{ext|edifact}}
 
|mimetypes={{mimetype|application/edifact}}, {{mimetype|application/edi-x12}}
 
|mimetypes={{mimetype|application/edifact}}, {{mimetype|application/edi-x12}}
 
}}
 
}}
'''Electronic Document Interchange ''', or '''EDI''', is a set of text-based data formats for structured communication between business systems.
+
:''For the installation software, see [[EDI Install archive]] and related articles.''
 +
 
 +
'''Electronic Document Interchange''', or '''EDI''', is a set of text-based data formats for structured communication between business systems.
  
 
== EDI ==
 
== EDI ==
Line 15: Line 17:
 
XML-based EDI can be parsed any XML parser and then handled accordingly, but text-based EDI requires EDI-specific tools.
 
XML-based EDI can be parsed any XML parser and then handled accordingly, but text-based EDI requires EDI-specific tools.
  
Text based EDI files consist of a stream of segments. Each segment contains an array of elements. With each element containing data or sub elements themselves which contain data.  Generally all data is ASCII characters and any binary data must be encoded in an ASCII safe manor (ie Base64 encoded).  Specific implementations may support using UTF-8, UTF-16 or other locale-specific character-sets in place of ASCII.  Although EDI tools often display one segment per line, often there are no line-breaks in EDI data file itself.  This is because the "Segment Terminator" (the character or characters used as a delimiter between segments) is specified in a header segment (UNA for EDIFACT, ISA for X12). With Edifact traditionally using single quote <code>'</code> and X12 using tilde <code>~</code> instead of a line-break (<code>\n</code> or <code>\r\n</code>) as is common with text files. Each segment begins with a segment tag. In EDIFACT this is three alphabetic characters
+
Text based EDI files consist of a stream of segments. Each segment contains an array of elements. With each element containing data or sub elements themselves which contain data.  Generally all data is ASCII characters and any binary data must be encoded in an ASCII safe manor (ie Base64 encoded).  Specific implementations may support using UTF-8, UTF-16 or other locale-specific character-sets in place of ASCII.  Although EDI tools often display one segment per line, often there are no line-breaks in EDI data file itself.  This is because the "Segment Terminator" (the character or characters used as a delimiter between segments) is specified in a header segment (UNA for EDIFACT, ISA for X12). With Edifact traditionally using single quote <code>'</code> and X12 using tilde <code>~</code> instead of a line-break (<code>\n</code> or <code>\r\n</code>) as is common with text files. Each segment begins with a segment tag. In EDIFACT this is three alphabetic characters<ref>[https://service.unece.org/trade/untdid/d21a/trsd/trsdi1.htm EDIFACT Index of segments by alphabetical sequence by tag (revision 21a)]</ref> while in ANSI X12 it's two or three alpha-numeric characters.<ref>[https://www.gs1ca.org/files/4010segs.pdf ASC X12 Segment Directory]</ref>
{{cite web
+
|url=https://service.unece.org/trade/untdid/d21a/trsd/trsdi1.htm
+
|title=EDIFACT Index of segments by alphabetical sequence by tag (revision 21a)  
+
}}
+
while in ANSI X12 it's two or three alpha-numeric characters
+
{{cite web
+
|url=https://www.gs1ca.org/files/4010segs.pdf
+
|title=ASC X12 Segment Directory
+
}}
+
  
 
== Links ==
 
== Links ==
Line 34: Line 27:
 
* [https://www.hamburgsud-line.com/liner/media/hamburg_sud_liner_shipping/ecommerce/edi_api/message_implementation_guides/X_4010_315_HSDG_v1.1.1.pdf Hamburg Sud - 315 Message] - Example EDI Implementation Guide for X12 315 (Ocean Status)   
 
* [https://www.hamburgsud-line.com/liner/media/hamburg_sud_liner_shipping/ecommerce/edi_api/message_implementation_guides/X_4010_315_HSDG_v1.1.1.pdf Hamburg Sud - 315 Message] - Example EDI Implementation Guide for X12 315 (Ocean Status)   
 
* [https://github.com/notpeter/edicat edicat] - Python tool to print and transform EDI.
 
* [https://github.com/notpeter/edicat edicat] - Python tool to print and transform EDI.
 
  
 
==References==
 
==References==
{{reflist}}
+
<references/>
 +
 
 +
[[Category:Transportation]]
 +
[[Category:File transfer]]
 +
[[Category:Serialization]]

Latest revision as of 17:18, 15 November 2022

File Format
Name EDI
Ontology
Extension(s) .edi, .x12, .edifact
MIME Type(s) application/edifact, application/edi-x12
For the installation software, see EDI Install archive and related articles.

Electronic Document Interchange, or EDI, is a set of text-based data formats for structured communication between business systems.

Contents

[edit] EDI

EDI (Electronic Document Interchange) is an umbrella term for many distinct standards for machine-to-machine communications that has been in continuous use since the 1970s. Despite the existence of numerous detailed standards, an EDI transaction set (e.g. EDI document) will have customer-specific mappings applied before transmission. As a result each EDI integration is often effectively a custom integration to meet specific business requirements. Documents are text or XML and normally transmitted transmitted via FTP / SFTP or with specialized client/server software (e.g. AS1 (SMTP + SMIME) or AS2 - HTTP + SMIME)).

[edit] Parsing EDI

XML-based EDI can be parsed any XML parser and then handled accordingly, but text-based EDI requires EDI-specific tools.

Text based EDI files consist of a stream of segments. Each segment contains an array of elements. With each element containing data or sub elements themselves which contain data. Generally all data is ASCII characters and any binary data must be encoded in an ASCII safe manor (ie Base64 encoded). Specific implementations may support using UTF-8, UTF-16 or other locale-specific character-sets in place of ASCII. Although EDI tools often display one segment per line, often there are no line-breaks in EDI data file itself. This is because the "Segment Terminator" (the character or characters used as a delimiter between segments) is specified in a header segment (UNA for EDIFACT, ISA for X12). With Edifact traditionally using single quote ' and X12 using tilde ~ instead of a line-break (\n or \r\n) as is common with text files. Each segment begins with a segment tag. In EDIFACT this is three alphabetic characters[1] while in ANSI X12 it's two or three alpha-numeric characters.[2]

[edit] Links

[edit] References

  1. EDIFACT Index of segments by alphabetical sequence by tag (revision 21a)
  2. ASC X12 Segment Directory
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox