Selektionstabellen in GET-Ereignissen  

Wenn Datenbanktabellen über logische Datenbanken gelesen werden, ist in den Ereignisblöcken zu GET-Ereignissen eine besondere Variante der Anweisung CHECK möglich:

CHECK SELECT-OPTIONS.

Die Anweisung prüft, ob der Inhalt des Schnittstellen-Arbeitsbereichs, der von der logischen Datenbank für das aktuelle GET-Ereignis gefüllt wurde, den Bedingungen in allen Selektionstabellen entspricht, die mit der gelesenen Datenbanktabelle verbunden sind.

Diese Variante der Anweisung CHECK funktioniert nur mit Selektionskriterien, die mit Datenbanktabellen verknüpft sind und sollte nur bei GET-Ereignissen verwendet werden.

Da die CHECK-Anweisung aber erst nach dem Lesen einer Zeile durch die logische Datenbank angewendet werden kann, sollten diese Variante überhaupt nur eingesetzt werden, wenn die von der logischen Datenbank angebotenen Selektionen nicht ausreichen und die entsprechende Tabelle auch nicht für freie Abgrenzungen vorgesehen ist.

Das folgende Programm sei mit der logischen Datenbank F1S verknüpft

REPORT demo_seltab_get_event.

NODES: spfli,sflight.

SELECT-OPTIONS: max FOR sflight-seatsmax,
                occ FOR sflight-seatsocc.

GET sflight.
  WRITE: / spfli-carrid, spfli-connid.
  CHECK SELECT-OPTIONS.
  WRITE: sflight-seatsmax, sflight-seatsocc.

Füllt der Benutzer die Eingabefelder des Selektionsbilds wie folgt:

kann die Listenausgabe in etwa so aussehen:

Es werden alle Zeilen aus SFLIGHT gelesen, die den Selektionskriterien der logischen Datenbank entsprechen. Entsprechen die Inhalte nicht den programmdefinierten Selektionskriterien MAX und OCC, verläßt das System das GET-Ereignis bevor der Inhalt von SEATSMAX und SEATSOCC auf dem Bild ausgegeben wird.