Split screen or docking container help

Hi all,
My program
i have a docking control where the user configure his own programs as nodes on the left pane
Requirement:
On double click of node corresponding program has to appear or get executed on the right pane.
How do i achieve this.
Can any one help me.
Regards,
Lisa

Hi Lisa,
you must register the events in the left pane and then capture them for the right pane.
For example, if you are using a tree control, you have to register the events in this way:
  DATA: EVENTS TYPE CNTL_SIMPLE_EVENTS,
        event type cntl_simple_event.
* define the events which will be passed to the backend
  " node double click
  event-eventid = CL_GUI_SIMPLE_TREE=>EVENTID_NODE_DOUBLE_CLICK.
  event-appl_event = 'X'. " process PAI if event occurs
  APPEND event to events.
  CALL METHOD G_TREE->SET_REGISTERED_EVENTS
    EXPORTING
      EVENTS = EVENTS
    EXCEPTIONS
      CNTL_ERROR                = 1
      CNTL_SYSTEM_ERROR         = 2
      ILLEGAL_EVENT_COMBINATION = 3.
  IF SY-SUBRC <> 0.
    MESSAGE A000.
  ENDIF.
* assign event handlers in the application class to each desired event
  SET HANDLER G_APPLICATION->HANDLE_NODE_DOUBLE_CLICK FOR G_TREE.
  SET HANDLER G_APPLICATION->HANDLE_EXPAND_NO_CHILDREN FOR G_TREE.
Then you have to capture the events:
CLASS LCL_APPLICATION DEFINITION.
  PUBLIC SECTION.
    METHODS:
      HANDLE_NODE_DOUBLE_CLICK
        FOR EVENT NODE_DOUBLE_CLICK
        OF CL_GUI_SIMPLE_TREE
        IMPORTING NODE_KEY,
ENDCLASS.
CLASS LCL_APPLICATION IMPLEMENTATION.
  METHOD  HANDLE_NODE_DOUBLE_CLICK.
    " this method handles the node double click event of the tree
                                       " control instance
  ENDMETHOD.
ENDCLASS.
For more information, please have a look at the Reuse Library (transaction SE83) > SAP Technology > Controls > Tree Controls, or go directly to program SAPSIMPLE_TREE_CONTROL_DEMO.
I hope it helps. Kind regards,
Alvaro

