Читайте также:
|
|
Рисунок 106: Внедрение проверок полномочий в программах
Во избежание орфографических ошибок в именах объектов и полей следует использовать оператор AUTHORITY-CHECK, генерируемый в исходном тексте при использовании кнопки Модель. После этого выполняется ведение значений полей и внедрение проверки sy-subrc.
Упражнение 10: Проверка полномочий
Цели упражнения
Выполнив это упражнение, вы сможете
• внедрять проверки полномочий
• задавать различные варианты выполнения программы в зависимости от результатов проверки полномочий
Практический пример
Необходимо расширить имеющиеся ABAP-программы так, чтобы считывание и отображение времени полета для авиакомпании, указанной пользователем, осуществлялось только при наличии у этого пользователя полномочий на просмотр данных выбранной авиакомпании.
Задание 1:
Проверка наличия полномочий на просмотр данных авиакомпаний
1. Скопируйте исполняемую программу ZBC400_##_SELECT_SFLIGHT
(решение для второго упражнения из урока “Считывание таблиц базы данных”) или шаблон SAPBC400DDS_SELECT_SFLIGHT и присвойте им новое имя ZBC400_##_AUTHORITY_CHECK.
2. Перед выбором запрошенных данных из базы данных должна производиться проверка наличия у пользователя полномочий на просмотр данных выбранной авиакомпании. Для этого используйте объект полномочий S_CARRID.
Рекомендация: Выберите соответствующую модель оператора в ABAP-редакторе. Определите требуемый код операции для присвоения значения в поле ACTVT.
3. Определите константу для кода используемой операции (рекомендуемое имя: actvt_display; присвоение типа по элементу данных ACTIV_AUTH). Используйте эту константу в проверке полномочий.
4. При наличии у пользователя полномочия на работу с данными выбранной авиакомпании должен осуществляться доступ к базе данных. В противном случае в списке должно выдаваться соответствующее сообщение.
5. Выполните программу с использованием кодов авиакомпании AA и UA.
Продолжение на следующей странице
Задание 2:
Дополнительное задание по проверке полномочий
1. Скопируйте исполняемую программу
ZBC400_##_SELECT_SFLIGHT_ITAB (решение для
второго упражнения из урока “Считывание таблиц базы данных”) или шаблон SAPBC400DDS_SELECT_SFLIGHT_ITAB и присвойте им новое имя ZBC400_##_AUTHORITY_CHECK_2.
2. Следуйте инструкциям в предыдущем упражнении.
Решение 10: Проверка полномочий
Задание 1:
Проверка наличия полномочий на просмотр данных авиакомпаний
1. Скопируйте исполняемую программу ZBC400_##_SELECT_SFLIGHT
(решение для второго упражнения из урока “Считывание таблиц базы данных”) или шаблон SAPBC400DDS_SELECT_SFLIGHT и присвойте им новое имя ZBC400_##_AUTHORITY_CHECK.
a) Этот шаг выполняется в соответствии с обычной процедурой.
2. Перед выбором запрошенных данных из базы данных должна производиться проверка наличия у пользователя полномочий на просмотр данных выбранной авиакомпании. Для этого используйте объект полномочий S_CARRID.
Рекомендация: Выберите соответствующую модель оператора в ABAP-редакторе. Определите требуемый код операции для присвоения значения в поле ACTVT.
a) См. выдержку из исходного текста в примере решения.
3. Определите константу для кода используемой операции (рекомендуемое имя: actvt_display; присвоение типа по элементу данных ACTIV_AUTH). Используйте эту константу в проверке полномочий.
a) См. выдержку из исходного текста в примере решения.
4. При наличии у пользователя полномочия на работу с данными выбранной авиакомпании должен осуществляться доступ к базе данных. В противном случае в списке должно выдаваться соответствующее сообщение.
a) См. выдержку из исходного текста в примере решения.
5. Выполните программу с использованием кодов авиакомпании AA и UA. a) Этот шаг выполняется в соответствии с обычной процедурой.
Продолжение на следующей странице
Задание 2:
Дополнительное задание по проверке полномочий
1. Скопируйте исполняемую программу
ZBC400_##_SELECT_SFLIGHT_ITAB (решение для
второго упражнения из урока “Считывание таблиц базы данных”) или шаблон SAPBC400DDS_SELECT_SFLIGHT_ITAB и присвойте им новое имя ZBC400_##_AUTHORITY_CHECK_2.
a) Этот шаг выполняется в соответствии с обычной процедурой.
2. Следуйте инструкциям в предыдущем упражнении.
a) См. выдержку из исходного текста в примере решения.
Результат
Выдержка из исходного текста: SAPBC400DDS_AUTHORITY_CHECK
REPORT sapbc400dds_authority_check.
Дата добавления: 2015-11-16; просмотров: 63 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
DATA it_spfli TYPE sbc400_t_spfli. DATA wa_spfli LIKE LINE OF it_spfli. | | | WRITE: / ’Authority-Check Error’(001). ENDCASE. |