4.3.4.3. X12
ASC X12 (also known as ANSI ASC X12) is the official designation of the U.S. national standards body for the development and maintenance of Electronic Data Interchange (EDI) standards. ASC X12 has sponsored more than 315 X12-based EDI standards for health care, insurance, government, transportation, finance, and many other industries.
Babelway supports all X12 messages, and offers the same extensive support as for Edifact.
File sample
Below is a sample X12 file.
ISA*00* *00* *ZZ*SENDERISA *ZZ*RECEIVERISA *960807*1548*U*00401*000000020*0*T*~ GS*IN*SENDERDEPT*007326879*19960807*1548*000001*X*004010~ ST*810*000000001~ BIG*20090927*00027**A00027-01~ N1*ST*CHOCOLATE IMPORT*9*1234567890~ N3*1000 N. NORTH HIGHWAY~ N4*NEW YORK*NY*10310~ N1*BT*RETAILER INC.*9*1098765432~ N3*P.O. BOX 0000~ N4*LAKE*VA*20120~ N1*RE*FOODSELLER*9*12345QQQQ~ N3*P.O. BOX 222222~ N4*FAIRFAX*VA*94978~ ITD*01*3*1**15**16~ FOB*PP~ IT1**16*CA*12.34**UA*006540022222~ PID*F****BELGIUM CHOCOLATE~ IT1**13*CA*12.34**UA*006540033333~ PID*F****SWISS CHOCOLATE~ TDS*35786~ CAD*****FREEFORM~ ISS*29*CA~ CTT*2~ SE*22*000000001~ GE*1*000001~ IEA*1*000000020~
Babelway supports X12 messages. This knowledge of these definitions will allow additional functionalities when you work with X12. Amongst other things :
- By just loading a sample X12 file, Babelway will be able to deduce the structure, find the definition of the elements, calculate human-readable labels, ... You can see on the following screenshot the result when you load the sample above.
X12 tree just after having loaded a Sample.
- Adding or removing segment elements is very easy, as the interface knows precisely which elements may take place in the selected segment.
Edit segment shows all the possible elements.
- In the same way, segments can be easily added. The interface will offer you segments and elements that may take place at this location.
Edit segment shows all the possible elements.
- Messages can be validated deeply (structure, mandatory fields, values, ...) automatically, without having to define any validation manually.
- For all the runtime messages, comments are added in the internal representation to ease the reading of the file.
Internal representation of X12.
Note: For some specific segment if the position is changed in the "Message In" tree and/or if the position of the segment is changed in the input message this will leads to a different naming in the "Message IN after transformation to XML" file for this segment and then in this case the mapping will not generate the values in the output message.
The following properties are available:
Only for messages OUT. If yes, an error will be generated if your message has an incorrect structure. Deactivate only if you really want to send messages with incorrect structures. |
|
If yes, all values will be checked against their definition. Deactivate only if you really want to receive/send messages with values that do not respect the X 12 standard. |
|
If yes, all segments will be checked against their definition (mandatory fields must exist, no field can be present if not in definition). Deactivate only if you really want to receive/send messages with values that do not respect the X 12 standard. |
|
Template of output file, that will be used to choose delimiters. If no template is selected and the message IN was a X12, the system will reuse the delimiters from the message IN. Otherwise the default delimiters are '~' '*' ':'. |
|
Automatically generate a 997 functional acknowledgement upon receiving a message. This will not work for messages which are themselves 997s. See 997 Acknowledgements for more information. |
|
Additional metadata and universal routing metadata are always attached to the new 997 message generated. This option allows you to additionally attach the user metadata of the original message to the 997. |
|
997 messages will be sent into a channel through this gateway IN. |
|
If selected, the message remains 'In delivery' until a matching 997 is received or until the timeout is reached. The message status will change to 'Success' upon reception of an 'Accepted' 997. The message status will change to 'Error' upon reception of a 'Rejected' 997 or no 997 received before time out. See 997 Acknowledgements for more information. |
|
Indicates how long the message will await the 997 before the message status is changed from 'In delivery' to 'Error'. See 997 Acknowledgements for more information. |
|
Lists the gateways for which a channel was identified or created which correlates incoming acknowledgements. |
Note:
-
There is no escaping character for the X12 message, For example if you defined the X12 segment separator as ^ character and for one of the element has the ^ character in it's value then the Babelway system will replace this ^ character by a space for the value of this element.
-
Regarding the "Message In" we can't disable the "Validate structure" because it is mandatory, Regarding the "Message Out" we can disable the "Validate structure" from the "Properties".
-
Below are different ways to define the segment separator for X12 message regarding the "Message Out".
- The maximum filename supported for the "Message In" and "Message Out" is 255 characters.
1-By uploading X12 message template to the "Edi template" then Babelway will use the segment separator that you have defined in this template.
2-If you didn't define Edi template and the "Message Out" definition is of type X12 then Babelway will use the separator character from the X12 message.
3-If you are using "Message Out" definition that isn't of type X12 then Babelway will use the standard separator for the X12 message.