文档工作流映射
Version 25.2.9314
文档工作流映射
交易伙伴管理控制台的一个重要组成部分是配置传入或传出 EDI 文档与存储或发送数据的端口之间的映射。
传入 映射依赖于通过 MFT 协议从交易伙伴接收 EDI 文档,使用 EDI 标准将其从 EDI 转换为 XML,然后将其映射到目的地端口(如数据库)。
传出 映射依赖于从源端口(如数据库)中提取 XML 数据,将数据映射到 EDI 标准的 XML 表示形式,将 XML 转换为 EDI,然后通过 MFT 协议将 EDI 文档发送给交易伙伴。
文档工作流有两种定义方式。
- 在 交易伙伴 选项卡, 点击交易伙伴的名称, 然后选择 工作流 选项卡. 有关如何添加文档和启动工作流的说明,请参阅 选择或者添加文档。
- 在 文档 选项卡,点击现有文档的名称,或选择添加文档来创建一个新文档。 有关如何添加文档和启动工作流程的说明,请参阅 从文档选项卡创建文档。
添加文档工作流
添加文档工作流包含以下步骤:
- 完成添加文档工作流页面。
- 从 交易伙伴 页面添加文档时,单击 添加工作流 启动文档工作流。在这种情况下,添加文档工作流 屏幕上的字段是预填的。可以更改文档名称,但所有其他字段都是固定的。
- 从 文档 页面添加文档时,必须手动填写 添加文档工作流 屏幕上的字段。
- 选择并配置来源或目标端口
- 配置映射。 映射可用于除了 File 端口, AMQP 端口, 和 Apache Kafka 端口以外的所有端口. 请参阅无需映射的文档工作流 以了解更多信息。
选择并配置来源或目标端口
创建传入文档时,必须指定要添加数据的目标端口。创建传出文档时,必须指定要从中提取数据的源端口。可用的端口包括知行之桥数据库端口 和 其他端口、File 端口、Workspace Send 端口(仅适用于传入文档)以及 Workspace Receive 端口 (仅适用于传出文档)。
下图显示了如何配置传出文档的来源,但相同的原则也适用于传入文档的目标。在此示例中,源是从交易伙伴的 工作流 页面定义的,但可以从 文档 页面获得相同的结果。
-
在工作流页面中,单击添加工作流。
-
在选择来源列表中突出显示一个端口,然后单击添加。
-
使用加号创建一个新的连接,或使用下拉菜单选择一个现有的连接。
- 添加新连接时,请在添加连接窗口中填写以下字段
- 名称
- Server
- Port
- User
- Password
- AWS Access Key (optional)
- AWS Secret Key (optional)
- AWS Role ARN (optional)
- 点击 测试连接.
- 对于传出的文档,唯一可用的操作是
Select
,因此当添加并测试连接后,单击下一步。(传入文档只支持Upsert
操作。 请参阅 操作 以了解更多信息。)
这将打开端口的操作配置页面,可以在其中完成映射。 有关如何使用此页面的说明,请参阅配置映射.
提示:
- 使用其他配置页面(例如设置和自动化)完成端口配置。有关配置选项的详细信息,请单击问号帮助图标以打开端口文档。
- 如果需要在原始设置后修改连接,请使用设置选项卡上的连接字段。
配置映射
建立连接后,必须选择需要映射的表。如果要创建传入文档,请单击添加目标结构。如果要创建传出文档,请单击添加源结构。此示例显示如何添加目标结构。
以下已完成映射的图像已注释以解释屏幕上的每个元素。每个数字对应下面的描述。
- 文档或端口名称。。
- 端口类型。
- 文档的操作。传入文档的值为 Upsert,传出文档的值为 Select。
- 映射的测试状态。值为 测试成功、测试有错误 或 未测试。
- 切换 XML 流的开启或关闭。开启时,映射引擎在完成循环后,删除映射中最顶层
Foreach
的当前迭代的文档对象模型 (DOM)。这可以显著提高大 XML 文档的性能。在映射引擎无法解析映射的情况下,它会自动关闭 XML 流。 - 切换是否显示或隐藏 XML 属性。
- 刷新映射。
- 打开 测试映射 页面。测试结果显示在 #4 中。(有关更多信息,请参阅 测试映射。)
- 保存映射。
- 配置数据源中的目标表。
- 映射的方向。
- EDI 文档的架构(本例中为 810 发票)。
- 源端和目标端的搜索栏。
- 源表的结构。
- 目标表的名称。这也称为表节点。
- 表中的列。这也称为列节点。
- 目标文档的结构。
- 已完成的映射。
- 从下拉列表中选择一个表。
- 要向映射添加更多表,请单击第一个表的链接,然后单击添加子项表箭头并选择下一个表。
- 重复这些步骤,直到添加了所有必需的表。当进行更改时,映射页面将显示最新的表结构。
映射页面可创建 EDI 文档与来源或目标端口之间的映射。对于传入文档,EDI 文档结构位于左侧面板中,端口表结构位于右侧面板中。对于传出文档则相反,如在下面的带注释的图片中看到的那样。
要定义映射,请单击左侧面板中的节点并将其拖动到右侧的相应对象上。要删除映射,请将鼠标悬停在映射的一端,然后单击删除映射。完成映射定义后,单击保存。
提示: 要编辑之前保存的映射,请单击 EDI > 文档,然后单击文档名称。在 文档工作流 部分中,单击 文档目标(用于传入文档)或 文档来源(用于传出文档)中的端口链接。
了解来源和目标
如前所述,当创建传入文档时,必须指定将发送数据的目标端口。EDI 文档结构位于左窗格中,端口表结构位于右窗格中。
当创建传出文档时,必须指定要从中提取数据的源端口。此处,端口表结构位于左窗格中,EDI 文档结构位于右窗格中。
知行之桥提供了多种方式来操作表和文档结构中的信息。有关详细信息,请参阅表结构节点和文档节点。
要更改文档架构,或上传代表源或目标 XML 结构的模板文件,请单击文档架构的链接并选择上传文件。如果交易伙伴提供了他们希望发送和/或接收的示例文档,这将很有帮助。例如,如果交易伙伴提供了一个示例 X12 850,可以在常规工作区中以 X12 到 XML
模式通过 X12 端口 将其转换为 XML。然后,可以将输出 XML 上传为模板文件。
浏览到模板文件,然后单击上传模板文件。
操作
配置端口时,有两个操作可用:
- Upsert 是针对传入文档的操作。此操作将数据插入或更新到目标表中。如果目标表中已存在记录,则使用输入提供的值对现有数据执行更新。
- Select 是针对传出文档的操作。此操作从目标数据源检索数据。
表结构节点
本主题介绍显示源表或目标表结构的映射窗格中可用的选项。结构中有两种类型的节点:表节点和列节点。表节点表示表本身,列节点表示表中的列。
表节点
表节点用表图标表示。将鼠标悬停在表节点上时,有两个附加选项:
-
单击漏斗图标打开 添加映射条件 页面,该页面可向映射添加过滤条件。有关更多信息,请参阅 使用条件编辑器。(仅适用于传入文档映射。)
-
单击省略号打开该表节点的选项列表:
- 重命名表 可让更改节点的名称。
- 删除表 可删除节点。
- 表设置 打开一个编辑窗口,选择要包含在映射中的列,以及是否应用 过滤器。(仅适用于传出文档映射。)
- 编辑列 打开一个编辑窗口,选择要包含在映射中的列。(仅适用于传入文档映射。)
- 添加 打开一个新的节点列表,可以在映射中创建和使用它们。(仅适用于传入文档映射。)选项包括:
列节点
列节点表示表中的列。每个列节点都有一个类型,即数据库中列的数据类型。共有七种不同的数据类型,每种都有自己的符号。将鼠标悬停在列上可查看其数据类型、大小以及是否可以为空。数据类型包括:
- String(字符串)
- Number(数字)
- Binary(二进制)
- Boolean(布尔值)
- Date(日期)
- Time(时间)
- Date and Time(日期和时间)
将鼠标悬停在列行上并单击省略号以打开该节点的选项列表:
- 重命名列 可更改节点的名称。
- 删除列 可删除节点。
- 添加 打开一个新的节点列表,可以在映射中创建和使用这些节点。(仅适用于传入的文档映射。)选项包括:
- 添加跟踪 将 跟踪的标头 添加到映射中。当节点启用跟踪时,它会显示一个指南针图标。
文档节点
文档节点是指映射另一侧的节点:非数据库侧。这些节点与数据源(带有列的表)没有明确关联,而是以 XML 结构表示 EDI 数据。对于传出文档,这些节点被映射到,而对于传入文档,这些节点被用来映射。
对于传出文档(使用 SELECT 操作),单击漏斗图标以打开 添加映射条件 页面,该页面可向映射添加过滤条件。有关更多信息,请参阅使用条件编辑器。单击省略号以在目标文档中使用以下选项:
- 重命名节点 可更改节点的名称。
- 编辑 XPath 可编辑节点 XPath(仅适用于已映射为
Foreach
的元素)。 - 删除节点 可从文档中删除节点。
- 添加节点
- 添加兄弟节点 可在与所选节点相同的级别添加节点。
- 添加属性 可在所选节点中添加属性。
- 添加子节点 可将节点添加为所选节点的子节点。
- 添加标题 可创建一个标题节点,可以将值映射到该标题节点。映射的值不包含在输出文件中,但会作为标题添加到映射输出消息中。
- 添加循环 可在所选节点上方创建一个循环节点,该节点将嵌套在循环节点中。有关更多信息,请参阅 映射循环。
- 添加条件 打开 条件编辑器,可以在其中添加条件,以便只有当条件为真时,数据才会更新到目标。
- 添加代码脚本 打开 添加脚本 窗口,可以在其中命名脚本并提供自定义 ArcScript。
- 添加变量 在所选节点下创建一个变量节点。有关更多信息,请参阅 变量。
- 剪切节点 从当前位置剪切所选节点。
- 复制节点 复制所选节点。
- 粘贴为子节点 将剪切或复制的节点粘贴为所选节点的子节点。
对于传入的文档(使用 UPSERT 操作),单击源文档结构中的省略号以使用以下选项:
- 重命名节点 可更改节点的名称。
- 删除节点 可从文档中删除节点。
- 添加节点
- 添加兄弟节点 可在与所选节点相同的级别添加节点。
- 添加属性 可在所选节点中添加属性。
- 添加子节点 可将节点添加为所选节点的子节点。
- 剪切节点 可从当前位置剪切所选节点。
- 复制节点 可复制所选节点。
- 粘贴为子节点 可将剪切或复制的节点粘贴为所选节点的子节点。
也可以使用编辑节点打开编辑节点值页面。请参阅使用节点值编辑器。
测试映射
配置映射后,应该对其进行测试。单击页面顶部的测试映射按钮。下图显示了测试传入文档。
测试页面的源端有两个选项卡:XML 和 标题(标题 选项卡仅适用于传入文档)。源中填充了要测试的文档或表结构的 XML 表示,但可以根据需要对其进行编辑。对于传入文档,单击 标题 选项卡以添加要在映射中使用的任何标头(有关详细信息,请参阅 跟踪的标头)。准备就绪后,单击 测试映射。
测试结果指示器显示在交易伙伴 工作流 页面和映射本身上。映射上的值为 测试成功、测试有误 或 未测试。工作流 页面显示成功测试的勾选、未测试映射的棕色感叹号和有错误的测试的红色感叹号。将鼠标悬停在图标上可查看有关错误的详细信息。
注意:测试传入文档时,正在使用实时数据进行测试。单击测试映射时,知行之桥会在测试映射后尝试执行 upsert
。
使用过滤器
如果需要过滤在源表结构中选择的数据,请单击省略号并选择表设置,然后单击过滤器选项卡。将打开编辑 < 表名 > 设置窗口,可以在其中定义单个过滤器和过滤器组。
创建过滤规则
要创建过滤器,请按照以下步骤操作:
-
单击 添加过滤器。
-
在新规则的下拉列表中,选择要过滤的列。
-
选择过滤条件。可用的过滤条件取决于选择的列的数据类型。
-
如果过滤条件需要值,请在空白值字段中输入该值。如果过滤条件不需要值(例如,如果选择 为 Null,则值字段会消失)。
例如,可以在名为 Author 的列上创建一个过滤器,仅选择包含 Smith 的值。在此示例中,列为 Author,条件为 包含,值为 Smith。
过滤器组
可以通过单击添加过滤器将多个过滤器应用于表格。过滤器按组分隔,默认情况下所有过滤器都属于同一组。可以通过单击添加组创建多个组来分隔过滤器。
组中的每个过滤器根据在组顶部选择的选项与其他过滤器进行交互:
- 使用 非 切换按钮可反转过滤条件。例如,在上面的 Author 过滤器示例中,启用 NOT 切换按钮可指示端口选择不包含 Smith 的 Author 值。
- 选择 与 或 或 可确定多个过滤器的组逻辑。
- 如果选择 与,则组中的每个过滤器都必须为真才能满足过滤条件。
- 如果选择 或,则组内至少有一个过滤器必须为真才能满足过滤条件。可以满足多个过滤器,结果与只满足一个过滤器的结果相同。
使用查询视图
打开查询视图以编写自定义 SQL 查询,从数据源中选择数据。这将覆盖在设计器中创建的任何查询。