SAPфорум.RU
https://sapboard.ru/forum/

Как добавить меню из роли в Фавориты ?
https://sapboard.ru/forum/viewtopic.php?f=100&t=35808
Страница 1 из 1

Автор:  w_f [ Пн, мар 31 2008, 16:43 ]
Заголовок сообщения:  Как добавить меню из роли в Фавориты ?

Есть роль, в которой внушительное меню.
Назначать себе эту роль, чтобы получить доступ к меню - не удобно по причине сложной процедуры назначения ролей пользователя.
Каждый раз через PFCG - тоже.
Импортировать в роль меню можно, а как экспортировать?
Пробовал добавить себе роль и в меню перетащить папкой в фавориты - пишет, что только по одному объекту можно.
Подскажите способ.

Автор:  John Doe [ Пн, мар 31 2008, 23:19 ]
Заголовок сообщения: 

Привет! Мне кажется, что легче все таки к админам напроситься (все таки проверки полномочий и т.п.). Но если все таки совсем невмоготу и есть 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.

Автор:  w_f [ Вт, апр 01 2008, 08:31 ]
Заголовок сообщения: 

Вот спасибки!!!
теперь будет над чем пораскинуть мозгом :D

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/