Главная страница

Руководство для участников курса Версия курса 2й квартал 2005 г. Продолжительность курса 5 Дн. Номер материала 50072594


Скачать 38.91 Mb.
НазваниеРуководство для участников курса Версия курса 2й квартал 2005 г. Продолжительность курса 5 Дн. Номер материала 50072594
АнкорBC400_RU_ECC_2005.pdf
Дата13.04.2017
Размер38.91 Mb.
Формат файлаpdf
Имя файлаBC400_RU_ECC_2005.pdf
ТипРуководство
#4748
страница11 из 23
1   ...   7   8   9   10   11   12   13   14   ...   23
Глава 5: Сбор данных
BC400
Во избежание орфографических ошибок в именах объектов и полей следует использовать оператор AUTHORITY-CHECK, генерируемый в исходном тексте при использовании кнопки Модель . После этого выполняется ведение значений полей и внедрение проверки sy-subrc.
180
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
06-04-2006

BC400
Урок: Проверка полномочий
Упражнение 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.
Продолжение на следующей странице
06-04-2006
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
181

Глава 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)
Этот шаг выполняется в соответствии с обычной процедурой.
Продолжение на следующей странице
06-04-2006
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
183

Глава 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
06-04-2006
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
185

Глава 5: Сбор данных
BC400
Резюме по уроку
Теперь вы сможете:

пояснять концепцию полномочий SAP

внедрять проверки полномочий
186
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
06-04-2006

BC400
Резюме по главе
Резюме по главе
Теперь вы сможете:

перечислять различные методы поиска соответствующих таблиц баз данных

реализовывать доступ для чтения к определенным столбцам и строкам в таблице базы данных

описывать различные способы получения доступа для чтения к нескольким таблицам базы данных

пояснять концепцию полномочий SAP

внедрять проверки полномочий
Дополнительная информация
... См. онлайн-документацию к соответствующим ABAP-операторам.
06-04-2006
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
187

Резюме по главе
BC400
188
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
06-04-2006

Глава 6
Инструментальные средства для
анализа программ
Обзор главы
См. цели отдельных уроков в рамках этого раздела.
Цели главы
Прослушав эту главу, вы сможете

пояснять цель использования динамического анализа и проверки кода

перечислять основные функции динамического анализа и проверки кода

использовать эти инструменты для выполнения простого анализа программ
Содержание главы
Урок: Динамический анализ и проверка кода ...........................190 06-04-2006
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
189

Глава 6: Инструментальные средства для анализа программ
BC400
Урок:
Динамический анализ и проверка кода
Обзор урока
На этом уроке рассматриваются базовые функции и цели использования
динамического анализа и проверки кода – инструментов, предназначенных для анализа программ. Здесь представлено краткое введение в эти инструментальные средства. Более подробная информация содержится в соответствующей документации и курсах для продвинутых пользователей.
Цели урока
Прослушав этот урок, вы сможете

пояснять цель использования динамического анализа и проверки кода

перечислять основные функции динамического анализа и проверки кода

использовать эти инструменты для выполнения простого анализа программ
Практический пример
Необходимо проверить программы с точки зрения производительности,
типичных семантических ошибок программирования и эффективности защиты.
Динамический анализ
Динамический анализ позволяет измерить рабочие характеристики программ и получить подробный отчет о производительности. Эта функция может использоваться для поиска в программе блоков исходного текста с низкой производительностью и их “корректировки”.
Однако всегда следует иметь в виду, что результаты измерения зависят от существующей системы и сетевой нагрузки, а также от текущего табличного буфера и набора данных. Динамический анализ выполняется главным образом в системе разработок или тестирования, что следует учитывать при работе с его результатами.
190
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
06-04-2006

BC400
Урок: Динамический анализ и проверка кода
Рисунок 107: Навигация в среде измерения
Рисунок 108: Выполнение динамического анализа
06-04-2006
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
191

Глава 6: Инструментальные средства для анализа программ
BC400
На приведенном выше рисунке представлен первый экран динамического
анализа (среда измерения).
Введите краткое описание измерения. После этого можно выбрать определенные измерения из числа уже выполненных и сравнить их друг с другом на более позднем этапе.
Также существует возможность измерения времени выполнения программ,
транзакций и функциональных модулей. Выберите необходимый тип и введите имя объекта измерения.
При вводе варианта могут быть указаны операции, которые должны быть измерены, и соответствующие компоненты программы. По умолчанию для проведения измерений используется стандартный вариант DEFAULT,
поставляемый SAP. При необходимости также можно создать собственные варианты и выбрать их для измерений.
Для запуска динамического анализа выберите Выполнить. Сгенерированные результаты измерений сохраняются в связанном файле.
Рисунок 109: Оценка результатов динамического анализа
Кнопка Анализ используется для вывода относительных и абсолютных оценок результатов выполненных измерений. В данном случае выполненные операции разделены на три области:
ABAP
Все ABAP-операторы, кроме операторов доступа к базе данных.
192
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
06-04-2006

