2024 May 18 2:05 PM
Hi,
I need to develop an application with the following GUI:
- on the left, an ALV (SALV)
- right I need to have two subscreens, stacked one on top of the other but resizable
To tell the truth, I don't really know what to use as an object (splitter class, subscreen?)
Thanks for your precious advice.
2024 May 18 7:00 PM - edited 2024 May 18 7:04 PM
Thank you to have included an image of what you want to achieve, it makes your question very clear.
I'm not sure what you want to have in "Details", I assume you want these 2 subscreens to NOT BE a control (child of CL_GUI_CONTROL).
In classic Dynpro, you have the Splitter element (CL_DYNPRO_SPLITTER) to split the two subscreens on the right, there will be a moveable bar ("sash") between the two subscreens.
For the left part, as you want a moveable bar again, you must use CL_GUI_DOCKING_CONTAINER.
I don't see any other solution which corresponds to your exact question (unless one of the 2 Details is to be a GUI control).
EDIT: another solution is to have CL_DYNPRO_SPLITTER twice, one in the main screen, and one in the subscreen.
2024 May 21 9:26 AM - edited 2024 May 21 9:28 AM
Hi Sandra,
thank you very much for responding.
I will try to implement this today, thanks for the valuable advice, I also found some program demos.
I am attaching a graphic again to explain my need. Both subscreens will have simple fields but one of the subscreens must support drag&drop.
By clicking on an ALV line, the AREA 1 and AREA 2 zones will be refreshed using the data from the ALV line.
2024 May 21 1:01 PM
Here, it's a different question, drag & drop is only supported by GUI controls (CL_GUI_CONTROL). You should understand and list the many limits of the very old SAP GUI technology and tell your client. "Switch" to SAPUI5 if the client wants modern UI.
2024 May 23 3:55 PM
Hello, sorry for this late response.
I understand the advice to switch to SAPUI5, it is planned but not before 1 or 2 years (many architectural and security constraints) so no choice to start with SAP GUI, but using the MVC design pattern for less suffer during the passage to Fiori.
Coming back to my need, I understood that I must have a cl_gui_docking_container container on the left for my ALV, it's ok, I have it. But on the right I don't have the choice of having two sub-screens, but how can I "join" them via a splitter? I tried using the cl_dynpro_splitter class without success, and there aren't many examples.
Thanks for your help.
2024 May 23 5:49 PM - edited 2024 May 23 6:43 PM
Demo program DEMO_DYNPRO_SPLITTER_CONTROL.
2024 May 24 10:10 AM
Hi, thanks, i found the TEXTEDIT_DEMO_DRAGDROPF01 demo program which implements this.
2024 May 24 1:33 PM
To clarify what you just said, in case anybody reads the thread, when you say that the program SAPTEXTEDIT_DEMO_DRAGDROP "implements this", you mean that it implements the drag & drop from a Tree control to a Text Edit control (both are CL_GUI_CONTROL elements).
Now back to CL_DYNPRO_SPLITTER, please confirm to the other people that you could implement successfully CL_DYNPRO_SPLITTER because as you said "there aren't many examples". Thank you.