0
votes

While processing an EDI 210 X12 inbound file, receiving a following exception as EdiInvoice Service process failed: '', hexadecimal value 0x15, is an invalid character. Line 2, position 37.'. Because X12 Input file having a perpendicular in 106 position of ISA 16 element.

Can you please provide a solution to handle this symbol

4
Can you post your document? Can you ask your partner to change it? – Andrew
Also, what tool are you using to translate the 210? – Andrew

4 Answers

1
votes

It is not uncommon to define a segment separator like "|" is the X12 ISA segment (ISA16, character 106 of the ISA segment). Have a look at a related tutorial. To my knowledge, characters with ASCII codes below 128 (hex 0x80) are allowed.

If your EdiInvoice service cannot handle partner-specific segment separators, you most likely have to contact the developer of your tool or the provider of your service first.

As suggested by eppye: If the sending partner can switch to an "easier" segment separator, this would also be an option, but there has to be a good reason for the partner to invest time and effort.

If the syntax of the EDI 210 X12 message conforms to the specification, the sending partner has no obligation to change anything.

0
votes

some companies indeed use non-printable character as segment terminator. AFAIK this is OK in ANSI X12. Sort of smart, as you are not allowed to use the segment terminator in your data, and data will (almost;-)) never contain hex 15. I have seen hex 07, carriage return etc.
.
possible solutions:
1. Contact the provider of the service, they should fix it.
2. Ask edi-partner if they can use other segment terminator.
3. pre-process the file and replace that character. Maybe not possible.

0
votes

Not sure which EDI tool you're using, but another option is to define the element and segment terminators in your partner profile in your tool. I've done this in Sterling Integrator and know others support this as well.

0
votes

In your case you need to confirm the trading partner of the below rule so that they may not get mistaken ISA16 with Segment Terminator or Suffix .

ISA16 (Sub Element separator)

  • Char
  • 3a if the type is Hex

Limited to the values in the ASCII character set.

Segment terminator

  • ~ if the type is Char
  • 7e if the type is Hex.
  • empty

but if you do, you need to designate a suffix.This element is limited to the values in the ASCII character set.

Suffix

  • either None
  • CR (carriage return)
  • LF(line feed)
  • CRLF (carriage return/line feed).

Various combination for Segment Terminator and Suffix

  • Segment terminator
  • Segment terminator + carriage return
  • Segment terminator + line feed
  • Segment terminator + carriage return/line feed
  • Carriage return
  • Line feed
  • Carriage return/line feed