How to modify default field catalog of ABAP ALV with IDA on HANA

1
3818

[adsenseyu2]

Hello everyone, In our previous tutorial we introduced you to the new flavor of ABAP ALV called ALV with Integrated Data Access(IDA). In this tutorial we will learn how to modify default field catalog of ABAP ALV with IDA on HANA.

To modify  the field catalog of ALV with IDA

  • Get the reference object for the field catalog by calling the method FIELD_CATALOG( ) in interface IF_SALV_GUI_TABLE_IDA.
  • Use the method GET_ALL_FIELDS( ) to get columns of ALV.Modify the field catalog as per your requirement.
  • Use the method SET_AVAILABLE_FIELDS( ) to set back the field catalog of ALV

Lets see how we can do it

1. Create an ABAP Program in Eclipse.Enter Name, Description and click on Next.

New ABAP Program

2. In the Selection of Transport Request window, choose the transport request. As we are saving the program in $TMP package in our case no transport request is required.Click on Finish.

Selection of Transport Request

3. Copy and paste the below code.

START-OF-SELECTION.
*1... Create object reference ALV with IDA
  DATA(lo_alv_display) = cl_salv_gui_table_ida=>create( iv_table_name = 'SNWD_PD' ).

*2... Get Field Catalog reference
  DATA(lo_fldcatlog) = lo_alv_display->field_catalog( ).

*3... Get all columns of ALV
  lo_fldcatlog->get_all_fields( IMPORTING ets_field_names = DATA(lts_field_names) ).

*4... Remove unwanted columns
  DATA: lr_fldnames TYPE RANGE OF fieldname,
        ls_fldname  LIKE LINE OF lr_fldnames.
  ls_fldname-sign = 'I'.
  ls_fldname-option = 'EQ'.
  ls_fldname-low = 'CATEGORY'.
  APPEND ls_fldname TO lr_fldnames.  
  DELETE lts_field_names WHERE table_line IN lr_fldnames.
  lo_fldcatlog->set_available_fields( lts_field_names ).

*3... Display ALV
  lo_alv_display->fullscreen( )->display( ).

4. Lets look at what have we written,

  1. Create a reference object of ALV by passing the table name SNWD_PD.
  2. Get the field catalog reference object by calling the method FIELD_CATALOG( ).
  3. Get all the columns of ALV by calling the method GET_ALL_FIELDS( ).
  4. By default all columns available in the table/view will be available in the ALV field catalog. So either remove the columns which are not required (or) clear the default field catalog and add the columns which are required.
  5. Finally set the field catalog back to the ALV by calling the method SET_AVAILABLE_FIELDS( ).

5. Activate and execute the ABAP program/report.

[adsenseyu1][adsenseyu1]

6. Below is the output before removing the column Category.

Output before

7. Below is the output after removing the column category.

Output after removing Category column

You have successfully modified the default catalog of an ABAP ALV with IDA. Please stay tuned to us for ABAP on HANA and ABAP in Eclipse tutorials. Please feel free to comment and let us know your feedback. You feedback will keep us alive.

Thank you.

  • D S

    Hi, Excelent material.
    Could you prepare a tutorial to modify a field on the ALV?
    Regards