Sapforum.Biz

Инструменты => Администрирование (BC) => Тема розпочата: bdmalex від Серпень 11, 2009, 12:50:44 ПП

Назва: Коллеги, помогите с ролями для 6.40 и 7.00 cистем....
Відправлено: bdmalex від Серпень 11, 2009, 12:50:44 ПП
Всем, привет!

Наше командование для "нового" проекта жадет допустить внешних консалтеров с ограничениями...
Хотят дать пользователям роль с доступом к se16 "на просмотр", но при этом хотят, чтобы
для ряда таблиц(из известного списка) не было возможности на просмотр
содержимого таблиц этого списка(содержимое остальных таблицы смотреть разрешено...)...

Сижу вот голову ломаю - КАК это реализовать..? Помогите - кто чем может...:)..
Назва: Re: Коллеги, помогите с ролями для 6.40 и 7.00 cистем....
Відправлено: Uukrul від Серпень 11, 2009, 12:54:12 ПП
Цитата: bdmalex від Серпень 11, 2009, 12:50:44 ПП
Сижу вот голову ломаю - КАК это реализовать..? Помогите - кто чем может...:)..
Это никак... кстати если это какая-то тестовая система, то наверное только путем бэкапа данных этих таблиц потом удаления в них данных и последующее восстановление. Кстати как вариант так подумал сделать транзакцию обертку вокруг SE16 куда зашить запрет на список таблиц. Полномочия дать только на эту спец транзакцию, но если у них будет доступ на /h то это тоже не сильно поможет.
Назва: Re: Коллеги, помогите с ролями для 6.40 и 7.00 cистем....
Відправлено: Uukrul від Серпень 11, 2009, 12:56:15 ПП
Так сейчас глянул, вариант через SHD0 сделать похоже не получится  ::)
Назва: Re: Коллеги, помогите с ролями для 6.40 и 7.00 cистем....
Відправлено: Uukrul від Серпень 11, 2009, 01:08:20 ПП
Короче вот программка потом делаешь для ее запуска транзакцию ZSE16 на которую даешь полномочия и будет счастье... а SE16 вообще забираешь из STCODE.

REPORT zmy_se16 .

TABLES: databrowse.
PARAMETERS: p_tabnam LIKE databrowse-tablename.

*--------------------------------------------------------
DATA: lt_parameters LIKE usr05 OCCURS 1 WITH HEADER LINE.


*---------
* Тут вставить проверку на имена таблиц
* Если, таблица запрещенная тогда на выход
* Иначе вызвать вот такой вот код
*---------
lt_parameters-parid = 'DTB'.
lt_parameters-parva = p_tabnam.
APPEND lt_parameters.

CALL FUNCTION 'MMIM_CALL_TRANSACTION'
    EXPORTING
         i_transaction       = 'SE16'
         i_skip_first_screen = 'X'
         i_new_mode          = ' '
    TABLES
         it_parameters       = lt_parameters
    EXCEPTIONS
         not_authorized      = 1
         OTHERS              = 2.


По поводу проверки имен таблиц, я бы сделал свою табличку куда по надобности бы добавлял имена таблица а в этой программе просто проверял, введенные имена на совпадение с данными в таблице. А то руководство такое, что сегодня одни таблицы, завтра другие, да еще и по пользователям наверное захотят, а тут просто свобода творчества  ;D
Назва: Re: Коллеги, помогите с ролями для 6.40 и 7.00 cистем....
Відправлено: NachDenken від Серпень 11, 2009, 03:33:08 ПП
была такая темка http://sapforum.biz/index.php/topic,31.0.html
Назва: Re: Коллеги, помогите с ролями для 6.40 и 7.00 cистем....
Відправлено: Uukrul від Серпень 11, 2009, 04:27:15 ПП
да точно надо было глянуть сразу на реализацию...там call function 'VIEW_AUTHORITY_CHECK' вызывается который внутри проверяет это все дело через
   authority-check object 'S_TABU_DIS'  "check by class
      id 'ACTVT'      field activity
      id 'DICBERCLS'  field tddat-cclass.
Назва: Re: Коллеги, помогите с ролями для 6.40 и 7.00 cистем....
Відправлено: Uukrul від Серпень 12, 2009, 01:54:18 ПП
Хотя я тут еще посмотрел.. в общем если использовать объект, то надо перечислить все таблицы к которым требуется доступ и их присвоить классу, что сложнее, чем перечислить список таблиц по правилу запретить доступ к таблицам А,В,С а ко всем остальным разрешить. Так что вариант с переопределением SE16 тоже имеет право на жизнь.