Transformation Gateway 
   Accent XML Transformer 
Download & Order 
   Transformation Gateway 
   Accent XML Transformer 

Most questions can be anwered by reading the Documentation.

Some frequent questions have been asked regarding EDI (EDIFACT)

If you are a novice in EDI it may be a good start to first visit an EDI 5 Minute Introduction.

If your question however relates on the subject how to manipulate and transform an EDIFACT message with our tool we would like to provide you with an example.

Let’s take an example with the two invoices EDI (EDIFACT) below. 

NAD+BY+126321:91++Hacker PLC+4 JONES WAY+SPRINGFIELD+80000'





Here are the corresponding invoices as an illustration for those not familiar with this format .


                                                            Hacker PLC
                                                            4 JONES WAY
                                                            80000 SPRINGFIELD

INVOICE No. 1300


No       ITEM                        AMOUNT       PRICE            TOTAL

5050   PC Pentium Xeon          10                    1500.-             15000.-
4750   LCD Monitor                  5                      500.-             2500.-


                                                            XYZ PLC
                                                            16 PORTLAND AVE
                                                            80000 SPRINGFIELD

INVOICE No. 1301


No       ITEM                          AMOUNT       PRICE            TOTAL

5050   PC Pentium Xeon           10               1500.-             15000.-
1100   Transformation Gateway  5                 500.-               2500.-



