Вы находитесь на странице: 1из 17

ABAP ВОПРОСЫ К ЭКЗАМЕНУ

1. Транспорты в системе: для чего используются, транзакция


просмотра. Проверка блокировок объектов разработки. Как
посмотреть версии объектов.
Транспорт – объект для переноса разработок между системами. Внутри транспорта есть
task – объект транспорта.
SE01 – организация переносов: просмотр транспорта для user, поиск транспорта по
номеру, создать свой.
SE10 – организация переносов для своего user. По сравнению с SE01 менее
функциональная.
SE03 – работа с объектами: просмотр, проверка блокировки транспорта объекта.
Как посмотреть версии объектов: programutilities-versions.
2. Программы: как определить связь транзакция-программа. Основные
транзакции для просмотра, создания, изменения программ.
Транзакция для просмотра транзакций.
Как определить связь транзакция-программа: SystemStatussap logo: там будут указаны
необходимые данные.
SE38 – создание и запуск программ
SA38 – запуск программ.
SE93 – ведение кодов трансакции
3. Основные типы данных. Отличие глобальных и локальных типов
данных.
Формальное описание переменной называете типом данных. Объектом данных
является переменная, точно описанная посредством типа данных. Стандартны типы
предварительно определенные подразделяются на полные и неполные, стандартные,
локальные и глобальные. Полные уже содержат информацию о фиксированной длинны,
связанную с тем или иным типом, в отличие от не полных, не содержащих
фиксированный длинны. Стандартные типы можно использовать для описания более
полных или более сложных локальных типов данных. Эти типы существуют только в
рассматриваемой программе и, следовательно, могут использоваться только в ней.
Описание выполняется посредством оператора TYPES. Тип данных, определенный в
ABAP-словаре, называется глобальным, поскольку может использоваться во всей системе
(т.е. во всей рассматриваемой SAP-системе).

ФИКСИРОВАННАЯ ДЛИННА (полные)


Дата (Date)
Формат – ГГГГММДД
D
Длина – 8
Значение по умолчанию – ‘00000000’
T Время (Time)
Формат – ЧЧММСС
Длина – 6
Значение по умолчанию – ‘000000’
Целое число (Integer)
I Длина – 4
Значение по умолчанию – 0
Число с плавающей запятой (Float)
F Длина – 8
Значение по умолчанию – 0.0
ЗАДАННАЯ ДЛИННА (неполные)
Последовательность символов (Character)
C Длина по умолчанию – 1
Значение по умолчанию – ‘’ (пустая строка)
Последовательность числовых символов
(Numericalcharacter)
N
Длина по умолчанию – 1
Значение по умолчанию – ‘0’
Байтовая последовательность (Hexadecimal)
X Длина по умолчанию – 1
Значение по умолчанию – ‘00’
Упакованное число (Packed number)
P Длина по умолчанию – 8
Значение по умолчанию – 0
ПЕРЕМЕННАЯ ДЛИННА

STRING Последовательность символов переменной длины (String)


Байтовая последовательность переменной длины
XSTRING
(Hexadecimal string)

4. Словарь ABAP: Транзакция, что такое дата элемент, домен,


структура, таблица, view. Для чего используется conversion routine
Какие существуют способы задать значения, которые
подтягиваются в поле по F4.
Элемент данных представляет собой общее описание поля. Оно включает в себя
семантические и технические атрибуты поля. Семантические атрибуты поля включают
документацию к полю и названия полей. Они сохраняются непосредственно в определении
элемента данных.
Домен используется для технического определения поля таблицы, такого как тип и длина
поля, а элемент данных используется для семантического определения (краткое описание).
Структура — это объект данных, который состоит из компонентов любого типа данных,
хранящихся один за другим в памяти. Структуры полезны для рисования полей экрана и для
манипулирования данными, которые имеют согласованный формат, определяемый
дискретным числом полей. Как правило, структура в ABAP-словаре используется для
централизованного описания переменных структуры, которые должны содержать поля
различных таблиц.
View - логическое представление обобщенных данных из одной или нескольких таблиц.
Таблицы могут быть определены независимо от базы данных в словаре ABAP. Когда
таблица активируется в словаре ABAP, аналогичная копия ее полей также создается в базе
данных. Таблицы, определенные в словаре ABAP, автоматически переводятся в формат,
совместимый с базой данных, поскольку определение таблицы зависит от базы данных,
используемой системой SAP.
Таблица может содержать одно или несколько полей, каждое из которых определяется
своим типом данных и длиной. Большой объем данных, хранящихся в таблице,
распределяется между несколькими полями, определенными в таблице.
Процедуры преобразования используются для преобразования входных данных
пользователей во внутренний формат.
5. Customizing tables: транзакция просмотра/добавления записей.
Просмотр лога изменений.
Чтобы вносить изменения в данные этой таблицы нужно создать ракурс введения и
вносить данные и вносить данные через SM30
SCU3 – активация лога изменения таблицы. SM30 – вызов ведения ракурса таблиц.

