SAP ABAP Advanced Cookbook
上QQ阅读APP看书,第一时间看更新

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:

  1. We will use the same mycolumn variable used earlier referring to the class CL_SALV_COLUMN_TABLE. For each column, we will use the get_column method to get a reference to the respective column.
  2. For the SUBTY column, we will use the set_technical method for removing it from the display (and also from the layout).
  3. For the AEDTM column, we will use the set_visible method of the class CL_SALV_COLUMN_TABLE. We will pass the value FALSE to the method.
    How to do it...

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.

How it works...

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.

How it works...