如何删除符号#(使用WRITE语句从SFTP输出入站文件)

2020-08-31 02:24发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们。 我试图用WRITE语...

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

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


专家们。

我试图用WRITE语句实现ABAP程序从SFTP服务器输出入站文件。

(不是在SAP appl服务器中上传文件,只想输出入站文件内容。)

但是,符号'#'出现在输出结果的末尾,如下所示。

我尝试使用REPLACE和CONDENSE语句删除#,但没有用。

--------------------------------------------------- -------------------------------

abcdefg

hijklmn

opqrstu ######################################

--------------------------------------------------- -------------------------------

在SAP应用服务器中上传文件的情况下,不会发生此问题。

我认为这可能是由于文件格式(在开始和结束时需要BEGIN〜END?)

我参考以下注释:2007916

https://launchpad.support.sap.com/#/notes/2007916

谢谢。

付费偷看设置
发送
4条回答
哎,真难
1楼-- · 2020-08-31 03:02

似乎是行尾字符的问题。 奇怪的是,您没有其他问题。

在此之前,每次使用FTP(或SFTP)玩游戏时,都应检查源和目的地是哪种系统。 如果不同,则必须以ASCII模式传输文件;如果相同,则可以以BINARY模式传输文件。 它将用好字符替换所有行尾字符(Unix和Windows不使用相同的字符)。

也许您可以尝试使用诸如Notepad ++之类的工具来检查该字符是六 在传输文件的末尾。

在SAP类中,您还可以使用以下字符来帮助您:CL_ABAP_CHAR_UTILITIES => CR_LF

Baoming ROSE
2楼-- · 2020-08-31 03:24

正如您所说的那样,上传 可以将文件保存到" SAP appl服务器",您可以显示它的外观吗? (但请不要提供私人/机密信息)

我是小鹏鹏啊
3楼-- · 2020-08-31 03:04

#是用于显示不可显示字符的标准SAP字符,例如," CR_LF"字符将显示为#(参见 弗雷德里克(Frederic)的答案。

这也可能是由于字符编码转换错误(或根本没有转换)造成的。

我建议您问一些熟悉遥控器的人 服务器包含此文件的内容,即其格式(仅是字符?)及其字符集(又称为"代码"页)。 之后,您可以以二进制方式传输并根据字符集(例如,类cl_abap_conv_in_ce)解释字节。

PS:注释 2007916-从应用程序服务器到远程服务器的https文件传输示例报告与您的问题无关。

槿木_熙
4楼-- · 2020-08-31 03:25

您可以尝试以下一种方法 以下声明

在lv_string中用空格替换所有出现的cl_abap_char_utilities => cr_lf。
 用空格替换lv_string中所有出现在cl_abap_char_utilities => newline中的换行符。

谢谢

古拉布

一周热门 更多>