Cl_gui_docking_container & tabstrip

How can I add a TABSTRIP to a Docking Container?
Any pointers to some snippet of code?
I was thinking of creating a screen which has a tabcontrol (say 100) but how do I add this screen to the docking container?
For adding TREE to docking container I have cl_simple_tree_model class which takes docking container as the parent. Is there a similar class for TABCONTROL also?
Regards,
Arpit

So it means Classic Screen can contain - GUI controls controls and GUI controls can contain - GUI controls only.
Yup,  GUI controls (only containers) can hold other GUI controls, but classic screen is intended to use them both (directly - classic controls, or inderictly - GUI controls).
There is no way possible that GUI control having Classic Screen. Is there a reason behind this? Why it is so? And any work around from a UI design point of view.
GUI controls (here containers - as these only can hold other GUI controls) can have any classic parts (subscreens, controls) inside it. For some technical reasons this is not possible. Classic controls reside in Application Server (in ABAP program), while GUI controls have their respective instance in SAP GUI (Frontend) called proxy objects . These two have different communication with each other (ABAP object <-> proxy object).
I have a UI with two sections:
- Left view holds a tree and details informations about tree and user details.
- Right section holds screen based of which type of tree node is selected
Now left tree has three type of info and hence I want to categorize them using TABSTRIP. Any other component I can look into for achiving similar UI design?
Instead of using docking container, you can make use of collapsible areas . This is special dialog technique which requires using subscreens. On the left you would place i.e. 3 areas (subscreen) each per one cathegory, in each would be a GUI Tree control. now you can collapse each area and exand depending on requirement (refere transaction BIBS -> link Collapsible Area ). In each such block you could place tree control. For details how to implement it refer expand/collapse button functionality on module pool screen
Antoher way would be placing tabstrip directly on screen layout (on the left) and inside each display one subscreen, in that place your custom container, in that place your GUI tree control. You would in fact have the functionality of resizing container (as in docking container) but you would achieve cathegorization.
Regards
Marcin

