Вся функциональность SAP системы, за исключением SAP-ядра (поставляется в бинарных файлах), написана на языке ABAP (или JAVA). Все коды программ хранятся в базе данных системы и открыты для просмотра. В системе есть две области имен: область имен клиента (объекты начинающиеся с символов Z и Y) и область имен SAP (область стандартных объектов; объекты начинающиеся с остальных символов).
Начиная с SAP системы версии 3.0A, SAP отслеживает изменения, вносимые в систему. Это называется - SAP SOFTWARE CHANGE REGISTRATION (SSCR). И одна из частей этой системы регистрации изменений - это отслеживание всех разработчиков клиента.
Осуществляется это через ключ разработчика, который состоит из 20 цифр и запрашивается в соответствующей части SAP Support Portal (quick link - http://service.sap.com/sscr). Для получения необходимо войти под S-user'ом клиента и запросить ключ, указав номер инсталляции и ID пользователя. При введении ключа в поле "Ключ доступа" в диалоговом окне и нажатии "Дальше", SAP система проверяет корректность ключа, запуская C-программу SAP-ядра "CHECK_DEVELOPER_KEY", и в случае прохождения проверки, вносит ключ и ID разработчика в таблицу DEVACCESS. После этого пользователь с данным ID зарегистрирован в системе, как разработчик, и может, при желании, создавать/редактировать объекты в области имен клиента.
Вводите имя пользователя для удаления и, если запись для данного пользователя существует в таблице DEVACCESS, то программа удалит его вместе с ключом разработчика из таблицы (из системы соответственно тоже).
Также в целях повышения безопасности рекомендуется включить журналирование таблицы DEVACCESS (в технических настройках таблицы).
Подробнее про журналирование таблиц написано тут.
Автор: Шиболов Вячеслав Анатольевич
Для того, чтобы пользователь смог создавать (а в последующем и редактировать) объекты в области имен клиента, он должен иметь:
- соответствующие полномочия на разработку в системе,
- ключ разработчика (developer key).
С первым пунктом все понятно - нужен набор полномочий для работы с транзакциями SE37, SE38, SE80, SE11 и т.п. Остановимся на втором пункте. При попытке создать новый объект SAP система выдает запрос вида:
Начиная с SAP системы версии 3.0A, SAP отслеживает изменения, вносимые в систему. Это называется - SAP SOFTWARE CHANGE REGISTRATION (SSCR). И одна из частей этой системы регистрации изменений - это отслеживание всех разработчиков клиента.
Осуществляется это через ключ разработчика, который состоит из 20 цифр и запрашивается в соответствующей части SAP Support Portal (quick link - http://service.sap.com/sscr). Для получения необходимо войти под S-user'ом клиента и запросить ключ, указав номер инсталляции и ID пользователя. При введении ключа в поле "Ключ доступа" в диалоговом окне и нажатии "Дальше", SAP система проверяет корректность ключа, запуская C-программу SAP-ядра "CHECK_DEVELOPER_KEY", и в случае прохождения проверки, вносит ключ и ID разработчика в таблицу DEVACCESS. После этого пользователь с данным ID зарегистрирован в системе, как разработчик, и может, при желании, создавать/редактировать объекты в области имен клиента.
Повторная проверка происходит так: SAP система проверяет наличие ключа разработчика для данного ID пользователя в таблице DEVACCESS, проверяет корректность данного ключа, с помощью все той же "CHECK_DEVELOPER_KEY", и если все верно, то пользователю предоставляется доступ к ABAP-редактору в режиме редактирования (диалоговое окно с запросом ключа разработчика в данном случае не выдается). Если ключ не прошел проверку на корректность, то система просит ввести его заново.
Список зарегистрированных в системе разработчиков можно увидеть, просмотрев содержимое таблицы DEVACCESS в транзакции SE16. Список всех запрошенных ключей разработчиков для данной инсталляции SAP системы можно увидеть на SAP Support Portal (quick link - http://service.sap.com/sscr). SAP AG отслеживает количество ключей разработчиков, так как это ограничено пакетом лицензий.
Бывают ситуации, когда необходимо удалить записи из таблицы DEVACCESS. Например, когда пользователь, который был зарегистрирован в системе как разработчик, удаляется из системы. Или когда обнаруживается система (тестовая, продуктивная), где не должно быть ни одного разработчика, с не пустой таблицей DEVACCESS. Сделать это можно несколькими способами.
Если надо очистить всю таблицу, то можно ее пересоздать без сохранения данных в транзакции SE14.
Если же надо удалить лишь отдельные записи, то это можно сделать через уровень DB (SQL запросом удаляющим запись из таблицы) или через отладку (как с ней работать, можно посмотреть тут). А можно поступить более корректно и создать в системе небольшую ABAP-программу со следующим кодом:
REPORT ZBCDEVACCESS.
* ===============================================================
*
* TITLE: Delete Record from Table DEVACCESS
*
* DESCRIPTION: This program deletes the SSCR Developer Keys from the
* table DEVACCESS. There is no maintenance dialog available via SM30
* and thus this program is necessary.
*
* ===============================================================
TABLES: DEVACCESS.
PARAMETERS: p_user LIKE DEVACCESS-UNAME.
DELETE FROM DEVACCESS WHERE UNAME EQ p_user.
IF SY-SUBRC EQ 0.
WRITE: 'User and key for ', p_user, 'deleted from table DEVACCESS.'
.
ELSE.
WRITE: 'Error deleting user and key for ', p_user, ' return code ',
SY-SUBRC.
ENDIF.
Вводите имя пользователя для удаления и, если запись для данного пользователя существует в таблице DEVACCESS, то программа удалит его вместе с ключом разработчика из таблицы (из системы соответственно тоже).
Также в целях повышения безопасности рекомендуется включить журналирование таблицы DEVACCESS (в технических настройках таблицы).
Подробнее про журналирование таблиц написано тут.
Автор: Шиболов Вячеслав Анатольевич
Комментариев нет:
Отправить комментарий