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

Can I define a vertical SELECTION-SCREEN block ?

Former Member
0 Likes
1,779

Hi, I started getting to know the SELECTION-SCREEN statements now, I was wondering if there's a way to define a vertical screen block instead of an horizontal one.

Also, can I set the size of a given block ? Let's say I don't want it to extend to the right margin of the screen. Can I limit it to the middle, for instance ?

Here's a code excerpt so you can understand a little what I'm intending to do (I want to place the operators vertically on the screen).

SELECTION-SCREEN BEGIN OF BLOCK BOX1 WITH FRAME TITLE S_TBOX1.
  SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 20(10) S_COMM.
  SELECTION-SCREEN END OF LINE.


  SELECTION-SCREEN BEGIN OF BLOCK BOX2 WITH FRAME TITLE S_TBOX2.
    SELECTION-SCREEN BEGIN OF LINE.
      SELECTION-SCREEN PUSHBUTTON (3) S_PB1 USER-COMMAND 'XXX'.
      SELECTION-SCREEN PUSHBUTTON (3) S_PB2 USER-COMMAND 'XXX'.
      SELECTION-SCREEN PUSHBUTTON (3) S_PB3 USER-COMMAND 'XXX'.
      SELECTION-SCREEN PUSHBUTTON (3) S_PB4 USER-COMMAND 'XXX'.
    SELECTION-SCREEN END OF LINE.
  SELECTION-SCREEN END OF BLOCK BOX2.


  SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN PUSHBUTTON (3) S_PB5 USER-COMMAND 'XXX'.
  SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK BOX1.

INITIALIZATION.
  S_COMM = 'CALCULATOR'.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,289

Hi,

Begin of line - end of line will put all the push buttons in a single line.

as per ur requirement put 2 push buttons in one line and the next in the 2nd line.

SELECTION-SCREEN BEGIN OF BLOCK BOX1 WITH FRAME TITLE S_TBOX1.
  SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 20(10) S_COMM.
  SELECTION-SCREEN END OF LINE.


  SELECTION-SCREEN BEGIN OF BLOCK BOX2 WITH FRAME TITLE S_TBOX2.
    SELECTION-SCREEN BEGIN OF LINE.
      SELECTION-SCREEN PUSHBUTTON (3) S_PB1 USER-COMMAND 'XXX'.
      SELECTION-SCREEN PUSHBUTTON (3) S_PB2 USER-COMMAND 'XXX'.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN SKIP.                     " ----> Skips a line
    SELECTION-SCREEN BEGIN OF LINE.
      SELECTION-SCREEN PUSHBUTTON (3) S_PB3 USER-COMMAND 'XXX'.
      SELECTION-SCREEN PUSHBUTTON (3) S_PB4 USER-COMMAND 'XXX'.
    SELECTION-SCREEN END OF LINE.
  SELECTION-SCREEN END OF BLOCK BOX2.


  SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN PUSHBUTTON (3) S_PB5 USER-COMMAND 'XXX'.
  SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK BOX1.

This is how u can do, if it meets ur requirement.

regards,

madhu

Hi, I started getting to know the SELECTION-SCREEN statements now, I was wondering if there's a way to define a vertical screen block instead of an horizontal one.

Also, can I set the size of a given block ? Let's say I don't want it to extend to the right margin of the screen. Can I limit it to the middle, for instance ?

Here's a code excerpt so you can understand a little what I'm intending to do (I want to place the operators vertically on the screen).

SELECTION-SCREEN BEGIN OF BLOCK BOX1 WITH FRAME TITLE S_TBOX1.
  SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 20(10) S_COMM.
  SELECTION-SCREEN END OF LINE.


  SELECTION-SCREEN BEGIN OF BLOCK BOX2 WITH FRAME TITLE S_TBOX2.
    SELECTION-SCREEN BEGIN OF LINE.
      SELECTION-SCREEN PUSHBUTTON (3) S_PB1 USER-COMMAND 'XXX'.
      SELECTION-SCREEN PUSHBUTTON (3) S_PB2 USER-COMMAND 'XXX'.
      SELECTION-SCREEN PUSHBUTTON (3) S_PB3 USER-COMMAND 'XXX'.
      SELECTION-SCREEN PUSHBUTTON (3) S_PB4 USER-COMMAND 'XXX'.
    SELECTION-SCREEN END OF LINE.
  SELECTION-SCREEN END OF BLOCK BOX2.


  SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN PUSHBUTTON (3) S_PB5 USER-COMMAND 'XXX'.
  SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK BOX1.

