点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家您好, 我们正在研究从文件...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供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());
}
}}
提前谢谢!
Hello Faisal,
在读取输入流之后,可以将以下代码片段添加到Java映射中。 您需要将输入流转换为String,然后在特定位置读取该字符的String内容-
在Java类中添加以下方法-
在您的transform方法中调用上述方法-如下所示
在此之后将此字符串作为输出流传递-
谢谢
Sugata
一周热门 更多>