I have converted any edi file to xml using this repository edifact-reader-github-repository. For an instance see in the following xml file:
This is my un/edifact file:
UNB+UNOA:1+US::US+50138::THEM+140531:0305+001934++ORDERS'
UNH+1+ORDERS:91:2:UN'
BGM+220+A761902+4:20140530:102+9'
RFF+CT:EUA01349'
RFF+AAV::C'
TXT+THIS IS WHAT AN EDI MESSAGE WOULD LOOK LIKE... '
NAD+BY++OUR NAME PLC::::+++++EW4 34J'
CTA+PD'
COM+01752 253939:TE+01752 253939:FX+0:TL'
CTA+OC+:A.SURNAME'
COM+2407:EX'
CTA+TI+:B.BROWN'
COM+0:EX'
CTA+SU'
COM+0161 4297476:TE+01752 670633:FX'
UNT+15+1'
UNZ+1+001934'
and this is my xml file that converting by edifact file:
<?xml version="1.0" encoding="UTF-8"?>
<ediroot>
<interchange Standard="EDIFACT" SyntaxId="UNOA" SyntaxVersion="1" Date="140531" Time="0305" Control="001934" ApplRef="ORDERS" Decimal=".">
<sender>
<address Id="US" Qual="" Extra="US"/>
</sender>
<receiver>
<address Id="50138" Qual="" Extra="THEM"/>
</receiver>
<group>
<transaction Control="1" DocType="ORDERS" Version="91" Release="2" Agency="UN">
<segment Id="BGM">
<element Id="BGM01">220</element>
<element Id="BGM02">A761902</element>
<element Id="BGM03" Composite="yes">
<subelement Sequence="1">4</subelement>
<subelement Sequence="2">20140530</subelement>
<subelement Sequence="3">102</subelement>
</element>
<element Id="BGM04">9</element>
</segment>
<segment Id="RFF">
<element Id="RFF01" Composite="yes">
<subelement Sequence="1">CT</subelement>
<subelement Sequence="2">EUA01349</subelement>
</element>
</segment>
<segment Id="RFF">
<element Id="RFF01" Composite="yes">
<subelement Sequence="1">AAV</subelement>
<subelement Sequence="3">C</subelement>
</element>
</segment>
<segment Id="TXT">
<element Id="TXT01">THIS IS WHAT AN EDI MESSAGE WOULD LOOK LIKE... </element>
</segment>
<segment Id="NAD">
<element Id="NAD01">BY</element>
<element Id="NAD03" Composite="yes">
<subelement Sequence="1">OUR NAME PLC</subelement>
</element>
<element Id="NAD08">EW4 34J</element>
</segment>
<segment Id="CTA">
<element Id="CTA01">PD</element>
</segment>
<segment Id="COM">
<element Id="COM01" Composite="yes">
<subelement Sequence="1">01752 253939</subelement>
<subelement Sequence="2">TE</subelement>
</element>
<element Id="COM02" Composite="yes">
<subelement Sequence="1">01752 253939</subelement>
<subelement Sequence="2">FX</subelement>
</element>
<element Id="COM03" Composite="yes">
<subelement Sequence="1">0</subelement>
<subelement Sequence="2">TL</subelement>
</element>
</segment>
<segment Id="CTA">
<element Id="CTA01">OC</element>
<element Id="CTA02" Composite="yes">
<subelement Sequence="2">A.SURNAME</subelement>
</element>
</segment>
<segment Id="COM">
<element Id="COM01" Composite="yes">
<subelement Sequence="1">2407</subelement>
<subelement Sequence="2">EX</subelement>
</element>
</segment>
<segment Id="CTA">
<element Id="CTA01">TI</element>
<element Id="CTA02" Composite="yes">
<subelement Sequence="2">B.BROWN</subelement>
</element>
</segment>
<segment Id="COM">
<element Id="COM01" Composite="yes">
<subelement Sequence="1">0</subelement>
<subelement Sequence="2">EX</subelement>
</element>
</segment>
<segment Id="CTA">
<element Id="CTA01">SU</element>
</segment>
<segment Id="COM">
<element Id="COM01" Composite="yes">
<subelement Sequence="1">0161 4297476</subelement>
<subelement Sequence="2">TE</subelement>
</element>
<element Id="COM02" Composite="yes">
<subelement Sequence="1">01752 670633</subelement>
<subelement Sequence="2">FX</subelement>
</element>
</segment>
</transaction>
</group>
</interchange>
</ediroot>
What I want to do right now is this.I want to do this by using a library that translates any xml-i java model classes to my classes. But here's the part I'm having trouble with. Which of the variables I will create in my model class will give the data in my edifact file. I mean, I don't know which of the texts in my edifact file store what value.
When you need to understand EDIFACT format you have a few options to use as your primary source.
Truugo is one: https://www.truugo.com/edifact/912/orders/
Stylus Studion is another but 91.2 is not directly supported.
For the more usual edifact formats like ORDERS D96A or newer their library is very well build and easy to dig into.
Eg: http://www.stylusstudio.com/edifact/D96A/ORDERS.htm
Please note: The ORDERS 91.2 is not widely supported.
The implementation can change slightly between versions
ChatGPT is favored by many institutions but with edifact I find the replies confusing at the best to be wrong at the worst.
Not something I will recommend in this case