问题标签 [biztalk-mapper]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
biztalk - 具有多个输出消息的 BizTalk 映射
我知道可以创建一个映射,该映射采用一个输入消息并在一个编排中输出多个消息。
当您执行相反的操作时,即将许多消息合并为一个。“向导”创建地图和输入模式。但是,在执行上述操作时,只会创建一个地图。架构是内联的。
有没有解决的办法?我想创建我自己的输出模式和映射而不启动编排。如果我尝试这样做,即使我从生成的 map 复制内联模式结构,我也无法将多条消息分配给输出。
biztalk - Biztalk 输出 Flat File 有空 Records,如何避免/删除
我正在将 XML 文件转换为平面文件。我正在为两件事而奋斗。
- 想要在不将文件标签字段从源映射到目标的情况下实现标签编号。如果整行中有任何值,有什么方法可以填充它。如果记录为空,则不应显示标签号。
在我映射字段后,如果没有值,则空白记录如下所示
/li>
在上面,在 101 和 301 之间有 201 没有任何输出值。但是在输出文件中仍然可以看到空白记录。如果有人可以请指教。
我正在做的如下,
在展平值映射中,我将标签号传递为 101,201 和 301。但是我想看到最好的方法。
谢谢你。
mapping - Biztalk 将显式值映射到循环节点
我是 Biztalk 的新手,并且在映射方面遇到了一些麻烦:在目标架构中,我有Attributes
一个可以包含多个EntityMemberAttribute
子节点的节点(下图)。我想要实现的是获取两个EntityMemberAttribute
节点,其中一个将包含具有来自源模式的值的子节点,另一个将包含具有明确指定的值的子节点。
我对那个明确的价值观有问题。例如,我想要这样的输出:
谢谢你的帮助!
biztalk - BizTalk 可变长度平面文件使用单一架构进行转换
我有一个管道分隔的 .txt 平面文件,我用它来批量插入 SQL。一切都适用于直接的一对一。但是,平面文件现在包含 2 个可以重复未知次数的新字段。
有没有办法创建一个单一的平面文件模式,我可以在主无界子项中有一个无界子项?我认为我被绊倒的地方是如何使下面列出的 ChildRoot 只是一个“组标题”,例如 Root 是 ChildRoot 与平面文件中的位置不对应的地方。我该如何插入这样的东西?
Roots 获得指向我的 sql 存储过程的直接链接,以对传入的尽可能多的“根”行进行批量插入。
我现在有:
**编辑我还应该补充一点, ChildRootID 和 ChildRootName 可以重复无限次,直到找到行分隔符(回车)
biztalk - BizTalk HIPAA EDI 多输入映射不生成节点
2 年前我曾问过这个问题(BizTalk 多输入地图问题),但随后该项目被搁置,我从未进行任何进一步的测试。我不得不再次对其进行除尘,并提供更多详细信息和屏幕截图。
我有一个 BizTalk HIPAA 解决方案,需要将 837 声明架构与我们系统中的一些数据合并。我们使用具有两个输入模式的映射来执行此操作,如下所示:
(出于测试目的,我已经大大简化了模式)。对我的原始帖子的接受答案(使用相等的 functoid 和值映射器)适用于我最初展示的简单模式,但在实际 EDI 模式中失败。
在第一条输入消息中,如果 IsReprice = 1,我想将我们的值用于 HCP_01、HCP_02 和 HCP_03。如果为 0,则使用第二条消息(原始 837 声明)中的值。只要原始 837 声明实际上包含 HCP 节点(段),显示的 functoid 就可以正常工作,但如果它不存在,我将无法从我们的数据中生成一个。
使用一些 if-then-else C# 代码将它们替换为脚本 functoid 具有相同的效果。
那么,有没有办法使用 functoids 来做到这一点,还是我需要求助于 XSLT?不幸的是,我对 XSLT 几乎一无所知,所以这将是困难的......
谢谢!
编辑:我会使用内联 XSLT 调用模板,使用以下代码:
xsd - BizTalk - 更改输出平面文件的顺序
BizTalk新手在这里...
我有一个包含 4 个子记录的平面文件输出模式,对于每个输入记录,映射需要写入每个子记录。我遇到的问题是输出按以下顺序输出:
录音 1 录音 1 录音 2 录音 2 录音 3 录音 3 录音 4 录音 4
规范按以下顺序调用文件:
录音 1 录音 2 录音 3 录音 4 录音 1 录音 2 等
我尝试过以几种不同的方式创建架构,我询问了具有更多 BizTalk 经验的同事,并且我在谷歌上搜索,直到我的眼睛交叉,但我还没有找到解决方案。
我已经考虑过,但还没有尝试过,使用 XSLT 对输出进行排序,但我预见到该方法的困难是每个子记录的长度不同,并且一些子记录具有额外的关键字段。
希望有人有这种情况的经验。
1/2/14 更新:
这是当前的输出模式:
这是一个示例输入架构:
namespaces - 使用 xslt 在 BizTalkMapper 中的日期时间
我在 VisualStudio2010 的 BizTalk(2010) 映射文件的脚本 functoid 中编写了一些 InlineXslt 脚本。(它仅支持 1.0 版)。
我需要在我的 xslt 脚本中的许多地方使用当前日期时间。为了获得当前的日期时间,我使用了日期时间 functoid 或在一个脚本 functoid 中编写了一些 C# 代码,并将其作为参数传递给另一个脚本 functoid(编写 XSLT 脚本的地方)。
但是现在如果我从映射器生成 XSL 文件,它包含 C# 命名空间和 C# 代码。
现在我想只使用 XSLT 来完成它。我想包含 EXSLT 命名空间 (http:/exslt.org/dates-and-times) 和 extension-element-prefixes="date" ,并使用函数 "date:date-time()" 获取当前日期和时间.
我不想修改生成的 XSL 文件,而是想在更早的阶段实现这一点,这样当我从 BizTalk 映射器生成 xsl 文件时,它只包含 XSLT 脚本。
是否可以在脚本 functoid 的 InlineXslt 或 Inlinexslt 模板中包含此命名空间,以便我可以在 functoid 中编写 XSLT 脚本时使用函数 date-time()?
biztalk - 将相关重复节点映射到 BizTalk Mapper 上的重复节点
我正在尝试在 BizTalk 2013 上制作地图,但我被这个映射问题阻止了(使用映射器):
输入消息:
预期的输出消息:
我想通过“合并”他们的数据来映射ItemsDetails
和。我已经尝试了很多东西,但还没有做到。ScheduleDetails
Item
ItemNumber
我找不到任何关于这个的例子。这个模式有什么特别的名字吗?
如果有人有任何想法可以分享,将不胜感激。
biztalk - 来自一个源标签的数据必须映射到 Biztalk 中的多个目标标签
我必须将数据从一个源模式标记数据映射到目标模式中的三个标记。我使用了两个脚本函数,它们将源标记值作为输入。
- 第一个脚本 functoid 的输出映射到两个目标标签。
- 第二个functoid的输出被映射到一个目标标签。
但问题是只有一个脚本 functoids 输出反映在所有三个目标标签中。
如果您需要对此进行更多说明,请告诉我。
biztalk - Biztalk 映射逻辑路径
我有两个模式;
src.xsd 有 2 个日期和 1 个字符串
dest.xsd 有 1 个字符串属性
我想对此进行映射,以便在目标架构的 Query 属性中实现连接字符串,例如:
我通过使用“字符串连接”functoid 实现了这一点。
问题是日期是可选的,如果 src.xsd 中没有提供,我想在映射中设置“默认”值。在那种情况下,我想
和
如何做到这一点?
谢谢你的帮助!