*----------------------------------------------------------------------*
***INCLUDE MZ_TP2F01 .
*----------------------------------------------------------------------*
*
FORM suchen .
* 3. Variante: BAPI-Aufruf
  CLEAR: wa, itab.
  DATA:
    from TYPE bapisfldst,
    to   TYPE bapisfldst,
    date TYPE TABLE OF bapisfldra WITH HEADER LINE,
    bapi_tab TYPE TABLE OF zbapisfldat WITH HEADER LINE,
    ret_tab  TYPE TABLE OF bapiret2 WITH HEADER LINE.
*
  from-city = zflug_input-cityfrom.
  to-city   = zflug_input-cityto.
* Abfrage, ob 0, 1 oder 2 Datums-Felder gefllt wurden
  IF zflug_input-vondatum IS INITIAL AND
     zflug_input-bisdatum IS INITIAL. "kein Feld gefllt
*   do nothing!
  ELSEIF zflug_input-vondatum IS INITIAL OR
    zflug_input-bisdatum IS INITIAL. "praktisch: 2. Feld gefllt
    date-option = 'EQ'. date-sign = 'I'.
    date-low  = zflug_input-bisdatum.
    APPEND date.
  ELSE. "beide Felder gefllt
    date-option = 'BT'. date-sign = 'I'.
    date-low  = zflug_input-vondatum.
    date-high = zflug_input-bisdatum.
    APPEND date.
  ENDIF.
*
  CALL FUNCTION 'Z_BAPI_FLIGHT_GETLIST'
    EXPORTING
      destination_from = from
      destination_to   = to
    TABLES
      date_range       = date
      return           = ret_tab
      flug_list        = bapi_tab.
  LOOP AT bapi_tab.
    wa-fldate    = bapi_tab-flightdate.
    wa-carrid    = bapi_tab-airlineid.
    wa-connid    = bapi_tab-connectid.
    wa-fltime    = bapi_tab-flighttime.
    wa-price     = bapi_tab-price.
    wa-currency  = bapi_tab-curr.
    wa-seatsfree = bapi_tab-seatsfree.
    APPEND wa TO itab.
  ENDLOOP.
  DESCRIBE TABLE itab LINES count.
ENDFORM.                    " suchen