BC400
Урок: Динамический анализ и проверка кода
База данных
Все операторы доступа к базе данных.
Система
Операция загрузки программы, генерация (при необходимости), а также другие системные операции.
Для перехода к подробному экрану нажмите кнопку Список совпадений.
На этом экране представлен список всех операций, каждой из которых присвоено время выполнения брутто или нетто. Значение брутто соответствует общему времени выполнения операции, а значение нетто обозначает часть времени брутто, которая не указывается отдельно как время выполнения подопераций.
Существует возможность просмотра связанного с операцией
ABAP-оператора путем выделения требуемой операции и нажатия кнопки
Просмотр исходного текста.
Рекомендация: При выборе опции Советы и рекомендации
на первом экране динамического анализа будет отображена демонстрационная среда, в которой приведены полезные советы по производительности, проиллюстрированные посредством сравнения времени выполнения различных исходных кодов.
Проверка кода
Функция Проверка кода может использоваться для анализа программ на предмет производительности, защиты и типичных семантических ошибок.
Для более подробного пояснения этих трех аспектов ниже перечислены некоторые критерии такой проверки:
Производительность
Используются ли индексы для доступа к базе данных?
Вложены ли операторы SELECT в циклы?
Защита
Считываются ли данные из манданта, отличного от манданта входа в систему?
Являются ли таблица базы данных или выражение WHERE
динамически определяемыми в операторе SELECT?
06-04-2006
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
193

Глава 6: Инструментальные средства для анализа программ
BC400
Типичные семантические ошибки
Проверяется ли поле sy-subrc после каждого оператора
AUTHORITY-CHECK?
Действительно ли указывается мандант в CLIENT SPECIFIED?
Выводятся ли несколько сообщений типа Е (сообщения E) в прямой последовательности?
На следующем рисунке иллюстрируется процесс вызова функции проверки
кода для существующей программы:
Рисунок 110: Вызов функции проверки кода
194
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
06-04-2006

BC400
Урок: Динамический анализ и проверка кода
Рисунок 111: Результат проверки
Результатом проверки кода будет являться список ошибок и предупреждающих сообщений. Кнопка "i" в сообщении позволяет просмотреть подробное описание ошибки и ознакомиться с рекомендациями по ее устранению. Для перехода к соответствующему оператору программы можно дважды щелкнуть по тексту ошибки.
06-04-2006
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
195

Глава 6: Инструментальные средства для анализа программ
BC400
Рисунок 112: Расширенная проверка кода
Для проведения отдельной проверки можно использовать транзакцию
SCI (см. рисунок выше). Для этого в SCI необходимо определить следующее:

вариант проверки, используемый для указания того, насколько проверка является детальной;

набор объектов для определения объектов, которые подлежат проверке
(например, все программы пакета);

проверки, которая включает в себя определенный вариант проверки и набор объектов.
Рекомендация: Варианты проверки, наборы объектов и проверки могут создаваться как личные или общедоступные. Для переключения между двумя типами следует использовать кнопку,
которая всегда размещается перед полем ввода. Следует отметить,
что личные объекты могут использоваться только конкретным пользователем, в то время как общедоступные объекты – всеми пользователями системы.
Для выполнения созданной проверки следует нажать соответствующую кнопку. Кнопка Результаты служит для перехода к результатам проверки.
На следующем рисунке представлен пример варианта проверки:
196
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
06-04-2006

BC400
Урок: Динамический анализ и проверка кода
Рисунок 113: Вариант проверки
06-04-2006
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
197

Глава 6: Инструментальные средства для анализа программ
BC400
Резюме по уроку
Теперь вы сможете:

пояснять цель использования динамического анализа и проверки кода

перечислять основные функции динамического анализа и проверки кода

использовать эти инструменты для выполнения простого анализа программ
Дополнительная информация

Более подробная информация содержится в онлайн-документации по инструментам ABAP-инструментальных средств.
198
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
06-04-2006

BC400
Резюме по главе
Резюме по главе
Теперь вы сможете:

пояснять цель использования динамического анализа и проверки кода

перечислять основные функции динамического анализа и проверки кода

использовать эти инструменты для выполнения простого анализа программ
Дополнительная информация
... См. онлайн-документацию к ABAP-инструментальным средствам.
06-04-2006
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
199

Резюме по главе
BC400
200
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
06-04-2006

Глава 7
Подпрограммы в ABAP
Обзор главы
См. цели отдельных уроков в рамках этого раздела.
Цели главы
Прослушав эту главу, вы сможете

определять подпрограммы

вызывать подпрограммы

анализировать процесс выполнения подпрограмм в режиме отладки
Содержание главы
Урок: Подпрограммы..........................................................202
Упражнение 11: Подпрограммы ........................................215 06-04-2006
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
201

1   ...   7   8   9   10   11   12   13   14   ...   23


написать администратору сайта