Similar Messages

  • Different screens in docking container...?

    Hi gurus,
    I'll try to explain what I'd like to do....
    I have a dynpro with a docking container, on the left I have a tree where I can choose an activity (e.g.: go to se11, go to se38, go to se16, and so on).
    I would like to run those transaction inside the docking container, without leaving to another screen, is it possible?
    Thank you very much!!!

    Hi,
    I think it is not possible, although your idea is interesting. You must think that we must use Call Transaction XXXX and that means that we´re leaving our current programme in order to execute the called programmed and screen behind transaction XXXX. We cannot use Submit since the instruction is for executable reports only.
    When using the SAP´s main menu, we have to leave the main programme (SAPLSMTR_NAVIGATION, screen 0100) when double clicking a node in the tree. When using a docking container, you must insert either screens or subscreens for displaying your information. You cannot enbed a transaction into this screens since it happens what I´ve explained in my first paragraph.
    If you find a way, let us know.

  • Is there any way of getting split screen function in firefox 4

    Being able to split screen was a very helpful feature in the previous version of firefox, however, it is not available in version 4. Is there any other way of getting this tool?

    Firefox has never had a built-in option to split the screen, such a feature is added by an extension. The only one that I know of that is compatible with Firefox 4 is Split Pannel - https://addons.mozilla.org/firefox/addon/split-pannel

  • Assign subscreen to docking container

    Hi All,
    I have requirement to make the subscreen of mainscreen draggable/reziable. Very much similar to se80.
    I have two subscreens in main screen. Now I need to give this reziable functionality to one of the subscreen .
    This can be achieved through docking container. But currently I am not using any containers.
    If suppose I have to use docking container then how will i assign this subscreen of main screen to docking container.
    Please suggest.
    Thanks.

    Thanks Naimesh.
    I have tabstrip and subscreen inside it. For each tabstrip click we display different table controls which are again designed in different screens as subscreen. Now how will I make this subscreen in Main screen resizable.

  • Help or tutorials about ABAP UI programming such as Tree and dock container

    Hi,
    I'm looking for help, tutorials or any ressources I can explore to undertsand how to work in ABAP with controls, containers, tree and so on.
    Each time I do a search on help.sap.com, I found help on a detailed object such as tree or docking container but I never found a global view. I would like to understand the big picture, have an averview of all involved concept. For example, if I want the user screen to be splitted in 2 parts, one that will display a tree, the other one that will display "simple" screen painter trees that will change depending on what user choose using the tree on the left. How do I need to proceed ?
    I'm sorry if I have not a more precise question because I don't found where to begin.
    Thanks for help
    Regards
    Morgan

    Hi Morgan,
    You can start going thorugh the concepts from help.sap.com. Have a look at the following link:
    http://help.sap.com/erp2005_ehp_04/helpdata/EN/1b/337930a63011d2bd6b080009b4534c/frameset.htm
    You will get the entire set of Example codes in the Transaction Code : ABAPDOCU.
    You can also look for examples for Dialog Programing in SE38 using the DEMODYNPRO*.
    Have a look at the Package : SLIS. This is a one point of all examples and demo of SAP Control Framework and ALV Functionality.
    Hope this helps.
    Thanks,
    Samantak.

  • Selection screen elements in docking container

    Hi fellow abapers
    Is there any way to create pushbutton, input fields (Parameters or select-options ) in a docking container.
    Plz help.
    Regards
    Prabumanoharan

    Abhi,
    I can understand what are you trying to do. But that is not possbile with a DOCKING container.
    Here is a work around. Have two screens, one with the fields that you want to display and other one empty. Whenever you want to decrease the size, just replace the actual screen with fields with the dummy empty screen.
    There is NO other way of doing this.
    Regards,
    Ravi
    Note : Please mark the helpful answers

  • Embedding a screen in a docking container - Is it possible at all??

    I am working on a screen design similar to SE80, where I will be required to display a tree structure in screen say '0100' to the left of the screen and upon node_double_click event, I should be able to bring up another screen '0200' on to the right side with out navigating away from the screen 0100.
    I have a custom control in my initial screen 0100, covering the full area, and I am instantiating the docking container object in the node_double_click handler method of the tree control. I have passed sy-repid and dynpro number '0200' but to no avail.
    The following is the code sample.
          IF docking_right IS INITIAL.
            CREATE OBJECT docking_right
              EXPORTING
                repid     = g_repid
                dynnr     = '0200'
                side      = cl_gui_docking_container=>dock_at_right
                extension = 900.
          ENDIF.
    I have gone through many posts in this forum but none of them have a definitive indication if that can be possible, that is why I had to create this new thread. I will be glad if any of you could let me know if there is way accomplishing this.
    Thanks in advance,
    Raghu.

    Hi Raghu,
    I was specifically interested in exploring the option (if any) of combining conventional controls and the new GUI controls because I am trying to get to a scenario where I should be able create conventional controls like list boxes and buttons dynamically based on user actions. .
    For GUI controls you always need some container which is a "bridge" b/w control created in program and the screen. For standard dialogs you don't need such container. You just place them on the screen. Therefore you can combine these techniques by simply placing a container (which you already have and will use for tree control). The rest of the screen area can be used by standard controls (listoboxes, i/o fields etc). This way standard controls would be statically set, whereas container would store GUI control assinged dynamically in program.
    If, on the other hand, you want both controls and GUI controls be dynamically determined, just keep you container (for GUI control) and create a subscreen area where you dynamically swap different screens. These screen must be set as subscreens and must have statically defined layout, thus only determination of the screen to be displayed is dynamic here.
    Anyhow, there is no way to dynamically set standard controls on the screen. You could, however in turn switch them on/off in PBO (based on certain conditions) but this would require placing all the possible controls and just hiding/showing them. No replacment is then possible, so image empty gaps which this approach would produce.
    Ironically the constructor of docking container supports repid and dynpro for no apparent utility.
    As I said, container is used only to place some GUI control in it and then send this entire package (container+ GUI control) to appropriate place on the screen. That's why in container's constructor there is both repid and dynpro. These only determine where this container should be attached.
    Regards
    Marcin

  • Help white screen no dock, no screen. no desk top!!!!

    I have no screen, no dock, no desk top. nothing just a white screen. Can anyone help me restore  I don't know how to fix this problem
    Help please!!!!!

    Ok downloaed osx lion and icloud. now my mac starts up and goes to a white screen. no dock no desk top nothing. it's like a great big white cloud nothing else.  I have used the option f11 key to get system preferances to come up and everything checks out. If I pull up recent under system and click on iphoto I get a white screen, If I click on icloud I get a white screen. If I click on Icloud on apple support I get a screen with the sign in screen jumping around.  I'm so brain dead trying to figure this out. Please if you can help!! Much thanks!

  • Docking container in a screen with others elements.

    Hy yall,
    i'm trying to add a docking container at the bottom of a screen where i have already others elements like subscreen etc...
    The add is ok but the dockingcontainer is pushing on the right all the elements in the dynpro.
    How can i control where the docking starts ( his distance from the top) in other to keep it under the others elements?
    P.s: it's a docking_left.

    Hello Andre
    If you have already elements on the screen I would recommend to use a resizable CUSTOM_CONTROL element on the screen to which you link your docking container.
    Furthermore, if the docking container should dock from the bottom why don't you use DOCKING_BOTTOM and make the width of the docking container huge (to fill the entire screen to the right side)?
    Regards
      Uwe

  • How ...Max. Width of Docking container  in Screen ??

    Hi.. ^^
    I want to fill two docking container in a screen(alignment Top, Left, Bottom or Right).
    so I set first docking container width(300) and set 2nd docking container. I want know available maximum width of 2nd docking container.
    How can i get maximum width of screen. (dynamic)
    Is there any method or function module ?

    Hi,
    Check this thread..
    SIZE_CONTROL Event for docking container
    regards
    vijay

  • Rebuild screen freeze - unable to update firmware as not docking. Help please

    Hello, I've got an 8gb Zen.
    Always worked fine til I tried one of those hand crank chargers, since then I turn it on and it will freeze on the rebuilding screen.
    Ran scandisk on it - no joy.
    Wanted to try and update firmware to see if that helped but it will not connect to computer via USB. It will charge from the usb but just not connected, nothing.
    Any help appreciated. Thank you

    QRe: Rebuild screen freeze - unable to update firmware as not docking. Help please? So, it freezes on the rebuilding screen after formatting? It is very odd. Just to make sure... you have formatted (not cleaned up) the device from the Recovery Mode menu, right?
    My only suggestion now is trying to mount the device on another computer (try one with a BSD or Linux operating system) and format it from here. With some luck, you should be able to see it as a new USB dri've. I am suggesting one of these operating systems, as you have a chance to mount your player on them even if it does not boots up properly. (I did it to recover mine just before suspecting there was a discrepancy on the FATs stored of the filesystem.) In your case, you will have a chance to format the device (using a FAT filesystem, of course) from these operating systems. I am, however, surprised to see that the Recovery Mode format function does not do its work on your player.
    If your device does not boot up and freezes on the scanning/rebuilding processes there is a chance you have a problem with your filesystem instead of a fried USB port. So, there is a chance you can fix this device yourself yet.

  • Pnp & split screen help

    I'm 99% finished with my project.
    I now want to display split screen for both edited clips.
    I noticed I get picture in picture  on and off through out the clip like in the display screen (top right)
    How did that happen? It happens when I have both clips enabled.
    how do I get remove picture in picture and also  activate split screen?

    Probably to use the transform functions to crop and reposition the images. You'll probably need to to do one and then use the copy and paste attributes function to apply it to the other shots on that layer.

  • Split screen in module pool programming

    Hi Sap GURUS,
    Please can you provide me some help on  how to create the spilt screen ( similar to IDOC screen WE05 transaction ) screen. left side the idoc nubmer are available, on click of particular IDOC, detials would be displayed in right side sceen.  I need to develope the screen like this.
    You inputs are highly appricated.
    Thanks in advance.
    Regards
    Harikrishna

    Check out this code:
    1) First create a docking container.
    2) Docking will hold your tree
    3) double clicking on the tree will open a screen on the right side.
    This program only demonstrates how to create a docking container and split it...
    REPORT  z_sourav_splitter.
    TYPE-POOLS:cndp.
    DATA: docking TYPE REF TO cl_gui_docking_container,
          splitter TYPE REF TO cl_gui_splitter_container,
          picture_control_1 TYPE REF TO cl_gui_picture,
          picture_control_2 TYPE REF TO cl_gui_picture,
          dock_sub_cont1 TYPE REF TO cl_gui_container,
          dock_sub_cont2 TYPE REF TO cl_gui_container,
          url1 TYPE cndp_url,                " URL-field in screen 200
          url2 TYPE cndp_url.               " URL-field in screen 200
    PARAMETERS: p TYPE char1.
    AT SELECTION-SCREEN OUTPUT.
      IF docking IS NOT BOUND.
    * create the docking container
        CREATE OBJECT docking
           EXPORTING
    *      parent                      =
           repid                       = sy-repid
           dynnr                       = sy-dynnr
           side                        = docking->dock_at_left
           extension                   = 200
    *      style                       =
    *      lifetime                    = lifetime_default
    *      caption                     =
    *      metric                      = 0
    *      ratio                       =
    *      no_autodef_progid_dynnr     = 'X'
    *      name                        =
          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.
          CHECK splitter IS NOT BOUND.
          CREATE OBJECT  splitter
               EXPORTING
                 link_dynnr        = sy-dynnr
                 link_repid        = sy-repid
    *          shellstyle        =
    *          left              =
    *          top               =
    *          width             =
                 height            = 50
    *          metric            = cntl_metric_dynpro
                 align             = 15
                 parent            = docking
                 rows              = 2
                 columns           = 1
    *          no_autodef_progid_dynnr =
    *          name              =
               EXCEPTIONS
                 cntl_error        = 1
                 cntl_system_error = 2
                 OTHERS            = 3
          IF sy-subrc = 0.
            CALL METHOD splitter->get_container
              EXPORTING
                row       = 1
                column    = 1
              RECEIVING
                container = dock_sub_cont1.
            CREATE OBJECT picture_control_1
              EXPORTING
                parent = dock_sub_cont1.
            CALL FUNCTION 'DP_PUBLISH_WWW_URL'
              EXPORTING
                objid                 = 'DEMOWORD97SAPLOGO'
                lifetime              = cndp_lifetime_transaction
              IMPORTING
                url                   = url1
              EXCEPTIONS
                dp_invalid_parameters = 1
                no_object             = 2
                dp_error_publish      = 3
                OTHERS                = 4.
    * load image
            IF sy-subrc = 0.
              CALL METHOD picture_control_1->load_picture_from_url_async
                EXPORTING
                  url = url1.
            ENDIF.
            CALL METHOD splitter->get_container
              EXPORTING
                row       = 2
                column    = 1
              RECEIVING
                container = dock_sub_cont2.
            CREATE OBJECT picture_control_2
              EXPORTING
                parent = dock_sub_cont2.
            CALL FUNCTION 'DP_PUBLISH_WWW_URL'
              EXPORTING
                objid                 = 'ENJOYSAP_LOGO'
                lifetime              = cndp_lifetime_transaction
              IMPORTING
                url                   = url2
              EXCEPTIONS
                dp_invalid_parameters = 1
                no_object             = 2
                dp_error_publish      = 3
                OTHERS                = 4.
    * load image
            IF sy-subrc = 0.
              CALL METHOD picture_control_2->load_picture_from_url_async
                EXPORTING
                  url = url2.
            ENDIF.
          ENDIF.
        ENDIF.
      ENDIF.

  • How can I pass a docking container to a program in a non-simple context?

    Dear colleagues,
    I want to pass a docking container like the one in SE80 to another program.
    The following code works fine:
    REPORT z_moving_dock.
    DATA: cl_docker type REF TO cl_gui_docking_container.
    PARAMETERS: test.
    INITIALIZATION.
      CREATE OBJECT cl_docker EXPORTING no_autodef_progid_dynnr = 'X'.
    END-OF-SELECTION.
      WRITE:/ test.
    But I cannot extend this to my current program. There I sourced out anything related to the GUI into a function group to obey the MVC paradigma. (That's maybe the error in reasoning, but I'm following the book Design Patterns in Object-Oriented ABAP from SAP Press and -- of course -- good and healthy programming style.)
    So it's a function group which knows the dynpros and controls, the main program knows only the data.
    Now I have a docking container like the one in SE80. We have many working older programs and I want to switch to them carrying the docking container with me. I have searched the Demos in SAP, the Online Help, the SAP Library, Books, the Web, this Forum, but none of them goes beyond the simpler examples that always work.
    I tried the LINK method on the docking container. I tried it before calling the new program (btw. by SUBMIT). I tried it afterwards from the called program (via a function module from the aforementioned group -- but the group is tied to the old program context and therefore I am in a new "instance" of it). I tried different values for REPID and DYNNR in LINK. I debugged SE80 -- too complicated!
    If it works well I get the container back when I return to the calling program. If it works badly the container is completely lost.
    Perhaps I should export something to memory?
    But I strongly would prefer not to alter the called programs: In the future I might also want to call a SAP standard program.
    I also didn't find some documentation explaining what is going on in the background so I could figure out in which direction to "think".
    I also tested the following code on SAP R/3 4.7 and SAP ERP 2005 with the same results.
    In the meantime I also created a minimal example. First the triggering report:
    REPORT z_moving_docking_container.
    DATA: g_example TYPE REF TO zcl_moving_docking_container.
    CREATE OBJECT g_example.
    This obviously calls the main class ZCL_MOVING_DOCKING_CONTAINER which has only this constructor:
    METHOD constructor.
      CALL FUNCTION 'Z_SHOW_DYNPRO'.
    ENDMETHOD.
    Normally this class should handle the business logic. Here it only calls this function module. In the appropriate function group, say Z_MOVING_DOCKING_CONTAINER, I have these declarations in the TOP-Include:
    FUNCTION-POOL z_moving_docking_container.
    DATA:
      gv_okcode TYPE ui_func,
      go_docker TYPE REF TO cl_gui_docking_container.
    The function group also contains a dynpro 9000 with this flow logic:
    PROCESS BEFORE OUTPUT.
      MODULE status_9000.
    PROCESS AFTER INPUT.
      MODULE user_command_9000.
    The modules are straightforward:
    MODULE status_9000 OUTPUT.
      SET PF-STATUS '9000'.
      IF go_docker IS INITIAL.
        CREATE OBJECT go_docker
               EXPORTING no_autodef_progid_dynnr = 'X'.
      ENDIF.
    ENDMODULE.
    with at least the function code ONLI defined in PF-status 9000 and
    MODULE user_command_9000 INPUT.
      IF gv_okcode = 'ONLI'.
        SUBMIT z_sample_report AND RETURN.
      ELSE.
        LEAVE PROGRAM.
      ENDIF.
    ENDMODULE.
    The report Z_SAMPLE_REPORT can be any report you like.
    At last the function module contains the following code:
    FUNCTION z_show_dynpro.
    *"*"Lokale Schnittstelle:
      CALL SCREEN 9000.
    ENDFUNCTION.
    As I see this, this is a straightforward application of the working example at the top and the principles of MVC and encapsulation of the dynpro logic (to "avoid" global variables as best as possible).
    Clearly in some sense this is an academic question, but I have built a fairly big application like that up to now ...
    </edit>
    Thanks for reading and contemplating,
    Thomas
    Edited by: Thomas Geiß on Feb 4, 2009 11:03 AM
    Edited by: Thomas Geiß on Feb 4, 2009 11:59 AM
    Edited by: Thomas Geiß on Feb 4, 2009 12:01 PM

    You'll either have to pass the data in as parameters in the applet tags or create a JavaScript tag and have the JavaScript pass it in. If the array is very large then you open a connection between the Applet and a servlet and pass the data that way.

  • Docking container

    Hello,
    Could you please tell me what is wrong either in the code below or in my logic:
      DATA: d_container TYPE REF TO cl_gui_docking_container,
            e_control TYPE REF TO cl_gui_abapedit.
      CALL SCREEN 200.
      CREATE OBJECT d_container
        EXPORTING
    *      repid                       = sy-cprog
    *      dynnr                       = sy-dynnr
          side                        = cl_gui_docking_container=>dock_at_left.
      check sy-subrc = 0.
      CREATE OBJECT e_control
        EXPORTING
          parent = d_container.
    Logic
    - create empty screen 0200
    - create docking container docking it to the left part of screen
    - embedding abap editor control to this docking container
    My question is: why when running program I don't see anything, as the docking container with the control inside wouldn't be there?
    Thank you for help in advance.
    Marcin

    Hi Jonathan,
    The problem was obvious. The code simply should be included in PBO module of the screen.
    There is no need to pass neither sy-repid nor sy-dynnr unless it displayed in other screen/program.
    Gr8 thanks for your help:)
    Regards,
    Marcin