6. Джоб: для чего используется, транзакция. Что такое SPOOl.


Job – фоновая задача, которая выполняется в определенное время запланированное. Её
можно создать lля трансакции или программы. В специальной трансакции указывается
название, класс. По кнопке «шаги» можно добавить программу, которая будет запускаться,
вариант для нее, время запуска.
SPOOl - документом, для которого была выбрана функция печати. Тем не менее, он еще
не был выход на принтер или другое устройство. Выходные данные для печатного документа
хранятся частично отформатированы в хранимом данных до тех пор, пока не будет создан
выходной запрос, то есть до тех пор, пока он не будет отправлен на конкретное выходное
устройство.
7. Сообщения: Типы сообщений, транзакция, вызов в программе. Как
найти где вызывается сообщение.
Оператор MESSAGE используется для отправки диалоговых сообщений пользователям
программы. При этом необходимо указать трехзначный номер сообщения и класс сообщения.
Номера и классы сообщений однозначно определяют выводимое на экран сообщение. Тип
сообщения используется для указания способа вывода сообщения. Способ отображения
различных типов сообщений можно проверить при помощи демонстрационной программы
DEMO_MESSAGES, поставляемой со стандартной системой SAP. Если указанное сообщение
содержит метки-заполнители, им можно присвоить значения путем добавления WITH. В
тексте выводимого сообщения вместо меток-заполнителей будут отображаться перенесенные
значения.
Ти
Описание
п
S Status (Success). Сообщение отображается в статусной строке и не влияет на
работу программы. Данный вид сообщения применяется для информирования об
успешной выполнении операции.

Warning. Предупредительные сообщения отображаются в статусной строке. При


возникновении сообщения работа программы прерывается, а пользователю
W предоставляется возможность вносить исправления в полях для ввода. При
нажатии на Enter в диалоговом режиме, работа программы будет восстановлена.

Error. Сообщение отображается в статусной строке. При возникновении данного


E вида сообщения обработка программы останавливается.

Information. Информационное сообщение отображается в отдельном модальном


окне. При возникновении сообщения работа программы прерывается. После
I
закрытия диалога работа программы восстанавливается.

Abend (Abort). Сообщение отображается в модальном окне. При возникновении


сообщения программа завершается, а система возвращается в меню более
A
высокого уровня. Сообщения стоит применять только в крайних ситуациях.

Exception. Сообщение инициирует дамп MESSAGE_TYPE_X. Данный вид


сообщения стоит применять в ситуациях, когда нужно проанализировать что
X
именно привело к ошибке во время выполнения.

Сообщение можно посмотреть через дебаг, узнав там номер и тип, затем найти.
SE91 – вывод сообщений
8. Переводы: для чего используются в системе. Как перейти в перевод
объекта из меню. Транзакция для ведения переводов всех объектов в
системе.
Поскольку большинство проектов имеет международный характер, то необходимо
использовать перевод в программах и трансакциях для наиболее точного отображения
работы.
Как перейти в перевод объекта из меню: Go totranslation
SE63 - транзакция для ведения переводов всех объектов в системе.
9. Операторы условия. Операторы цикла. Операторы выхода из цикла.
Как посмотреть справку по оператору.
В ABAP существуют четыре конструкта циклов. В циклах DO и WHILE системное поле
SY-INDEX содержит номер текущего прогона цикла.
Безусловные/управляемые индексом циклы
Блок операторов между DO и ENDDO непрерывно выполняется до выхода из цикла с
помощью команд прерывания, таких как EXIT. Также имеется возможность определения
максимального количества прогонов цикла; в противном случае возможно образование
бесконечного цикла.
Управляемые заголовком циклы
Блок операторов между WHILE и ENDWHILE непрерывно выполняется до тех пор, пока не
перестанет удовлетворяться указанное условие. Перед очередным выполнением блока
операторов всегда осуществляется проверка условия.
Циклы считывания
Цикл SELECT можно использовать для последовательного считывания нескольких записей
из таблицы базы данных. Во внутренней таблице (табличной переменной в программе) та же
функция считывания реализуется в цикле LOOP.
 В конструкте IF можно определить в качестве условий проверки любые логические