Similar Messages

  • Place a Tabstrips Inside Docking Container

    All,
    I have a docking container like the following
    i need to place a tabstrip in the bottom container. I have the following code
    if gc_docking_t is initial.
        create object gc_docking_t
           exporting
             repid     = sy-repid
             dynnr     = '0300'
             extension = 75
             style     = style
             side      = cl_gui_docking_container=>dock_at_top
             metric    = cl_gui_docking_container=>metric_pixel.
      endif.
      if gc_docking_l is initial.
        create object gc_docking_l
          exporting repid = sy-repid
          dynnr = '0300'
          extension = 9999
          side = cl_gui_docking_container=>dock_at_bottom.
      endif.
    I have created a screen 310 with tabstrips inside, how can i call this screen inside this docking container
    Any Info ?

    Hi,
    SCN -Wiki->My Home->Code Gallery->Community Code Gallery->TabStrip in ALV(OOPS)
    Please refer http://wiki.sdn.sap.com/wiki/display/Snippets/TabStripinALV(OOPS)

  • Error in creation of  Tabstrip Control

    Hi Guy's
    Please help me i created one sample tabstrip, when executing this program i am getting error message" SQL Error in the database when accessing a table".  Pasting my code here please help me where i did mistake. it is very urgent.
    1) IN SE-38
    tables : kna1.
    data : begin of itab occurs 0,
    land1 type LAND1_GP,
    name1 type NAME1_GP,
    end of itab.
    *& Module USER_COMMAND_0100 INPUT
    case sy-ucomm.
    when 'DISP'.
    select land1 name1 from kna1 into itab where kunnr = kna1-kunnr.
    append itab.
    endselect.
    when 'EXIT'.
    leave program.
    endcase.
    ENDMODULE. " USER_COMMAND_0100 INPUT
    *& Module STATUS_0110 OUTPUT
    MODULE STATUS_0110 OUTPUT.
    SET PF-STATUS 'xxxxxxxx'.
    SET TITLEBAR 'xxx'.
    MOVE-CORRESPONDING ITAB TO KNA1.
    ENDMODULE.
    2) IN SE51-Fow Logic and layout of Screen 100
    PROCESS BEFORE OUTPUT.
    MODULE STATUS_0100.
    CALL SUBSCREEN SUB INCLUDING 'ZSHANTHU1' '110'.
    PROCESS AFTER INPUT.
    MODULE USER_COMMAND_0100.
    CALL SUBSCREEN SUB.
    3) In the screen -110 Flow logic and Layout
    PROCESS BEFORE OUTPUT.
    MODULE STATUS_0110.
    PROCESS AFTER INPUT.
    MODULE USER_COMMAND_0110.
    Edited by: sai shanhu on Apr 11, 2008 1:32 PM

    Hi,
    From the message it seems either you are using wrong company code in Organisation data of the PO or the company code need to be assigned to country in spro-enterprise structure-Financial accounting-edit copy check company code.
    Please check this.
    Dhruba

  • Issue in clearing of previous data of screen cl_gui_docking_container= free

    Hi All,
    My program displays an idoc list(screen 100). Then if user selects any row in the method
    gets the index no and details of that idoc are displayed in another screen(screen 200) .
    Then control returns to this screen again. Now if user selects any row from idoc list (screen 100) then data is displayed along with data from previous screen .
    In PBO of screen 200 : some code is :
    create object go_docking
              exporting
                dynnr     = '200'
                extension = 65
                side      = cl_gui_docking_container=>dock_at_top.
            create object go_grid_detail
              exporting
                i_parent = go_docking.
    some code
    create object go_custom_cont
              exporting
                container_name = 'DISPLAY_IDOC_CONTENT_200'.
            create object go_grid_detail
              exporting
                i_parent = go_custom_cont.
    some more code
    call method go_grid_detail->set_table_for_first_display
              exporting
                is_layout            = gs_layout
                it_toolbar_excluding = lt_exclude
              changing
                it_fieldcatalog      = fieldcatalog1
    create object go_docking
                exporting
                  dynnr     = '200'
                  extension = 65
                  side      = cl_gui_docking_container=>dock_at_bottom.
              create object go_grid_detail
                exporting
                  i_parent = go_docking.
    In PAI of 200 screen i have used :
    some code      
    free go_grid_detail.
          free go_custom_cont.
          go_docking->free( ).  free go_docking.
    After freeing all data and on call of screen 200 from screen 100 still it shows data from which was there previously on screen 200.
    How can clear all previous data . Even i have free the docking still not working .
    Kindly please help.

    Hi,
    if go_grid_detail is type ref to cl_gui_alv_grid, call go_grid_detail->free( ) before container->free( ).
    Regards,
    Clemens

  • Error in tabstrip control progtram while in Background job scheduling

    Hi ABAPer's,
    I need some help...I developed one tabstriip control program with 3 tabs. while excute it in foregroung it is executing nice..but while i am job scheduling the same program in background it was getting error's like .........
    Control Framework: Fatal error - GUI cannot be reached      
    SET SCREEN not allowed in subscreens (screen: <Report Name> 0100)
    so..if any body know the solution ...plz help me...
    Thanks & Regards
    Srinivas-SAP,

    Hi,
    please go through the functionality of tabstrips.
    basically they are placed on tabstrips.
    so they dont have their own ok codes and call screen and set screen ( to best of my knowledge )
    can not be used.
    if you are using set screen remove them.
    even without using set screen if you are gettig the error, please let us know.
    regards
    Ramchander rao.K

  • Performance Problems with UI Element Tabstrip and IE

    Hi,
    I use the UI Element "Tabstrip" in a Java Web Dynpro Application. The application gets slower the more I jump from one tab to the next. All the other UI Elements (e.g. ComboBox, TextField) are affected, too.
    A system trace on the Web AS seems to indicate that it is a client problem.
    We are using the Internet Explorer 6.0.2900.2180 XP SP2 and the J2EE Engine 6.40.
    It seems to be a problem with the Tabstrip element in combination with the IE (Firefox 3 works fine). We created a test application with only the tabstrip element, three tabs, and a combo box. After several clicks on the tabs, the test application gets slower...
    Does anyone has had the same problem with the tabstrips, or anyone an idea what might be the reason??
    Thanks,
    Sabine

    Open an OSS message (BC-WD-UR).
    Armin

  • How can i hide a tabstrip control

    On my screen there are a pushbutton and a tabsrtip control which contain two tabs.
    initial,the tabstrip is visible,and the button with icon_collapse icon.
    then,i click the button ,and the tabstrip must be invisible,and the button's icon will change to icon_expand.
    if i use screen-name conditions to set the tab invisible,but the tabstrip has a shadow on the screen.the color of the space obtained by the tabstrip is different with other space's color.
    How can i set the color same with other if i want to hide the tabstrip.
    ths very much.

    see the example of custom tabstrip control for 0591 infotype
    MODULE ztab_strip_active_tab_set OUTPUT.
       IF  psyst-dsubt EQ 'BNPF'.
         g_ztab_strip-pressed_tab = c_ztab_strip-tab2.
         LOOP AT SCREEN.
           IF screen-group4 = '060'.
             screen-active = 0.
             MODIFY SCREEN.
           ENDIF.
         ENDLOOP.
       ELSEIF  psyst-dsubt EQ 'BNES'.
         g_ztab_strip-pressed_tab = c_ztab_strip-tab1.
         LOOP AT SCREEN.
           IF screen-group4 = '050'.
             screen-active = 0.
             MODIFY SCREEN.
           ENDIF.
         ENDLOOP.
       ENDIF.
       IF   psyst-dsubt NE 'BNPF' AND psyst-dsubt NE 'BNES'.
          LOOP AT SCREEN.
           IF screen-group4 = '050'.
             screen-active = 0.
             MODIFY SCREEN.
           ENDIF.
         ENDLOOP.
          LOOP AT SCREEN.
           IF screen-group4 = '060'.
             screen-active = 0.
             MODIFY SCREEN.
           ENDIF.
         ENDLOOP.
         g_ztab_strip-pressed_tab = ' '.
       ENDIF.
       ztab_strip-activetab = g_ztab_strip-pressed_tab.
       CASE g_ztab_strip-pressed_tab.
         WHEN c_ztab_strip-tab1.
           g_ztab_strip-subscreen = '0201'.
         WHEN c_ztab_strip-tab2.
           g_ztab_strip-subscreen = '0203'.
         WHEN OTHERS.
           g_ztab_strip-subscreen = '0202'.
       ENDCASE.
    ENDMODULE.                    "ZTAB_STRIP_ACTIVE_TAB_SET OUTPUT
    check this for hiding one tabstrip in one subtype and another in next subtype

  • How to display multiple components in a single tabstrip with different tabs

    Hi Experts,
    I am working on PM UI development. We have created 5 webdynpro components and all have seperate application and link to run. Now we have requirement in which we should have a single window and all components should exist in different tabs.
    Till now I have used Tabstrip in a single copmponent and have no idea how to fix this issue. Could you please help me out to get this done ASAP.
    Thanks in advance.
    Madhu Omer

    Hi Madhu,
    One option that you can try now is to create a new webdnpro component with a tabstrip.
    1. To each of the tab area you attach view container.
    2. In the used components of webdynpro component tab you can add each of the components that you created
    3. Create inboud plugs for each of these application that you created.
    4. When the tab is pressed trigger a call to the inbound plug of the applications
    5. You can refer the following also https://cw.sdn.sap.com/cw/docs/DOC-24752
    All the Best !

  • Hiding A TabStrip ViewSet in a Window

    Hello everyone,
    I created a TabStrip ViewSet in a Window.  Depending on certain conditions, i'd like to hide or show certain tab strips.
    Is this possible?
    Any help will be much appreciated.
    Mike

    Hello Arun,
    I downloaded and executed the Tutorial.  Unfortunately the UI elements are within a view. 
    I need to be able to change the properties of a tabstrip that is a viewset that is inside a Window.
    regards,
    Mike

  • How to insert tabstrip control in module pool screen painter

    Hi all!
    plz tell e how to use tabstrip control in module pool screen painter.Also plz give me an example program using tabstrip control.

    To insert tabstrip just open layout of screen and press on the tabstrip button there .
    Use this souce code further to activate it .
    CONTROLS tabstrip TYPE TABSTRIP.
    DATA: okcode TYPE sy-ucomm,
    dynnr TYPE sy-dynnr,
    flag type flag,
    active like tabstrip-activetab .
    call SCREEN 100.
    *& Module USER_COMMAND_0100 INPUT
    text
    MODULE USER_COMMAND_0100 INPUT.
    data: lv_okcode type syucomm.
    lv_okcode = okcode.
    clear okcode.
    case lv_okcode.
    WHEN 'TAB1'.
    dynnr = '0110'.
    WHEN 'TAB2'.
    dynnr = '0120'.
    WHEN 'TAB3'.
    dynnr = '0130'.
    WHEN 'TAB4'.
    dynnr = '0140'.
    WHEN 'TAB5'.
    "check authorization, if authorization fails
    flag = 'X'. "set the global flag
    active = 'TAB1'. "store active tab in global variable
    dynnr = '0110'. "set the screen number
    WHEN 'BACK' or 'EXIT'.
    leave program.
    ENDCASE.
    IF lv_okcode(3) = 'TAB'.
    tabstrip-activetab = lv_okcode.
    ENDIF.
    ENDMODULE. " USER_COMMAND_0100 INPUT
    *& Module STATUS_0100 OUTPUT
    text
    MODULE STATUS_0100 OUTPUT.
    SET PF-STATUS 'MAIN'.
    SET TITLEBAR 'xxx'.
    IF tabstrip-activetab IS INITIAL OR
    dynnr IS INITIAL.
    tabstrip-activetab = 'TAB1'.
    dynnr = '0110'.
    ENDIF.
    "set the activetab explicilty here
    if flag eq 'X'. "from authorization failure
    tabstrip-activetab = active. "'TAB1'
    clear flag.
    endif.
    ENDMODULE. " STATUS_0100 OUTPUT

  • How to hide tabstrip Control at runtime?

    hi to all.
    i used a tabstrip control in my screen.
    i want to make my tabstrip visible or invisible based on t-code
    for my screen.
    it will be total based on t-code.
    if i will enter t-code zins11 it will show me tabstrip for screen 100.
    if i will enter t-code zins12 it will hide me tabstrip for screen 100.
    Reply me.
    thanks.

    If you don't mind seeing the blank grey Tab Strip control box and simply hiding the tabs, this code will help.
      LOOP AT SCREEN.
        IF screen-name CP 'TS_TEST1_TAB*'.
          screen-active = 0.
          modify screen.
        ENDIF.
      ENDLOOP.
    where my Tab Strip name was 'TS_TEST1

  • Execution of Report with Tabstrips in Background Mode

    Hi everyone,
                  I have used 2 tabstrips in my report. When I choose the second tabstrip, give the related I/P's and then execute in Background mode. The O/P generated is coming for the 1st tabstrip instead of what I'd selected.
    How could I execute the report in Background Mode for my Second Tabstrip? Any changes to be done in my Coding?
    Please throw some light into this !!!!
    Regards,
    Ramakrishnan.G

    Hi
    You may have attached user command to your tabs in definition -
    <b>DATA : TAB1, TAB2.
    SELECTION-SCREEN BEGIN OF TABBED BLOCK TB FOR 2 LINES.
    SELECTION-SCREEN TAB (15) TABNAME1 USER-COMMAND TAB1 DEFAULT SCREEN 101.
    SELECTION-SCREEN TAB (15) TABNAME2 USER-COMMAND TAB3 DEFAULT SCREEN
    102.
    ...</b>
    Now in
    <b>
    INITIALIZATION.
      TABNAME1 = 'TAB1'.
      TABNAME2 = 'TAB2'.
    AT SLECTION-SCREEN.
    IF TB-ACTIVETAB = 'TAB1'.
        TAB1 = 'X'.
        TAB2 = ' '.
      ELSE.
        TAB1 = ' '.
        TAB2 = 'X'.
      ENDIF.
    START-OF-SELECTION.
    IF TAB1 = 'X'.
      PERFORM ROUTINE_FOR_TAB1.
    ELSE.
       PERFORM ROUTINE_FOR_TAB2.
    ENDIF.</b>
    Cheers.
    ( Dont forget to reward if answers helped )

  • What are the uses of table control and tabstrip control

    can anyone tell me the uses of table control and tabstrip control

    Hi,
    table control is more comfortable for customizing.scroll bars all possible in this.where as it is not possible in step loops.
    check this example.
    PROGRAM ZBHTCTRL.
    TABLES: LFA1, EKKO.
    DATA: OKCODE1 LIKE SY-UCOMM,
    OKCODE2 LIKE SY-UCOMM.
    CONTROLS TABC TYPE TABLEVIEW USING SCREEN 1001.
    DATA: BEGIN OF ITAB OCCURS 0,
    MANDT LIKE EKKO-MANDT,
    EBELN LIKE EKKO-EBELN,
    BSTYP LIKE EKKO-BSTYP,
    BSART LIKE EKKO-BSART,
    END OF ITAB.
    MODULE USER_COMMAND_1000 INPUT.
    CASE OKCODE1.
    WHEN 'BACK'.
    SET SCREEN 0.
    WHEN 'NEXT'.
    SET SCREEN 1001.
    SELECT * FROM EKKO INTO CORRESPONDING FIELDS OF TABLE ITAB WHERE
    LIFNR = LFA1-LIFNR.
    ENDCASE.
    ENDMODULE. " USER_COMMAND_1001 INPUT
    MODULE MOVE_DATA OUTPUT.
    EKKO-MANDT = ITAB-MANDT.
    EKKO-EBELN = ITAB-EBELN.
    EKKO-BSTYP = ITAB-BSTYP.
    EKKO-BSART = ITAB-BSART.
    ENDMODULE. " MOVE_DATA OUTPUT
    MODULE USER_COMMAND_1001 INPUT.
    CASE OKCODE2.
    WHEN 'BACK'.
    SET SCREEN 1000.
    ENDCASE.
    ENDMODULE. " USER_COMMAND_1001 OUTPUT
    MODULE STATUS_1001 OUTPUT.
    SET PF-STATUS 'MENU'.
    SET TITLEBAR 'TIT'.
    ENDMODULE. " STATUS_1001 OUTPUT
    MODULE STATUS_1000 OUTPUT.
    SET PF-STATUS 'DMENU'.
    SET TITLEBAR 'xxx'.
    ENDMODULE. " STATUS_1000 OUTPUT
    FORM ON_CTMENU_FORM1 USING CMENU TYPE REF TO CL_CTMENU.
    CALL METHOD CMENU->LOAD_GUI_STATUS
    EXPORTING
    PROGRAM = ' ZBHTCTRL'
    STATUS = 'CMENU'
    MENU = CMENU.
    CALL METHOD CMENU->ADD_FUNCTION
    EXPORTING
    FCODE = 'RX'
    TEXT = 'RECIEVE'.
    ENDFORM.
    FLOW LOGIC:
    PROCESS BEFORE OUTPUT.
    MODULE STATUS_1000.
    PROCESS AFTER INPUT.
    MODULE USER_COMMAND_1000.
    PROCESS BEFORE OUTPUT.
    MODULE STATUS_1001.
    LOOP AT ITAB WITH CONTROL TABC CURSOR TABC-TOP_LINE.
    MODULE MOVE_DATA.
    ENDLOOP.
    PROCESS AFTER INPUT.
    MODULE USER_COMMAND_1001.
    LOOP AT ITAB.
    ENDLOOP.
    for more info check this link.
    http://help.sap.com/saphelp_nw2004s/helpdata/en/9f/dbac1d35c111d1829f0000e829fbfe/content.htm
    thanks
    Ashu.

  • Dialog  problem using tabstrip & cl_gui_alv_grid

    Hi All,
         I have created a dialog program which has 2 tab strips. On first I am displaying data n a table control & on other tabstrip display same data using grid. Here to display data in grid I have used set_table_for_first_display of class cl_gui_alv_grid.
    The data is displayed successfully. But when I select second tab and return to first tab it still shows the grid on first tab in front.
    Kindly tell me what I am missing.
    Regards,
    Dilip
    Following is my code:
    REPORT  ZTEMP02.
    controls: tab type tabstrip,
              tab_c type tableview using screen 101 .
    data  :    cont1 type ref to cl_gui_custom_container,
              grid type ref to cl_gui_alv_grid.
    data : imara like mara occurs 1 with header line.
    data zmara type LVC_T_FCAT.
    data wa_mara like line of zmara.
    data flag .
           select * from mara into table imara up to 100 rows.
    call screen 100.
    ENDMODULE.                 " STATUS_0100  OUTPUT
    *&      Module  USER_COMMAND_0100  INPUT
          text
    MODULE USER_COMMAND_0100 INPUT.
    case sy-ucomm.
      when 'T1'.
        tab-activetab = 'T1'.
          FLAG = SPACE.
      when 'T2'.
        tab-activetab = 'T2'.
      WHEN 'EXT'.
        LEAVE PROGRAM.
    endcase.
    ENDMODULE.                 " USER_COMMAND_0100  INPUT
    *&      Module  STATUS_0102  OUTPUT
          text
    MODULE STATUS_0102 OUTPUT.
    if FLAG is initial.
      create object :
      cont1
        exporting
           container_name = 'CONT',
      grid
        exporting
           I_PARENT = cont1.
      FLAG = 'X'.
    endif.
    call method grid->SET_TABLE_FOR_FIRST_DISPLAY
         EXPORTING
           i_structure_name = 'MARA'
         changing
           it_outtab = imara[].
    ENDMODULE.                 " STATUS_0102  OUTPUT

    Have you attached a subscreen to tab T1 .
    You will also have to use Call subscreen .

  • Query Regarding 'cl_gui_docking_container'

    Hi ,
    I had to add a Custom Conatiner in a Selection Sreen and I have used docking container for the same u201Ccl_gui_docking_containeru201D.
    DATA: g_custom_container TYPE REF TO cl_gui_docking_container.
    CREATE OBJECT g_custom_container
          EXPORTING
            repid     =  sy-repid
            dynnr   =  sy-dynnr
            ratio     =  80
            side      = cl_gui_docking_container=>dock_at_bottom
            name     = 'Container'.
        IF sy-subrc <> 0.
          MESSAGE 'Error in the Docking control' TYPE 'E'.
        ENDIF.
    The display is coming fine in the screen. However, is there a way to reduce the size of the container? Currently it is covering the entire screen size. I would want to minimize the size, but have failed to understand how.
    Please Help,
    Thanks in Advance,
    Rachana Govind.

    Yes change the RATIO value in your CONTRUSTOR(CREATE OBJECT),   Or you can use the EXTENSION parameter in your constructor. YOu can set the value to something like 150,
    CREATE OBJECT g_custom_container
    EXPORTING
    repid = sy-repid
    dynnr = sy-dynnr
    ratio = 20   "<---  Set this OR
    extension = 150 "<-- Set this
    side = cl_gui_docking_container=>dock_at_bottom
    name = 'Container'.
    IF sy-subrc 0.
    MESSAGE 'Error in the Docking control' TYPE 'E'.
    ENDIF.
    Regards,
    Rich Heilman