INITIALIZATION.
  S_COMM = 'CALCULATOR'.

6 REPLIES 6
Read only

Former Member
0 Likes
1,290

Hi,

Begin of line - end of line will put all the push buttons in a single line.

as per ur requirement put 2 push buttons in one line and the next in the 2nd line.

SELECTION-SCREEN BEGIN OF BLOCK BOX1 WITH FRAME TITLE S_TBOX1.
  SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 20(10) S_COMM.
  SELECTION-SCREEN END OF LINE.


  SELECTION-SCREEN BEGIN OF BLOCK BOX2 WITH FRAME TITLE S_TBOX2.
    SELECTION-SCREEN BEGIN OF LINE.
      SELECTION-SCREEN PUSHBUTTON (3) S_PB1 USER-COMMAND 'XXX'.
      SELECTION-SCREEN PUSHBUTTON (3) S_PB2 USER-COMMAND 'XXX'.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN SKIP.                     " ----> Skips a line
    SELECTION-SCREEN BEGIN OF LINE.
      SELECTION-SCREEN PUSHBUTTON (3) S_PB3 USER-COMMAND 'XXX'.
      SELECTION-SCREEN PUSHBUTTON (3) S_PB4 USER-COMMAND 'XXX'.
    SELECTION-SCREEN END OF LINE.
  SELECTION-SCREEN END OF BLOCK BOX2.


  SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN PUSHBUTTON (3) S_PB5 USER-COMMAND 'XXX'.
  SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK BOX1.

This is how u can do, if it meets ur requirement.

regards,

madhu

Read only

0 Likes
1,289

Ok, I thought of that but... now I need the answer for the 2nd question I posted: is it possible to limit the extension of the block, so it ends right after the 4 buttons column ?

SELECTION-SCREEN BEGIN OF BLOCK BOX1 WITH FRAME TITLE S_TBOX1.
  SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 20(10) S_COMM.
  SELECTION-SCREEN END OF LINE.


  SELECTION-SCREEN BEGIN OF BLOCK BOX2 WITH FRAME TITLE S_TBOX2.
    SELECTION-SCREEN BEGIN OF LINE.
      SELECTION-SCREEN PUSHBUTTON (3) S_PB1 USER-COMMAND 'XXX'.
    SELECTION-SCREEN END OF LINE.
    
    SELECTION-SCREEN SKIP.
    
    SELECTION-SCREEN BEGIN OF LINE.  
      SELECTION-SCREEN PUSHBUTTON (3) S_PB2 USER-COMMAND 'XXX'.
    SELECTION-SCREEN END OF LINE.  
    
    SELECTION-SCREEN SKIP.
    
    SELECTION-SCREEN BEGIN OF LINE.  
      SELECTION-SCREEN PUSHBUTTON (3) S_PB3 USER-COMMAND 'XXX'.
    SELECTION-SCREEN END OF LINE.  

    SELECTION-SCREEN SKIP.

    SELECTION-SCREEN BEGIN OF LINE.
      SELECTION-SCREEN PUSHBUTTON (3) S_PB4 USER-COMMAND 'XXX'.
    SELECTION-SCREEN END OF LINE.
  SELECTION-SCREEN END OF BLOCK BOX2.


  SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN PUSHBUTTON (3) S_PB5 USER-COMMAND 'XXX'.
  SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK BOX1.

INITIALIZATION.
  S_COMM = 'CALCULATOR'.

Read only

0 Likes
1,289

Hi,

I cant understand how do u want to limit the block. watever u put under 1 block are displayed in that.

if u want to put a particular push button in a particular column position in a row use:

PUSHBUTTON 2(10) PB1

PUSHBUTTON 12(10) PB2

for more details: type selection-screen in se38 and press F1. u have so many details to play around with selection screen.

Size of block is fixed. if u mean that frame...flexibility can be acheived using se51. u can create ur screen for the prog.

regards,

madhu

Read only

ThomasZloch
Active Contributor
0 Likes
1,289

Try tilting your head 90 degrees sideways...

But seriously, you'll have to paint your own selection screen in this case, I'm afraid.

Thomas

Read only

dev_parbutteea
Active Contributor
0 Likes
1,289

Hi ,

Maybe you should use a module pool program for your purpose. You will be able be put your blocks as per your requirement.

Regards,

Sooness.

Read only

Former Member
0 Likes
1,289

You can reduce the size of each block by using

NO INTERVALS option.

To Exactly fix the sixe of each block , you need use module pool pgming..