* globaler Deklarationsteil
TYPES ... " Definitionen
DATA ... " Datenobjekte
CLASS ... " Klassen
* Implementierungsteil mit Ereignisblöcken
* Ereignis beim Laden eines Programms in die interne Sitzung
LOAD-OF-PROGRAM.
" häufig für Autorisierungsabfrage genutzt
* Ereignis vor Prozessierung des Selektionsbildes
INITIALIZATION.
" hier können z.B. dynamische Vorbelegungen vorgenommen werden
* Ereignis vor Anzeige des Selektionsbildschirms
AT SELECTION-SCREEN OUTPUT.
" Parameter auf reine Anzeige setzen
* Ereignis bei Eingabeprüfung für Einzelfelder
AT SELECTION-SCREEN ON Feldname.
* Ereignis für F1-Hilfe bei einem Feld
AT SELECTION-SCREEN ON HELP-REQUEST FOR Feldname.
" z.B. bei Druck auf Taste F1 in Eingabefeld
* Ereignis für F4-Hilfe bei einem Feld
AT SELECTION-SCREEN ON VALUE-REQUEST FOR Feldname.
" z.B. bei Aufruf von File-Open-Dialogen o.ä.
* Ereignis, wenn Benutzer die Funktionen "Zurück", "Beenden", Abbrechen" wählt
AT SELECTION-SCREEN ON EXIT-COMMAND.
* während der Abarbeitung des Selektionsbildschirms
AT SELECTION-SCREEN.
" hier werden keine WRITE-Ausgaben prozessiert
" hier zum Beispiel:
" AUTHORITY-CHECK ...
" MESSAGE ...
* Ereignis während Prozessierung des Selektionsbildes
START-OF-SELECTION.
" WRITE wird erst am Ende der kompletten Abarbeitung des Ereignisses prozessiert
* Ereignis bei dem der Benutzer einen im Programm definierten Funktionscode auslöst
AT USER-COMMAND.
" häufig für CASE ...
" oder LOOP AT SCREEN INTO ...
* Ereignis zu dem der Benutzer den vordefinierten Funktionscode PICK (Mausklick) auslöst
AT LINE-SELECTION.
" auf KLicks reagieren
" WRITE: / 'Verzweigungsliste Nr.: ', sy-lsind.
" WRITE: / 'Absolute Nummer der Zeile: ', sy-lilli.
" WRITE: / 'Inhalt der Zeile: ', sy-lisel.
" WRITE: / 'Row: ', sy-curow.
" WRITE: / 'Col: ', sy-cucol.
* Ereignisse während der Listenverarbeitung, wenn eine neue Seite begonnen wird
TOP-OF-PAGE.
" und
TOP-OF-PAGE DURING LINE-SELECTION.
" z.B. zur formatierten Ausgabe von Listenüberschriften
" WRITE: 'Nr.', 15 'NAME1', 25 'NAME2'.