我正在BizTalk2010中开发一个与BizTalk2010相关的地图,我已经做好了一切准备,包括源模式和目标模式、映射等,并且一切都在正确地处理。我试图实现的是从所需的一个片段(即病人识别(PID) )中获得一个特定的值,并将目标模式的MemberID字段传递给它。PID段是这样的(只粘贴特定的部分):
PID|1||000123456^^^^MR~^^^^MA~123456789A^^^^MC~12345^^^^PT~123456789^^^^SS~000000000001234^^^^PI~^^^^AN~^^^^VN||John^Smith^A|
上面的粗体部分是PID-3病人标识符列表(CX),我需要的值在文本SS~之后,它是000000000001234。如果我简单地映射第一个PID-3患者标识符列表的PID-3-1ID字段,我将得到第一个值,即000123456。我需要的值是坐在第6位PID-3病人标识符列表中(见下图)。请指点
发布于 2011-10-14 18:20:30
对于您的情况,您可能需要使用索引函数。这个函数将要映射的元素作为要映射的元素的第一个输入和1-基索引。
这就是2010年BizTalk地图的样子:

函数of的配置如下所示:

如果您查看映射的生成xslt,您将希望看到类似于以下内容的内容:

发布于 2011-10-14 21:38:24
如果索引函数不能工作(因为不能依赖特定的顺序),则可以尝试将循环函数连接到顶层,以确保得到所有记录,然后对PT限定符执行逻辑相等,并将函数函数映射到id号。与根循环相等的逻辑链接应该阻止空循环。

https://stackoverflow.com/questions/7735352
复制相似问题