Application Development 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: 

Hide selection block

former_member220801
Participant
0 Kudos

I need to modify an existing program but I don't want to modify the screen logic as the default screen setting is already suitable for me.

How can I make a selection-screen block invisible? Thanks!

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi

If you want those parameter are always invisible, you should use the option NO-DISPLAY

PARAMETERS: P_PAR1 LIKE .... NO-DISPLAY,

P_PAR2 LIKE NO-DISPLAY.

SELEC-OPTIONS: SO_SEL1 FOR ... NO-DISPLAY.

If you want to change the attribute at runtime, you should use the option MODIF ID while deining the parameters and select-options of the block:

PARAMETERS: P_PAR1 LIKE .... MODIF ID AAA,

P_PAR2 LIKE MODIF ID AAA.

SELEC-OPTIONS: SO_SEL1 FOR ... MODIF ID AAA.

AT SELECTION-SCREEN OUTPUT.

LOOP AT SCREEN.

CHECK SCREEN-GROUP1 = 'AAA'.

SCREEN-SCTIVE = 0.

MODIFY SCREEN.

ENDLOOP.

You can also create a transaction variant (SHD0), but you need a new transaction for your program.

Max

Message was edited by: max bianchi

5 REPLIES 5

RichHeilman
Developer Advocate
Developer Advocate
0 Kudos

Have you tried a screen variant yet? Check out transaction SHD0. SHD(ZERO).

Regards,

Rich Heilman

Former Member
0 Kudos

Hi

If you want those parameter are always invisible, you should use the option NO-DISPLAY

PARAMETERS: P_PAR1 LIKE .... NO-DISPLAY,

P_PAR2 LIKE NO-DISPLAY.

SELEC-OPTIONS: SO_SEL1 FOR ... NO-DISPLAY.

If you want to change the attribute at runtime, you should use the option MODIF ID while deining the parameters and select-options of the block:

PARAMETERS: P_PAR1 LIKE .... MODIF ID AAA,

P_PAR2 LIKE MODIF ID AAA.

SELEC-OPTIONS: SO_SEL1 FOR ... MODIF ID AAA.

AT SELECTION-SCREEN OUTPUT.

LOOP AT SCREEN.

CHECK SCREEN-GROUP1 = 'AAA'.

SCREEN-SCTIVE = 0.

MODIFY SCREEN.

ENDLOOP.

You can also create a transaction variant (SHD0), but you need a new transaction for your program.

Max

Message was edited by: max bianchi

Former Member
0 Kudos

You can try at selection screen output by looping screen fields by below

loop at screen.

if screen-field name = <>.

screen-invisible = 1.

modify screen.

endif.

endloop.

Former Member
0 Kudos

Hi Gundam Seed,

If it is rreport you can do that in event 'AT SELECTION-SCREEN OUTPUT'. Like.....

Loop at screen.

if screen-name = 'B_xxx'.

screen-INVISIBLE = 'X'.

modify screen.

endif.

endloop.

Let me know if this not works....

Thanks,

Sanjeev

Former Member
0 Kudos

Hi,

Try with SHD0 trasaction code.

Here you can make selectio-screen fields as invisible,mandatory etc. without modifying any code in existing prog.

Regards

Eswar