点击此处---> 群内免费提供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
Hello Sugata,
非常感谢您的及时回复!
尝试编辑代码时出现以下错误:
错误:无法解析类型java.lang.CharSequence。 从所需的.class文件间接引用
方法定义中发生错误:convertStreamToString行:sb.append((char)ch);
要在上面添加内容,我正在使用NWDS创建JAR文件。 当我将指针指向错误行时,建议的解决方法是配置构建路径。
有什么想法吗?
谢谢
Faisal
Hello Faisal,
我给出了完整的代码,没有在单个源文件中更改文件名逻辑,请创建Java文件并创建 罐子-
Hug Sugata,
非常感谢您的帮助!
我认为这是我正在使用的NWDS(也许是JVM版本..?)存在的问题,因此出现错误。
我尝试编写您在消息映射("功能"选项卡->"属性和方法")中提供的具有伪数据/消息类型的代码,并在"操作映射"中使用了此消息映射。 运行正常。
再次感谢您的帮助。 您节省了一天! :)
此致
失败
一周热门 更多>