Removing columns from display and layout
By default, all columns that are defined in the internal table IT_PA0008
are displayed in the ALV output. This recipe will now show how we will remove columns from ALV output.
There are two ways of doing this. We can remove columns from the initial layout. In this case, we can still bring them back to display by choosing the Change Layout option. On the other hand, you may remove columns totally, so that they are not even available in the layout.
In this recipe, we will see how the SUBTYPE (SUBTY
) column is made invisible, and the Changed on (AEDTM
) column to be removed from initial output but still available in the layout.
How to do it...
For making the SUBTY
and AEDTM
columns disappear, follow these steps:
- We will use the same
mycolumn
variable used earlier referring to the classCL_SALV_COLUMN_TABLE
. For each column, we will use theget_column
method to get a reference to the respective column. - For the
SUBTY
column, we will use theset_technical
method for removing it from the display (and also from the layout). - For the
AEDTM
column, we will use theset_visible
method of the classCL_SALV_COLUMN_TABLE
. We will pass the valueFALSE
to the method.
How it works...
The set_technical
method is used for making the column as technical. This means that the column is set as a technical column and not displayed in the output, and is not available for display through the Change layout options.
On the other hand, we have made the AEDTM
column (Changed On) invisible from the initial display using the set_visible
method of the CL_SALV_COLUMN_TABLE
class.
Both the columns are not displayed in the new output.
When the user selects Change Layout, only the Changed on column is available for inclusion in the output. The SUBTY
column is totally unavailable for display.