Basic ALV (ABAP List Viewer) beginners tutorial

Here’s how a simple ALV list can be programmed. This is one of the most basic tasks you get assigned to as a developer.

Step I – Declaring variables

The ‚TABLES‚ keyword declares a structure (type: T001W = table of plants) which is refered to when we define our SELECT-OPTIONS.
gt_plants is an internal table (a.k.a. ‚array‘) which holds the data to be displayed in an ALV
gr_alv is a so called object reference to the ALV class (Transaction SE24 => ‚cl_salv_table‘)

Step II – Creating a selection screen
In order for the user to be able to select certain plants, we give him select options.

See how the previously declared structure T001W is referenced here (FOR t001w-werks).

Step III – Reading data with Open SQL

The keyword ‚START-OF-SELECTION‚ declares a so called event. Basically it defines the code block where most of the action happens.
See how the select options are used in the WHERE clause of the SQL statement.
Hint: If the select options are left empty on the selection screen, all data are being selected.

Step IV – Creating and displaying the ALV table

The keyword ‚END-OF-SELECTION‚ basically says: All main operations complete, start the final actions.
The first thing we do inside the END-OF-SELECTION code block is to check if the internal table which should be displayed holds any data. If not, we display a basic information.

Now to a little ABAP objects:
In order to display the ALV, we have to do 2 things at least:
a) Create the ALV object
b) Tell the ALV object to display itself.

a) Is done via a static method call of the class CL_SALV_TABLE and method FACTORY.
The internal table GT_PLANTS is handed over to the method and the object reference GR_ALV is given back to us (us = the calling program).
– You can identify static method calls via the ‚=>‘
– Static method means: You don’t have to create an instance of the class prior to calling the method.

b) This is done via a so called instance method call of the object GR_ALV and method DISPLAY.
– You can identify instance method calls via the ‚->‘
– Calling instance methods is only possible if you have an object reference which, in this case, we got from a) 🙂

Here is what the complete report looks like in an actual SAP system:

And this is what our very basic ALV looks like:
Very basic ALV

In order to make the select-options more beautiful, i.e. readable, you can do the following:



Sharing is caringTweet about this on Twitter
Email this to someone
Share on Facebook