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