没有附件的文件到邮件接收器

2020-08-19 11:07发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我需要将预测文件作为...

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

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


大家好,

我需要将预测文件作为电子邮件附件发送给客户。

该文件在FTP源目录中以纯文本格式提供。 XI必须选择并将其作为电子邮件附件发送。 电子邮件正文中不需要任何内容​​。 电子邮件中的附件名称应与文件名相同

一切都很好,但是问题是电子邮件中的文件名总是以'Untitled.xml'

出现

这是收件人邮件适配器的我的模块参数。 我有一个限制,不要使用消息映射

请专家咨询是否还有其他遗漏。 预先感谢。

谢谢

6条回答
小灯塔
2020-08-19 11:14

嗨Sudha,

我认为,使用标准模块无法将FileName作为附件名发送到邮件。 您可以在博客(它 是"邮件到文件,附件名称为FileName"。

您可以使用以下解决方案。

开发虚拟DT,MT,SI,OM。 在下面的Java映射中使用。 在确定接口时将其称为OM。

在发送者通道中设置"特定于适配器的消息属性"。

 包javaapplication1;


 导入java.io.OutputStream;


 导入com.sap.aii.mapping.api.AbstractTransformation;
 导入com.sap.aii.mapping.api.DynamicConfiguration;
 导入com.sap.aii.mapping.api.DynamicConfigurationKey;
 导入com.sap.aii.mapping.api.StreamTransformationConstants;
 导入com.sap.aii.mapping.api.StreamTransformationException;
 导入com.sap.aii.mapping.api.TransformationInput;
 导入com.sap.aii.mapping.api.TransformationOutput;
 导入java.io.InputStream;
 导入java.util.Map;


 公共类JavaApplication1扩展AbstractTransformation {


     @Override
     公共无效transform(TransformationInput TransformationInput,TransformationOutput transformOutput)引发StreamTransformationException {
         尝试{
             InputStream inputstream = TransformationInput.getInputPayload()。getInputStream();
             OutputStream outputstream = TransformationOutput.getOutputPayload()。getOutputStream();


            //a)从DynamicConfiguration获取文件名。
             地图mapParameters =(Map)TransformationInput.getInputHeader()。getAll();
             DynamicConfiguration conf =(DynamicConfiguration)mapParameters.get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
             DynamicConfigurationKey键= DynamicConfigurationKey.create("  http://sap.com/xi/XI/System/File "  , "文档名称");


             字符串FileName = conf.get(key);
           
            //b)设置附件名称。
             TransformationOutput.getOutputHeader()。setContentType(" text/plain; charset = \" UTF-8 \";" +" name = \"" + FileName +" \"");


            //c)只需将输入文件内容复制到输出文件内容
             byte [] b =新的byte [inputstream.available()];
             inputstream.read(b);
             outputstream.write(b);
            
         } catch(Exception exception){
             getTrace()。addDebugMessage(exception.getMessage());
             抛出新的StreamTransformationException(exception.toString());
         }
     }
 }
 

一周热门 更多>