Привет! Мне кажется, что легче все таки к админам напроситься (все таки проверки полномочий и т.п.). Но если все таки совсем невмоготу и есть sap_all...
В общем, набросал для тебя программку. Присваивает все транзакции из роли в фавориты, только без сохранения иерархической структуры меню роли.
Code:
DATA: LS_AGR_DEFINE TYPE AGR_DEFINE,
LT_AGR_SELECT TYPE TABLE OF AGR_SELECT,
LT_AGR_TCODES TYPE TABLE OF AGR_TCODES,
LS_AGR_TCODES TYPE AGR_TCODES,
L_TCODE TYPE SYTCODE.
PARAMETERS: P_ROLE TYPE AGR_NAME MATCHCODE OBJECT PRGN_AGR.
START-OF-SELECTION.
CHECK NOT P_ROLE IS INITIAL.
LS_AGR_DEFINE-AGR_NAME = P_ROLE.
CALL FUNCTION 'PRGN_GET_AGR_TCODES'
EXPORTING
S_AGR_DEFINE = LS_AGR_DEFINE
TABLES
I_AGR_SELECT = LT_AGR_SELECT
I_AGR_TCODES = LT_AGR_TCODES.
WRITE / 'Added T-Code to Favorites:'.
LOOP AT LT_AGR_TCODES INTO LS_AGR_TCODES.
MOVE LS_AGR_TCODES-TCODE TO L_TCODE.
CALL FUNCTION 'MENU_CHECK_TCODE'
EXPORTING
TCODE = L_TCODE
EXCEPTIONS
TCODE_DOES_NOT_EXIST = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
CONTINUE.
ENDIF.
CALL FUNCTION 'GUI_ADD_TCODE_TO_FAVORITES'
EXPORTING
TRANSACTION_TO_ADD = L_TCODE
USER_NAME = SY-UNAME
NO_PAR_TCODE = 'X'.
WRITE / L_TCODE.
ENDLOOP.