前言
使用
SM02维护的系统消息,对于所有登录用户的用户都会收到在某种情况下,我们也可以向特定的用户发送消息:这个功能可以通过 FM
TH_POPUP实现
TH_POPUP会调用 Kernel 的功能,实现不同 User 间消息的传递
参考代码
注意:使用 TH_POPUP 是需要特定的权限的,所以调用 FUNC 前做一下 权限校验,但是看了下源码,官方已经做好了权限校验,所以这一部分可以忽略。
" 权限校验
*AUTHORITY-CHECK OBJECT 'S_ADMI_FCD'
* ID 'S_ADMI_FCD' FIELD 'POPU'.
*IF sy-subrc <> 0.
* MESSAGE 'NO AUTHORITY' TYPE 'S' DISPLAY LIKE 'E'.
*ENDIF.
" 调用 TH_POPUP FUNC 实现弹窗消息发送
CALL FUNCTION 'TH_POPUP'
EXPORTING
client = '200'
user = '...' " 接收用户的用户名
message = 'HELLO, WORLD!'
message_len = 0
cut_blanks = sy-langu
EXCEPTIONS
user_not_found = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno DISPLAY LIKE sy-msgty
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.