使用SFTP适配器获取已修改日期的传入文件

2020-08-13 22:35发布

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

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


你好

当前,我们有一个集成,可以从服务器读取CSV文件。 我们也想在骆驼文件语言,它表明正确的表达式是$ {date:modified}。 但是,这在我们的集成中不起作用。 该属性未填充,并且不会显示在跟踪日志记录中。

有人可以告诉我是否可以读取输入文件的最后修改日期,如果可以,则需要使用哪个表达式?

谢谢!

布拉姆

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

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


你好

当前,我们有一个集成,可以从服务器读取CSV文件。 我们也想在骆驼文件语言,它表明正确的表达式是$ {date:modified}。 但是,这在我们的集成中不起作用。 该属性未填充,并且不会显示在跟踪日志记录中。

有人可以告诉我是否可以读取输入文件的最后修改日期,如果可以,则需要使用哪个表达式?

谢谢!

布拉姆

付费偷看设置
发送
3条回答
悻福寶寶
1楼 · 2020-08-13 22:59.采纳回答

Hello Bram

$ {file:modified} 将获取从SFTP读取的文件的最后修改日期。下面将给出您应遵循的整个过程

用于将TimeObject转换为可读格式的脚本 格式:

导入com.sap.gateway.ip.core.customdev.util.Message;
 导入java.util.HashMap;
 导入groovy.json。*;
 导入groovy.xml。*;
 导入java.text.ParseException;
 导入java.text.SimpleDateFormat;
 导入java.text。*;
 导入java.util.Date;
 导入java.io. *
 导入java.lang。*;
 导入java.util。*;


 def消息processData(消息消息){
    //身体
        def主体= message.getBody();
        def map = message.getHeaders();
        def值= map.get(" FILE_MODIFIED");
       
        长日期时间戳= Long.parseLong(value.toString()。replaceAll(" \\ D","")));
        日期日期=新日期(datetimestamp);
        DateFormat formatter = new SimpleDateFormat(" yyyy-MM-dd'T'HH:mm:ss:SSS");
        字符串dateFormatted = formatter.format(date);
       
        map = message.getProperties();
       
        message.setProperty(" FileModifiedDate",dateFormatted);
        返回消息;
 }
 

问候,

Sriprasad Shivaram Bhat

打一壶酱油
2楼-- · 2020-08-13 23:11

嗨,

$ {file:modified}是否仍适用于CPI中的SFTP发送者适配器。 在集成流程中我没有从中获得价值。

落灬小鱼
3楼-- · 2020-08-13 22:55

感谢帮助Sriprasad,这正是我所寻找的。

祝你有美好的一天!

一周热门 更多>