Click here to Skip to main content
15,916,949 members
Please Sign up or sign in to vote.
4.00/5 (1 vote)
See more:
Hi,

I have a project in which i need to build a parser from EDIFACT (used in air industry, IATA Amadeus version) to XML and I don't know from where to start. First i tried to understand the syntax but it's so different from normal UN/EDIFACT and some messages can't be understood and found. I just want to know from where to start, what should I do and what tools to use, I'm really lost.

Regards,
Posted
Comments
Richard MacCutchan 30-May-12 11:18am    
Get hold of the documentation on the EDIFACT file format and work from there.
Mabchour 1989 30-May-12 11:19am    
That's the issue, even the documentation is not well structured: many versions and some versions do not have at all some keywords that are crucial.

1 solution

Hey,

in my experience, a lot of edifact-formats are very product-specific.
I decided for myself, to build those parsers myself. I usualy do this in two steps in my dotnet-projects:
1) Parse the binary message into generic classes like message, segment, composite, element.
2) Parse the classes product/message-specific.

I can send you some c#-code for step 1 if you like.

Another idea. Maybe you dont need to read edifact. I know, Amadeus have soap-webservices nowadays. I know, they are auto-generating those webservices from edifact-messages. Maybe its an option for you to access those instead of the underlying edifact-messages.
 
Share this answer
 
Comments
Mabchour 1989 30-May-12 11:46am    
I'm supposed to build the parser myself but part of my assignment is to be able to read those messages alone. Yes please send me the stuff you suggested to mo.mabchour@gmail.com.

For the time being I'm asked only to understand Amadeus Edifact since it's related to the air industry in my country.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900