Maybe you are looking for

  • How to use itunes gift card to buy gems on Clash of Clans (in-app purchase)?

    I recently redeemed an $10 itunes gift card. The credit shows up next to my apple ID, but when I try to purchase gems on Clash of Clans I get an error that says "Insufficient Remaining Store Credit- Tap Continue to sign in". When I sign in it wants m

  • Ipfilter on Solaris 10 on VMware problem

    Hi! I have a problem with ipfilter on my VMware Solris 10 b72 system. I`ve configured ipf strictly according to documentation, creating zero-sized ipf.conf and ipnat.conf with one 'rdr' rule. current status is: ipnat -ls shows that everything is OK,

  • Passing parameters to subtemplate.

    Hi! I read Tims blog Here is the link about subtemplates and it was very intresting. I got it working except for one thing. The parameter ReportName doesn't work as it should. I get the following error: oracle.xdo.parser.v2.XPathException: Variable n

  • Error opening Licensing Agreement

    Prior to downloading Reader, I tried to open the Licensing Agreement http://www.adobe.com/legal/licenses-terms.html#software (http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/legal/licenses-terms/pdf/Rea der_11.0.pdf) but keep getting an

  • Lightroom with Windows 8

    Hi all, I´ve an issue running lightroom 4 with Windows 8 - most of the time lightroom won´t start or it will crash while loading the image libary. Any ideas? Best Regards, Tobias www.lise.de Köhlstr. 27 50827 Köln