Maybe you are looking for

  • Video format for ipod classic 30gb

    Hi, I've just bought a music video from the iTunes Store, but, when I try putting it on my older click wheel 30gb Ipod Classic, iTunes tells me it wasn't copied to the Ipod because it cannot be played on the Ipod. I checked the music video's format a

  • Printing of sap script

    Hi frnds, i want to print 1 tp 100 in sapscript in a single page in a vertical manner 1 6 2 7 3 8 how will i do it                                          regards,                                           karthik

  • Os 9.1 install on g4 10.4.9 won't boot into classic

    I'm trying to install os9 onto the same partition as 10.4.9. I boot onto the os9 install disk, it installs just fine, will open in os9 just fine, but won't boot up in classic under 10.4. (sorry for the run on sentence) I can get to the OS9 screen and

  • GT80 Titan SLI: Graphics performance

    It's not without reason we make a lot of noise about the GT80 Titan SLI – we're immensely proud of all its unique features, not to mention the fact that it's our most high-performing system, and probably the fastest gaming notebook out there. We can

  • Linq to Entities Multiple Children ODAC Right Paranthesis not Found

    All, Oracle Version Stuff: Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production PL/SQL Release 11.2.0.2.0 - Production CORE     11.2.0.2.0     Production TNS for Linux: Version 11.2.0.2.0 - Production NLSRTL Version 11.2.0.2.0