EDI X12工具无法将垂直转换为段分隔符

时间:2014-01-02 15:33:57

标签: edi

在处理EDI 210 X12入站文件时,在EdiInvoice服务进程失败时收到以下异常:'',十六进制值0x15,是无效字符。第2行,第37位。'。因为X12输入文件在ISA 16元素的106位置具有垂直。

您能否提供处理此符号的解决方案

4 个答案:

答案 0 :(得分:1)

定义segment separator之类的“|”并不罕见是 X12 ISA 段( ISA16 ISA 段的字符106)。看看related tutorial。 据我所知,允许使用 ASCII 代码低于128(十六进制0x80)的字符。

如果您的EdiInvoice服务无法处理特定于合作伙伴的细分分隔符,则您很可能必须先与您的工具开发人员或服务提供商联系。

正如eppye建议的那样:如果发送合作伙伴可以切换到“更容易”的细分分隔符,这也是一个选项,但合作伙伴必须有充足的理由投入时间和精力。

如果EDI 210 X12消息的语法符合规范,则发送合作伙伴没有义务更改任何内容。

答案 1 :(得分:0)

有些公司确实使用不可打印的字符作为段终止符。 AFAIK在ANSI X12中没问题。智能排序,因为您不允许在数据中使用段终止符,数据将(几乎;-))从不包含十六进制15.我看过十六进制07,回车等。

可能的解决方案:
1.联系服务提供商,他们应该修理它 2.询问edi-partner是否可以使用其他段终止符 3.预处理文件并替换该字符。也许不可能。

答案 2 :(得分:0)

不确定您使用的是哪种EDI工具,但另一种选择是在工具中的合作伙伴资料中定义元素和细分终止符。我在Sterling Integrator中完成了这项工作,并且知道其他人也支持这一点。

答案 3 :(得分:0)

  

在您的情况下,您需要确认以下规则的贸易伙伴,以便他们不会误认为ISA16与段终结者或后缀。

ISA16(子元素分隔符)

  • 字符
  • 3a,如果类型是Hex
  

仅限于ASCII字符集中的值。

细分终结者

  • 〜如果类型是Char
  • 7e如果类型是十六进制。
  

但如果这样做,则需要指定后缀。此元素仅限于ASCII字符集中的值。

<强>后缀

  • CR(回车)
  • LF(换行)
  • CRLF(回车/换行)。

Segment Terminator和Suffix的各种组合

  • 细分终结者
  • 段终止符+回车
  • 细分终止符+换行
  • 段终止符+回车符/换行符
  • 回程
  • 换行
  • 回车/换行