Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mapping SAP PI消息映射不映射值_Mapping_Sap_Sap Xi_Sap Pi - Fatal编程技术网

Mapping SAP PI消息映射不映射值

Mapping SAP PI消息映射不映射值,mapping,sap,sap-xi,sap-pi,Mapping,Sap,Sap Xi,Sap Pi,在SAP PI 7.4中,我在尝试在消息映射中映射某些内容时遇到了一些困难,这看起来非常简单 输入是这样的 <Employee> <ExternalIdList> <ExternalId>aaa</ExternalId> <ExternalId>bbb</ExternalId> <ExternalId>ccc</ExternalId&g

在SAP PI 7.4中,我在尝试在消息映射中映射某些内容时遇到了一些困难,这看起来非常简单

输入是这样的

<Employee>
      <ExternalIdList>
          <ExternalId>aaa</ExternalId>
          <ExternalId>bbb</ExternalId>
          <ExternalId>ccc</ExternalId>
      </ExternalIdList>
</Employee>

aaa
bbb
ccc
我需要把它映射到下面的结构

<Newobject>
 <ExternalEmployeeList>
  <ExternalEmployee>
   <ExternalId>aaa</ExternalId>
  </ExternalEmployee>
  <ExternalEmployee>
   <ExternalId>bbb</ExternalId>
  </ExternalEmployee>
  <ExternalEmployee>
   <ExternalId>ccc</ExternalId>
  </ExternalEmployee>
 </ExternalEmployeeList>
</Newobject>

aaa
bbb
ccc
在尝试绘制地图时,我会按如下方式进行:

员工->新对象

ExternaldList->ExternalEmployeeList

ExternalId->ExternalEmployee

外部变量->外部变量

测试映射时,生成3个ExternalEmployee节点,但只有第一个节点包含ExternalId中的值“aaa”。其他2名ExternalEmployee没有获得ExternalId:

<Newobject>
 <ExternalEmployeeList>
  <ExternalEmployee>
   <ExternalId>aaa</ExternalId>
  </ExternalEmployee>
  <ExternalEmployee/>
  <ExternalEmployee/>
  </ExternalEmployee>
 </ExternalEmployeeList>
</Newobject>

aaa
我已经尝试了很多节点函数或更改了上下文,但似乎没有任何效果。建议的解决方案是什么

是否可以事先添加XSLT映射,以便在输入消息中的ExternalId列表和ExternalId之间插入一个级别?这似乎有很多模糊之处


提前感谢,欢迎向正确方向提供每一个提示

问题应该是标记ExternalId中缺少上下文更改

尝试以下列方式修复映射:

ExternalEmployee(目标)=ExternalEmployee

外部ID(目标)=splitByValue(外部ID)

选择“每个值”选项配置splitByValue

还要确保目标ExternalEmployee有1..个无限制事件

这就是结果

致以最良好的祝愿