2009 Mar 09 10:25 AM
Hi All,
Is it possible to have a splitter container using CL_SALV ?
If yes please explain the steps how to go about making the splitter container using this class.
Regards,
Darpana.
2009 Mar 10 9:39 AM
Hi,
I have understood what Uwe and Pratik have said.
I will have to pass the parameter accordingly to the CL_SALV_TABLE.
But the problem is that i do not know the steps of how to go about making the splitter container also.
Regards,
Darpana
2009 Mar 09 10:35 AM
Hello Darpana
It is not the splitter container which uses the class but on the contrary the class which uses the container instances of the splitter container.
Method CL_SALV_TABLE=>FACTORY has an optional IMPORTING parameter R_CONTAINER.
If you fetch the container instances of your splitter container and provide them when calling method FACTORY then I believe it should work the same way like for class CL_GUI_ALV_GRID.
Regards
Uwe
2009 Mar 09 1:53 PM
Hi Darpana,
As Uwe said container is not depended on class. You can obviously use container with cl_salv_table class.
It is one of the optional parameters for that class.
Go to Patterns -> choose radiobutton ABAP Object Patterns -> Ok -> (Now you will see different patterns for ABAP Objects) -> choose radio button Call method -> enter Class/Interface : CL_SALV_TABLE -> Method :FACTORY.
Now you will see container as a optional exporting parameter of a class.
Hope it clear your doubts.
Just let me know if you are having any more queries.
Regards,
Pratik Vora
2009 Mar 10 9:39 AM
Hi,
I have understood what Uwe and Pratik have said.
I will have to pass the parameter accordingly to the CL_SALV_TABLE.
But the problem is that i do not know the steps of how to go about making the splitter container also.
Regards,
Darpana
2009 Mar 10 9:54 AM
Hi darpana,
Go through follwing.
Create a screen.
Make Custom Control area on the screen.
Now in screen PBO call method wtih cotainer as explained.
Setting Up Display Type in a Simple, Two-Dimensional Table
In the CL_SALV_TABLE class, the FACTORY method gets the following parameters that are relevant for the display type:
· LIST_DISPLAY
· R_CONTAINER
· CONTAINER_NAME
You determine how the table is displayed with a combination of these parameters.
Parameter Settings for the Display Type
Display type In the Container
LIST_DISPLAY ABAP_FALSE
R_CONTAINER Reference to container; type CL_GUI_CONTAINER
CONTAINER_NAME Name of the container
Hope it helps you,
Kindly inform if more inputs required.
Regards,
Pratik Vora
2009 Mar 10 10:02 AM
Hi Darpana,
data: g_custom_container TYPE REF TO cl_gui_custom_container, "custom container
g_splitter_container TYPE REF TO cl_gui_splitter_container, "splitter container
g_top_container TYPE REF TO cl_gui_container, "top container
g_bottom_container TYPE REF TO cl_gui_container, "bottom one
g_slav_table TYPE REF TO cl_salv_table.
"create custom container placed in CUSTOM AREA defined on screen
CREATE OBJECT g_custom_container
EXPORTING
container_name = 'CUSTOM_AREA'
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5
OTHERS = 6.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
"now split the container into two independent containers
CREATE OBJECT g_splitter_container
EXPORTING
parent = g_custom_container
rows = 2
columns = 1
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
"get top container
CALL METHOD g_splitter_container->get_container
EXPORTING
row = 1
column = 1
RECEIVING
container = g_top_container.
"get bottom container for ALV grid
CALL METHOD g_splitter_container->get_container
EXPORTING
row = 2
column = 1
RECEIVING
container = g_bottom_container.
"create alv control instance placing it on the top container
TRY.
CALL METHOD cl_salv_table=>factory
EXPORTING
r_container = g_top_container
IMPORTING
r_salv_table = g_slav_table
CHANGING
t_table = "your_table_here
.
CATCH cx_salv_msg .
ENDTRY.
"here you can use bottom container to place some ohter GUI control
...
Regards
Marcin
2009 Mar 10 10:03 AM
Thanks so much.
I got the answer myself on what steps to follow to make the container splitter container.
Regards,
Darpana.
2009 Mar 10 11:52 AM
Hello Darpana
You may have a look at sample report ZUS_SDN_TWO_ALV_GRIDS in thread
in order to see how to work with splitter containers.
Regards
Uwe