Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

BC400_RU_ECC_2005

.pdf
Скачиваний:
1456
Добавлен:
21.05.2015
Размер:
40.8 Mб
Скачать

Глава 8

Введение в события ABAP

Обзор главы

См. резюме по урокам в рамках этого раздела.

Цели главы

Прослушав эту главу, вы сможете

описывать управляемую событием обработку исполняемой ABAP-программы

перечислять наиболее важные базовые события и пояснять цель их использования

использовать наиболее важные базовые события

Содержание главы

Урок: ABAP-события ..........................................................222

 

© 2006 г. SAP AG All rights reserved. Авторские

221

06-04-2006

права защищены.

Глава 8: Введение в события ABAP

BC400

Урок: ABAP-события

Обзор урока

На этом уроке описывается обработка исполняемой ABAP-программы на основе событий. Также рассматриваются наиболее важные базовые события, цели их использования и возможность применения в программах.

Цели урока

Прослушав этот урок, вы сможете

описывать управляемую событием обработку исполняемой ABAP-программы

перечислять наиболее важные базовые события и пояснять цель их использования

использовать наиболее важные базовые события

Практический пример

Экран выбора должен динамически (т. е. в зависимости от ситуации) заполняться значениями по умолчанию.

222

© 2006 г. SAP AG All rights reserved. Авторские

 

права защищены.

06-04-2006

BC400

Урок: ABAP-события

Цели и способы использования ABAP-событий

Рисунок 125: Структуры и процедуры исполняемой ABAP-программы

При запуске ABAP-программы все глобальные объекты данных программ сначала создаются в рабочей памяти (присвоение памяти). После этого исполняющая система последовательно инициирует различные события. Если для инициированного события в программе существует блок обработки, то последовательно выполняются операторы этого блока.

На рисунке выше показаны базовые события, последовательность, в которой они инициируются, а также внедрение соответствующих

блоков обработки в программу. Исполняемая ABAP-программа является совокупностью блоков обработки, которые выполняются при возникновении соответствующих событий.

Результаты, полученные операторами WRITE, сначала сохраняются в буферах списков и отображаются на экране в виде списка только после завершения обработки блока START-OF-SELECTION.

 

© 2006 г. SAP AG All rights reserved. Авторские

223

06-04-2006

права защищены.

Глава 8: Введение в события ABAP

BC400

Рисунок 126: Цель использования ABAP-событий

Если в блоке INITIALIZATION переменным PARAMETERS присваиваются значения, то при отображении экрана выбора они выводятся в полях ввода как (изменяемые) значения по умолчанию. При помощи дополнения DEFAULT можно задать значение по умолчанию для соответствующего поля ввода в

определении PARAMETERS. Однако вышеописанное присвоение значений в блоке INITIALIZATION может использоваться для присвоения другого значения по умолчанию (динамическое предварительное заполнение

экрана выбора) динамическим способом (т. е. в зависимости от ситуации).

На следующем рисунке показан пример программы с таким присвоением.

Если пользователь с помощью кнопки F8 подтверждает данные на экране выбора, то введенные им значения переносятся в соответствующие внутренние программные переменные PARAMETERS, и инициируется событие AT SELECTION-SCREEN . Таким образом, соответствующий блок обработки может использоваться для проверки ввода или полномочий. Вывод сообщения типа "E" в этом блоке события (например, в случае отсутствия у пользователя необходимых полномочий) приведет к повторному выводу экрана выбора с сообщением об ошибке (что позволит повторить ввод данных). Эта процедура описывается более подробно на уроке,

посвященном “ экрану выбора ”.

224

© 2006 г. SAP AG All rights reserved. Авторские

 

права защищены.

06-04-2006

BC400

Урок: ABAP-события

Если сообщение об ошибке в блоке AT SELECTION-SCREEN не выводится, то событие START-OF-SELECTION инициируется в качестве последующего события. В этом случае основная обработка программы должна происходить в соответствующем блоке обработки.

Рисунок 127: Пример программы

