在 Altova MapForce 中将 XSD 映射到 X12

Mapping XSD to X12 in Altova MapForce

您好,我正在尝试从我的 XSD 映射到 X12 版本 3040 和交易集 846 - 库存 Inquiry/Advice。

我在尝试从我的 XSD 映射 LIN 段时遇到问题。 我的 XSD 有一个单维整数数组 (posOfRequests),它包含所有 LIN(Product/Service Id) 值,当我将此字段映射到 LIN 段时,它会生成多个 LIN 段,如下所示。

LIN*1*OA*2~
LIN*1*OA*3~
LIN*1*OA*1~

我想实现如下所示的效果。

LIN*1*OA*2*OA*3*OA*1~

映射图像看起来像 posOfRequest 中有值 [2,3,1]。

在尝试了很多线索和错误之后,我找到了一种方法可以帮助我生成问题中所述的 LIN 段 (LIN*1*OA*2*OA*3*OA* 1),我需要做的就是在我的响应变量上寻找位置并使用 'if-else' 组件映射它。在这个答案中,'posOfRequest' 和 'response' 都包含我需要映射的值,所以我使用了响应对象而不是 posOfRequest,响应是用户定义的对象 class,它在我的main class,其中响应对象中的 'dataSetNum' 变量与我的 posOfRequest 具有相同的值。