Xtext DSL to edit, parse, and serialize EDIFACT messages.
Xtext language definition: /edilang/src/io/thlaegler/edifact/Edilang.xtext
More info on EDIFACT:
- https://service.unece.org/trade/untdid/d00a/trsd/trsdi1.htm.
- http://docs.oasis-open.org/ubl/UBL-IFTM-Mapping/v1.0/cn01/UBL-IFTM-Mapping-v1.0-cn01.html
- https://unece.org/fileadmin/DAM/trade/edifact/untdid/d422_s.htm
Launch submodule edilang as Eclipse application/plugin.
Launch a Jetty server and open EDIFACT editor in browser: http://localhost:8080
$ cd edilang.web
$ mvn jetty:run
Use the library edilang.mapper in your project (either as fat-jar or plain jar).
EdiModel edifactModel = new EdiModel ...;
String edifactMessage = new EdifactMapper().writeValueAsString(edifactModel);
String edifactString = "UNB+IATB:1+1APPC+NZ0AV+200120:2136+039I42XXTK0001+++0'" +
"UNH+1+PAOREQ:96:2:IA+00012432090782'" +
... +
"UNT+9+1'" +
"UNZ+1+039I42XXTK0001'";
EdiModel edifactModel = new EdifactMapper().readValue(edifactString);
| Segment | Implemented | Segment description |
|---|---|---|
| Headers | ||
| UNA | x | Service String advice header |
| UNB | x | Interchange Header with Interchange Trailer UNZ |
| UNH | x | Header with trailer UNT |
| UNG | x | Functional Group Header |
| Segment directory Batch (EDSD) | ||
| https://service.unece.org/trade/untdid/d20b/trsd/trsdi2.htm | ||
| ADR | x | Address |
| AGR | x | Agreement identification |
| AJT | x | Adjustment details |
| ALC | x | Allowance or charge |
| ALI | x | Additional information |
| APP | x | Applicability |
| APR | x | Additional price information |
| ARD | x | Monetary amount function |
| ARR | x | Array information |
| ASI | x | Array structure identification |
| ATT | x | Attribute |
| AUT | x | Authentication result |
| BAS | x | Basis |
| BGM | x | Beginning of message |
| BII | x | Structure identification |
| BUS | x | Business function |
| CAV | x | Characteristic value |
| CCD | x | Credit cover details |
| CCI | x | Characteristic/class id |
| CDI | x | Physical or logical state |
| CDS | x | Code set identification |
| CDV | x | Code value definition |
| CED | x | Computer environment details |
| CIN | x | Clinical information |
| CLA | x | Clause identification |
| CLI | x | Clinical intervention |
| CMP | x | Composite data element identification |
| CNI | x | Consignment information |
| CNT | x | Control total |
| COD | x | Component details |
| COM | x | Communication contact |
| COT | x | Contribution details |
| CPI | x | Charge payment instructions |
| CPS | x | Consignment packing sequence |
| CPT | x | Account identification |
| CST | x | Customs status of goods |
| CTA | x | Contact information |
| CUX | x | Currencies |
| DAM | x | Damage |
| DFN | x | Definition function |
| DGS | x | Dangerous goods |
| DII | x | Directory identification |
| DIM | x | Dimensions |
| DLI | x | Document line identification |
| DLM | x | Delivery limitations |
| DMS | x | Document/message summary |
| DOC | x | Document/message details |
| DRD | x | Data representation details |
| DSG | x | Dosage administration |
| DSI | x | Data set identification |
| DTM | x | Date/time/period |
| EDT | x | Editing details |
| EFI | x | External file link identification |
| ELM | x | Simple data element details |
| ELU | x | Data element usage details |
| ELV | x | Element value definition |
| EMP | x | Employment details |
| EQA | x | Attached equipment |
| EQD | x | Equipment details |
| EQN | x | Number of units |
| ERP | x | Error point details |
| ERC | x | Application error information |
| EVE | x | Event |
| EVT | x | Event |
| FCA | x | Financial charges allocation |
| FII | x | Financial institution information |
| FNS | x | Footnote set |
| FNT | x | Footnote |
| FOR | x | Formula |
| FSQ | x | Formula sequence |
| FTX | x | Free text |
| GDS | x | Nature of cargo |
| GEI | x | Processing information |
| GID | x | Goods item details |
| GIN | x | Goods identity number |
| GIR | x | Related identification numbers |
| GIS | x | General indicator |
| GOR | x | Governmental requirements |
| GRU | x | Segment group usage details |
| HAN | x | Handling instructions |
| HYN | x | Hierarchy information |
| ICD | x | Insurance cover description |
| IDE | x | Identity |
| IFD | x | Information detail |
| IHC | x | Person characteristic |
| IMD | x | Item description |
| IND | x | Index details |
| INP | x | Parties and instruction |
| INV | x | Inventory management related details |
| IRQ | x | Information required |
| LAN | x | Language |
| LIN | x | Line item |
| LOC | x | Place/location identification |
| MEA | x | Measurements |
| MEM | x | Membership details |
| MKS | x | Market/sales channel information |
| MOA | x | Monetary amount |
| MSG | x | Message type identification |
| NAD | x | Name and address |
| NAT | x | Nationality |
| PAC | x | Package |
| PAI | x | Payment instructions |
| PAS | x | Attendance |
| PAT | x | Payment terms basis |
| PCC | x | Premium calculation component details |
| PCD | x | Percentage details |
| PCI | x | Package identification |
| PDI | x | Person demographic information |
| PER | x | Period related details |
| PGI | x | Product group information |
| PIA | x | Additional product id |
| PNA | x | Party identification |
| POC | x | Purpose of conveyance call |
| PRC | x | Process identification |
| PRI | x | Price details |
| PRV | x | Proviso details |
| PSD | x | Physical sample description |
| PTY | x | Priority |
| PYT | x | Payment terms |
| QRS | x | Query and response |
| QTY | x | Quantity |
| QUA | x | Qualification |
| QVR | x | Quantity variances |
| RCS | x | Requirements and conditions |
| REL | x | Relationship |
| RFF | x | Reference |
| RJL | x | Accounting journal identification |
| RNG | x | Range details |
| ROD | x | Risk object type |
| RSL | x | Result |
| RTE | x | Rate details |
| SAL | x | Remuneration type identification |
| SCC | x | Scheduling conditions |
| SCD | x | Structure component definition |
| SEG | x | Segment identification |
| SEL | x | Seal number |
| SEQ | x | Sequence details |
| SFI | x | Safety information |
| SGP | x | Split goods placement |
| SGU | x | Segment usage details |
| SPR | x | Organisation classification details |
| SPS | x | Sampling parameters for summary statistics |
| STA | x | Statistics |
| STC | x | Statistical concept |
| STG | x | Stages |
| STS | x | Status |
| STX | x | Start of Interchange |
| TAX | x | Duty/tax/fee details |
| TCC | x | Transport charge/rate calculations |
| TDT | x | Details of transport |
| TEM | x | Test method |
| TMD | x | Transport movement details |
| TMP | x | Temperature |
| TOD | x | Terms of delivery or transport |
| TPL | x | Transport placement |
| TRU | x | Technical rules |
| TSR | x | Transport service requirements |
| UCI | x | ? |
| VLI | x | Value list identification |
| Segment directory Interactive (IDSD) | ||
| https://service.unece.org/trade/untdid/d20b/tisd/tisdi2.htm | ||
| AAI | Accommodation allocation information | |
| ALS | Additional location information | |
| ODS | Additional product details | |
| APD | Additional transport details | |
| ADS | Address | |
| ERI | Application error information | |
| ATR | Attribute | |
| BCD | Benefit and coverage detail | |
| BLI | Billable information | |
| MOV | Car delivery instruction | |
| CLT | Clear terminate information | |
| CMN | Commission information | |
| CNX | Connection details | |
| CRI | Consumer reference information | |
| CON | Contact information | |
| CNY | Country information | |
| CUR | Currencies | |
| DAV | Daily availability | |
| DTI | Date and time information | |
| DNT | Dental information | |
| DIS | Discount information | |
| SER | Facility information | |
| FRM | Follow-up action | |
| FRQ | Frequency | |
| FTI | Frequent traveller information | |
| HDI | Hardware device information | |
| HDR | Header information | |
| ADI | Health care claim adjudication information | |
| HDS | Health diagnosis service and delivery | |
| ITD | Information type data | |
| ITC | Institutional claim | |
| ICI | Insurance cover information | |
| IFT | Interactive free text | |
| ITM | Item number | |
| LNG | Language | |
| LKP | Level indication | |
| POR | Location and/or related time information | |
| MES | Measurements | |
| MSD | Message action details | |
| MAP | Message application product information | |
| NME | Name | |
| NAA | Name and address | |
| NUN | Number of units | |
| ODI | x | Origin and destination details |
| ORG | x | Originator of request details |
| OTI | Other insurance | |
| PRT | Party information | |
| PMT | Payment information | |
| POP | Period of operation | |
| POS | Point of sale information | |
| PRE | Price details | |
| PRD | Product identification | |
| PDT | Product information | |
| PLI | Product location information | |
| PRO | Promotions | |
| QTI | Quantity | |
| RPI | Quantity and action details | |
| RTI | Rate details | |
| RTC | Rate types | |
| RFR | Reference | |
| RLS | Relationship | |
| RCI | Reservation control information | |
| RUL | Rule information | |
| SDT | Selection details | |
| ASD | Service details | |
| PSI | Service information | |
| SSR | Special requirement details | |
| TFF | Tariff information | |
| TXS | Taxes | |
| TCE | Time and certainty | |
| TIZ | Time zone information | |
| ATI | Tour information | |
| TRF | Traffic restriction details | |
| TVL | x | Travel product information |
| TDI | Traveller document information | |
| TIF | Traveller information | |
| VEH | Vehicle | |
| Trailers | ||
| UNS | x | Section Control Trailer for header UNS |
| UNZ | x | Interchange Trailer for header UNB |
| UNT | x | Message Trailer |
| UNE | x | Functional Group Trailer |