cancel
Showing results for 
Search instead for 
Did you mean: 

CL_SALV_WD_A_COLUMN problem when used in WD application

Former Member
0 Kudos

Hai Experts,

we use class CL_SALV_WD_A_COLUMN in a webdynpro application to hide or visible collumns in ALV on view.

The following problem occurs;

ename etc are set invisible, the first time the program comes by this code all the invisible fields are displayed in the view, on back and again trigger the code the correct collumns are visible, in this case WBS_ELEMENT, DESCRIPTION and ICON

How comes that the first time the supposed to be visible collumns are invisible and supposed to be invisible fields are visible!?

lo_column := lo_column_settings->get_column( 'PERNR' ).

lo_column->set_visible( ) .

create object lo_input_field

exporting

value_fieldname = 'PERNR'.

lo_input_field->set_read_only( ).

lo_column->set_cell_editor( lo_input_field ).

lo_column->set_cell_design_fieldname( 'CELLDESIGN' ).

  • Set needed columns visible for this view.

lo_column := lo_column_settings->get_column( 'ENAME' ).

lo_column->set_visible( ) .

lo_column := lo_column_settings->get_column( 'TEXT1' ).

lo_column->set_visible( ) .

lo_column := lo_column_settings->get_column( 'KOSTL' ).

lo_column->set_visible( ) .

lo_column := lo_column_settings->get_column( 'ENDDA' ).

lo_column->set_visible( ) .

lo_column := lo_column_settings->get_column( 'BEGDA' ).

lo_column->set_visible( ) .

lo_column := lo_column_settings->get_column( 'AEDTM' ).

lo_column->set_visible( ) .

lo_column := lo_column_settings->get_column( 'UNAME' ).

lo_column->set_visible( ) .

lo_column := lo_column_settings->get_column( 'POSID' ).

lo_column->set_visible( ) .

  • Set not needed columns invisible for this view.

lo_column := lo_column_settings->get_column( 'WBS_ELEMENT' ).

lo_column->set_visible( 01 ) .

lo_column := lo_column_settings->get_column( 'DESCRIPTION' ).

lo_column->set_visible( 01 ) .

lo_column := lo_column_settings->get_column( 'ICON' ).

lo_column->set_visible( 01 ) .

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi,

To make the columns visible use value '02' in the set_visible method.

But ideally , you should use standard constants for this purpose like.

CL_WD_UIELEMENT=>E_VISIBLE-NONE ---for hiding

CL_WD_UIELEMENT=>E_VISIBLE-VISIBLE---for displaying.

something like this.

lo_column->set_visible( CL_WD_UIELEMENT=>E_VISIBLE-NONE ).

Thanks,

Aditya.