выражения. Если условие удовлетворяется, в системе выполняется соответствующий блок
операторов. В противном случае проверяется условие, указанное в ветви ELSEIF
(возможен ввод нескольких условий), и т.д. Если ни одно из указанных условий не
выполнено, то выполняется ветвь ELSE, если она доступна. Ветви ELSEIF и ELSE
являются необязательными. Для получения подробной информации о составлении
логического выражения см. документацию, по ключевым словам, для оператора IF.
 Конструкт CASE можно использовать для четкого разграничения блоков. Содержимое
поля, указанное в компоненте CASE, проверяется по объектам данных, перечисленным в

ветвях WHEN, для определения соответствия. Если содержимое поля совпадает, то


обрабатывается соответствующий блок операторов. Если соответствие отсутствует, в
системе выполняется ветвь OTHERS, если таковая доступна. Все дальнейшие дополнения
необязательны, за исключением первой ветви WHEN.
Как посмотреть справку по оператору: F1 или /oabaphelp  LOOP

10.Внутренние таблицы: для чего используются, как объявить в


программе, как добавить, прочитать запись,удалить содержимое
таблицы, отсортировать таблицу. Цикл по внутренней таблице.
Внутренняя таблица – это объект данных, в котором во время выполнения могут
сохраняться несколько одинаково структурированных записей данных (табличных
переменных). Количество записей данных ограничено только масштабом конкретных
внедренных систем.
Таким образом, внутренние таблицы предоставляют простой способ обработки больших
наборов данных в структурированном виде. Типичные способы использования внутренних
таблиц:
 сохранение данных из таблиц базы данных или последовательных файлов для
последующей обработки;
 форматирование данных для вывода на экран или для печати (например, сортировка);
 форматирование данных для использования другими сервисами (например, для
подпрограмм, функциональных модулей или при вызове метода).
Бывают 3 вида таблиц:
 В стандартных таблицах нумерация строк (индекс) является внутренней. Существует
возможность доступа как по индексу, так и по ключу.
Этот тип таблицы следует выбирать в том случае, когда для доступа к внутренней
таблице, главным образом, используется индекс.
 В отсортированных таблицах записи данных автоматически сортируются по
восходящей по ключевым полям. В этом случае индекс также является внутренним.
Существует возможность доступа как по индексу, так и по ключу.
Этот тип таблицы следует выбирать в том случае, когда для доступа к внутренней
таблице, главным образом, используется ключ, или если требуется автоматическая
сортировка таблицы по ключу.
 В хеш-таблицах для быстрого доступа по ключу используется управление
записями данных посредством процедуры хеширования. Ключ должен быть
уникальным. В случае хеш-таблиц возможен доступ только по ключу.
Возможное определение внутренних таблиц:

Обработка записей таблицы:


