EDI
(Initial page) |
|||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{FormatInfo | {{FormatInfo | ||
|formattype=electronic | |formattype=electronic | ||
− | |subcat= | + | |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> |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | while in ANSI X12 it's two or three alpha-numeric characters | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
== 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== | ||
− | + | <references/> | |
+ | |||
+ | [[Category:Transportation]] | ||
+ | [[Category:File transfer]] | ||
+ | [[Category:Serialization]] |
Latest revision as of 17:18, 15 November 2022
- 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
- ANSI ASC X12 (Accredited Standards Committee)
- United Nations/Electronic Data Interchange for Administration, Commerce and Transport (UN/EDIFACT)
- EDIFACT XML Schemas
- TRADACOMS - Largely obsolete. Primarily used for UK retail.
- Hamburg Sud - 315 Message - Example EDI Implementation Guide for X12 315 (Ocean Status)
- edicat - Python tool to print and transform EDI.