SAP根據用戶名查找使用的TCODE


由於某些部門的權限變動頻繁,設置也比較復雜,現做一個查找TCODE事務代碼的程序方便業務部門管理。

*&---------------------------------------------------------------------*
*& Report ZMMRP087A
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ZMMRP087A.
TABLES:USR02.
TYPES:BEGIN OF TY_DATA,
        BNAME TYPE USR02-BNAME,
        TCODE TYPE AGR_TCODES-TCODE,
        TTEXT TYPE TSTCT-TTEXT,"事務代碼描述文本
      END OF TY_DATA.
DATA:LT_TAB TYPE STANDARD TABLE OF TY_DATA.

SELECT-OPTIONS:
S_USER FOR USR02-BNAME.
"查找母角色的TCODE
SELECT USR02~BNAME,
*AGR_USERS~AGR_NAME,
AGR_TCODES~TCODE,
TSTCT~TTEXT
FROM USR02
LEFT JOIN AGR_USERS ON AGR_USERS~UNAME = USR02~BNAME
LEFT JOIN AGR_TCODES ON AGR_USERS~AGR_NAME = AGR_TCODES~AGR_NAME
LEFT JOIN TSTCT ON TSTCT~TCODE = AGR_TCODES~TCODE
INTO CORRESPONDING FIELDS OF TABLE @LT_TAB
      WHERE USR02~BNAME IN @S_USER
  AND TSTCT~SPRSL = 1.
"查找繼承角色的TCODE
SELECT USR02~BNAME,
*AGR_USERS~AGR_NAME,
AGR_TCODES~TCODE,
TSTCT~TTEXT
FROM USR02
LEFT JOIN AGR_USERS ON AGR_USERS~UNAME = USR02~BNAME
LEFT JOIN AGR_DEFINE ON AGR_USERS~AGR_NAME = AGR_DEFINE~AGR_NAME
LEFT JOIN AGR_TCODES ON AGR_DEFINE~PARENT_AGR = AGR_TCODES~AGR_NAME
  LEFT JOIN TSTCT ON TSTCT~TCODE = AGR_TCODES~TCODE
APPENDING CORRESPONDING FIELDS OF TABLE @LT_TAB
      WHERE USR02~BNAME IN @S_USER
    AND TSTCT~SPRSL = 1.

SORT LT_TAB BY BNAME TCODE.
DELETE ADJACENT DUPLICATES FROM LT_TAB.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM