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

Selection screen changes at selection screen output

Former Member
0 Likes
821

Hi all,

I have to make my one block in selection scren invisible based on a particular condition.

SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.

SELECT-OPTIONS: s_status FOR g_status NO INTERVALS.

PARAMETERS : p_trans(3) TYPE c,

p_hub(3) TYPE c.

SELECT-OPTIONS: s_auart FOR g_auart.

PARAMETERS: p_buyt(1) TYPE c.

SELECT-OPTIONS:

s_order FOR g_vbeln,

s_zzhrt FOR g_zzhrtosec,

s_vbeln1 FOR g_vbeln1,

s_dccode FOR g_dccode NO INTERVALS,

s_pgi FOR g_pgi.

SELECTION-SCREEN END OF BLOCK blk1.

SELECTION-SCREEN BEGIN OF BLOCK blk2 WITH FRAME TITLE text-002.

PARAMETERS : p_c1 AS CHECKBOX USER-COMMAND cmd.

SELECT-OPTIONS: s_list FOR g_list NO INTERVALS MODIF ID sc1.

SELECTION-SCREEN END OF BLOCK blk2 .

SELECTION-SCREEN BEGIN OF BLOCK blk3 WITH FRAME TITLE text-003.

PARAMETERS : p_c2 AS CHECKBOX USER-COMMAND cmd2.

SELECT-OPTIONS: s_mail FOR g_mail NO INTERVALS MODIF ID sc2.

PARAMETERS: p_accld LIKE g_saknr DEFAULT '1342009999' MODIF ID sc2

OBLIGATORY,

p_accit LIKE g_saknr DEFAULT '1365009999' MODIF ID sc2

OBLIGATORY,

p_opacc LIKE g_saknr DEFAULT '346100XX99' MODIF ID sc2

OBLIGATORY,

p_lmacc LIKE g_saknr DEFAULT '1393009999' MODIF ID sc2

OBLIGATORY,

p_lmopa LIKE g_saknr DEFAULT '3471009999' MODIF ID sc2

OBLIGATORY.

SELECTION-SCREEN END OF BLOCK blk3.

The block 3 'blk3' should be made invisible based on a condition.

I have tried loop at screen-name but its not working.

Kindly advice.

Thanks and Regards,

Divya

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
788

PARAMETERS : CHK AS CHECKBOX USER-COMMAND ABC.

*--------------- Block 1
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME .
PARAMETERS : A(10) TYPE C MODIF ID BK1.
SELECTION-SCREEN END OF BLOCK B1.


*--------------- Block 2
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME .
PARAMETERS : B(10) TYPE C MODIF ID BK2.
PARAMETERS : C(10) TYPE C MODIF ID BK2.
PARAMETERS : D(10) TYPE C MODIF ID BK2.
SELECTION-SCREEN END OF BLOCK B2.


*----------------------------------
AT SELECTION-SCREEN OUTPUT.

LOOP AT SCREEN.
IF CHK = 'X'.
IF SCREEN-GROUP1 = 'BK1'.
SCREEN-INVISIBLE = 1.
SCREEN-INPUT = 0.
MODIFY SCREEN.
ENDIF.
ENDIF.

IF CHK IS INITIAL.
IF SCREEN-GROUP1 = 'BK2'.
SCREEN-INVISIBLE = 1.
SCREEN-INPUT = 0.
MODIFY SCREEN.
ENDIF.
ENDIF.



ENDLOOP.

Message was edited by:

Perez C

6 REPLIES 6
Read only

Former Member
0 Likes
788

For your conditions make the field attribute active as 0.

loop at screen.

screen-active = 0.

update screen.

endloop.

Read only

Former Member
0 Likes
789

PARAMETERS : CHK AS CHECKBOX USER-COMMAND ABC.

*--------------- Block 1
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME .
PARAMETERS : A(10) TYPE C MODIF ID BK1.
SELECTION-SCREEN END OF BLOCK B1.


*--------------- Block 2
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME .
PARAMETERS : B(10) TYPE C MODIF ID BK2.
PARAMETERS : C(10) TYPE C MODIF ID BK2.
PARAMETERS : D(10) TYPE C MODIF ID BK2.
SELECTION-SCREEN END OF BLOCK B2.


*----------------------------------
AT SELECTION-SCREEN OUTPUT.

LOOP AT SCREEN.
IF CHK = 'X'.
IF SCREEN-GROUP1 = 'BK1'.
SCREEN-INVISIBLE = 1.
SCREEN-INPUT = 0.
MODIFY SCREEN.
ENDIF.
ENDIF.

IF CHK IS INITIAL.
IF SCREEN-GROUP1 = 'BK2'.
SCREEN-INVISIBLE = 1.
SCREEN-INPUT = 0.
MODIFY SCREEN.
ENDIF.
ENDIF.



ENDLOOP.

Message was edited by:

Perez C

Read only

Former Member
0 Likes
788

Hi,

Define the MODIF ID for all select-options and parameters within the block, then turn them off for that group.

selection-screen begin of block b1.

select-options s_datum for sy-datum. modif id CHK.

parameters: p_datum type sy-datum modif id CHK.

selection-screen end of block b1.

at selection-screen output.

loop at screen.

if screen-group1 = 'CHK'.

<b> screen-invisible = '1'.</b>

modify screen.

endif.

endloop.