APPEND
Добавление содержимого структуры к внутренней таблице. Эта операция может
использоваться только со стандартными таблицами.
INSERT
Вставка содержимого структуры во внутреннюю таблицу. В случае стандартной
таблицы это содержимое просто добавляется к таблице, в случае отсортированной таблицы
содержимое вставляется в таблицу в требуемом месте согласно ключу, а в случае хеш-
таблицы вставка производится в соответствии с хеш-алгоритмом.
MODIFY
Перезапись строки внутренней таблицы с использованием содержимого структуры
LOOP . . . ENDLOOP
Оператор LOOP по очереди размещает строки внутренней таблицы в структуру,
указанную в выражении INTO. В пределах оператора LOOP существует возможность вывода
или изменения текущего содержимого структуры с последующей записью обратно в таблицу.
DELETE
Удаление строк внутренней таблицы, удовлетворяющих определенному <условию>.
Для считывания отдельной записи можно использовать оператор READ TABLE. В
целях указания номера строки, содержащей требуемую запись, используется дополнение
INDEX.
11.Выборка данных из базы данных во внутреннюю таблицу. Структура
оператора SELECT.
Оператор SELECT содержит ряд выражений, каждое из которых имеет собственную
задачу. Выражение SELECT, помимо прочего, используется для указания тех полей таблицы,
которые должны быть считаны. Выражение FROM служит для указания имени источника
(таблицы базы данных или ракурса), из которого должны быть выбраны данные. В
выражении INTO определяется целевая переменная, в которой должны быть размещены
выбранные данные.
Оператор SELECT SINGLE позволяет считывать отдельные записи из таблицы базы
данных. Для обеспечения уникального доступа необходимо, чтобы все ключевые поля
выражения WHERE были заполнены. Исключением является поле манданта: если оно не
заполнено, используется текущий мандант. Звездочка * используется для указания на
необходимость считывания всех выбранных полей в строке таблицы. Если требуется выбор
определенных столбцов, вместо символа * можно перечислить требуемые поля. Выражение
INTO используется для указания целевой переменной, в которую должна быть скопирована
запись данных. Выровненная по левому краю целевая область должна быть структурирована
аналогично строке таблицы или указанным обязательным полям этой строки. При
обнаружении системой подходящей записи значение возврата SY-SUBRC равно 0.
Для непосредственного, а не построчного копирования выбранной части базы данных во
внутреннюю таблицу может использоваться дополнение INTO TABLE. Этот метод
называется выборкой массива. Аналогично описанным выше вариантам SELECT, внутренняя
таблица, указанная в качестве целевой для выборки массива, должна быть выровнена по
левому краю и структурирована так же, как и список полей. Если внутренняя таблица не
отвечает этому условию, вместо INTO TABLE необходимо использовать дополнение INTO
CORRESPONDING FIELDS OF TABLE.
При выборе данных из зависящих от манданта таблиц без указания манданта выполняется
считывание только тех записей данных, которые относятся к текущему манданту. Текущий
мандант переносится в систему базы данных, в которой производится сбор данных.
При необходимости считывания данных из явно указанного манданта этот мандант
должен быть определен в выражении WHERE.
При необходимости выбора определенных считываемых полей из строки таблицы они
могут быть указаны в форме списка полей в рамках оператора SELECT (см. рисунок выше).
Затем в выражении INTO следует присвоить имя целевой структурной переменной,
структура которой совпадает со структурой списка полей (по крайней мере, в начале), т.е.
содержит поля из списка полей, расположенные в том же порядке. Соответствовать друг
другу должны лишь поля сопоставляемых типов. Имена полей целевой структуры не
учитываются.
Альтернативой указанию целевой структуры является перечисление соответствующих
целевых полей в выражении INTO.
INTO (field_1, ... , field_n)
При необходимости использования структурной переменной для получения считанной
записи, имеющей поля, имена которых совпадают с именами полей в целевом списке, и
другую структуру (дополнительные поля, другой порядок полей), целесообразно
использовать дополнение CORRESPONDING FIELDS OF. В результате в целевой области
будут заполнены только поля с одинаковыми именами.

12.Выборка данных из нескольких таблиц.


В целом наиболее быстрым методом является внедрение с использованием объединения
таблиц. В качестве примера рассмотрим считывание и вывод записей SPFLI. Для каждой
записи также будет выведено полное название соответствующей авиакомпании, хранящееся в
таблице SCARR. На следующем рисунке представлен логический процесс объединения
таблиц, при котором все требуемые данные могут быть выбраны с использованием оператора
SELECT.

13.Дебаг: как запустить. Как посмотреть значение переменной.


