abap - 在 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.
解决方案
有很多可能性。这里是其中的一些。
您可以使用字符串模板来实现您想要的:
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'.
或者,如果您希望您的消息可以通过消息类进行翻译,请通过事务代码创建一个消息 ID SE91
,其中包含文本customer balance less than minimum. Balance-->&1
,例如001
消息类中的 ID ZMSGCLASS
:
MESSAGE e001(zmsgclass) TYPE 'E' WITH acct_bal.
等等。
ABAP 文档 - MESSAGE中的更多信息。
推荐阅读
- javascript - 在悬停时触发图表动画 - easyPieChart
- terraform - 并非所有用户数据步骤都在 Terraform 管理的 AWS EC2 实例中执行?
- python - 将 Pandas Dataframe 转换为 JSON 格式:如何分组
- python - Pytest junit-xml 报告没有“文件”字段
- python - 用于搜索目录并查找以子字符串结尾的所有字符串的 Python 脚本
- python - Python:一个列表中两个位置之间的差异取决于另一个列表的规则集
- javascript - ng-repeat 未列出数组中的元素
- python - 为什么机器学习会出现一维数组而不是二维数组索引错误
- r - 在有条件的数据框中进行值
- mysql - 在sql查询中重用变量