Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 17 День 17 События и подпрограммы 2011.doc
Скачиваний:
23
Добавлен:
24.11.2019
Размер:
177.66 Кб
Скачать

Initialization.

p1 = 'Init'.

end-of-selection.

write: /(14) sy-uline,

/ 'End of program'.

top-of-page.

write: / 'This is My Title'.

skip.

This is My Title

p1 = INIT

--------------

End of program

Нельзя помещать вызов событий в операторы условий и цикла. Это вызовет ошибку!!! Пример неправильного вызова:

report ztx1704.

data f1.

start-of-selection.

f1 = 'A'.

if f1 = 'A'.

end-of-selection.

write: / f1.

endif.

У событий более высокий приоритет чем других операторов ABAP/4. Вы не должны помещать определения данных в пределах событий. Хотя это не вызывает синтаксическую ошибку, это – плохой стиль программирования. Все определения данных должны быть сделаны в начале программы.

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

  • exit

  • check

  • stop

Эффект stop не зависит от того, записан ли он в цикле или нет.

Во всех событиях

  • check немедленно прекращает текущее событие и переходит с следующему событию.

  • stop немедленно останавливает текущее событие, и переходит к событию end-of-selection Выполнение stop в пределах end-of-selection оставляет событие.

В событиях, которые происходят перед start-of-selection

  • exit и check имеют то же самое поведение. Они оба немедленно оставляют события, и обработка переходит к следующему событию (или действию, такое как дисплей экрана выбора).

В start-of-selection и событиях, которые происходят после этого

  • exit заканчивает отчет и показывает список вывода. Существует единственное исключение; в пределах top-of-page, exit ведет себя как check.

  • check оставляет событие, и обработка продолжает следующее событие (или действие, такое как отображение списка вывода).

check, exit и stop не устанавливает значение sy-subrc. Если Вы хотите установить это значение, Вы можете назначить числовое значение этой переменной перед остановкой.

Эффекты событий exit, check и stop

report ztx1705 no standard page heading line-count 6(2).

*in events before start-of-selection:

* - exit and check have the same behavior. They both leave the event

* and processing continues with the next event or action.

* - stop goes directly to the end-of-selection event

* (don't use stop in initialization or at selection-screen output)

*in start-of-selection and subsequent events:

* - exit terminates the report and shows the output list

* exception: top-of-page: exit leaves the event

* - check leaves the event and processing continues with the next one.

* - stop goes directly to the end-of-selection event

"execute an:

parameters: exit_sos radiobutton group g1, "exit in start-of-selection

exit_eos radiobutton group g1, "exit in end-of-selection

chck_sos radiobutton group g1, "check in start-of-selection

chck_eos radiobutton group g1, "check in end of selection

stop_sos radiobutton group g1, "stop in start-of-selection

stop_eos radiobutton group g1, "stop in end-of-selection

none radiobutton group g1. "no stop, exit or check