天天看点

得到application server上所有的logon user

通过function module THUSRINFO 可以得到当前application server instance上登陆user的详细信息,如terminal,使用的tcode, last transaction time等等。如果application server有多个instance,可以先使用function module RFC_GET_LOCAL_DESTINATIONS 取得所有的local RFC destination,再用RFC的方式调用THUSRINFO:

REPORT zuser.

DATA: lt_usr_liste TYPE STANDARD TABLE OF uinfo,

     lt_total     LIKE lt_usr_liste,

     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'

   usr_tabl              = lt_usr_liste

 EXCEPTIONS

   communication_failure = 17.

ASSERT sy-subrc = 0.

APPEND LINES OF lt_usr_liste TO lt_total.

LOOP AT lt_rfchosts ASSIGNING FIELD-SYMBOL().

 CLEAR: lt_usr_liste.

 CALL FUNCTION 'THUSRINFO' DESTINATION -rfcdest

   TABLES

     usr_tabl              = lt_usr_liste

   EXCEPTIONS

     communication_failure = 17.

 APPEND LINES OF lt_usr_liste TO lt_total.

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 ASSIGNING FIELD-SYMBOL().

 WRITE: / -bname UNDER gc_user_name COLOR COL_NEGATIVE,

     -tcode UNDER gc_tcode COLOR COL_POSITIVE,

     -term UNDER gc_term COLOR COL_KEY,

     -zeit UNDER gc_logon COLOR COL_TOTAL.

得到application server上所有的logon user
得到application server上所有的logon user