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

weired problem when hiding fields on selection screen using modif id

kasithunuguntla
Participant
0 Likes
428

The program has 2 radio buttons, if one of them is selected some of the elements on the screen will be invisible and vice versa. We are on 46C.

The problem is with the display of select options (this happens only for select options). they display like a 3D image( some white space before start of select option input field). I am actually able to key in data into that field but obviously doent have any effect on the program execution.

Request inputs in this regard. see code below.

at selection-screen output.

if SY-DYNNR = '1000'.

IF not p_selct is initial.

loop at screen.

if screen-group1 = 'ABC'.

screen-input = '1'.

modify screen.

endif.

endloop.

ELSE.

loop at screen.

if screen-group1 = 'ABC'.

screen-input = '0'.

screen-INVISIBLE = '1'.

modify screen.

endif.

endloop.

ENDIF.

endif.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
409

hi , check this example....

REPORT ZVENKATTEST0.

TABLES:MARA.

SELECT-OPTIONS:S_TEST1 FOR MARA-MATNR MODIF ID M1 ,

S_TEST2 FOR MARA-MEINS MODIF ID M2 .

PARAMETERS:P_RAD1 RADIOBUTTON GROUP G1 USER-COMMAND UC1 DEFAULT 'X',

P_RAD2 RADIOBUTTON GROUP G1 ,

P_RAD3 RADIOBUTTON GROUP G1 .

AT SELECTION-SCREEN OUTPUT .

LOOP AT SCREEN.

IF P_RAD1 = 'X'.

IF SCREEN-NAME = 'S_TEST1-LOW' .

SCREEN-INPUT = '0'.

MODIFY SCREEN.

ENDIF.

IF SCREEN-NAME = 'S_TEST1-HIGH' .

SCREEN-INPUT = '0'.

MODIFY SCREEN.

ENDIF.

IF SCREEN-NAME = 'S_TEST2-LOW' .

SCREEN-INPUT = '0'.

MODIFY SCREEN.

ENDIF.

IF SCREEN-NAME = 'S_TEST2-HIGH' .

SCREEN-INPUT = '0'.

MODIFY SCREEN.

ENDIF.

ENDIF.

IF P_RAD2 = 'X'.

IF SCREEN-NAME = 'S_TEST1-LOW' .

SCREEN-INPUT = '0'.

MODIFY SCREEN.

ENDIF.

IF SCREEN-NAME = 'S_TEST1-HIGH' .

SCREEN-INPUT = '0'.

MODIFY SCREEN.

ENDIF.

ENDIF.

IF P_RAD3 = 'X'.

IF SCREEN-NAME = 'S_TEST2-LOW' .

SCREEN-INPUT = '0'.

MODIFY SCREEN.

ENDIF.

IF SCREEN-NAME = 'S_TEST2-HIGH' .

SCREEN-INPUT = '0'.

MODIFY SCREEN.

ENDIF.

ENDIF.

ENDLOOP.

regards,

venkat.

2 REPLIES 2
Read only

Former Member
0 Likes
410

hi , check this example....

REPORT ZVENKATTEST0.

TABLES:MARA.

SELECT-OPTIONS:S_TEST1 FOR MARA-MATNR MODIF ID M1 ,

S_TEST2 FOR MARA-MEINS MODIF ID M2 .

PARAMETERS:P_RAD1 RADIOBUTTON GROUP G1 USER-COMMAND UC1 DEFAULT 'X',

P_RAD2 RADIOBUTTON GROUP G1 ,

P_RAD3 RADIOBUTTON GROUP G1 .

AT SELECTION-SCREEN OUTPUT .

LOOP AT SCREEN.

IF P_RAD1 = 'X'.

IF SCREEN-NAME = 'S_TEST1-LOW' .

SCREEN-INPUT = '0'.

MODIFY SCREEN.

ENDIF.

IF SCREEN-NAME = 'S_TEST1-HIGH' .

SCREEN-INPUT = '0'.

MODIFY SCREEN.

ENDIF.

IF SCREEN-NAME = 'S_TEST2-LOW' .

SCREEN-INPUT = '0'.

MODIFY SCREEN.

ENDIF.

IF SCREEN-NAME = 'S_TEST2-HIGH' .

SCREEN-INPUT = '0'.

MODIFY SCREEN.

ENDIF.

ENDIF.

IF P_RAD2 = 'X'.

IF SCREEN-NAME = 'S_TEST1-LOW' .

SCREEN-INPUT = '0'.

MODIFY SCREEN.

ENDIF.

IF SCREEN-NAME = 'S_TEST1-HIGH' .

SCREEN-INPUT = '0'.

MODIFY SCREEN.

ENDIF.

ENDIF.

IF P_RAD3 = 'X'.

IF SCREEN-NAME = 'S_TEST2-LOW' .

SCREEN-INPUT = '0'.

MODIFY SCREEN.

ENDIF.

IF SCREEN-NAME = 'S_TEST2-HIGH' .

SCREEN-INPUT = '0'.

MODIFY SCREEN.

ENDIF.

ENDIF.

ENDLOOP.

regards,

venkat.

Read only

0 Likes
409

Venkat, I solved it from your solution but I have a better solution.

Its really weired solution. I have added just this one IF condition for the 1st select option. Actually I have 15 select options and I didnt want to code 15*2 = 30 times. Just gave a try adding just for the first select option field and it worked fine. DONT NEED TO ADD FOR EVERY SELECT OPTION.

LOOP AT SCREEN.

if screen-group1 = 'ABC'.

IF SCREEN-NAME = 'S_BUKRS-LOW' .

SCREEN-INPUT = '0'.

MODIFY SCREEN.

ENDIF.

endif.

ENDLOOP.