OVERVIEW

ABAP List Viewer (ALV) is an integrated element of theABAP Objects programming environmentallowing application developers to quickly implement the display of structured datasets or report. With the ALV, we can use almost uniform programming techniques independent of the ALV tool in order to display various lists, tables, or tree structures. The methods, parameters, or classes only vary where tool-specific functions require a special procedure.

ALV provides several basic functions:

  • Sorting
  • Filtering
  • Performing Aggregations
  • Enable Layout
  • Output to Excel/HTML

Some of the function modules used to create ALV reports are listed below.

FUNCTION MODULE DESCRIPTION
REUSE_ALV_LIST_DISPLAY Display an ALV list
REUSE_ALV_GRID_DISPLAY Display an ALV grid
REUSE_ALV_COMMENTARY_WRITE Output List header information
REUSE_ALV_VARIANT_F4 Display variant selection dialog box
REUSE_ALV_VARIANT_EXISTENCE Checks whether a variant exists
REUSE_ALV_FIELDCATALOG_MERGE Create field catalog from dictionary structure or internal table

EXAMPLE

  • Simple ALV display

REPORT z01_demo_alv_simple.

DATA: lt_sflight TYPE TABLE OF sflight.

SELECT * FROM sflightINTO TABLE lt_sflight.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
     EXPORTING
          i_structure_name = 'SFLIGHT'
     TABLES
          t_outtab = lt_sflight.

RESULT

Screen Shot 2014-09-01 at 5.02.02 pm

We can also use functionREUSE_ALV_GRID_DISPLAY to create the same simple ALV report. It displays the results in grid rather than as a preview. Parameters are same as REUSE_ALV_LIST_DISPLAY.

Example creating ALV Report using GRID DISPLAY.[From SAPHub]

An ALV report is created using the standard function modules provided by SAP.

An ALV report can be created using the following steps.

  • Include SLIS type pool – SLIS type pool contains all the data types required by ALV function modules.
  • Data retrieval – Code the logic to fetch the data from database table into an Internal Table.
  • Build Field Catalog – Add the columns into an internal that you want to display in the ALV output list.
  • Pass the data table and field catalog table to ALV function module
              TYPE-POOLS: slis.              " SLIS contains all the ALV data types                            *&---------------------------------------------------------------------* *& Data Declaration *&---------------------------------------------------------------------*              DATA: it_sbook     TYPE TABLE OF sbook. DATA: it_fieldcat  TYPE slis_t_fieldcat_alv,       wa_fieldcat  TYPE slis_fieldcat_alv.              *&---------------------------------------------------------------------* *& START-OF-SELECTION *&---------------------------------------------------------------------*              START-OF-SELECTION.              *Fetch data from the database                            SELECT * FROM sbook INTO TABLE it_sbook.              *Build field catalog              wa_fieldcat-fieldname  = 'CARRID'.              " Fieldname in the data table              wa_fieldcat-seltext_m  = 'Airline'.              " Column description in the output                            APPEND wa_fieldcat TO it_fieldcat.    wa_fieldcat-fieldname  = 'CONNID'.   wa_fieldcat-seltext_m  = 'Con. No.'.   APPEND wa_fieldcat TO it_fieldcat.    wa_fieldcat-fieldname  = 'FLDATE'.   wa_fieldcat-seltext_m  = 'Date'.   APPEND wa_fieldcat TO it_fieldcat.    wa_fieldcat-fieldname  = 'BOOKID'.   wa_fieldcat-seltext_m  = 'Book. ID'.   APPEND wa_fieldcat TO it_fieldcat.    wa_fieldcat-fieldname  = 'PASSNAME'.   wa_fieldcat-seltext_m  = 'Passenger Name'.   APPEND wa_fieldcat TO it_fieldcat.              *Pass data and field catalog to ALV function module to display ALV list                            CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'     EXPORTING       it_fieldcat   =              it_fieldcat              TABLES       t_outtab      =              it_sbook              EXCEPTIONS       program_error = 1       OTHERS        = 2.

Output

Create Simple ABAP ALV