根据SAP CPI中XSLT中的日期过滤XML记录

2020-08-26 17:50发布

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

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


嗨,

我需要删除雇用日期仍少于SAP CPI中的一年的员工记录。

如何在CPI中实现这一目标?

请咨询。

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

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


嗨,

我需要删除雇用日期仍少于SAP CPI中的一年的员工记录。

如何在CPI中实现这一目标?

请咨询。

付费偷看设置
发送
4条回答
d56caomao
1楼-- · 2020-08-26 18:06

你好 Shruthi Anantha

如您所要求的使用XML模式的解决方案。 这是一个简单的架构,您可以根据自己的喜好重复使用。

 <?xml version =" 1.0" encoding =" UTF-8"?>
 
 
 
 
 
 
 
 
 
 
 


 

致谢

Frederick-Claud Dimmer

大简至美
2楼-- · 2020-08-26 18:14

您好,Shruthi

如果您提供一些示例输入和给定输入的预期输出,将会很有帮助。

关于此,

Morten

bbpeas
3楼-- · 2020-08-26 18:08

Morten,你好

输入将采用以下格式:

1

<名字> abc

test

2019-09-09T00:00:00.000

2

def

test

2019-12-19T00:00:00.000

3

ijk

test

2019-12-15T00:00:00.000

我的输出必须仅包含Hiredate已经超过一年的员工。

1

<名字> abc

test

2019-09-09T00:00:00.000

3

ijk

test

2019-12-15T00:00:00.000

请提供有关如何在CPI中进行过滤的建议。

歪着头看世界
4楼-- · 2020-08-26 18:10

你好Shruthi,

有多种方法可以使用。以下是对iflow进行建模的一种方法 获得所需的输出。创建如下所示的映射,并添加其他字段[MarkForRemoval],该字段稍后将用于确定是删除记录还是保留记录。

自定义功能脚本:

 import com.sap.it  .api.mapping。*;
 导入java.text.SimpleDateFormat;
 导入java.util.Date;
 导入java.io. *
 导入java.lang。*;
 导入java.util。*;

 def字符串customFunc1(String P1){
   字符串inpHireDate = P1.toString();
//字符串inpEndDate = P2.toString();
         
   日期inpCurrentDate =新的Date();
  
   SimpleDateFormat sdf = new SimpleDateFormat(" yyyy-MM-dd'T'HH:mm:ss.SSS");
   日期HireDate = sdf.parse(inpHireDate);
   def strCurrentDate = sdf.format(inpCurrentDate);
   日期currentDate = sdf.parse(strCurrentDate);

  //使用dateDiffInDays获得天数差异,然后填充值
   def dateDiffInDays = HireDate-currentDate
   如果(dateDiffInDays> = 365)
      返回"否"
   其他
      返回"是"
 }
 

然后添加一个内容过滤器,该过滤器仅将有效记录传递给进一步处理:

/EmpJob/Record [MarkForRemoval =" NO"] 

关于,/p>

Sriprasad Shivaram Bhat

一周热门 更多>