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编程示例,展示了如何使用事务码来筛选并获取当前登录系统的用户信息。代码中包含了设置函数调用模式、获取实际登录用户的列表、按用户名和事务码排序以及读取文本等步骤。
3906

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



