检查消息ID是否存在

时间:2018-02-23 10:42:36

标签: abap

我正在使用MESSAGE功能,我想知道如何查明消息ID是否存在。
例如:

  1. 我定义了一条ID为" 001"在我的留言班" test_message"。
  2. 然后我称之为:MESSAGE e001(test_messages) WITH 'Test'.
  3. 我在sy
  4. 的另一个函数中检索它

    当我MESSAGE e000(test_messages) WITH 'Test'.sy中的值是相同的(当然除了id)。但在这种情况下,我想改变我的过程,因为我从未创建过具有id 000的消息 我不知道在哪里检查id是否确实存在。

2 个答案:

答案 0 :(得分:2)

您可以对表T100进行SELECT。如果您能找到您的信息,则存在: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

答案 1 :(得分:2)

VXLozano的答案是合适的,但可以通过提供语言字段并仅检索TEXT字段来提高性能。这样做可以让你添加" SINGLE"选项并加快您的邮件查询速度。

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.