簡體   English   中英

在 ABAP 中的消息語句中顯示變量

[英]Displaying variables inside message statement in 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.

有很多可能性。 這里是其中的一些。

您想要的可以使用字符串模板來實現(從 ABAP 7.02 開始工作)例如|text and { variable }|

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 customer balance less than minimum. Balance-->&1 ,例如消息類ZMSGCLASS中的 ID 001

MESSAGE e001(zmsgclass) TYPE 'E' WITH acct_bal.

等等。

ABAP 文檔 - MESSAGE中的更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM