如何将包含CURR类型字段的结构移动到字符串

2020-09-10 16:32发布

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

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


我正在尝试将行从信息类型0008移动到字符串。 信息类型0008包含诸如BET01(CURR类型)和ANZ01(DEC类型)之类的字段。

我想将ls_0008移到ls_string,但是在Unicode中这是不允许的,因为字段类型不兼容。

我尝试使用cl_abap_container_utilities => fill_container_c,但是所有类型CURR和DEC字段都填充有哈希,即我得到了"

EUR 00000000 ############## 1026 ########### 8110 ############

"作为输出 。:(

非常感谢所有帮助。

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

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


我正在尝试将行从信息类型0008移动到字符串。 信息类型0008包含诸如BET01(CURR类型)和ANZ01(DEC类型)之类的字段。

我想将ls_0008移到ls_string,但是在Unicode中这是不允许的,因为字段类型不兼容。

我尝试使用cl_abap_container_utilities => fill_container_c,但是所有类型CURR和DEC字段都填充有哈希,即我得到了"

EUR 00000000 ############## 1026 ########### 8110 ############

"作为输出 。:(

非常感谢所有帮助。

付费偷看设置
发送
6条回答
bbpeas
1楼 · 2020-09-10 17:17.采纳回答

如果LS_0008的类型为P0008,则不能执行以下操作:

写LS_0008。  "具有或不具有INTO 

,因为P0008是一种不像字符的结构(它包含数字(压缩的)字段)

唯一的解决方案是逐字段执行WRITE字段

木偶小白
2楼-- · 2020-09-10 17:28

非常感谢大家的帮助。代码很长,因此我创建了一个小程序,希望可以更好地阐明我的问题:

< img src="/img/img/storage/temp/1658541-png-190404.png">

在Unicode之前,可以将LS_SET移至LS_STRING,但是现在出现错误消息,指出这些结构"不是 问题是我需要将其转换为字符串,因为程序的其余部分使用此字符串!

我尝试了fill_container_c方法,但是CURR字段填充了哈希 即'######'。

空代码
3楼-- · 2020-09-10 17:05

阅读关于ABAP关键字WRITE的帮助。

浮生未央
4楼-- · 2020-09-10 17:17
saslove sap 答案已调整,谢谢。
一只江湖小虾
5楼-- · 2020-09-10 17:21

好,试试看

L_STRING = | {P0008-PERNR} {P0008 -CUR} {P0008-KEY} |。

Tong__Ming
6楼-- · 2020-09-10 17:19

如果您共享所使用的确切代码,将会有所帮助。

写等价货币CURRENCY blah-currency TO  output_field。
 

一周热门 更多>