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

creating a table control(class)

Former Member
0 Likes
1,117

hi everyone,

how to create a table control using class methods..

thx in advance,

regards,

balaji.s

4 REPLIES 4
Read only

Former Member
0 Likes
778

Hi Balaji

try this code.

pls reward pts if help.

Deepanker.

1. Create a Control (for Custom and Split Containers only)

2. Instantiate a Container Object (in case of Custom and Split Containers, specify the control which is created by us in Screen painter) CREATE OBJECT

3. Instantiate an Object of the kind of report that has to be displayed (List, Grid or Tree). CREATE OBJECT . Here we need to specify the Parent Container as the so that it sits in that container.

4. Call appropriate methods to display the report on the screen. CALL METHOD ->

Example:

DATA : g_dock TYPE REF TO cl_gui_docking_container,

g_split TYPE REF TO cl_gui_easy_splitter_container,

g_cont1 TYPE REF TO cl_gui_container,

g_cont2 TYPE REF TO cl_gui_container,

g_grid1 TYPE REF TO cl_gui_alv_grid,

g_grid2 TYPE REF TO cl_gui_alv_grid.

  • i_mara is an internal table of structure MARA

SELECT * FROM mara INTO TABLE i_mara.

  • i_kna1 is an internal table of structure KNA1

SELECT * FROM kna1 INTO TABLE i_kna1.

  • To create an Object of type Docking Container

CREATE OBJECT g_dock

EXPORTING

side = cl_gui_docking_container=>dock_at_top

extension = 200 .

  • To Create an Object of Type Split Container. Here we can see that the Docking *Container Created above has been used as a parent .

CREATE OBJECT g_split

EXPORTING

parent = g_dock

orientation = 1 .

  • Easy Split container splits one Control into 2 manageable controls, each of them is used * to handle one GUI Container each

g_cont1 = g_split->top_left_container.

g_cont2 = g_split->bottom_right_container.

  • To Create an Object of type Grid . Here we can see that the Left Split Container * Created above has been used as a parent .

CREATE OBJECT g_grid1

EXPORTING

i_parent = g_cont1 .

  • To Create an Object of type Grid . Here we can see that the Right Split Container * Created above has been used as a parent .

CREATE OBJECT g_grid2

EXPORTING

i_parent = g_cont2 .

  • The method of Grid Control Object is used to display the Data.

CALL METHOD g_grid1->set_table_for_first_display

EXPORTING

i_structure_name = 'MARA'

CHANGING

it_outtab = i_mara[] .

  • The method of Grid Control Object is used to display the Data.

CALL METHOD g_grid2->set_table_for_first_display

EXPORTING

i_structure_name = 'KNA1'

CHANGING

it_outtab = i_kna1[] .

pls reward pts if help.

Read only

Former Member
Read only

Former Member
0 Likes
778

Hi,

You can use the class CL_TABLECONTROL and method SET_VALUES to populate values to the table control.

you have to create a custom container to place the table control on the screen

declare type references to the custom container class and table control class. Initialize those and call method SET_VALUES.

Regards,

Renjith Michael.

Read only

0 Likes
778

Sorry for such a post after so long. Actually I am new to abap and want to learn about the class cl_tablecontrol. As you have mentioned in your reply that we have to make a custom container for the table control on the screen. How can we place a table control in a custom container (not alv grid) ? Can you give me a sample code for the same class?