For Loop can be efficiently use in stead of LOOP…..ENDLOOP for internal table filter.
CODE
DATA: lt_flight TYPE flighttab.
SELECT * FROM sflight INTO TABLE lt_flight .
CALL FUNCTION ‘REUSE_ALV_GRID_DISPLAY’
EXPORTING
i_callback_program = sy–repid
i_structure_name = ‘SFLIGHT’
TABLES
t_outtab = lt_flight.
* FIlters out all records from lt_flight where CARRID = ‘AZ’
DATA(lt_flight_sub) = VALUE flighttab( FOR ls_flight IN lt_flight
WHERE ( carrid = ‘AZ’ ) ( ls_flight )
).
CALL FUNCTION ‘REUSE_ALV_GRID_DISPLAY’
EXPORTING
i_callback_program = sy–repid
i_structure_name = ‘SFLIGHT’
TABLES
t_outtab = lt_flight_sub.
OUTPUT
LT_FLIGHT content in ALV
LT_FLIGHT_SUB content in ALV.
CODE
DATA: lt_flight TYPE flighttab.
SELECT * FROM sflight INTO TABLE lt_flight .
CALL FUNCTION ‘REUSE_ALV_GRID_DISPLAY’
EXPORTING
i_callback_program = sy–repid
i_structure_name = ‘SFLIGHT’
TABLES
t_outtab = lt_flight.
* WITH MULTIPLE CONDITIONS
DATA(lt_flight_sub) = VALUE flighttab( FOR ls_flight IN lt_flight
WHERE ( carrid = ‘AZ’ AND connid = ‘789’ ) ( ls_flight )
).
CALL FUNCTION ‘REUSE_ALV_GRID_DISPLAY’
EXPORTING
i_callback_program = sy–repid
i_structure_name = ‘SFLIGHT’
TABLES
t_outtab = lt_flight_sub.
OUTPUT- LT_FLIGHT_SUB content in ALV.