我正在使用消息函数,我想知道如何找出消息ID是否存在。
例如:
- 我在我的消息类" test_message"中定义了带有ID" 001"的消息。
- 然后我这样称呼:
MESSAGE e001(test_messages) WITH 'Test'.
- 我从
sy
中检索它
当我做MESSAGE e000(test_messages) WITH 'Test'.
时sy
中的值相同(当然是ID除外(。但是在那种情况下,我想更改我的过程,因为我从未使用ID 000创建消息。
我不知道在哪里可以检查ID是否真正存在。
您可以选择一个与表T100进行选择。如果您可以找到您的消息,则存在:P
之类的东西SELECT "just anything that fits your needs, with or without SINGLE
"UP TO 1 ROWS if you will not use the table's PK
FROM T100
INTO "field or fieldlist that fits your needs
WHERE ARBGB = "your ID
AND MSGNR = "your number.
"ENDSELECT. if you use UP TO 1 ROWS
IF sy-subrc = 0. "it exists
vxlozano的答案是合适的,但可以通过提供语言字段并仅检索文本字段来改善性能。这样做可以使您添加"单个"选项并加快消息查找。
SELECT SINGLE TEXT
FROM T100
INTO dummyfield
WHERE SPRSL = SY-LANGU
AND ARBGB = "Your ID"
AND MSGNR = "your Number".
IF sy-subrc = 0.
"the requested message in the message class exists for your current language
ENDIF.