You also have help on this link. an exisintg topic.

Hope this helps.

Reward if helpful.

Regards,

Guru

Read only

varma_narayana
Active Contributor
0 Likes
788

Hi..

Try this...

SELECTION-SCREEN BEGIN OF BLOCK blk3 WITH FRAME TITLE text-003.

PARAMETERS : p_c2 AS CHECKBOX USER-COMMAND cmd2.

SELECT-OPTIONS: s_mail FOR g_mail NO INTERVALS MODIF ID sc2.

PARAMETERS: p_accld LIKE g_saknr DEFAULT '1342009999' MODIF ID sc2

OBLIGATORY,

p_accit LIKE g_saknr DEFAULT '1365009999' MODIF ID sc2

OBLIGATORY,

p_opacc LIKE g_saknr DEFAULT '346100XX99' MODIF ID sc2

OBLIGATORY,

p_lmacc LIKE g_saknr DEFAULT '1393009999' MODIF ID sc2

OBLIGATORY,

p_lmopa LIKE g_saknr DEFAULT '3471009999' MODIF ID sc2

OBLIGATORY.

SELECTION-SCREEN END OF BLOCK blk3.

<b>AT SELECTION-SCREEN OUTPUT.

LOOP AT SCREEN.

IF CHK = 'X'.

IF SCREEN-GROUP1 = 'SC2'.

SCREEN-INVISIBLE = 1.

SCREEN-INPUT = 0.

MODIFY SCREEN.

ENDIF.

ENDLOOP.</b>

reward if Helpful.

Read only

Former Member
0 Likes
788

Hi Divya,

Try this.

SELECTION-SCREEN BEGIN OF BLOCK blk3 WITH FRAME TITLE text-003.

PARAMETERS : p_c2 AS CHECKBOX USER-COMMAND cmd2.

SELECT-OPTIONS: s_mail FOR g_mail NO INTERVALS MODIF ID sc2.

PARAMETERS: p_accld LIKE g_saknr DEFAULT '1342009999' MODIF ID sc2

OBLIGATORY,

p_accit LIKE g_saknr DEFAULT '1365009999' MODIF ID sc2

OBLIGATORY,

p_opacc LIKE g_saknr DEFAULT '346100XX99' MODIF ID sc2

OBLIGATORY,

p_lmacc LIKE g_saknr DEFAULT '1393009999' MODIF ID sc2

OBLIGATORY,

p_lmopa LIKE g_saknr DEFAULT '3471009999' MODIF ID sc2

OBLIGATORY.

SELECTION-SCREEN END OF BLOCK blk3.

AT SELECTION-SCREEN OUTPUT.

LOOP AT SCREEN.

IF CHK = 'X' and

SCREEN-GROUP1 = 'SC2'.

SCREEN-INVISIBLE = 1.

SCREEN-INPUT = 0.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

Reward If Useful.

Regards,

Chitra.

Read only

Former Member
0 Likes
788

Hi Divya,

Check the below code.

tables: pa0000, pa0001.

parameters: p_chk1 as checkbox user-command rusr,

p_chk2 as checkbox user-command rusr,

p_chk3 as checkbox user-command rusr,

p_chk4 as checkbox user-command rusr,

p_chk5 as checkbox user-command rusr.

selection-screen: begin of block blk1 with frame.

select-options: s_pernr for pa0000-pernr modif id ABC,

s_stat2 for pa0000-stat2 modif id DEF,

s_werks for pa0001-werks modif id GHI,

s_persg for pa0001-persg modif id JKL,

s_persk for pa0001-persk modif id MNO.

selection-screen: end of block blk1.

AT SELECTION-SCREEN output.

LOOP AT SCREEN.

IF SCREEN-GROUP1 = 'ABC'.

IF p_chk1 = 'X'.

SCREEN-ACTIVE = 1.

ELSE.

SCREEN-ACTIVE = 0.

ENDIF.

MODIFY SCREEN.

ENDIF.

IF SCREEN-GROUP1 = 'DEF'.

IF p_chk2 = 'X'.

SCREEN-ACTIVE = 1.

ELSE.

SCREEN-ACTIVE = 0.

ENDIF.

MODIFY SCREEN.

ENDIF.

IF SCREEN-GROUP1 = 'GHI'.

IF p_chk3 = 'X'.

SCREEN-ACTIVE = 1.

ELSE.

SCREEN-ACTIVE = 0.

ENDIF.

MODIFY SCREEN.

ENDIF.

IF SCREEN-GROUP1 = 'JKL'.

IF p_chk4 = 'X'.

SCREEN-ACTIVE = 1.

ELSE.

SCREEN-ACTIVE = 0.

ENDIF.

MODIFY SCREEN.

ENDIF.

IF SCREEN-GROUP1 = 'MNO'.

IF p_chk5 = 'X'.

SCREEN-ACTIVE = 1.

ELSE.

SCREEN-ACTIVE = 0.

ENDIF.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

*************************************

*Note

*Titles for check boxes and select options

*P_CHK1 Personal Number

*P_CHK2 Employment Status

*P_CHK3 Personnel Area

*P_CHK4 Employee Group

*P_CHK5 Employee Sub group

*S_PERNR Personal Number

*S_PERSG Employee Group

*S_PERSK Employee Sub group

*S_STAT2 Employment Status

*S_WERKS Personnel Area