cancel
Showing results for 
Search instead for 
Did you mean: 

How to add a lable for a COLUMN OF webdynpro for abap alv report?

Former Member
0 Kudos

Hi Experts,

I want to change my label of my column of my ALV output.

i have done some coding for that as below.

*Changing the Column Header

data : xcolumns type salv_wd_t_column_ref,

lr_salv_column type ref to cl_salv_wd_column,

lr_salv_table type ref to cl_salv_wd_config_table,

lr_salv_controller type ref to iwci_salv_wd_table.

field-symbols:

<fs_col> type salv_wd_s_column_ref.

lr_salv_controller = wd_this->wd_cpifc_alv( ).

lr_salv_table = lr_salv_controller->get_model( ).

xcolumns = lr_salv_table->if_salv_wd_column_settings~get_columns( ).

loop at xcolumns assigning <fs_col>.

lr_salv_column = <fs_col>-r_column.

lr_salv_column_header = lr_salv_column->get_header( ).

      • get your title however you want - could be from context or hard coded ***

lr_salv_column_header->set_text( 'INVOICE #' ).

In the xcolumns it stored all the the nine column .But the i dont know how can i put all the label in the ALV.Here i m trying to set the text for one column i.e. Invoice #, but it still it not reflecting in the label of the output .

Please go through the code and suggest me .

Regards,

Satya

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Satya

Before lr_salv_column_header->set_text( 'INVOICE #' ).

add the following line in your code.

lr_salv_column_header-->set_ddic_binding_field( '00' ).

regards

Naresh

Former Member
0 Kudos

Hey Naresh ,

Thanks for the idea , my problem is solved .

Regards,

Satya

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi try this code, it works....

i am renaming columns MANDT and PLVAR as 'one' and 'two'

TYPES: BEGIN OF ls_columns,

lv_column TYPE string,

END OF ls_columns.

DATA lt_columns TYPE STANDARD TABLE OF ls_columns.

DATA ls_columns LIKE LINE OF lt_columns.

data lr_col_header type string.

types: begin of head_table,

header type string,

end of head_table.

data: lt_head type TABLE OF head_table,

ls_head like LINE OF lt_head.

LS_HEAD-HEADER = 'one'.

APPEND LS_HEAD TO LT_HEAD.

clear ls_head.

LS_HEAD-HEADER = 'two'.

APPEND LS_HEAD TO LT_HEAD.

FIELD-SYMBOLS <fs_head> like ls_head.

ls_columns-lv_column = 'MANDT'.

APPEND ls_columns TO lt_columns.

ls_columns-lv_column = 'PLVAR'.

APPEND ls_columns TO lt_columns.

LOOP AT lt_columns INTO ls_columns.

READ TABLE LT_HEAD INDEX SY-tabix INTO LS_HEAD.

assign ls_head to <fs_head>.

lr_column = lo_config_model_value->if_salv_wd_column_settings~get_column( ls_columns-lv_column ).

CALL METHOD lr_column->create_header

RECEIVING

value = lr_header.

lr_col_header = <fs_head>-header.

CALL METHOD lr_header->set_text

EXPORTING

value = lr_col_header.

CLEAR LR_COL_HEADER.

ENDLOOP.

hope this solves ur prblm

regards

chythanya

Former Member
0 Kudos

Hi,

loop at xcolumns assigning <fs_col>.

case <fs_col>-id.

when 'INVOICE'. " name of your field"

lr_salv_column = <fs_col>-r_column.

lr_salv_column_header = lr_salv_column->get_header( ).

get your title however you want - could be from context or hard coded ***

lr_salv_column_header->set_text( 'INVOICE #' ).

endcase.

endloop.

Shruthi

Edited by: Shruthi R on May 21, 2008 8:24 AM

Edited by: Shruthi R on May 21, 2008 8:25 AM

Former Member
0 Kudos

Hi Shruthi,

Thanks for the code but i ve impleneted as like u every thing is going correct like case statements but its not reflecting in the table label .Do i need to bind the value with the context or what i dont know ......please suggest me .

Satya

Former Member
0 Kudos

Hi

check this code.

DATA lo_cmp_usage TYPE REF TO if_wd_component_usage.

DATA lo_interfacecontroller TYPE REF TO iwci_salv_wd_table .

*declaration of alv usage

*declare config model

DATA lo_config_model_value TYPE REF TO cl_salv_wd_config_table.

DATA: lr_column TYPE REF TO cl_salv_wd_column,

lr_header TYPE REF TO cl_salv_wd_column_header.

DATA lv_col_header TYPE string.

lo_cmp_usage = wd_this->wd_cpuse_alv_requi_list( ).

IF lo_cmp_usage->has_active_component( ) IS INITIAL.

lo_cmp_usage->create_component( ).

ENDIF.

lo_interfacecontroller = wd_this->wd_cpifc_alv_requi_list( ).

lo_config_model_value = lo_interfacecontroller->get_model( ).

lr_header = 'NEW HEADER'.

lr_column = lo_config_model_value->if_salv_wd_column_settings~get_column( 'HEADER2' ).

CALL METHOD lr_column->create_header

RECEIVING

value = lr_header.

CLEAR lr_column.

CLEAR lr_header.

lr_header = 'NEW HEADER2'.

lr_column = lo_config_model_value->if_salv_wd_column_settings~get_column( 'HEADER2' ).

CALL METHOD lr_column->create_header

RECEIVING

value = lr_header.

OR u can try like this.

TYPES: BEGIN OF ls_columns,

lv_column TYPE string,

END OF ls_columns.

DATA lt_columns TYPE STANDARD TABLE OF ls_columns.

DATA ls_columns LIKE LINE OF lt_columns.

ls_columns-lv_column = 'MANDT'.

APPEND ls_columns TO lt_columns.

ls_columns-lv_column = 'PLVAR'.

APPEND ls_columns TO lt_columns.

LOOP AT lt_columns INTO ls_columns.

lr_column = lo_config_model_value->if_salv_wd_column_settings~get_column( ls_columns-lv_column ).

CALL METHOD lr_column->create_header

RECEIVING

value = lr_header.

ENDLOOP.

regards

chythanya