Mirth - EDI/X12 到 EDI/X12 - 只是想改变分隔符

问题描述

我想我遗漏了一些简单而明显的东西。但是,这给我带来了麻烦。

我在 Centos 上的 Mirth 3.10.1 上使用 sql Server 作为我的数据库。我正在使用文件读取入站和文件写入器出站。

温柔点。这是我的第一个也是非常简单的项目。

我想接收带有 ~ 段和 | 的 X12 835元素和 ^ 子元素定界符,并以 \n 段和 * 元素和 : 子元素定界符输出。我不应该只需要使用 EDI 设置源和目标,然后更改入站和出站属性吗?

My Source Connector setup

解决方法

SOOOOO.... 我找到了答案。

问题是,通道属性中数据类型对话框中的源和目标定界符值似乎并没有改变输出中使用的定界符。我尝试了推断的所有组合(我认为),而不是推断等......什么都没有。出路和入路的分隔符相同。然后,​​我想……嗯……让我们看看 XML,因为我有 XML 背景。果然,分隔符在 XML 中。

所以,我去寻找如何改变这些。而且,在寻找它的过程中,我在另一个不相关的帖子中找到了以下代码:

    msg.@segmentDelimiter = "\n";
    msg.@elementDelimiter = "*";
    msg.@subelementDelimiter = ":";

而且,你知道什么......它奏效了!

现在,我觉得自己无知到危险,而不是无知到完全迷失!

,

这可能完全在预处理器中使用字符串替换完成,并跳过在转换器中转换为 xml。

message.replace(/~/g,'\n').replace(/\|/g,'*').replace(/\^/g,':');

我也希望您最初的尝试能奏效,但我自己还没有尝试过。如果仅通过更改数据类型属性无法实现此功能,那可能是一个错误。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...