SELECTION-SCREEN – Dynamic selection screen change

This is an example of dynamic changes at selection screen. When you click on the second radio button, another field will be displayed. The tip here is when changing state of objects in the screen, internal table SCREEN has to be edited in SELECTION-SCREEN OUTPUT, otherwise it wont’t work.

REPORT ZSELECTION_SCREEN.

* Text-symbols
*001  Lorem ipsum ei mei affert eruditi necessitatibus, id nec tota ullum
*002  Nibh maluisset scripserit et

**********************************************************************
* Selection Screen
**********************************************************************
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: p_radio TYPE sprps RADIOBUTTON GROUP a1 USER-COMMAND radio.
SELECTION-SCREEN: COMMENT 4(67) text-001.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: p_radio2 TYPE sprps RADIOBUTTON GROUP a1.
SELECTION-SCREEN: COMMENT 4(28) text-002.
SELECTION-SCREEN END OF LINE.
PARAMETERS: p_test TYPE char1.
**********************************************************************
* AT SELECTION-SCREEN OUTPUT
**********************************************************************
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF screen-name = 'P_TEST' or
screen-name = '%_P_TEST_%_APP_%-TEXT'.
IF p_radio2 = 'X'.
screen-active = '1'.
ELSE.
screen-active = '0'.
ENDIF.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
START-OF-SELECTION.
WRITE: 'End'.

SELECTION-SCREEN – Complex Selection screen example

When you have to enter a text greater than 50 characters to describe a field in the selection screen, or need to have more control over the position of the items in the selection screen, use technique below. This can also be used when you need to insert for example two radio buttons in the same line.

REPORT ZSELECTION_SCREEN.
 *Text-symbols
 *001  Lorem ipsum ei mei affert eruditi necessitatibus, id nec tota ullum
 *002  Nibh maluisset scripserit et
 
 Selection Screen 
 
 SELECTION-SCREEN BEGIN OF LINE.
 PARAMETERS: p_radio1 type SPRPS RADIOBUTTON GROUP a1.
 SELECTION-SCREEN: COMMENT 4(67) text-001.
 SELECTION-SCREEN END OF LINE.
 SELECTION-SCREEN BEGIN OF LINE.
 PARAMETERS: p_radio2 type SPRPS RADIOBUTTON GROUP a1.
 SELECTION-SCREEN: COMMENT 4(28) text-002.
 SELECTION-SCREEN END OF LINE.

Inactive/Active Program

When we create a new program, its state will be Inactive until we activate it.

Whenever we change an existent program, we can still work with it without changing its LOAD compilation (active version interpreted at runtime). For that, we should work in ABAP Editor (SE38), and when we have to run it, we press F8 without changing its status to Active. Saving is allowed.

Continue reading Inactive/Active Program