Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

list alv using classes

Former Member
0 Likes
922

Hi all,

I am using cl_salv_table to get alv list.

but i want to limit the field columns in the final output, since we so not pass any fieldcat in this method ,

so please tell me how to limit the field in the output.

regards,

kushagra

8 REPLIES 8
Read only

Former Member
0 Likes
860

Hi ,

see the Example coding,

REPORT sapmz_hf_alv_grid .
   TABLES: zsflight.
   *--------------------------------------------------------------------
   * G L O B A L   I N T E R N  A L   T A B L E S
   *--------------------------------------------------------------------
   DATA: gi_sflight TYPE STANDARD TABLE OF sflight.
   *--------------------------------------------------------------------
   * G L O B A L   D A T A
   *--------------------------------------------------------------------
   DATA: ok_code LIKE sy-ucomm,
         g_wa_sflight LIKE sflight.
   * Declare reference variables to the ALV grid and the container
   DATA:
     go_grid             TYPE REF TO cl_gui_alv_grid,
     go_custom_container TYPE REF TO cl_gui_custom_container.
   *--------------------------------------------------------------------
   * S T A R T - O F - S E L E C T I O N.
   *--------------------------------------------------------------------
   START-OF-SELECTION.
     SET SCREEN '100'.
   *&---------------------------------------------------------------------*
   *&      Module  USER_COMMAND_0100  INPUT
   *&---------------------------------------------------------------------*
   MODULE user_command_0100 INPUT.
     CASE ok_code.
       WHEN 'EXIT'.
         LEAVE TO SCREEN 0.
     ENDCASE.
   ENDMODULE.                 " USER_COMMAND_0100  INPUT
   *&---------------------------------------------------------------------*
   *&      Module  STATUS_0100  OUTPUT
   *&---------------------------------------------------------------------*
   MODULE status_0100 OUTPUT.
   * Create objects
     IF go_custom_container IS INITIAL.
       CREATE OBJECT go_custom_container
         EXPORTING container_name = 'ALV_CONTAINER'.
       CREATE OBJECT go_grid
         EXPORTING
           i_parent = go_custom_container.
       PERFORM load_data_into_grid.
     ENDIF.
   ENDMODULE.                 " STATUS_0100  OUTPUT
   *&---------------------------------------------------------------------*
   *&      Form  load_data_into_grid
   *&---------------------------------------------------------------------*
   FORM load_data_into_grid.
   * Read data from table SFLIGHT
     SELECT *
       FROM zsflight
       INTO TABLE gi_sflight.
   * Load data into the grid and display them
     CALL METHOD go_grid->set_table_for_first_display
       EXPORTING i_structure_name = 'SFLIGHT'
       CHANGING  it_outtab        = gi_sflight.
   ENDFORM.                    " load_data_into_grid

Regards,

Morris Bond.

Reward Points if Helpful.

Read only

Former Member
0 Likes
860

hi

Actually I am doing

cl_salv_table=>factory(

EXPORTING

list_display = if_salv_c_bool_sap=>true

IMPORTING

r_salv_table = gr_table

CHANGING

t_table = it_final2 ).

gr_functions = gr_table->get_functions( ).

gr_functions->set_all( abap_true ).

  • gr_table->get_columns( 1 ).

gr_table->display( ).

please tell me how to get header in the output

regards ,

kushagra

Read only

Former Member
0 Likes
860

Hi,

You can exclude a column from ALV display using the method SET_VISIBLE of the class CL_SALV_TABLE.

Try this source code.

**-Variable Declaration.

DATA: IT_SFLIGHT type table of SFLIGHT,

R_TABLE type ref to CL_SALV_TABLE,

R_FUNC type ref to CL_SALV_FUNCTIONS,

R_COLS type ref to CL_SALV_COLUMNS_TABLE,

R_COL type ref to CL_SALV_COLUMN_TABLE.

START-OF-SELECTION.

Select * from SFIGHT into table IT_SFLIGHT.

**Call the class method factory method in TRY ENDTRY block.

TRY.

CALL METHOD cl_salv_table=>factory

IMPORTING

r_salv_table = r_table

CHANGING

c_table = it_sfilght.

CATCH cx_salv_msg .

ENDTRY.

r_func = r_table->get_functions( ).

r_func->set_all( Abap_True ).

r_cols = r_table->get_columns( ).

r_col ?= r_cols->Get_Column( 'XXX' ).

***---'XXX' is the name of the column you want to exclude suppose 'SEATSMAX' in SFLIGHT table.

r_col->SET_VISIBLE( abap_false ).

r_table->display( ).

I believe that this can satisfy the requirement.

Please check.

Regards,

Khushboo.

Read only

0 Likes
860

yes with this columns can be limited,

But how to get header in my alv list.

please help me if you have any idea

Read only

Former Member
0 Likes
860

Hi

Try to find out the parameter which takes the value as sel-text. It is similar to normal ALV.U will pass the value as heading there.

Read only

Former Member
0 Likes
860

Hi ,

For the Header use

DATA: r_column_table TYPE REF TO cl_salv_column_table.

DATA: lr_grid TYPE REF TO cl_salv_form_layout_grid.

CREATE OBJECT lr_grid.

lr_grid->create_text(

row = 1

column = 1

text = 'Header Line 1' ).

lr_grid->create_text(

row = 2

column = 1

text = 'Header Line 2' ).

r_header = lr_grid.

With this u can define your own header names for the columns.

If you want to use table header names itself.

can use this,

DATA: r_display TYPE REF TO cl_salv_display_settings.

r_columns_table = r_table->get_columns( ).

r_columns_table->set_headers_visible( abap_true ).

where r_columns_table is ref variable of class cl_salv_columns_table.

Just check this one.

Regards,

Khushboo

Read only

0 Likes
860

HI khusbhu,

thanks for helping me out

one more question - How can we get Top-of-page in this alv list

Read only

Former Member
0 Likes
860

resolved to an extent