<isoln>
REPORT  ZFLUGDAT.             *Autorin: Ines Leipnitz

* Tabellendefinition
TABLES: SFLIGHT, SPFLI.

* Definieren interner Tabellen
DATA: SFL_TAB LIKE SFLIGHT OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF SPF_TAB OCCURS 0,
        CITYFROM LIKE SPFLI-CITYFROM,
        CITYTO LIKE SPFLI-CITYTO,
        CARRID LIKE SPFLI-CARRID,
        CONNID LIKE SPFLI-CONNID,
      END OF SPF_TAB.
DATA  FREI_PLAETZE LIKE SFLIGHT-SEATSMAX.

TOP-OF-PAGE.                                      "berschrift pro Seite
  FORMAT COLOR COL_HEADING.
  WRITE: /  'Freie Pltze je Flugverbindung',
         60 'am: ', SY-DATUM.
  ULINE.
  WRITE: /  'Von',
         20 'Nach',
         40 'Flugnr.',
         50 'Abflug am',
         62 'Freie Pltze',
         79 'Pltze',
         /79 'gesamt'.
  ULINE.
  FORMAT COLOR COL_HEADING OFF.

START-OF-SELECTION.

  REFRESH: SFL_TAB, SPF_TAB.
  CLEAR:   SFL_TAB, SPF_TAB.

* Fllen der internen Tabellen
  SELECT * FROM SFLIGHT INTO TABLE SFL_TAB.

  SELECT * FROM SPFLI INTO CORRESPONDING FIELDS OF TABLE SPF_TAB.

  SORT SPF_TAB BY CITYFROM CITYTO CARRID.
  SORT SFL_TAB BY CARRID.

* Ausgabe des Ergebnisses
  LOOP AT SFL_TAB.
    LOOP AT SPF_TAB WHERE CARRID = SFL_TAB-CARRID
                      AND CONNID = SFL_TAB-CONNID.
      WRITE: / SPF_TAB-CITYFROM COLOR COL_TOTAL,
             20 SPF_TAB-CITYTO COLOR COL_POSITIVE,
             40 SPF_TAB-CARRID,
                SPF_TAB-CONNID.
      FREI_PLAETZE = SFL_TAB-SEATSMAX - SFL_TAB-SEATSOCC.
      WRITE: 50 SFL_TAB-FLDATE,
             60 FREI_PLAETZE,
             75 SFL_TAB-SEATSMAX.
    ENDLOOP.
  ENDLOOP.
