REPORT Z_ABAP_SELECT_USER_BY_TCODE .
TABLES:
TSTC,
TSTCT.
DATA OPCODE TYPE X.
DATA: BEGIN OF USR_TABL OCCURS 10.
INCLUDE STRUCTURE UINFO.
DATA: END OF USR_TABL.
SELECT-OPTIONS: S_TCODE FOR TSTC-TCODE.
START-OF-SELECTION.
CLEAR USR_TABL.
FREE USR_TABL.
* set the function call mode
OPCODE = 2.
* get list of all users actually logging on
CALL 'ThUsrInfo' ID 'OPCODE' FIELD OPCODE
ID 'TAB' FIELD USR_TABL-*SYS*.
SORT USR_TABL BY BNAME TCODE.
LOOP AT USR_TABL WHERE TCODE IN S_TCODE.
SELECT SINGLE TTEXT FROM TSTCT INTO TSTCT-TTEXT
WHERE SPRSL = SY-LANGU AND
TCODE = USR_TABL-TCODE.
TRANSLATE TSTCT-TTEXT TO UPPER CASE.
WRITE:/
USR_TABL-BNAME,
USR_TABL-TCODE,
TSTCT-TTEXT.
ENDLOOP.
IF SY-SUBRC <> 0.
MESSAGE I001(38) WITH 'NO ENTRIES FOR YOUR SELECTION CRITERIA!'.
ENDIF.
TABLES:
TSTC,
TSTCT.
DATA OPCODE TYPE X.
DATA: BEGIN OF USR_TABL OCCURS 10.
INCLUDE STRUCTURE UINFO.
DATA: END OF USR_TABL.
SELECT-OPTIONS: S_TCODE FOR TSTC-TCODE.
START-OF-SELECTION.
CLEAR USR_TABL.
FREE USR_TABL.
* set the function call mode
OPCODE = 2.
* get list of all users actually logging on
CALL 'ThUsrInfo' ID 'OPCODE' FIELD OPCODE
ID 'TAB' FIELD USR_TABL-*SYS*.
SORT USR_TABL BY BNAME TCODE.
LOOP AT USR_TABL WHERE TCODE IN S_TCODE.
SELECT SINGLE TTEXT FROM TSTCT INTO TSTCT-TTEXT
WHERE SPRSL = SY-LANGU AND
TCODE = USR_TABL-TCODE.
TRANSLATE TSTCT-TTEXT TO UPPER CASE.
WRITE:/
USR_TABL-BNAME,
USR_TABL-TCODE,
TSTCT-TTEXT.
ENDLOOP.
IF SY-SUBRC <> 0.
MESSAGE I001(38) WITH 'NO ENTRIES FOR YOUR SELECTION CRITERIA!'.
ENDIF.
本文介绍了一个ABAP程序示例,该程序通过指定的事务码来筛选并显示当前登录系统的用户列表及其相关信息。程序首先清除用户表,然后调用ThUsrInfo函数获取实际登录的所有用户信息,并对这些信息进行排序。接着使用循环遍历用户表,针对每个用户的事务码,从TSTCT表中选择对应的文本描述。
3934

被折叠的 条评论
为什么被折叠?