В этом примере показан экран выбора с полем ввода даты. При обычных обстоятельствах в качестве значения по умолчанию подставляется текущая дата (DEFAULT sy-datum). Однако при определенных условиях (IF) в качестве значения по умолчанию должна выводиться дата, соответствующая тому же дню следующей недели (pa_date = pa_date + 7.).

На рисунке выше также показана реакция исполняющей системы в случае отсутствия блока обработки. Событие не приводит к выполнению каких-либо операторов, и сразу же инициируется следующее событие.

 

© 2006 г. SAP AG All rights reserved. Авторские

225

06-04-2006

права защищены.

Глава 8: Введение в события ABAP

BC400

Рисунок 128: Характеристики блока события

Блоки обработки не могут быть вложенными, поскольку это противоречит концепции ABAP-событий.

Как было указано ранее, при отсутствии блока обработки какие-либо операторы не выполняются, и сразу же инициируется следующее событие.

Управление инициированием событий и выполнением блоков обработки осуществляется исполняющей системой ABAP. Поэтому последовательность размещения блоков событий в программе не имеет значения.

Если блоки в программу не внедрены, то все операторы неявно присваиваются стандартному блоку события START-OF-SELECTION .

Это также является причиной выполнимости программ, представленных в предыдущих разделах настоящего курса.

Кроме уже описанных базовых событий для исполняемых программ, существуют и другие события, используемые для решения различных задач. Например, существует событие AT LINE-SELECTION, которое инициируется двойным щелчком пользователя по списку. Это событие может использоваться, например, для вывода подробной информации по выбранной строке списка. Эта процедура описывается более подробно на уроке, посвященном “ спискам ”. Для получения дополнительной информации по “событиям” см. документацию ABAP.

На рисунке ниже представлена общая структура исполняемой ABAP-программы.

226

© 2006 г. SAP AG All rights reserved. Авторские

 

права защищены.

06-04-2006

BC400

Урок: ABAP-события

Рисунок 129: Структура программы (обзор)

В дополнение к уже описанным блокам событий, в программу можно внедрить другие блоки обработки. Например, подпрограмма ( FORM ...

ENDFORM. ) представляет собой блок, выполняемый при возникновении “события”, инициируемого выражением PERFORM.

При необходимости вывода экрана для пользователя, эта операция должна быть определена в программе заранее. Помимо формата, также требуется внедрить т.н. логику выполнения экрана. В ней определяются те внутренние программные блоки обработки (модули), которые должны быть выполнены на стадии подготовки к выводу экрана (например, считывание данных, которые должны отображаться на экране) или являться результатом операций, производимых пользователем на экране. Эти блоки называются

обработкой экрана перед выводом (PBO) или обработкой после ввода

(PAI). Эти процессы формируют логику выполнения экрана. Логика выполнения не содержит непосредственно ABAP-операторов, но в ней имеются ссылки на модули, включенные в программу в форме блоков обработки ( MODULE ... ENDMODULE. ). Программирование экрана рассматривается более подробно на другом уроке.

 

© 2006 г. SAP AG All rights reserved. Авторские

227

06-04-2006

права защищены.

Глава 8: Введение в события ABAP

BC400

Резюме по уроку

Теперь вы сможете:

описывать управляемую событием обработку исполняемой ABAP-программы

перечислять наиболее важные базовые события и пояснять цель их использования

использовать наиболее важные базовые события

228

© 2006 г. SAP AG All rights reserved. Авторские

 

права защищены.

06-04-2006

BC400

Резюме по главе

Резюме по главе

Теперь вы сможете:

описывать управляемую событием обработку исполняемой ABAP-программы

перечислять наиболее важные базовые события и пояснять цель их использования

использовать наиболее важные базовые события

Дополнительная информация

... См. статью “Блоки событий” в онлайн-документации и документацию по ключевым словам для соответствующего ABAP-оператора.

 

© 2006 г. SAP AG All rights reserved. Авторские

229

06-04-2006

права защищены.

Резюме по главе

BC400

230

© 2006 г. SAP AG All rights reserved. Авторские

 

права защищены.

06-04-2006

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]