从SAP文件夹中读取文件,并删除引号内的逗号

2020-09-23 00:00发布

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

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


嗨,

需要使用文件适配器从SAP文件夹中选择TXT文件。

实施以下逻辑文件后,可以将其放置在其他sap文件夹中。

如果在行号(")中出现引号,则用空格替换逗号,直到出现右引号("),此后照常继续计数逗号,并在下一个引号的情况下重复逻辑。

示例:
输入-4,9,3," 55,77,66"," 1,5"

输出应为--4,9,3,55 77 66,1 5

您能告诉我如何实现吗?

致谢

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

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


嗨,

需要使用文件适配器从SAP文件夹中选择TXT文件。

实施以下逻辑文件后,可以将其放置在其他sap文件夹中。

如果在行号(")中出现引号,则用空格替换逗号,直到出现右引号("),此后照常继续计数逗号,并在下一个引号的情况下重复逻辑。

示例:
输入-4,9,3," 55,77,66"," 1,5"

输出应为--4,9,3,55 77 66,1 5

您能告诉我如何实现吗?

致谢

付费偷看设置
发送
3条回答
nice_wp
1楼 · 2020-09-23 00:38.采纳回答

Vijay,你好!

如果要避免当FCC对逗号符号做出反应时将其用作字段值中的字段分隔符的情况,我最好尝试使用enclosureSign和enclosureSignEsc参数:

NameA.enclosureSign指定一个用作文本定界符的字符串。 尽管默认设置是删除所有文本定界符,但由此类定界符括起来的文本将原样传输到目标结构。 这些文字中的分隔符将被忽略。

如果指定xml.enclosureSign ="和xml.enclosureSignEsc ="",则用引号引起来的文本将保持不变,并且将引号删除。

https://help.sap.com/saphelp_nw73/ helpdata/zh-CN/44/6713ec3f914ddee10000000a1553f7/frameset.htm

关于Evgeniy。

huskylover
2楼-- · 2020-09-23 01:04

嗨,Evgeniy

感谢您的回复。 它是完美的。 我只在满足FCC要求时才需要这样做。

关于

clasier
3楼-- · 2020-09-23 00:48

嗨,

在UDF中使用下面的代码集,这里-in是String参数:-

字符串输出="";
 尝试{
 while(in.contains(" \"")){
 out = out + in.substring(0,in.indexOf(" \""));
 in = in.substring(in.indexOf(" \"")+ 1,in.length());
 字符串commaRemove = in.substring(0,in.indexOf(" \""))。replaceAll(",","");
 out = out +逗号删除;
 in = in.substring(in.indexOf(" \"")+ 1,in.length());
 }
 } catch(StringIndexOutOfBoundsException e){
 抛出新的StreamTransformationException("转换消息时出错,因为双引号的数量为奇数。"
 +"有关更多详细信息,请遵循错误日志:" + e.getLocalizedMessage());
 }
 返回+输入

 

请注意,如果双引号是奇数,则它将无法执行其任务。 :D

您能证明更多细节吗?

此致

Anoop Rai

一周热门 更多>