如何解决在ABAP的消息语句中显示变量
如何在不使用消息类的情况下在消息语句中显示变量?
IF acct_bal < min_bal.
MESSAGE 'customer balance less than minimum. Balance-->',acct_bal TYPE 'E'.
ENDIF.
我的程序出现语法错误,因为系统不允许acct_bal
进入消息语句。我不想使用带有占位符的消息类来做到这一点:
Program z_test.
DATA: acct_bal TYPE 'I' value 10,min_bal TYPE 'I' value 100.
IF acct_bal < min_bal.
MESSAGE 'customer balance less than minimum. Balance-->',acct_bal type 'E'.
ENDIF.
解决方法
有很多可能性。这里有一些。
您可以使用string template来实现:
MESSAGE |customer balance less than minimum. Balance-->{ acct_bal }| TYPE 'E'.
或者如果您希望您的消息可以通过文本符号进行翻译,则:
MESSAGE |{ replace( val = 'customer balance less than minimum. Balance-->&1'(001)
sub = '&1' with = acct_bal ) }| TYPE 'E'.
或者,如果您希望您的消息可以通过消息类进行翻译,则可以通过事务代码SE91
创建一个消息ID,其中包含文本customer balance less than minimum. Balance-->&1
,例如消息中的ID 001
类ZMSGCLASS
:
MESSAGE e001(zmsgclass) TYPE 'E' WITH acct_bal.
等等。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。