You are on page 1of 2

REPORT YUSR_ROLE_TCODE no standard page heading.. tables: usr02,usr21,adrp,agr_users,agr_texts,agr_tcodes,tstcv.

data: begin of usrtab bname like persnumber like name like agr_name like tcode like role_txt like tcde_txt like end of usrtab. occurs 0, usr02-bname, usr21-persnumber, adrp-name_first, agr_users-agr_name, agr_tcodes-tcode, agr_texts-text, tstcv-ttext,

data: zrole_txt like agr_texts-text. new-page line-count 65 line-size 170. top-of-page. * format color COL_positive intensified on. write: 'User Authorization roles',155 'PAGE:', SY-PAGNO. write:/ 'DATE:', SY-DATUM DD/MM/YYYY, SY-UZEIT USING EDIT MASK '__:__'. * format reset. * format color col_heading intensified on. write:/ 'User ID',13 'User name',35 'Auth. Role', 57 'Role Description', 108 'Transaction',128 'Transaction Description'. * format reset. write:/ sy-uline. Select-options S_bname for usr02-bname. Select-options S_agrnme for agr_users-agr_name. start-of-selection. select * from usr02 where bname in s_bname. if sy-subrc = 0. select * from usr21 where bname = usr02-bname. if sy-subrc = 0. select * from adrp where persnumber = usr21-persnumber. if sy-subrc = 0. concatenate adrp-name_first adrp-name_last into usrtab-name separated by space. select * from agr_users where uname = usr02-bname and agr_name in S_agrnme. if sy-subrc = 0. select * from agr_tcodes where agr_name = agr_users-agr_name. if sy-subrc = 0. move-corresponding usr02 to usrtab. move-corresponding usr21 to usrtab. * move-corresponding adrp to usrtab. move-corresponding agr_users to usrtab. move-corresponding agr_tcodes to usrtab. append usrtab. endif. endselect. endif. endselect.

endif. endselect. endif. endselect. endif. endselect. end-of-selection. loop at usrtab. select single * from tstcv where tcode = usrtab-tcode and sprsl = 'EN'. if sy-subrc = 0. usrtab-tcde_txt = tstcv-ttext. modify usrtab. endif. select single * from agr_texts where agr_name = usrtab-agr_name and spras = 'EN'. if sy-subrc = 0. usrtab-role_txt = agr_texts-text. modify usrtab. endif. endloop. sort usrtab by bname agr_name tcode role_txt. zrole_txt = ' '. loop at usrtab. at new bname. zrole_txt = ' '. write:/ usrtab-bname. endat. at new name. write: usrtab-name(20). endat. at new agr_name. write: 34 ' ',usrtab-agr_name(20). endat. if zrole_txt ne usrtab-role_txt.. write: 55 ' ',usrtab-role_txt(54). endif. * write: usrtab-name(20), write: 109 usrtab-tcode(20),usrtab-tcde_txt(36). new-line. zrole_txt = usrtab-role_txt. endloop.

You might also like