07-02-2009 10:59 AM
Hi,
is there a way to change the lines of a box (in german "Rahmen) on an usual abap dynpro dynamically?
Background:
I've a box with several objects inside on my dynpro. In same cases I hidde a few of this inside elements by modifing the screen table. Unfortunately boxes have no resize-attribute like subscreens or tabstrips, as result I've hidde the elements but the size of the box is unchanged.
PS: I didn't found any size or line attribute in the screen table.
Thanks!
Martin
07-02-2009 2:48 PM
Hi,
I think this is not possible to resize a box (frame) in dynpro dynamically, but you can do other thing:
- create two subscreens
- in first add all the controls you want
- in second add only these which you want to stay visible, also change here frame size to desired one
- create one normal screen and place subscreen area on it
- Now depending on some conditon (which you use for hidding controls) simply swap subscreens in that main screen.
"in main screen flow logic
PROCESS BEFORE OUTPUT.
CALLL SUBSCREEN subarea INCLUDING sy-repid dynnr.
PROCESS AFTER INPUT.
MODULE detemine_screen_version.
CALL SUBSCREEN subarea.
"in ABAP program
data: dynnr(4) type n value '0101'. "by default first subscreen
MODULE detemine_screen_version INPUT.
if condtion = 'X'.
dynnr = '0101'.
else.
dynnr = '0102'. "otherwise second subscreen
endif.
ENDMODULE.
This way you can achieve kind of versioning of screen's elements, together with "dynamic" resize option.
Regards
Marcin
09-01-2015 10:44 AM
Hello Martin,
I think it is possible:
Put the content of the box (Rahmen) into a subscreen, which you can set resizable...
Regards
Anne