Datenselektion

Dies ist Teil 6 von 11 der Serie Interaktive Liste

In diesem Artikel wird die Selektion der Daten behandelt. Die Selektion sollte gekapselt werden, so dass die Routine bei Bedarf noch einmal aufgerufen werden kann. Dies ist praktisch, wenn ein “Refresh-Button” integriert werden soll.

Mit diesem Punkt möchte ich mich nicht lange aufhalten (es ist schon spät…). Bauen Sie Ihr Programm aber möglischt so auf, dass Sie eine eigene Routine für die Datenselektion haben. Dies macht einen späteres “Aktualisieren” der Liste einfacher!

In unserem Programm möchten wir nun einfach alle Fluggesellschaften, die dazugehörigen Flugpläne und die Flüge selektieren.

*———————————————————————*
*       FORM selektion                                                *
*———————————————————————*
FORM selektion.

*– Fluggesellschaften
  SELECT * FROM scarr INTO TABLE t_scarr
   WHERE carrid   IN s_carrid
     AND carrname IN s_carrnm.

  IF sy-subrc = 0.

*– Flugpläne
    SELECT * FROM spfli INTO TABLE t_spfli
      FOR ALL ENTRIES IN t_scarr
    WHERE carrid = t_scarr-carrid.

*– Flüge
    SELECT * FROM sflight INTO TABLE t_sflight
       FOR ALL ENTRIES IN t_spfli
     WHERE carrid = t_spfli-carrid
       AND connid = t_spfli-connid.

*– Sortieren
    SORT: t_carr, t_spfli, t_sflight.

  ENDIF.

ENDFORM.

Wichtig
Wenn Sie mit dem Zusatz FOR ALL ENTRIES arbeiten, müssen Sie sicherstellen, dass die Tabelle gefüllt ist, ansonsten werden ALLE Sätze der Tabelle selektiert.

Enno Wulff
Series Navigation<< SelektionsbildDas fertige Programm >>

Leave a Comment