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

Attach a screen to a splitter container cell

former_member768686
Discoverer
0 Likes
1,700

Hi,

I already have a splitter container with 2 cells : one for a ALV-tree and the other for a ALV-grid.

I want to add a thrid cell to my splitter container with one output field and one input/output field.

I could insert an ALV-grid in this cell but I'm sure there is more simple to do. I was expecting to connect a screen with those 2 fields to my splitter container cell put I didn't manage to find out the convenient statement or method.

Thanks and best regards.

Hi,

I already have a splitter container with 2 cells : one for a ALV-tree and the other for a ALV-grid.

I want to add a thrid cell to my splitter container with one output field and one input/output field.

I could insert an ALV-grid in this cell but I'm sure there is more simple to do. I was expecting to connect a screen with those 2 fields to my splitter container cell put I didn't manage to find out the convenient statement or method.

Thanks and best regards.

4 REPLIES 4
Read only

athavanraja
Active Contributor
0 Likes
866

there is no easier way - your approach of ALV is better. else another way is

make the container to occupy only say 90% of the screen size and in the balance screen area (10%) have your input field. (i feel this is the easiest way).

placing a transaction/custom screen in a container has been discussed before here, without any concrete solution (what you want is something like SE80). It looks to be complex.

Regards

Raja

Read only

0 Likes
866

Hi Raja,

Let's go to the alv-grid.

Thanks and best regards.

Olivier.

Read only

0 Likes
866

Here is an example. In this one, the docking container is hanging off the side of a selection screen. You can implement the same kind of thing for a dynpro. The only different is that you put the code(from the AT Selection screen output event) into the PBO of the dynpro.



report  zrich_0005.

data: imara type table of mara with header line.
data: it001w type table of t001w with header line.

parameters: p_check type c,
            p_rad1 radiobutton group grp1 default 'X',
            p_rad2 radiobutton group grp1,
            p_rad3 radiobutton group grp1.

start-of-selection.

at selection-screen output.

  data: dockingleft  type ref to cl_gui_docking_container,
        splitter  type ref to cl_gui_splitter_container,
        alv_top    type ref to cl_gui_alv_grid,
        alv_bot     type ref to cl_gui_alv_grid,
        dock_sub_cont1   type ref to cl_gui_container,
        dock_sub_cont2   type ref to cl_gui_container,
        repid type syrepid.

  repid = sy-repid.

* Get some data
  select * up to 100 rows into corresponding fields of table imara
              from mara.

  select * into corresponding fields of table it001w
              from t001w.

  check dockingleft is initial.

* Create docking and slitter

  create object dockingleft
              exporting repid     = repid
                        dynnr     = sy-dynnr
                        side      = dockingleft->dock_at_left
                        extension = 600.

  create object splitter
                 exporting parent = dockingleft
                           rows    = 2
                           columns = 1.


* Set the splitter containers
  call method splitter->get_container
                 exporting row            = 1
                           column         = 1
                           receiving container = dock_sub_cont1.


  call method splitter->get_container
                 exporting row            = 2
                           column         = 1
                           receiving container = dock_sub_cont2.



* Create ALV at top
 create object alv_top
               exporting i_parent = dock_sub_cont1.


  call method alv_top->set_table_for_first_display
      exporting
           i_structure_name       = 'MARA'
      changing
           it_outtab       = imara[].



* Create ALV at Bottom

  create object alv_bot
              exporting i_parent = dock_sub_cont2.

  call method alv_bot->set_table_for_first_display
     exporting
          i_structure_name       = 'T001W'
     changing
          it_outtab       = it001w[].

Regards,

Rich Heilman

Read only

RichHeilman
Developer Advocate
Developer Advocate
0 Likes
866

There is a easier way...... You have one container which contains two splitter containers, right? Make the first container a "docking container" and hang it off of a regular dynpro. The dynpro would then have your I/O fields.

Regards,

Rich Heilman