Sapforum.Biz
Инструменты => Администрирование (BC) => Тема начата: bdmalex от Август 11, 2009, 12:50:44 pm
-
Всем, привет!
Наше командование для "нового" проекта жадет допустить внешних консалтеров с ограничениями...
Хотят дать пользователям роль с доступом к se16 "на просмотр", но при этом хотят, чтобы
для ряда таблиц(из известного списка) не было возможности на просмотр
содержимого таблиц этого списка(содержимое остальных таблицы смотреть разрешено...)...
Сижу вот голову ломаю - КАК это реализовать..? Помогите - кто чем может...:)..
-
Сижу вот голову ломаю - КАК это реализовать..? Помогите - кто чем может...:)..
Это никак... кстати если это какая-то тестовая система, то наверное только путем бэкапа данных этих таблиц потом удаления в них данных и последующее восстановление. Кстати как вариант так подумал сделать транзакцию обертку вокруг SE16 куда зашить запрет на список таблиц. Полномочия дать только на эту спец транзакцию, но если у них будет доступ на /h то это тоже не сильно поможет.
-
Так сейчас глянул, вариант через SHD0 сделать похоже не получится ::)
-
Короче вот программка потом делаешь для ее запуска транзакцию 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
-
была такая темка http://sapforum.biz/index.php/topic,31.0.html
-
да точно надо было глянуть сразу на реализацию...там call function 'VIEW_AUTHORITY_CHECK' вызывается который внутри проверяет это все дело через
authority-check object 'S_TABU_DIS' "check by class
id 'ACTVT' field activity
id 'DICBERCLS' field tddat-cclass.
-
Хотя я тут еще посмотрел.. в общем если использовать объект, то надо перечислить все таблицы к которым требуется доступ и их присвоить классу, что сложнее, чем перечислить список таблиц по правилу запретить доступ к таблицам А,В,С а ко всем остальным разрешить. Так что вариант с переопределением SE16 тоже имеет право на жизнь.