使用Java映射编辑文件内容

2020-08-27 17:48发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家您好, 我们正在研究从文件...

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

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


专家您好,

我们正在研究从文件到SFTP的方案,该方案处理的是带有随机数据的平面文件。 我们不使用FCC,这是一个传递方案。 在文件发送到目标之前,我们正在使用Java映射来更改文件名。

但是,我们还有另一个要求,我们需要用另一个字符替换文件中特定位置(例如,文件开头的第13个位置)处的字符。 文件的其余内容将保持相同。是否有可能在Java映射中进行处理? 如果是这样,您能帮我提供代码吗? 我们正在使用SAP PO 7.4 SP17。

我不太熟悉Java代码并在论坛上进行了搜索,但是找不到任何合适的帖子。 下面给出的是我当前正在使用的代码:

公共类fileName扩展AbstractTransformation {public void transform(TransformationInput TransformationInput,TransformationOutput TransformationOutput)引发StreamTransformationException {

尝试{

InputStream inputstream = TransformationInput.getInputPayload()。getInputStream();

OutputStream outputstream = TransformationOutput.getOutputPayload()。getOutputStream();

Map mapParameters =(Map)TransformationInput.getInputHeader()。getAll();

String NewFileName ="";

mapParameters.put(DynamicConfigurationKey.create(" http://sap.com/ xi/XI/Dynamic ",StreamTransformationConstants.DYNAMIC_CONFIGURATION),"");

DynamicConfiguration conf =(DynamicConfiguration)mapParameters.get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);

DynamicConfigurationKey键= DynamicConfigurationKey.create(" http://sap.com/xi/XI/System/File "," FileName"); NewFileName = conf.get(key)+" .txt";

conf.put(key,NewFileName);

byte [] b =新的byte [inputstream.available()];

inputstream.read(b);

outputstream.write(b);

} catch(异常异常)

{getTrace()。addDebugMessage(exception.getMessage());

抛出新的StreamTransformationException(exception.toString());

}

}}

提前谢谢!

4条回答
绿领巾童鞋
2020-08-27 18:35

Hug Sugata,

非常感谢您的帮助!

我认为这是我正在使用的NWDS(也许是JVM版本..?)存在的问题,因此出现错误。

我尝试编写您在消息映射("功能"选项卡->"属性和方法")中提供的具有伪数据/消息类型的代码,并在"操作映射"中使用了此消息映射。 运行正常。

再次感谢您的帮助。 您节省了一天! :)

此致

失败

一周热门 更多>