GET-Ereignisblöcke mit REJECT verlassen 

Die Anweisung REJECT wurde speziell zum Verlassen von GET-Ereignisblöcken entwickelt. Im Gegensatz zu CHECK und EXIT bezieht sich REJECT immer auf den aktuellen GET-Ereignisblock. Wenn CHECK und EXIT in einer Schleife stehen, beziehen sie sich auf die Schleife und wenn sie in einem Unterprogramm stehen, beziehen Sie sich auf das Unterprogramm. Die Anweisung REJECT ermöglicht es einen GET-Ereignisblock direkt aus einer Schleife oder aus einem aufgerufenen Unterprogramm zu verlassen.

Mit der Anweisung

REJECT [<dbtab>].

wird immer die Bearbeitung der aktuellen Zeile des Knotens der logischen Datenbank abgebrochen. Ohne die optionale Angabe <dbtab> liest die logische Datenbank sofort die nächste Zeile des gleichen Knotens und es wird das nächste GET-Ereignis der gleichen Hierarchistufe ausgelöst. Mit der optionale Angabe <dbtab> liest die logische Datenbank sofort die nächste Zeile des Knotens <dbtab>. Der Knoten <dbtab> muß dabei in der Hierarchie der logischen Datenbank oberhalb vom aktuellen Knoten liegen.

Der folgende Report ist mit der logischen Datenbank F1S verknüpft:

REPORT EVENT_DEMO.

NODES: SPFLI, SFLIGHT, SBOOK.

GET SFLIGHT.
  SKIP.
  WRITE: / 'Carrid:', SFLIGHT-CARRID,
           'Connid:', SFLIGHT-CONNID,
           'Fldate:', SFLIGHT-FLDATE.
  ULINE.

GET SBOOK.
  PERFORM SUB.

FORM SUB.
  WRITE: / 'Bookid:', SBOOK-BOOKID.
  REJECT 'SFLIGHT'.
ENDFORM.

Es wird jeweils nur die erste Buchungen pro Flug gelesen und angezeigt, da die logische Datenbank nach der Anweisung REJECT direkt die nächste Zeile aus SFLIGHT liest.

Die Ausgabeliste sieht etwa so aus: