******************************************
* 查询用户下的角色(刘欣)
* 2013-5-3
* [email protected]
*******表: AGR_TCODES 角色名:AGR_NAME 事务代码:TCODE (这个表在ZBA01中使用,ZBA02中没用)
*表: AGR_USERS 角色名:AGR_NAME 用户名:UNAME
*表: V_USERNAME 用户名:BNAME 完整的人员名称:NAME_TEXT
*表: AGR_TEXTS 角色名:AGR_NAME 角色说明:TEXT
******************************************
REPORT ZBA_R002.
TYPE-POOLS: SLIS,KCDE.
DATA: USERNAME(20) TYPE C,
G_REPID TYPE SY-REPID,
IT_EVENTS TYPE SLIS_T_EVENT,
IT_FIELD TYPE SLIS_T_FIELDCAT_ALV,
WA_FIELD TYPE SLIS_FIELDCAT_ALV,
IT_SORT TYPE SLIS_T_SORTINFO_ALV.
INITIALIZATION.
G_REPID = SY-REPID.
DATA:BEGIN OF ITAB OCCURS 0,
UNAME TYPE AGR_USERS-UNAME,
NAME_TEXT TYPE V_USERNAME-NAME_TEXT,
AGR_NAME TYPE AGR_USERS-AGR_NAME,
TEXT TYPE AGR_TEXTS-TEXT,
END OF ITAB.
DATA NAMETEXT TYPE AD_NAMTEXT.
START-OF-SELECTION.
SELECT-OPTIONS NAME FOR USERNAME NO INTERVALS.
SELECT-OPTIONS ZHNAME FOR NAMETEXT NO INTERVALS.
END-OF-SELECTION.
PERFORM TOSQL.
PERFORM SHOW_DATA.
*---------------------------------------------------------------------
* Form SHOW_DATA
*---------------------------------------------------------------------
FORM SHOW_DATA .
DATA: WS_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
WS_FIELDGROUPS_TAB TYPE SLIS_T_SP_GROUP_ALV,
WS_LAYOUT TYPE SLIS_LAYOUT_ALV,
WS_SORTFIELDS_TAB TYPE SLIS_T_SORTINFO_ALV WITH HEADER LINE,
WS_EVENTS TYPE SLIS_T_EVENT.
DATA: NN TYPE I VALUE 0.
DATA: TITLE TYPE LVC_TITLE.
DATA: COLOR TYPE SLIS_T_SPECIALCOL_ALV WITH HEADER LINE.
*
DEFINE HOUT.
NN = NN + 1.
WS_FIELDCAT-COL_POS = NN.
WS_FIELDCAT-TABNAME = 'ITAB'.
WS_FIELDCAT-KEY = &1.
WS_FIELDCAT-FIELDNAME = &2.
WS_FIELDCAT-SELTEXT_M = &3.
WS_FIELDCAT-CFIELDNAME = &4.
WS_FIELDCAT-DATATYPE = &5.
WS_FIELDCAT-REF_TABNAME = &6.
WS_FIELDCAT-REF_FIELDNAME = &7.
WS_FIELDCAT-DO_SUM = &8.
WS_FIELDCAT-HOTSPOT = &9.
APPEND WS_FIELDCAT.
CLEAR WS_FIELDCAT.
END-OF-DEFINITION.
HOUT:
'' 'UNAME' '登录用户名' '' '' '' '' '' '',
'' 'NAME_TEXT' '中文姓名' '' '' '' '' '' '',
'X' 'AGR_NAME' '角色' '' '' '' '' '' '',
'X' 'TEXT' '角色名称' '' '' '' '' '' ''.
WS_LAYOUT-ZEBRA = 'X'.
WS_LAYOUT-GET_SELINFOS = 'X'.
WS_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
WS_LAYOUT-DETAIL_POPUP = 'X'.
*******排序
WS_SORTFIELDS_TAB-FIELDNAME = 'UNAME'.
WS_SORTFIELDS_TAB-UP = 'X'.
APPEND WS_SORTFIELDS_TAB.
CLEAR WS_SORTFIELDS_TAB.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
IS_LAYOUT = WS_LAYOUT
IT_FIELDCAT = WS_FIELDCAT[]
IT_SPECIAL_GROUPS = WS_FIELDGROUPS_TAB[]
IT_SORT = WS_SORTFIELDS_TAB[]
IT_EVENTS = WS_EVENTS[]
I_GRID_TITLE = TITLE
I_DEFAULT = 'X'
I_SAVE = 'A'
TABLES
T_OUTTAB = ITAB[]
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
ENDFORM. " OUTPUT_DATA
*--------------------------------
* FORM TOSQL
*--------------------------------
FORM TOSQL.
SELECT DISTINCT AGR_USERS~AGR_NAME AGR_USERS~UNAME V_USERNAME~NAME_TEXT AGR_TEXTS~TEXT
INTO CORRESPONDING FIELDS OF TABLE ITAB
FROM AGR_USERS
INNER JOIN V_USERNAME ON AGR_USERS~UNAME = V_USERNAME~BNAME "加入用户全称
INNER JOIN AGR_TEXTS ON AGR_USERS~AGR_NAME = AGR_TEXTS~AGR_NAME "加入角色说明
WHERE AGR_USERS~UNAME IN NAME.
DELETE ADJACENT DUPLICATES FROM ITAB.
SORT ITAB BY UNAME AGR_NAME .
ENDFORM.
SAP ABAP ZBA_R002 查询用户下的角色
猜你喜欢
转载自blog.csdn.net/ot512csdn/article/details/103147680
今日推荐
周排行