点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家您好,
问题陈述。
CPI接收平面文件(制表符分隔),该文件包含列名和列名的数据记录。 收到平面文件后,我想读取和更改第一行中的列名[space('')替换为下划线(_)],而不是读取整个文件。 更改列名后,请返回整个文件,其中包含列名的更改。
示例输入文件:
否<标签> 员工编号 <标签>客户<标签> 案例编号
1
2
注意:这些文件是15 MB-50MB之间的大文件。
所需的输出:
否<标签> 雇员编号 <标签>客户<标签> 案件编号
1
2
我当前正在使用的Groovy脚本。 该脚本仅将输出作为列名提供,而不提供包括数据记录在内的整个平面文件。
*********************************
导入com.sap.gateway.ip.core.customdev.util.Message;
import java.util.HashMap;
def消息processData(消息消息)
{def reader = message.getBody(java.io.Reader)
def数组= []
reader.find {行->行== 1
字符串newline = line.replaceAll('','_')
array.add(newline)
}
def messageLog = messageLogFactory.getMessageLog(message); messageLog.addAttachmentAsString(" CSV_file",array.toListString()," text/plain");
message.setBody(array.toListString());
返回消息}
****************************************
请提供解决方案,以返回整个平面文件以及增强的列名作为输出。
此致
Hemant
您好 Hemant Malvi ,
您可以使用阅读器的transformLine功能,然后仅过滤第一行。 查看示例代码后,它应该像这样工作:
p.s .:在 answers.sap.com 上的文本编辑器中,有一个名为"代码"的小按钮。 通过使用它,您可以轻松地在问题中设置源代码的格式。
您好,Hemant,
是的,这也会产生一些影响。 与在计算机上运行的所有内容一样:更多的资源=(大多数情况下)更高的处理速度。 因此,如果运行生产租户,则过程可能会加快。
一周热门 更多>