点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我有一个要求:在S...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我有一个要求:在S...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
我有一个要求:在SFTP服务器中,我有3个目录,带有3个文件名:
目录1:Bank_Server01_001 * .zip(zip包含10或20个txt文件)
目录2:Bank1_server02_002 * .zip(zip包含10或20个txt文件)
目录3:Bank2_server03_003 * .zip(zip包含10或20个txt文件)
我需要从这些目录中选择文件并解压缩文件,为此,我使用了Java映射来实现此要求。
我拿了一个Zip文件和(三个测试文件)。
Ramu.zip(ramu1.txt,ramu2.txt,ramu3.txt)使用下面的映射,我可以解压缩并读取文件,但是在放置文件时,我得到一个包含所有内容的文件(ramu2.txt作为输出文件) )
代码:
导入com.sap.aii.mapping.api。*; 公共类unzipFiles扩展AbstractTransformation { java.io.OutputStream outputstream = TransformationOutput.getOutputPayload()。getOutputStream(); zis = new java.util.zip.ZipInputStream(inputstream); java.util.zip.ZipEntry ze; while((ze = zis.getNextEntry())!= null){int len; 字节b [] =新字节[2048]; while((len = zis.read(b,0,2048))!= -1){outputstream.write(b,0,len);复制代码 } java.util.Map mapParameters = TransformationInput.getInputHeader()。getAll(); mapParameters.put(DynamicConfigurationKey.create(" http://sap.com/xi/XI/Dynamic ",StreamTransformationConstants.DYNAMIC_CONFIGURATION),""); DynamicConfiguration conf =(DynamicConfiguration)mapParameters.get(StreamTransformationConstants.DYNAMIC_CONFIGURATION); conf.put(DynamicConfigurationKey.create(" http://sap.com/xi/XI/System/File "," FileName"),ze.getName()); }} catch(Exception exception){getTrace()。addDebugMessage(exception.getMessage()); 抛出新的StreamTransformationException(exception.toString()); }}}
这是我的问题,我需要在两个通道(发送方和接收方)中使用相同的文件名(即使使用了ASMA选项)也要发送到目标系统,但文件仍未到达接收方目录中?
如果无法将接收方FTP更改为SFTP,则可以将其分为两个单独的方案。 将解压缩的文件放在同一SFTP服务器上,然后进行选择和处理。
方案1:从SFTP到SFTP(Pick Ramu.zip,遵循我之前提到的SAP注释#2670297,保留文件名并将其放在相同的SFTP位置)。
方案2:SFTP到FTP(从SFTP中选择Ramu * .txt文件,执行所需的FCC/映射等操作并发送到目标FTP服务器)。
-Priyanka
一周热门 更多>