ABAP 如何在函数模块中使用消息类
时间: 2024-03-05 09:47:31 浏览: 28
在 ABAP 函数模块中,可以使用消息类来输出消息和警告信息。下面是使用消息类的步骤:
1. 在函数模块的开头定义一个消息变量:
```
DATA: msg TYPE REF TO cx_root,
lv_msgid TYPE sy-msgid,
lv_msgty TYPE sy-msgty,
lv_msgno TYPE sy-msgno,
lv_msgv1 TYPE sy-msgv1,
lv_msgv2 TYPE sy-msgv2,
lv_msgv3 TYPE sy-msgv3,
lv_msgv4 TYPE sy-msgv4.
```
2. 在函数模块中使用 MESSAGE...USING 语句输出消息:
```
MESSAGE e000(zzz) INTO msg
USING lv_msgv1 lv_msgv2 lv_msgv3 lv_msgv4.
```
其中,e000(zzz) 是消息类和消息号,lv_msgv1-lv_msgv4 是消息变量。
3. 在函数模块结尾处可以使用以下语句输出消息:
```
IF msg IS NOT INITIAL.
lv_msgid = msg->get_id( ).
lv_msgty = msg->get_type( ).
lv_msgno = msg->get_number( ).
lv_msgv1 = msg->get_text( ).
MESSAGE lv_msgty INTO lv_msgv1
WITH lv_msgid lv_msgno lv_msgv2 lv_msgv3 lv_msgv4.
ENDIF.
```
这里先获取消息的相关信息,然后使用 MESSAGE...INTO 语句输出消息。其中,lv_msgty 是消息类型,lv_msgv1 是消息变量,lv_msgid、lv_msgno、lv_msgv2、lv_msgv3、lv_msgv4 分别是消息的 ID、消息号以及消息变量。