Поставить брек пойнт на операторы, Watchpoint. Для чего
используются системные переменные SY.
Существует несколько способов запуска программы в режиме отладки из навигатора по
объектам:
1. В области навигации для выбранной программы в контекстном меню выберите
Выполнить → Отладка.
2. В области редактора выберите требуемую строку программы, начиная с которой
должна производиться отладка. Нажмите кнопку Создать/Удалить точку прерывания.
Затем запустите программу путем нажатия F8 или путем выбора в контекстном меню
области навигации посредством Выполнить → Напрямую. (Описанная выше
установка точки прерывания в редакторе возможна только для активных исходных
текстов.)
При необходимости “отладки” определенной функции программы сначала запустите
программу без отладчика, а затем немедленно перейдите к режиму отладки до выполнения
функции (например, с помощью экранной кнопки).
Существуют две возможности перехода:
1. Выберите Система → Утилиты → Отладка ABAP (или экран).
2. Введите /h в поле команды в стандартной строке инструментов и нажмите Enter.
В режиме отладки можно выбрать Отдельный шаг для выполнения программы
последовательно по отдельному оператору.
Можно просмотреть содержимое объемом до восьми объектов данных. Для этого введите
имена объектов в области Имя поля или скопируйте их путем “двойного щелчка” по
соответствующим объектам данных исходного текста.
Точку прерывания можно выбрать с помощью двойного щелчка по строке исходного текста.
Также можно установить точку прерывания для определенных ABAP-операторов: Точки
прерывания → ТочкаПрерыв при → Оператор. При выборе Дальше программа выполняется
до следующей точки прерывания.
Установленные точки прерывания действительны только для текущего сеанса
отладчика. Однако при выборе Сохранить точки прерывания сохраняются на всем
протяжении SAP-режима.
Точки наблюдения представляют собой точки прерывания, зависящие от содержимого поля.
При выборе в поле точки наблюдения без оператора/значения для сравнения и выборе
пункта меню Дальше программа выполняется до изменения содержимого поля.
Однако в случае определения оператора сравнения и значения для сравнения после
выбора пункта меню Дальше программа выполняется до удовлетворения указанного условия.
Можно создать до 10 точек наблюдения и связать их с помощью логического оператора
(И или ИЛИ).
Клавиши:
F5 – последовательное выполнение программы с заходом во все функции
F6 - последовательное выполнение программы без захода в функцию
F7 – выход из текущей функции
F8 – выполнение до конца или брейкпоинта
F9 – установка брейкпоинта на конкретной функции.
14.Подпрограммы: определение. Как объявить, как вызвать, какие
параметры можно передать. Для чего используется INCLUDE.
Подпрограмма представляет собой единицу модуляризации в рамках программы, в
которую в форме исходного текста инкапсулируется определенная функция. Целью
переноса частей программы в подпрограмму является упорядочение текста главной
программы и возможность повторного использования соответствующей
последовательности операторов. Можно использовать оператор PERFORM для вызова
подпрограммы. Подпрограмма вводится с использованием оператора FORM.После
оператора FORM указываются имя и интерфейс подпрограммы. Далее следуют операторы
подпрограммы. Для завершения подпрограммы используется оператор ENDFORM.
Все (глобальные) переменные, определенные в главной программе, могут использоваться
и в подпрограмме. Однако для вызова подпрограмм в определенных ситуациях с различными
объектами данных следует использовать не глобальные переменные, а метки-заполнители,
которые при вызове подпрограммы заменяются требуемыми глобальными переменными.
Такие метки-заполнители называются формальными параметрами и вместе с глобальными
параметрами формируют интерфейс подпрограммы, который должен быть описан при
определении подпрограммы.

15.Функциональный модуль: Определение. Транзакция. Виды


передаваемых параметров. Как вызывается в программе. Для чего
используются исключения.
Функциональный модуль представляет собой подпрограмму с определенной функцией,
централизованно хранящуюся в библиотеке функций SAP-системы. Каждый
функциональный модуль имеет интерфейс для импорта или экспорта параметров. Основная
цель применения функциональных модулей заключается в их многократном использовании.
Функциональные модули организованы в группы функций. Каждая группа функций
представляет собой совокупность функциональных модулей, имеющих аналогичные
функции и/или работающих с одними и теми же данными.
Группа функций может содержать те же компоненты, что и исполняемая программа. Это
следующие компоненты:
 Объекты данных
Эти объекты являются глобальными в рамках группы функций, т.е. доступными и
изменяемыми для всех функциональных модулей в пределах одной группы.
 Подпрограммы
Вызов подпрограмм может выполняться из всех функциональных модулей в данной
группе.
 Экраны
Вызов экранов может выполняться из всех функциональных модулей в данной группе.
 Свойства
Свойства функционального модуля включают в себя, помимо прочего, краткое описание
и группу функций, к которой относится данный модуль.
 Интерфейс функционального модуля может содержать следующие элементы:
 Параметры импорта: в эти параметры могут заноситься значения или переменные из
вызывающей программы при вызове функционального модуля. Указание
дополнительных параметров при вызове не обязательно.
 Параметры экспорта: выходные данные функционального модуля могут поступать в
