Skip to Content
author's profile photo Former Member
Former Member

Dynamic user interfaces

Hello,

here's a little teaser for user interface experts out there:

I wonder what kind of techniques ABAP offers for creating dynamic user interfaces.

When talking of 'dynamic' I imagine something like an arbitrary number of 'containers' where other programs (classes f.ex.) can draw their own user interface into.

In Java this could be realized with the container concept in swing.

I have done some research on this topic and the results are so far:

  • a plain dynpro: seems to have no dynamic at all -> not an option

  • a plain dynpro with a tabstrip: in case the number of tabs CAN be set at runtime AND the subscreens CAN be drawn from inside separate classes -> a definite option otherwise not an option

  • any kind of web-frontend (BSP, JSP etc.): web-frontends are not allowed by company restrictions -> not an option

  • dynamic documents: I could not find many information on these yet (also not on sdn). In case that an arbitrary number of parts of the dynamic document can be created from inside separate classes -> an option otherwise not an option

I will be happy about any further information on this topic.

Best regards,

Patrick Baer

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

4 Answers

  • Best Answer
    Posted on Feb 10, 2005 at 05:12 PM

    I know you said that BSP wasn't an option because of comapany policy. However you can run a BSP inside the HTML control in a SAPGui transaction (this even supports single-sign on). The user hardly even knows that he/she is interacting with a web interface. You can have the Dynpro buttons (like back and exit) control the HTML container. Since Dynamic Documents are really just HTML in a HTML Control, there is very little difference. However BSP you have more provided functionality than just plain HTML.

    Add a comment
    10|10000 characters needed characters exceeded

    • Former Member Thomas Jung

      I spent some time today doing research on BSP's and built a "BSP-Viewer" embedded into the SAP-GUI. Though I like the concept of BSP's a lot (like I did already with JSP's) but company restricitions are too strict. So BSP's are out of the play.

      After the discussion I started to play around with the different containers and basically I'm quite pleased with them and the "cl_gui_container_bar" allows an arbirtary number of "subscreens" which matches my requirements.

      But as usual there's still a downside:

      I found no option to built text labels and text fields into a container. Unless this is possible I can't give this approach a chance. I already found some postings which seemed to confirm that this is in fact not possible but I can't really believe it. At least from what it looks like it seems to me that the object navigator utilizes both: splitters, containers and all the stuff AS WELL AS the "classical" elements like text boxes, labels and so on.

      Any ideas on how to combine the container concept with text fields, labels maybe whole dynpros or subscreens ?

      Best regards,

      Patrick Baer

  • Posted on Feb 10, 2005 at 03:42 PM

    May be you meant something else, but what about control elements (eg: cl_gui_docking_container, cl_gui_alv_grid etc)? They might fit with your requirements.

    Peter

    Add a comment
    10|10000 characters needed characters exceeded

    • Former Member

      Peter,

      I thought about these too as they all are fitted into a container through the "parent" attribute. But as far as I know, not all components - especially not text fields and labels - are designed with this "object-oriented" concept.

  • Posted on Feb 11, 2005 at 02:50 PM

    Hi Patrick,

    Just a thought ...

    If you want to add on or compbine a screen to your exsiting container maybe you can make your container a docking container. The Docking container can dock to the screen which the user program suppies to your main dyamic screen function...

    For eg : You have a function module which performs certain functionality. It has a screen to display certain information. It allows the user to add on to the functionality provided and also show some more information in their own screen. So if your main function module displays its information in a docking container and then this container docks to the users screen you can combine the screen of the function module with the users GUI. Something similar to SE80...

    Regards,

    Vani

    Add a comment
    10|10000 characters needed characters exceeded

    • Hi Patrick,

      There is a demo program in controls example: RSDEMO_DOCKING_CONTROL. It is a simple demo of creating a docking control

      What I was talking about is similar to transaction se80 where on the left hand side where you see your object list is a docking container and the right hand side where you see your source code is a screen which has some elements and a text edit control.

      You can also refer to the controls documentation for more information regardng doncking control.

      Regards,

      Vani

  • author's profile photo Former Member
    Former Member
    Posted on Feb 10, 2005 at 04:54 PM

    Dynamic documents help:

    http://help.sap.com/saphelp_470/helpdata/en/f0/edd938d8dbe93de10000000a11405a/frameset.htm

    The splitter container can be used to divide up the screen into multiple containers. As I recall, they can be nested so you can get as many as you need (up to some limit). I coded an example some time ago where I put 16 containers on the screen, but at that point they are so small that it is a major annoyance to see anything useful.

    Check this post for a splitter container example:

    Changing width of a custom container dynamically

    Add a comment
    10|10000 characters needed characters exceeded

    • Former Member

      Charles,

      thanks for pointing at the documentation - but I must confess I'm not the biggest fan of SAP docs. Still I will try to figure out some more details on the dynamic documents. As my searches on SDN didn't reveal any helpful information on DD it seems to me like no one uses them...

      Thanks also for pointing out the example code.

      I will try it out and see if DD fits the specification.

      Best regards,

      Patrick Baer

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.