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

Dynamic user interfaces

Former Member
0 Likes
1,505

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

1 ACCEPTED SOLUTION
Read only

thomas_jung
Developer Advocate
Developer Advocate
0 Likes
1,398

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.

11 REPLIES 11
Read only

Peter_Inotai
Active Contributor
0 Likes
1,398

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

Read only

0 Likes
1,398

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.

Read only

Former Member
0 Likes
1,398

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:

Read only

0 Likes
1,398

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

Read only

thomas_jung
Developer Advocate
Developer Advocate
0 Likes
1,399

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.

Read only

0 Likes
1,398

Thomas,

I've got some additional questions after reading through your helpful posting:

  • Is the HTML-Viewer component sufficient to display all BSP features correctly ? As far as I know it is based on Internet Explorer 4 technology of which I'm not sure if it's still able to display latest webpage features.

  • Is it possible that one difference between BSP and DD is the way in which they are programmed ? I just flew over the documentation referred to by Charles but it seems like DD is less HTML and more ABAP whereas BSP is more HTML then ABAP. If that's the case it would be a problem, because most of my dear fellow developers are more used to ABAP and dynpro programming rather than the creation of dynamic webpages...

Best regards,

Patrick Baer

Read only

0 Likes
1,398

BSP runs fine in the SAP HTML View Control. I've never heard that it was based on IE4. I assumed that it used whatever version of IE you have installed (only controlling it through ActiveX). I have several BSP applications (written in Design 2003 - Unified Renderer) and they work fine in the control. If the SAP HTML Viewer Controler was based upon IE4 - the htmlb:content tag would be throwing an error because it only supports 5.5 and 6.0.

I have not worked with DD much. However it always seemed to be a combersum way of generating HTML. I have a feeling that within SAP's own development, that it has gone by the wayside in favor of BSP. BSP is heavily ABAP (in Model View Controller BSP - Your flow Logic and Model application logic are all written in ABAP). You HTML or Views can have ABAP lanaguage as their server side scripting langauge. I can't image a web environment that is more ABAP than BSP. There are lots of information (the forum, WebLogs, articles) on BSP all over SDN. I won't kid you though. Like any other powerful development tool, BSP has a decent learning curve. However I feel (and there are plent others on SDN that would agree) is an excellent investment for any ABAP programmer.

Read only

0 Likes
1,398

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

Read only

vani_krishnamoorthy
Product and Topic Expert
Product and Topic Expert
0 Likes
1,398

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

Read only

0 Likes
1,398

Vani,

I'm sorry but I have not completely understood your suggestion. Maybe you could point me to some more information or a simple example on the docking container ?

Thanks in advance and best regards,

Patrick Baer

Read only

0 Likes
1,398

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