Subscribe

RSS Feed (xml)

Powered By

Skin Design:
Free Blogger Skins

Powered by Blogger

Thursday, February 21, 2008

Creating an ALV Grid in 3 lines using sap abap

Did you know that you can create an ALV Grid very fast; you don't need to define a layout, a fieldcatalog, a container and all the other small things we usually define in an ALV Grid. If we don't need to finetune the ALV Grid and just want to display a list on the screen or to the printer, here is a very simple way to proceed:

DATA: l_alv      TYPE REF TO   cl_gui_alv_grid,
      lt_sflight TYPE TABLE OF sflight.
     
SELECT * FROM sflight INTO TABLE lt_sflight.
     
* Creation of the ALV object, when we use cl_gui_container=>screen0 as parent, the ALVGrid control will
* automatically use the full screen to display the grid, NO CONTAINER DEFINITION IS REQUIRED !
CREATE OBJECT l_alv EXPORTING i_parent = cl_gui_container=>screen0.
     
* calling the display of the grid, the system will automatically create the fieldcatalog based
* on the table name you pass in parameter
CALL METHOD l_alv->set_table_for_first_display
     EXPORTING i_structure_name = 'SFLIGHT'
     CHANGING  it_outtab        = lt_sflight.
     
* You have to create an EMPTY screen, put NOTHING in the layout and this is going to work
CALL SCREEN 100

Instead of creating an empty screen 100, you can also define an empty selection screen in you program and use it, no more screen painter required !

SELECTION-SCREEN BEGIN OF SCREEN 1001.

SELECTION-SCREEN END OF SCREEN 1001.

CALL SELECTION-SCREEN 1001.

Did you know that you can create an ALV Grid very fast; you don't need to define a layout, a fieldcatalog, a container and all the other small things we usually define in an ALV Grid. If we don't need to finetune the ALV Grid and just want to display a list on the screen or to the printer, here is a very simple way to proceed:

DATA: l_alv      TYPE REF TO   cl_gui_alv_grid,
      lt_sflight TYPE TABLE OF sflight.
     
SELECT * FROM sflight INTO TABLE lt_sflight.
     
* Creation of the ALV object, when we use cl_gui_container=>screen0 as parent, the ALVGrid control will
* automatically use the full screen to display the grid, NO CONTAINER DEFINITION IS REQUIRED !
CREATE OBJECT l_alv EXPORTING i_parent = cl_gui_container=>screen0.
     
* calling the display of the grid, the system will automatically create the fieldcatalog based
* on the table name you pass in parameter
CALL METHOD l_alv->set_table_for_first_display
     EXPORTING i_structure_name = 'SFLIGHT'
     CHANGING  it_outtab        = lt_sflight.
     
* You have to create an EMPTY screen, put NOTHING in the layout and this is going to work
CALL SCREEN 100

Instead of creating an empty screen 100, you can also define an empty selection screen in you program and use it, no more screen painter required !

SELECTION-SCREEN BEGIN OF SCREEN 1001.

SELECTION-SCREEN END OF SCREEN 1001.

CALL SELECTION-SCREEN 1001.

No comments:

Post a Comment

Content

Recent Topics