BC400_RU_ECC_2005
.pdfBC400 |
Урок: Проверка полномочий |
Упражнение 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.
Продолжение на следующей странице
|
© 2006 г. SAP AG All rights reserved. Авторские |
181 |
06-04-2006 |
права защищены. |
Глава 5: Сбор данных |
BC400 |
Задание 2:
Дополнительное задание по проверке полномочий
1.Скопируйте исполняемую программу
ZBC400_##_SELECT_SFLIGHT_ITAB (решение для
второго упражнения из урока “Считывание таблиц базы данных”) или шаблон SAPBC400DDS_SELECT_SFLIGHT_ITAB и присвойте им новое имя ZBC400_##_AUTHORITY_CHECK_2.
2.Следуйте инструкциям в предыдущем упражнении.
182 |
© 2006 г. SAP AG All rights reserved. Авторские |
|
права защищены. |
06-04-2006 |
BC400 |
Урок: Проверка полномочий |
Решение 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)Этот шаг выполняется в соответствии с обычной процедурой.
Продолжение на следующей странице
|
© 2006 г. SAP AG All rights reserved. Авторские |
183 |
06-04-2006 |
права защищены. |
Глава 5: Сбор данных |
BC400 |
Задание 2:
Дополнительное задание по проверке полномочий
1.Скопируйте исполняемую программу
ZBC400_##_SELECT_SFLIGHT_ITAB (решение для
второго упражнения из урока “Считывание таблиц базы данных”) или шаблон SAPBC400DDS_SELECT_SFLIGHT_ITAB и присвойте им новое имя ZBC400_##_AUTHORITY_CHECK_2.
a)Этот шаг выполняется в соответствии с обычной процедурой.
2.Следуйте инструкциям в предыдущем упражнении.
a)См. выдержку из исходного текста в примере решения.
Результат
Выдержка из исходного текста: SAPBC400DDS_AUTHORITY_CHECK
REPORT sapbc400dds_authority_check.
CONSTANTS actvt_display TYPE activ_auth VALUE ’03’.
DATA wa_flight TYPE sbc400focc.
PARAMETERS pa_car TYPE s_carr_id.
* Authority Check: User authorized to read data of the specified carrier?
AUTHORITY-CHECK OBJECT ’S_CARRID’
ID ’CARRID’ FIELD pa_car
ID ’ACTVT’ FIELD actvt_display.
CASE sy-subrc.
WHEN 0. " user is authorized
SELECT carrid connid fldate seatsmax seatsocc
FROM sflight
INTO CORRESPONDING FIELDS OF wa_flight
WHERE carrid = pa_car.
wa_flight-percentage =
100 * wa_flight-seatsocc / wa_flight-seatsmax.
WRITE: / wa_flight-carrid COLOR COL_KEY, wa_flight-connid COLOR COL_KEY, wa_flight-fldate COLOR COL_KEY,
Продолжение на следующей странице
184 |
© 2006 г. SAP AG All rights reserved. Авторские |
|
права защищены. |
06-04-2006 |
BC400 |
Урок: Проверка полномочий |
wa_flight-seatsocc, wa_flight-seatsmax, wa_flight-percentage, ’%’.
ENDSELECT.
WHEN OTHERS. " user is not authorized
WRITE: / ’Authority-Check Error’(001).
ENDCASE.
Для решения задачи 2 см. исходный текст программы:
SAPBC400DDS_AUTHORITY_CHECK_2
|
© 2006 г. SAP AG All rights reserved. Авторские |
185 |
06-04-2006 |
права защищены. |
Глава 5: Сбор данных |
BC400 |
Резюме по уроку
Теперь вы сможете:
•пояснять концепцию полномочий SAP
•внедрять проверки полномочий
186 |
© 2006 г. SAP AG All rights reserved. Авторские |
|
права защищены. |
06-04-2006 |
BC400 |
Резюме по главе |
Резюме по главе
Теперь вы сможете:
•перечислять различные методы поиска соответствующих таблиц баз данных
•реализовывать доступ для чтения к определенным столбцам и строкам в таблице базы данных
•описывать различные способы получения доступа для чтения к нескольким таблицам базы данных
•пояснять концепцию полномочий SAP
•внедрять проверки полномочий
Дополнительная информация
... См. онлайн-документацию к соответствующим ABAP-операторам.
|
© 2006 г. SAP AG All rights reserved. Авторские |
187 |
06-04-2006 |
права защищены. |
Резюме по главе |
BC400 |
188 |
© 2006 г. SAP AG All rights reserved. Авторские |
|
права защищены. |
06-04-2006 |
Глава 6
Инструментальные средства для анализа программ
Обзор главы
См. цели отдельных уроков в рамках этого раздела.
Цели главы
Прослушав эту главу, вы сможете
•пояснять цель использования динамического анализа и проверки кода
•перечислять основные функции динамического анализа и проверки кода
•использовать эти инструменты для выполнения простого анализа программ
Содержание главы
Урок: Динамический анализ и проверка кода ...........................190
|
© 2006 г. SAP AG All rights reserved. Авторские |
189 |
06-04-2006 |
права защищены. |
Глава 6: Инструментальные средства для анализа программ |
BC400 |
Урок: Динамический анализ и проверка кода
Обзор урока
На этом уроке рассматриваются базовые функции и цели использования
динамического анализа и проверки кода – инструментов, предназначенных для анализа программ. Здесь представлено краткое введение в эти инструментальные средства. Более подробная информация содержится в соответствующей документации и курсах для продвинутых пользователей.
Цели урока
Прослушав этот урок, вы сможете
•пояснять цель использования динамического анализа и проверки кода
•перечислять основные функции динамического анализа и проверки кода
•использовать эти инструменты для выполнения простого анализа программ
Практический пример
Необходимо проверить программы с точки зрения производительности, типичных семантических ошибок программирования и эффективности защиты.
Динамический анализ
Динамический анализ позволяет измерить рабочие характеристики программ и получить подробный отчет о производительности. Эта функция может использоваться для поиска в программе блоков исходного текста с низкой производительностью и их “корректировки”.
Однако всегда следует иметь в виду, что результаты измерения зависят от существующей системы и сетевой нагрузки, а также от текущего табличного буфера и набора данных. Динамический анализ выполняется главным образом в системе разработок или тестирования, что следует учитывать при работе с его результатами.
190 |
© 2006 г. SAP AG All rights reserved. Авторские |
|
права защищены. |
06-04-2006 |