Lets say these invoices are part of a batch run of several thousand invoices per day and we want to upload only the receiver of the goods, the invoice number, the item No., the amount and the total cost via a SQL loader that requires a CSV file format with following format (any other format is possible as well:


Hacker PLC,4 JONES WAY,80000,SPRINGFIELD,1300,5050,10,4750,5,17500
XYZ PLC,16 PORTLAND AVE,80000,SPRINGFIELD,1301,5050,10,1100,5,17500

and so on.
To archive this transformation you will first need to start the Accent Transformation Gateway and enter all the formatting information’s about the incoming and about the outgoing file. This is done via the very easy GUI that requires no programming efforts at all. Once this is done you will then be able to start the Gateway as such in the background that will then automatically transform any incoming file (with as many data sets as you like) in the desired outcome.
In the following we guide you through the GUI using the example above.

To start the GUI go on the Command Line to the directory where the ATG was installed. Then enter the following:

java atgfactory13/ProviderATG

After having entered your Product Licence Key in the Welcome Screen and accepted the Licence Agreement with Accent Communications Ltd. the Project Information screen requires Project information.

Let’s assume the ATG was installed on a WINDOWS platform on path c:\AccentETL, a project name InvoiceData, a directory location of the  incoming file c:\AccentETL\InputFolder, an incoming file EDIInvoiceData.txt, a directory location for the outgoing file c:\AccentETL\OutputFolder and an outgoing file with the name ExtractInvoice.txt.

According to this information the “Project Information” screen needs to look as follows:                                                                                      



Please be aware that the directories have to be entered with the directory/tree break according to your Operating System!!!

Given the above EDI example the ADVANCED tool has to be used since the datasets in the incoming file are multilined and the data is seperated by delimiters from each other. Delimiters in this example are “:”, “+” and the “’” for the indication of the line end.

This example was choosen to give an illustration how the GUI can be set up with a little more complicated data. The “easier” examples are to be found in the general documentation.


On the following screen, the “Data Description – Advanced” screen, there is the complete set up for the above EDI input sample and the coma delimited output.

The descriptors choosen are sample descriptors and can of course be different as long as they comply with the following rules:

 can contain letters, numbers (thus the inclusion of &<”’^|~\... is not allowed)must not start with a number or consist of a number onlycannot contain spacesmust not start with the letters xml (or XML or Xml)

In order to make it easy there are descriptor names choosen like Line_1_Entry_1, Line_1_Entry_2 because it is not always clear to the person working with the data what each individual data stands for.


Since the screen does not show the whole set up at a glance in the following are all the descriptors and delimiters listed for both the incoming file and the result file.



DESCRIPTOR                      DELIMITER

LINE_1_ENTRY_1                         :

LINE_1_ENTRY_2                         +

LINE_1_ENTRY_3                         ‘

LINE_1_ENTRY_4                         cr

LINE_2_ENTRY_1                         +

LINE_2_ENTRY_2                         :

LINE_2_ENTRY_3                         +

LINE_2_ENTRY_4                         +

LINE_2_ENTRY_5                         +

LINE_2_ENTRY_6                         :

LINE_2_ENTRY_7                         +

LINE_2_ENTRY_8                         ‘

LINE_2_ENTRY_9                         cr

LINE_3_ENTRY_1                         +

LINE_3_ENTRY_2                         +

LINE_3_ENTRY_3                         +

LINE_3_ENTRY_4                         ‘

LINE_3_ENTRY_5                         cr

LINE_4_ENTRY_1                         +

LINE_4_ENTRY_2                         +

LINE_4_ENTRY_3                         :

LINE_4_ENTRY_4                         +

LINE_4_ENTRY_5                         +

LINE_4_ENTRY_6                         +

LINE_4_ENTRY_7                         +

LINE_4_ENTRY_8                         +

LINE_4_ENTRY_9                         ‘

LINE_4_ENTRY_10                      cr

LINE_5_ENTRY_1                         +

LINE_5_ENTRY_2                         +

LINE_5_ENTRY_3                         :

LINE_5_ENTRY_4                         +

LINE_5_ENTRY_5                         +

LINE_5_ENTRY_6                         +

LINE_5_ENTRY_7                         +

LINE_5_ENTRY_8                         +

LINE_5_ENTRY_9                         ‘

LINE_5_ENTRY_10                      cr

LINE_6_ENTRY_1                         +

LINE_6_ENTRY_2                         ‘

LINE_6_ENTRY_3                         cr

LINE_7_ENTRY_1                         +

LINE_7_ENTRY_2                         +

LINE_7_ENTRY_3                         +

LINE_7_ENTRY_4                         :

LINE_7_ENTRY_5                         :

LINE_7_ENTRY_6                         +

LINE_7_ENTRY_7                         :

LINE_7_ENTRY_8                         :

LINE_7_ENTRY_9                         +

LINE_7_ENTRY_10                      +

LINE_7_ENTRY_11                      ‘

LINE_7_ENTRY_12                      cr

LINE_8_ENTRY_1                         +

LINE_8_ENTRY_2                         +

LINE_8_ENTRY_3                         +

LINE_8_ENTRY_4                         :

LINE_8_ENTRY_5                         :

LINE_8_ENTRY_6                         +

LINE_8_ENTRY_7                         :

LINE_8_ENTRY_8                         :

LINE_8_ENTRY_9                         +

LINE_8_ENTRY_10                      +

LINE_8_ENTRY_11                      ‘

LINE_8_ENTRY_12                      cr

LINE_9_ENTRY_1                         +

LINE_9_ENTRY_2                         ‘

LINE_9_ENTRY_3                         cr

LINE_10_ENTRY_1                      +

LINE_10_ENTRY_2                      ‘

LINE_10_ENTRY_3                      cr

LINE_11_ENTRY_1                      +

LINE_11_ENTRY_2                      +

LINE_11_ENTRY_3                      ‘

LINE_11_ENTRY_4                      cr

LINE_12_ENTRY_1                      +

LINE_12_ENTRY_2                      +

LINE_12_ENTRY_3                      ‘


Now, why is there apparently always one entry too many in each line? This has to do with this special EDI format which uses a line break delimiter “’”.

This has to be treated as a normal delimiter which results in the fact that there is still an entry assumed after that delimiter, therefore each line needs to have one entry too many to construct this case.

The reason for this is that the GUI is set up for the majority of formats that do not have a line end delimiter.


Please see the documentation for examples where this additional (fictitious)  entry per line is not necessary.

Notice: The last Descriptor of a data set has no Delimiter.

An empty line between every data set will be assumed when a file has multilined data sets, which the GUI recognices in case the “cr” as a delimiter to indicate line breaks was used, indicating that it is multilined.  If it is a single lined data set the ATG assumes no empty line between the data sets.



DESCRIPTOR                      DELIMITER

LINE_4_ENTRY_6                         ,

LINE_4_ENTRY_7                         ,

LINE_4_ENTRY_9                         ,

LINE_4_ENTRY_8                         ,

LINE_3_ENTRY_3                         ,

LINE_7_ENTRY_3                         ,

LINE_7_ENTRY_10                      ,

LINE_8_ENTRY_3                         ,

LINE_8_ENTRY_10                      ,



After the Save and then the Save All Button is now clicked the “Congratulations” Screen appears on which a click on the “OK” button closes the GUI application.

Now everything is ready for the ATG to do its work. To start the Gateway go on the Command Line to the directory where the ATG was installed and enter the following (according to the sample project data entered in the GUI as per Figure1):

java –classpath c:\AccentETL AccentETL InvoiceData c:\AccentETL\

Note: This line needs to be entered in one line!

This line looks confusing since in this example the ATG was installed in the directory c:\AccentETL and the ATG’s name is AccentETL as well. For other examples on how to start the Gateway please see the product documentation.

The general command of the above line is as follows:

java –classpath [directory location of ATG] AccentETL [Project Name] [directory location of ATG]

WARNING: Please enter the directory according to your OS. Also make sure that the directory location of ATG ends with the tree/directory break,  for Windows e. g.  c:\Install\Accent\ (NOT for the classpath, see above).

Please note, if you have a directory consisting of more than one word like “Program Files” then you have to enter the directory location of ATG included in marks (see second example above). Note as well, in this case the second time you enter the directory location of ATG after the Project Name, after the tree/directory break an empty space is necessary or you have to enter twice the backslash followed by the marks (see third example above).

If the directory is not entered correctly as described, the program will not work! The Project Name has to be the same than the Project Name which was entered in the GUI part of the ATG!

After completion of the installation process please insert the path variable of the Java Virtual Machine. For Windows access the Control Panel, choose System, Advanced, click on Environment Variables, choose Path from the System variables and insert e. g. c:\Program Files\accent\jre\bin.

If you should have any questions please contact your local administrator.

REMARK: Please note, when starting the Gateway, the first time a file is read in the process takes longer than the subsequent times.

To view the .xml files, the .dtd files as well as the .xsl file please look in the directory where the ATG was installed.

If you however have more questions please send them to support@accent-ltd.com and indicate if we can use your question for a FAQ.

To be even more proactive we would like to invite anyone who needs a transformation done to send us the structure of the incomming and the outgoing data with one example, so that we can show on this page how easy the transaction can be done.