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

How to change box (border) lines dynamically?

martin_pichlo
Participant
0 Likes
723

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

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

2 REPLIES 2
Read only

MarcinPciak
Active Contributor
0 Likes
493

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

Read only

Former Member
0 Likes
493

Hello Martin,

I think it is possible:

Put the content of the box (Rahmen) into a subscreen, which you can set resizable...

Regards

Anne