CL_ABAP_CHAR_UTILITIES => cr_lf-如何仅实现" CR"?

2020-09-07 08:18发布

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

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


我有一个使用TRANSFER语句下载文件的程序。 当我使用该方法时,

CL_ABAP_CHAR_UTILITIES => cr_lf,在记事本中查看时,它将在文件末尾写入" CR LF "。 方法中是否有方法或任何字段可用于在文件的每一行末尾仅添加" CR"?

这是代码的一部分...

数据:开始记录,
STRING(299),
CARRIAGE_RETURN(1)类型c,
记录结束。

将温度循环到温度。
将TEMPTEST-FLD001移至TREC-STRING + 0(1)。
将TEMPTEST-FLD002移至TREC-STRING + 1(3)。
将TEMPTEST-FLD003移动。 转到TREC-STRING + 4(2)。
移动TEMPTEST-FLD004到TREC-STRING + 6(10)。
移动TEMPTEST-FLD005到TREC-STRING + 16(1)。
移动TEMPTEST- FLD006至TREC-STRING + 17(1)。
移动温度-FLD007至TREC-STRING + 18(1)。
移动温度-FLD008至TREC-STRING + 19(1)。
移动温度 -FLD009到TREC-STRING + 20(10)。
移动TEMPTEST-FLD010到TREC-STRING + 30(10)。
移动TEMPTEST-FLD011到TREC-STRING + 40(6)。
MOVE TEMPTEST-FLD012到TREC-STRING + 46(35)。
移动TEMPTEST-FLD013到TREC-STRING + 81(21)。
移动TEMPTEST-FLD014到TREC-STRING + 100(198)。
移动CL_ABAP_CHAR_UTILITIES => cr_lf到TREC-CARRIAGE_RETURN。
将TREC转移到PI_A_FILENAME长度为300的行尾。
ENDLOOP。

谢谢!

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

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


我有一个使用TRANSFER语句下载文件的程序。 当我使用该方法时,

CL_ABAP_CHAR_UTILITIES => cr_lf,在记事本中查看时,它将在文件末尾写入" CR LF "。 方法中是否有方法或任何字段可用于在文件的每一行末尾仅添加" CR"?

这是代码的一部分...

数据:开始记录,
STRING(299),
CARRIAGE_RETURN(1)类型c,
记录结束。

将温度循环到温度。
将TEMPTEST-FLD001移至TREC-STRING + 0(1)。
将TEMPTEST-FLD002移至TREC-STRING + 1(3)。
将TEMPTEST-FLD003移动。 转到TREC-STRING + 4(2)。
移动TEMPTEST-FLD004到TREC-STRING + 6(10)。
移动TEMPTEST-FLD005到TREC-STRING + 16(1)。
移动TEMPTEST- FLD006至TREC-STRING + 17(1)。
移动温度-FLD007至TREC-STRING + 18(1)。
移动温度-FLD008至TREC-STRING + 19(1)。
移动温度 -FLD009到TREC-STRING + 20(10)。
移动TEMPTEST-FLD010到TREC-STRING + 30(10)。
移动TEMPTEST-FLD011到TREC-STRING + 40(6)。
MOVE TEMPTEST-FLD012到TREC-STRING + 46(35)。
移动TEMPTEST-FLD013到TREC-STRING + 81(21)。
移动TEMPTEST-FLD014到TREC-STRING + 100(198)。
移动CL_ABAP_CHAR_UTILITIES => cr_lf到TREC-CARRIAGE_RETURN。
将TREC转移到PI_A_FILENAME长度为300的行尾。
ENDLOOP。

谢谢!

付费偷看设置
发送
15条回答
CJones
1楼-- · 2020-09-07 08:48

嗨,

数据:开始记录,

STRING(299),

CARRIAGE_RETURN(1)TYPE c,--->代替这个尝试

crlf(1)输入c值cl_abap_char_utilities => CR_LF,

录制结束。

无需做

将CL_ABAP_CHAR_UTILITIES => cr_lf移至TREC-CARRIAGE_RETURN。 在循环中。

尝试并让我知道

感谢

zhangjiyang1323
2楼-- · 2020-09-07 08:46

感谢Aniket ..但这也不起作用。

落灬小鱼
3楼-- · 2020-09-07 08:48

您好Anjana,

也许 可以尝试一些解决方法

常量:CR TYPE CHAR1 VALUE CL_ABAP_CHAR_UTILITIES => CR_LF。 " CR

数据CR类型CHAR1。

CR = CL_ABAP_CHAR_UTILITIES => CR_LF。

将CR移动到TREC-CARRIAGE_RETURN。

compass1988
4楼-- · 2020-09-07 08:41

Raymond,

这是程序中的OPEN DATASET代码。

OPEN DATASET PI_A_FILENAME

用于输出
在文本模式下
消息S_L-MSG编码
默认。

我曾尝试使用LEGACY TEXT MODE,但也没有用。

宇峰Kouji
5楼-- · 2020-09-07 08:41

如果用CL_ABAP_CHAR_UTILITIES => NEWLINE替换CL_ABAP_CHAR_UTILITIES => CR_LF该怎么办?

关于此,

Raymond

6楼-- · 2020-09-07 08:41

错误。

Unicode字符为:

回车/CR = U + 000D 
NEWLINE/LINEFEED/LF = U + 000A FORMFEED/FF = U + 000C

Pawan Kesari 授予了权利 答案,但被OP拒绝,因为该问题与TRANSFER(写入文件)和检查文件内容的潜在人为错误混合在一起。

一周热门 更多>