根据HCI中的属性拆分消息

2020-08-23 02:03发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

我正在进行一项集成(在HCI中),该集成必须进行全局查询以获取SSFF中某个国家/地区的所有雇员。 然后,在转换数据之后,每个公司应生成一个文件(您可以在同一国家/地区拥有许多公司)。 公司是xml中的属性。

 <?xml version =" 1.0" encoding =" UTF-8"?>
 
 
 <人>
 没有变化
  employee1 
 <就业信息>
 没有变化
 
  CHANGE 
  X 
 
 
 
 
 
 <人>
 没有变化
  employee2 
 <就业信息>
 没有变化
 
  CHANGE 
  X 
 
 
 
 
 
 <人>
 没有变化
  employee3 
 <就业信息>
 没有变化
 
  CHANGE 
  Y 
 
 
 
 
 
 

预期结果应该是message1:

 <?xml version =" 1.0" encoding =" UTF-8"?>
 
 
 <人>
 没有变化
  employee1 
 <就业信息>
 没有变化
 
  CHANGE 
  X 
 
 
 
 
 
 <人>
 没有变化
  employee2 
 <就业信息>
 没有变化
 
  CHANGE 
  X 
 
 
 
 

 
 

消息2

 <?xml version =" 1.0" encoding =" UTF-8"?>
 
 
 <人>
 没有变化
  employee3 
 <就业信息>
 没有变化
 
  CHANGE 
  Y 
 
 
 
 

 
 

使用过滤器对消息进行分组非常简单,但是我认为我需要为每个公司添加一个过滤器,并且我正在寻找一种动态解决方案。 我正在努力寻找一种使用分离器或迭代器进行处理的方法。

有人有解决这个问题的想法吗?

预先感谢

安东尼奥

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

我正在进行一项集成(在HCI中),该集成必须进行全局查询以获取SSFF中某个国家/地区的所有雇员。 然后,在转换数据之后,每个公司应生成一个文件(您可以在同一国家/地区拥有许多公司)。 公司是xml中的属性。

 <?xml version =" 1.0" encoding =" UTF-8"?>
 
 
 <人>
 没有变化
  employee1 
 <就业信息>
 没有变化
 
  CHANGE 
  X 
 
 
 
 
 
 <人>
 没有变化
  employee2 
 <就业信息>
 没有变化
 
  CHANGE 
  X 
 
 
 
 
 
 <人>
 没有变化
  employee3 
 <就业信息>
 没有变化
 
  CHANGE 
  Y 
 
 
 
 
 
 

预期结果应该是message1:

 <?xml version =" 1.0" encoding =" UTF-8"?>
 
 
 <人>
 没有变化
  employee1 
 <就业信息>
 没有变化
 
  CHANGE 
  X 
 
 
 
 
 
 <人>
 没有变化
  employee2 
 <就业信息>
 没有变化
 
  CHANGE 
  X 
 
 
 
 

 
 

消息2

 <?xml version =" 1.0" encoding =" UTF-8"?>
 
 
 <人>
 没有变化
  employee3 
 <就业信息>
 没有变化
 
  CHANGE 
  Y 
 
 
 
 

 
 

使用过滤器对消息进行分组非常简单,但是我认为我需要为每个公司添加一个过滤器,并且我正在寻找一种动态解决方案。 我正在努力寻找一种使用分离器或迭代器进行处理的方法。

有人有解决这个问题的想法吗?

预先感谢

安东尼奥

付费偷看设置
发送
6条回答
小c菟菟
1楼-- · 2020-08-23 02:40

您可以使用Splitter进行此操作,请查看下面的文档和示例,因为它们与您的案例非常相似:

https://help.sap.com/viewer/368c481cd6954bdfa5d0435479 /Cloud/zh-CN/83e2022f9c014bebab63cb933e625610.html?q=splitter

最好的问候

卡洛斯

d56caomao
2楼-- · 2020-08-23 02:27

安东尼奥

使用拆分器,您可以创建不同的数据流。 首先,您应该将具有相同公司的员工分组,然后将他们拆分。 拆分器之后的流将由不同的消息共享。 对于命名约定文件,您可以为公司ID创建一个属性,并在sftp通道中使用。

替代方法是使用过滤器。 我建议您采用这种方法,因为您将在不同的时间安排公司。 为公司创建一个外部参数,并复制尽可能多的公司的界面。 在iflow id中包含公司ID。

亦是此间程序员
3楼-- · 2020-08-23 02:28

嗨安东尼奥,

您可以使用XSLT解决这种情况。 使用以下脚本,您可以使用相同的公司代码将所有CompoundEmployees分组。 使用功能,它将根据公司价值(分组依据属性)对每个" CompoundEmployee"(选择属性)进行分组。 分组后的CompoundEmployees将由一个名为''

的xml节点封装。
 
     />


  
      
       
        
         
        
       
      
  
  

此XSLT脚本的输出将为以下XML:

亲切的问候,

Christophe Deblock

粗暴的香蕉
4楼-- · 2020-08-23 02:35

谢谢大家的回答。 我可以使用所有输入来解决问题。 使用xslt,我对xml进行了分组,然后使用拆分为每个组生成一个文件。

Nir深蓝
5楼-- · 2020-08-23 02:47

嗨 全部

但是当我们使用General Splitter时,位于配置元素的下一个元素中的节点不会产生输出。 下面的示例。

如果我们将Xpath配置为在job_information上拆分,则不会从GeneralSplitter的输出中发出补偿信息和PaymentInformationV3。

我在SAP博客中读到,这是General Splitter的功能,该功能不再有用,因为我们还需要将目标映射到agement_information和PaymentInformationV3节点。

请提出可以做什么? 我们是否应要求SAP引入可以实现我们期望的功能的拆分器?

空代码
6楼-- · 2020-08-23 02:49
 
  
 <人>
 没有变化
 <个人信息>
  CHANGE 
 
 <就业信息>
 没有变化
 
 没有变化
 
 
  CHANGE 
 
 
 没有变化
 
 
 没有变化
 
 
 
 没有变化
 
 
 
 

一周热门 更多>