вызывающую программу посредством присвоения “приемной переменной”.
Параметры экспорта всегда являются необязательными.
 Изменяемые параметры: переменные вызывающей программы, измененные
функциональным модулем, могут переноситься в изменяемые параметры.
 Особые ситуации: особые ситуации могут инициироваться функциональным модулем
при возникновении определенных ошибок и содержать информацию о
соответствующей ошибке обработки в функциональном модуле. Особые ситуации
должны обрабатываться вызывающей программой.
В блоке EXPORTING производится передача значений в параметры импорта
функционального модуля.
В блоке IMPORTING вызова производится присвоение параметрам экспорта
приемных переменных, посредством которых осуществляется получение результатов вызов.
Внедрение осуществляется через Call Function. При внедрении вызовов в исходном тексте
рекомендуется создавать вызовы посредством кнопки Модель во избежание ошибок в
написании текста.

16.BAPI: Определение, использование. Для чего вызывается


BAPI_TRANSACTION_COMMIT.
BAPI (Business Application Programming Interface)s –интерфейсы программирования
бизнес-приложений), которые представлены в нем как методы. Эти BAPI вызываются для
обращения к соответствующей таблице или таблицам. Таким образом, BAPI являются
средством доступа к данным SAP-системы. Обычно существуют BAPI для основных
функций бизнес-объекта, таких как следующие:
• создание объекта;
• запрос атрибутов объекта;
• изменение атрибутов объекта;
• вывод списка объектов.
Функции BAPI инкапсулированы в функциональный модуль, который может вызываться
удаленно. Поэтому BAPI могут вызываться как ABAP-программами той же SAP-системы, так
и внешними программами. Существуют стандартные методы, имеющие форму BAPI со
стандартизованными именами. Ниже перечислены некоторые из наиболее важных
стандартных BAPI.
Стандартные BAPI
Возврат списка доступных объектов, соответствующих указанным критериям выбора.
GetDetail
Возврат подробной информации (атрибутов) для объекта (должен быть указан полный
ключ).
Create, Change, Delete, Cancel
Создание, изменение и удаление объектов.
AddItem, RemoveItem
Добавление и удаление подобъектов (например, позиций в заказе).
BAPI_TRANSACTION_COMMIT используется для записи изменений в базу данных
17.Класс: определение, основные характеристики. Отличие локального
и глобального класса. Область видимости атрибутов и методов.
Класс – множество объектов, связанных общностью структуры и поведения. Или особый
тип записи, имеющий в своем составе поля, свойства и методы обработки.
Методы, свойства и события, а также все остальные внутренние переменные и константы
(поля) называются членами класса.
При описании класса можно задать разные по возможностям области видимости полей и
методов класса. Существуют четыре области видимости класса:
1. Private – личная, внутренняя область класса. Поля и методы, описанные в этой области,
доступны только внутри модуля Unit, где описан данный класс. Для всех других модулей,
которые подсоединяют данный модуль и наследуют этот класс, они недоступны.
2. Protected – защищенная область. Поля и методы этой области доступны только внутри
классов, наследующих данный класс.
3. Public – общедоступная область. Поля и методы этой области не имеют ограничений на
видимость.
4. Published – область публикаций. Поля и методы этой области имеют такую же
видимость, как для области Public, но они еще видны инспектору объектов на этапе
разработки программы. В дочерних классах можно переносить методы и свойства из области
Protected в область Published и обратно.
Классы могут быть глобальными (объявленными вне любого блока) и
локальными (объявленными внутри блока, например, внутри функции или
внутри другого класса). Обычно классы определяются глобально.
18.ALV : для чего используется. Что такое field catalog.
ALV предоставляет нам стандартный формат списка и пользовательский интерфейс для
всех наших отчетов ABAP. ALV создается набором стандартных функциональных модулей,
предоставляемых SAP. Field catalog представляет среду, которая содержит информацию о
полях, которые будут отображаться на выходе ALV.
19.Экраны: в чем отличие модулей PBO PAI, для чего используется
USER COMMAND/OKKODE
Экран имеет не только формат с полями ввода/вывода, кнопки и другие элементы, но и
логику обработки (фрагменты исходного текста, выполняемые для предварительной и
последующей обработки данных экрана).
Каждый экран имеет следующие компоненты:
1. Свойства (атрибуты)
К свойствам относится, например, четырехзначный номер, являющийся именем экрана,
краткий текст, информация о типе экрана (например, Стандартный для обозначения полного
размера экрана), а также определение следующего экрана по умолчанию.
2. Формат
На экране можно разместить поля ввода/вывода, тексты, кнопки и другие элементы. Все
эти объекты называются элементами экрана.
3. Список элементов
Содержит все элементы экрана и их атрибуты, например, позицию, размер, тип данных и
т. д.
4. Логика выполнения
Логика выполнения экрана состоит из процессов PBO (Process Before Output, обработка
перед выводом) и PAI (Process After Input, обработка после ввода). PBO содержит ссылки на
блоки обработки (PBO-модули), выполняемые на стадии подготовки к выводу экрана
(например, выбор данных) до его отображения. PAI содержит ссылки на блоки обработки
(PAI-модули), выполняемые в результате ввода значений и выполнения операций
пользователем (например, сохранение данных).
Панель инструментов графического редактора экранов может использоваться для
разработки структуры экрана. Три кнопки, показанные на вышеприведенном рисунке,
используются для выполнения следующих функций ведения:
5. Ведение атрибутов элемента
В диалоговом окне отображаются все атрибуты выбранного элемента экрана с
возможностью их ведения.
6. Вызов полей словаря или программы
Диалоговое окно используется для создания полей экрана со ссылкой на поля из структур
словаря или поля, определенные в пределах программы.
7. Просмотр списка элементов
Позволяет просматривать все доступные элементы экрана с атрибутами в целях их
последующего ведения.
Создание:
1. В первом шаге необходимо создать экран, указать формат и определить атрибуты
полей..
2. Для вызова экрана пользователи должны дважды щелкнуть по строке в основном
списке, а для возврата к основному списку – выбрать соответствующую функцию на
экране.
Существует несколько способов создания экрана:
1. Посредством навигации вперед из ABAP-редактора
Для создания экрана дважды щелкните по номеру экрана в ABAP-редакторе (см. рисунок
выше). Автоматически откроется редактор экранов, в котором можно выполнить ведение
нового экрана.
2. С использованием навигатора по объектам
Новый объект (экран) для программы можно создать из списка объектов в области
навигации с использованием контекстного меню соответствующей программы. При создании
экрана сначала появится запрос на ввод атрибутов экрана. Введите краткое описание экрана,
выберите тип экрана Стандартный и введите номер последующего экрана. Если для
последующего экрана установлено значение 0, то сначала завершается обработка экрана, а
затем происходит возврат к обработке в точке вызова экрана. Поскольку начальным
значением поля является ноль, при отображении атрибутов экрана это поле будет скрыто. В
этом примере экран, создаваемый пользователем, должен вызываться из основного списка.
Это означает, что CALL SCREEN... должен принадлежать блоку обработки AT LINE-
SELECTION.
При создании поля экрана имеется два варианта присвоения атрибутов поля:
1. Вызов из словаря:
При создании поля экрана тип и атрибуты поля можно скопировать из поля словаря. При
этом становится доступной вся информация об объекте, в том числе семантическая
информация о соответствующем элементе данных и описание отношений внешних ключей.
Имя поля также создается по образцу ABAP-словаря.
2. Вызов из программы:
Для поля экрана можно скопировать атрибуты поля внутреннего объекта данных
программы. Для этого должна быть доступной созданная версия программы (автоматически
генерируется во время активации). В качестве имени поля используется имя объекта данных.
Графический редактор экранов предоставляет удобные опции для определения прочих
элементов экрана, таких как тексты, рамки, зависимые и независимые кнопки и т. д. Сначала
щелкните по требуемому элементу экрана в строке инструментов, а затем перенесите его в
область ведения экрана.
Для удаления элементов экрана выберите их при помощи мыши и нажмите Удалить.
Для перемещения элементов экрана щелкните по ним левой кнопкой мыши и, не отпуская
кнопку, перетащите их к новому местоположению.
Для ведения атрибутов элемента экрана дважды щелкните по этому элементу.
Соответствующие атрибуты отображаются в дополнительном окне ведения. (Вместо
двойного щелчка можно также выбрать элемент и затем выбрать опцию Атрибуты.)
Для определения поля экрана как поля обязательного ввода присвойте полю атрибут
Обязательно. Если поле не заполнено, оно будет соответствующим образом отмечено во
время выполнения. Если поле не заполняется пользователем, то после любой операции будет
появляться диалог с сообщением об ошибке. После вывода диалога поля снова будут готовы
к вводу.
20.Расширение стандарта: какие существуют варианты, транзакции.
Что такое SAP notes, транзакция просмотра/загрузки SAP notes.
Расширения и модификации помогают подстроить программу под конкретного заказчика.
Существуют несколько технологий расширений:
1. Customizing.
Настраивается в SPRO, так же можно создать трансакцию для настройки.
2. Personalising.
Представляет собой начальное меню SAP.
3. User exit.
Самая старая технология, но и наиболее простая и универсальная. Суть заключается в
том, что SAP в своих программах делает вызов специальных Includes (программ),
которые начинаются с букв ZX и поэтому разрешены для изменения консультантам.
То есть, мы находим такой вызов, создаем Include (программу) и в ней пишем любую
логику. При компиляции система видит, что появился в базе данных такой объект —
Include, вставляет его содержимое на то место, где был вызов. Так получается, с точки
зрения системы, что этот кусок кода как будто бы уже был в самой программе.
4. Customer exit.
В рамках технологии Customer Exits по ходу исполнения ABAP-программы
вызываются функциональные модули. Но вызываются они специальной ABAP командой,
которая по содержимому специальной конфигурационной таблицы принимает решение,
следует ли действительно вызывать этот функциональный модуль. Таки образом,
появляется возможность одновременно включить или выключить сразу несколько
программных расширений. Внутри такого функционального модуля написано обращение
к инклюду, новая версия которого никогда не придет от поставщика, поэтому нет риска
потери изменений при приеме новых версий.
5. Business Transaction Events.
Релевантная для FI. Делится на модули процесса и функциональные модули.
Вызов: Call function особое имя функции
Open_Fi perform № события_E
6. Enhancement Framework.
Enhancements spot/section – Техника расширения, позволяющая практически
выполнить внедрение пользовательского кода в любом месте стандартной бизнес-
транзакции. Enhancement-ы в системе разделяются на «явные» и «не явные». Явные точки
расширения аналогично технике Customer-exits используют специально введенный
оператор, неявные же фактически присутствуют в начале и конце логически завершенных
блоков кода или структур данных. Badi
7. Badi.
BAdi состоит из двух сущностей: определение и реализация. Определение — это
своего рода описание объекта с указанием, что он может хранить (какие есть атрибуты),
что делать (какие есть методы). Это определенная модель, которая описывает, что
обязательно должно быть на входе и на выходе, какие параметры могут быть, их типы и
правила вызова.
OSS Note — это часто выпускаемые исправления ошибок, новые разработки или
усовершенствования программ или другие разные обновления SAP. OSS
расшифровывается как «Онлайн поддержка SAP»
Все SAP notes можно разделить на 3 типа:
1. Информативные SAP notes: это небольшие комментарии или статьи, описывающие
новые функциональности, разъясняющие технические моменты системы или
приводящие рекомендации.
2. SAP notes, содержащие ручные шаги по настройке системы: такие SAP notes
описывают шаги, которые должен выполнить консультант для настройки той или иной
функциональности или активации возможностей системы.
3. SAP notes, содержащие коррекции программного кода: такие SAP notes,
содержат инструкции по внесению изменений в те или иные ABAP-программы или
функциональные модули системы.
SNOTE - OSS Note

ТРАНСАКЦИИ
SE80 – навигатор по объектам
SE01 – организация переносов: просмотр транспорта для user, поиск транспорта по номеру,
создать свой.
SE10 – организация переносов для своего user. По сравнению с SE01 менее функциональная.
SE03 – работа с объектами: просмотр, проверка блокировки транспорта объекта.
SNOTE - OSS Note
SE38 – создание и запуск программ
SA38 – запуск программ.
SE93 – ведение кодов трансакции
SM37 – просмотр job.
SM36 - создание job.
SE91 – вывод сообщений.
SE11 – словарь данных Abap
ME17 – архивирование инфо-записи
SM30 – вызов ведения ракурса таблиц.
SCO3 – просмотр изменения таблицы
SE37 – функциональные модули
SE18 – создание определений
SE19 – создание реализаций
SE24 – объекты
FIBF – основные параметры финансов-События бизнес-транзакций
SCU3 – активация лога изменения таблицы.