显示ABAP Netweaver上登录的所有用户信息
- 2020 年 1 月 21 日
- 笔记
REPORT zuser_com. TYPES: tt_user_info TYPE STANDARD TABLE OF uinfo. DATA: BEGIN OF ls_user_info. INCLUDE STRUCTURE uinfo AS info. DATA dest TYPE rfchosts-rfcdest. DATA END OF ls_user_info. DATA: lt_usr_liste TYPE tt_user_info, lt_total LIKE STANDARD TABLE OF ls_user_info, lt_rfchosts TYPE STANDARD TABLE OF rfchosts. CONSTANTS: gc_user_name TYPE uinfo-bname VALUE 'User Name', gc_tcode TYPE uinfo-tcode VALUE 'Tcode', gc_term TYPE uinfo-term VALUE 'Terminal', gc_logon TYPE uinfo-zeit VALUE 'Time'. CALL FUNCTION 'RFC_GET_LOCAL_DESTINATIONS' TABLES localdest = lt_rfchosts. CALL FUNCTION 'THUSRINFO' TABLES usr_tabl = lt_usr_liste EXCEPTIONS communication_failure = 17. ASSERT sy-subrc = 0. PERFORM fill_dest USING lt_usr_liste 'NONE'. LOOP AT lt_rfchosts ASSIGNING FIELD-SYMBOL(<rfc>). CLEAR: lt_usr_liste. CALL FUNCTION 'THUSRINFO' DESTINATION <rfc>-rfcdest TABLES usr_tabl = lt_usr_liste EXCEPTIONS communication_failure = 17. PERFORM fill_dest USING lt_usr_liste <rfc>-rfcdest. ENDLOOP. DELETE lt_total WHERE mandt <> sy-mandt. SORT lt_total BY bname. WRITE: / gc_user_name, gc_tcode, gc_term, gc_logon. LOOP AT lt_total INTO DATA(user). WRITE: / user-bname UNDER gc_user_name COLOR COL_NEGATIVE, user-tcode UNDER gc_tcode COLOR COL_POSITIVE, user-term UNDER gc_term COLOR COL_KEY, user-zeit UNDER gc_logon COLOR COL_TOTAL. HIDE user-bname. HIDE user-dest. ENDLOOP. AT LINE-SELECTION. DATA: lv_message TYPE sm04dic-popupmsg VALUE 'hello world, this text is sent via ABAP'. CALL FUNCTION 'TH_POPUP' DESTINATION user-dest EXPORTING client = sy-mandt user = user-bname message = lv_message message_len = strlen( lv_message ) EXCEPTIONS user_not_found = 1 OTHERS = 2. FORM fill_dest USING it_user_info_raw TYPE tt_user_info iv_dest TYPE rfchosts-rfcdest. LOOP AT it_user_info_raw ASSIGNING FIELD-SYMBOL(<user1>). CLEAR: ls_user_info. MOVE-CORRESPONDING <user1> TO ls_user_info. ls_user_info-dest = iv_dest. APPEND ls_user_info TO lt_total. ENDLOOP. ENDFORM.
要获取更多Jerry的原创文章,请关注公众号"汪子熙":