
BC 400.ppt
- Количество слайдов: 184
BC 400 Введение в ABAP-инструментальные средства Юрий Шарапов
Архитектура системы 2
Порядок изложения материала х ы нн а ото п д ки х ы нн а бор вы а лиз на аа м в дст грам сре про д ка о орн ые т пов ьзуем ы т л спо понен и м ко 3
Взаимодействие между различными уровнями сервера 4
Передача экрана выбора из исполняющей системы 5
Вставка значений ввода в объекты данных 6
Запрос программы на чтение из базы данных 7
Выборка данных в программу 8
Отправка данных на экран 9
Репозитарий включает в себя все объекты разработки системы 10
Структура репозитария 11
Информационная система репозитария se 84 для поиска объектов репозитария независимых от приложения 12
Иерархия приложений SAP se 81 для поиска объектов репозитария зависимых от приложения 13
Навигатор по объектам se 80 ть лас ии Об ац г ави н я а льн та мен ть ру нст блас И о 14
Инструменты ABAPинструментальных средств Позволяет вывести на экран список необходимых объектов репозитария 15
Организация разработок Проект Задача Определение Программа таблицы ФМ Экран Пакет 16
Закрытие проектов разработок После выполнения своей задачи разработки сотрудник проекта производит проверку качества и деблокирует свою задачу в запросе на изменение Номер запроса Номер задачи Руководитель проекта Исполнитель задачи Объект репозитария, кот. обрабатывает исполнитель 17
Закрытие проекта через деблокирование запроса 18
Организация разработок 19
Преимущество работы с запросами на изменение 1. каждый сотрудник может отслеживать свои действия по проекту; 2. объекты разработки могут обрабатывать все члены проекта, для остальных объекты заблокированы до завершения проекта; 3. объединенный перенос объектов разработки обеспечивается автоматически путем присвоения объектов запросу на изменение 20
Создание пакета 21
Создание пакета Прикладной компонент местоположение пакета в пределах иерархии приложений Компонент программного обеспечения для собственных разработок необходимо ввести HOME Уровень переноса определяет целевую систему переноса Тип пакета • стандартный (может содержать объекты репозитария и другие пакеты); • основной (может содержать только другие пакеты); • пакет структур (может содержать только основные 22 пакеты)
Синтаксис ABAP 23
Синтаксис ABAP 24
Код возврата операторов !!! rc ub -s sy 25
Неактивные и активные объекты разработки 26
Этапы активации 1. сохранение объекта как неактивной версии; 2. проверка синтаксиса или непротиворечивости неактивной версии; 3. замена ранее активной версии на неактивную; 4. создание соответствующего динамического объекта для выполнения (в случае программы) 27
Запуск версий • Активная версия – если программа запускается с использованием контекстного меню области навигации или посредством транзакции. Выполняется компиляция LOAD, сгенерированная при последней активации • Неактивная версия – если запускается версия загруженная в редактор при помощи кнопки F 8. Из нее создается и выполняется временный динамический объект. 28
Транзакция SAP • прикладная программа, выполняющая бизнес-процесс в системе, осуществляющая над данными определенный логически завершенный набор действий • способ запуска программы • технически - это "ярлык" для вызова программы на ABAP/4 29
Моделирование данных 30
Преобразование с помощью прозрачных таблиц При активации прозрачной таблицы в базе данных автоматически создается таблица с тем же именем 31
Элемент данных и домен Элементы данных для определения внутренних программных переменных или описания полей прозрачных таблиц Семантические атрибуты поля Технические атрибуты поля 32
Техническая структура прозрачной таблицы 33
Прозрачные таблицы в ABAP-словаре Ключевые поля 34
Элементы словаря для определения объектов данных в программе 35
Определение элемента с помощью словаря Использование семантических свойств соответствующего элемента 36
Использование типов данных 37
Типы данных в ABAP Типы Стандартные Пользовательские Неполные 38
Полные типы • D (Date), ГГГГММДД, длина. 8(фиксированная) • T (Time), ЧЧММСС, длина. 6 (фиксированная) • I (Integer), длина 4 (фиксированная) • F (Floating), длина 8 (фиксированная) • STRING Тип символьной строки динамической длины • XSTRING Тип байтовой последовательности динамической длины (He. Xadecimal string) 39
Неполные типы • Во всех неполных типах необходимо указать фиксированную длину • C Тип символьной строки (Character) • N Тип числовой символьной строки (Numerical character) • X Тип для байтовой последовательности (He. Xadecimal string) • P Тип упакованного числа (Packed number), можно указать количество десятичных знаков 40
Использование неполных типов 41
Виды переменных и типов Виды Программируемые Словарные Описываются в репозитарии Глобальные Локальные Описываются внутри в TOP-include подпрограмм 42
Словарные типы 43
Использование типов 44
Примеры определения элементарных объектов данных ссылка на уже определенный объект данных 45
Некоторые особенности описания переменных * инициализация DATA: l_p 1 TYPE c VALUE ‘*’. * Одно и то же DATA: l_p 2(1) TYPE c. DATA: l_p 2. 46
Литералы и константы 47
Базовые операторы • MOVE var 1 TO var 2. (возможен конфликт типов) • CLEAR var 1. (присваивает специфичное начальное значение) • + сложение • - вычитание • * умножение • / деление • ** возведение в степень • DIV деление на целое число без остатка • MOD деление на целое число с остатком 48
Приоритет опреаций • • выражения в скобках ( ) возведение в степень 2**a умножение/деление * / сложение/вычитание + - 49
Некоторые особенности • Скобки и арифметические операции являются ключевыми словами ABAP. Должны быть отделены от других слов по крайней мере одним пробелом • Некоторые функции для различных типов данных предварительно определяются в среде выполнения ABAP. length = STRLEN( cityfrom ). 50
IF и CASE 51
Циклы 1. Безусловные/управляемые индексом циклы 2. Управляемые заголовком циклы 3. Циклы считывания 52
Диалоговые сообщения 53
Отладка программы Способы запуска отладки: 1. В области навигации для программы в контекстном меню выберите Выполнить → Отладка. 2. Поставить break-point на нужной строке и запустить программу (возможна только для активированных программ) 3. Использование ключа /h 54
Точка наблюдения • представляет собой точку прерывания, зависящую от содержимого поля 55
Структуры в ABAP-словаре 1. Простая структура 2. Сложная структура (включает другие структуры или таблицы) Для описания в программе используется: 1. структура, определенная в словаре 2. прозрачная таблица (как тип структуры) 3. тип структуры, локально описанный в программе 56
Работа со структурами 57
MOVE-CORRESPONDING Перенос данных между компонентами, которые имеют одно и то же имя в исходной и целевой структуре 58
Внутренние таблицы Внутренняя таблица – это объект данных, в котором во время выполнения хранятся одинаково структурированные записи данных 59
Использование внутренних таблиц 60
Виды внутренних таблиц • Стандартная DATA lt_tab TYPE STANDARD TABLE OF ts_tab. • Сортированная DATA lt_tab TYPE SORT TABLE OF ts_tab. • Хешированная DATA lt_tab TYPE HASHED TABLE OF ts_tab. 61
Виды внутренних таблиц 62
Стандартная внутренняя таблица • Относится к индексному типу таблиц, т. к. возможно считывание записей по индексу • Одно и то же DATA lt_tab TYPE STANDARD TABLE OF ts_tab. DATA lt_tab TYPE TABLE OF ts_tab. • Применяется 1. когда главным образом для доступа к внутренней таблице, используется индекс 2. в разных частях программы необходима сортировка по разным полям таблицы 63
Сортированная внутренняя таблица • Относится к индексному типу таблиц, т. к. возможно считывание записей по индексу • Нельзя использовать оператор SORT для сортировки, т. е. нельзя сортировать программно • Нельзя использовать оператор APPEND для добавления строк в таблицу, только INSERT • Применяется когда главным образом для доступа к внутренней таблице, используется ключ, или если требуется автоматическая сортировка таблицы по ключу 64
Хешированная внутренняя таблица • НЕ относится к индексному типу таблиц, т. к. нельзя считывать записи по индексу, только по ключу • Применяется, когда внутренняя таблица чрезвычайно объемна и возможно обращение по ключу 65
Три части объявления внутренней таблицы вид таблицы DATA lt_tab TYPE SORTED TABLE OF scarr WITH UNIQUE KEY carrid. тип таблицы ключ таблицы 66
Описание внутренней таблицы через тип таблицы 67
Описание внутренней таблицы через программируемые типы 68
Независимое описание внутренней таблицы 69
Возможные определения внутренних таблиц 70
Доступ к отдельным записям 71
Сортировка 72
Сбор данных 73
Синтаксис SELECT 74
Считывание отдельных записей 75
Добавление записей в таблицу • Запись в таблицу INTO TABLE itab • Добавление записей в таблицу APPENDING TABLE itab 76
CORRESPONDING FIELD OF 77
SY-DBCNT Количество считанных записей 78
Считывание данных из таблиц с мандантом SELECT * FROM SPFLY CLIENT SPECIFIED INTO … WHERE mandt = 402 AND carrid = ‘AA’. Информация о текущем манданте в поле sy-mandt 79
Первичный индекс • состоит из всех ключевых полей таблицы базы данных и создается автоматически • используется для ускорения доступа при выборе по всем ключевым полям или части ключевых полей, выровненной по левому краю 80
Вторичный индекс 81
Пример объединения таблиц 82
Использование ракурса БД Ракурс БД не содержит избыточные данные 83
Концепция полномочий SAP 84
Объекты полномочий и полномочия из таблицы TACT 85
Проверка на любое значение поля CARRID AUTHORITY-CHECK OBJECT ’S_CARRID’ ID ’CARRID’ DUMMY ID ’ACTVT’ FIELD ’ 02’. 86
Проверка полномочий 87
Создание объектов полномочий su 21 88
Проверка полномочий в программе Обязательно!!! 89
Использование модели 90
Динамический анализ производительности программы • позволяет измерить рабочие характеристики программ и получить подробный отчет о производительности • может использоваться для поиска в программе блоков исходного текста с низкой производительностью и их корректировки 91
Навигация в среде измерения 92
Выполнение динамического анализа 93
Результаты динамического анализа 94
Навигация до инспектора кода 95
Результаты проверки кода 96
Необходимость использования подпрограмм 97
Способы передачи параметров 98
Определение и вызов подпрограмм 99
Типизация параметров 100
Типизация для структур и таблиц 101
Внедрение подпрограммы в код 102
События ABAP Динамические значения по умолчанию Проверка полномочий Основная обработка 103
Пример программы 104
Характеристики блока события 105
AT LINE-SELECTION • инициируется двойным щелчком пользователя по списку, который создается операторами WRITE • может использоваться для вывода подробной информации по выбранной строке списка 106
Общая структура программы 107
Списки и их возможности 108
Стандартные функции списков 109
Заголовки списков и столбцов 110
Многоязычность списков 111
Перевод текстовых элементов Перейти к → Перевод 112
Создание основного списка 113
Создание вторичного списка 114
Создание нескольких вторичных списков 115
Пример использования вторичного списка 116
Использование «скрытой» области 117
Атрибуты экрана выбора 118
Семантическая информация о глобальных типах 119
Тексты критериев выбора 120
Тексты критериев выбора 121
Особенности варианта • Варианты с префиксом "CUS&" – системные варианты. Они переносятся как обычные объекты репозитария и не зависят от манданта. • Пользовательские варианты зависят от манданта и должны переноситься отдельно. • Перейти к → Варианты для перехода к функции управления вариантами программы. Выполнить ведение вариантов с учетом требуемых значений и атрибутов. • Инструментальные средства → Запрос на перенос для указания подлежащих переносу вариантов и запроса на перенос. Перенос выполняется после деблокирования запроса. 122
Использование критериев выбора (SELECT-OPTIONS) 123
Ввод сложных ограничений 124
Обязательные столбцы SELECT-OPTIONS • sign (включение) I – включить, Е – исключить • option EQ – равенство, BT – между • low (нижняя граница) • high (верхняя граница) 125
Событие AT SELECTION-SCREEN 126
Пример кода AT SELECTION-SCREEN 127
Функции экранов 128
Последовательность вызовов экранов 129
Вызов экрана • CALL SCREEN num. • CALL SCREEN 0. – возвращение к предыдущему экрану 130
Компоненты экрана 131
Графический редактор форматов 132
Создание полей со ссылкой на ABAP-словарь 133
Оператор TABLES • Используется для определения структурной переменной с типом и именем, совпадающим с типом и именем ссылочной структуры словаря в программе (например, прозрачная таблица). Эта структурная переменная служит интерфейсом между программой и экраном. 134
Создание полей со ссылкой на ABAP-словарь 135
Потоки данных программа - экран 136
Внедрение экранных кнопок 137
OK_CODE 138
Внедрение переноса кода функции 139
Передача управления 140
Анализ кода функции в событии PAI 141
Создание модуля 142
SET SCREEN • используется для динамической перезаписи следующего экрана по умолчанию, указанного в атрибутах экрана 143
Пример кода 144
Случайный перенос OK_CODE Нажатие Enter по умолчанию не приводит к вставке кода функции 145 в ok_code, а инициирует перенос ok_code из экрана в PAI
Предотвращение случайных кодов функций 146
Интерфейс пользователя Есть всегда! 147
GUI-заголовок 1. это заголовок текущего экрана 2. максимальная длина 20 символов 3. наследуется всеми последующими экранам 4. если каждый из последующих экранов должен иметь собственный заголовок, необходимо создать отдельный заголовок для каждого экрана 148
GUI-статус 1. Строка меню (главное меню) 2. Функциональные клавиши (горячие клавиши) 3. Строка кнопок (кнопки панели инструментов) 149
Наследование статуса следующими экранами 150
Многократное использование с переопределением ссылки на соответствующие подобъекты уже созданного статуса 151
Добавление шаблона 152
Ведение строки меню в редакторе меню ю мен ≤ 8 153
Присвоение функциональных клавиш 1 2 _C OK !! DE! O 3 154
Определение ссылок на подобъекты доступного статуса 155
Установка активности и неактивности функций в статусе 156
Повторно используемые компоненты 157
Группа функций (ГФ) 158
Функциональный модуль (ФМ) • подпрограмма с определенной функцией, централизованно хранящуюся в библиотеке функций SAP -системы • имеет интерфейс для импорта или экспорта параметров • Основная цель применения - многократное использование 159
Функциональный модуль (ФМ) 160
Особые ситуации • инициируются при возникновении определенных ошибок • содержат информацию о соответствующей ошибке обработки • должны обрабатываться вызывающей программой 161
Объекты данных в группе функций 162
Особенности вызова ФМ • При вызове программой ФМ загружается вся соответствующая группа функций, после чего выполняется ФМ. • ГФ остается загруженной в рабочую память до закрытия вызывающей программы • Вызов другого ФМ этой группы функций, обрабатывается без повторной загрузки и с теми же самыми глобальными данными группы функций. 163
Поиск ФМ S S 81 E 37 E ь» л ок н би « 164
Пример ФМ с диалогом 165
Пример ФМ с диалогом Диалог интегрирован в ФМ, который также можно использовать в собственных программах 166
Пример ФМ с диалогом 167
Документация и среда тестирования 168
Вызов функционального модуля 169
Генерация исходного текста для вызова ФМ 170
Обработка особых ситуаций 171
Классы и объекты 172
Определение классов Классы могут быть определены: 1. локально в пределах программы 2. глобально в библиотеке классов e 24 s 173
Создание объектов и вызов Ссылочная методов переменная Создание объекта Вызов метода 174
CONSTRUCTOR • выполняется автоматически непосредственно после создания инстанции • в процессе его выполнения происходит передача значений в соответствующие атрибуты новой инстанции на основе его параметров импорта 175
Классы управляющих элементов Enjoy. SAP 176
Пример приложения: ALV Grid Control 177
Архитектура выполнения 178
Конструктор класса CONTAINER 179
Важные методы для класса управляющих элементов сетки 180
Создание элемента экрана "Область специального управляющего элемента" 181
Определение ссылочных переменных 182
Создание объектов 183
Вызов методов 184
BC 400.ppt