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

display input field on selection screen based on condition

Former Member
0 Likes
2,852

Hi,

I have a report with selection with no of input fields and a checkbox .I want to hide few i/p fileds based on checkbox i/p.

If the checkbox = 'X',then only those fields should apper on screen for input.

how do we get this on sel screen.

thanks in advance.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,182

Hi,

you can use this code as reference.

Here, depens on check box, in the next screen resepective select options will be displayed.

You can use this logic for your requirement.

REPORT Z50871_SELECTOPS_DYNAMIC.

PARAMETERS : CH_EBELN AS CHECKBOX,

CH_VBELN AS CHECKBOX.

DATA: V_EBELN TYPE EKKO-EBELN,

V_VBELN TYPE VBAK-VBELN.

SELECTION-SCREEN BEGIN OF SCREEN 100.

SELECT-OPTIONS : EBELN FOR V_EBELN MODIF ID G1,

VBELN FOR V_VBELN MODIF ID G2.

SELECTION-SCREEN END OF SCREEN 100 .

AT SELECTION-SCREEN OUTPUT.

IF SY-DYNNR = 100.

IF CH_EBELN = 'X' AND

CH_VBELN = ''.

LOOP AT SCREEN.

IF SCREEN-GROUP1 EQ 'G1'.

SCREEN-ACTIVE = '1'.

ELSE.

SCREEN-ACTIVE = '0'.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

ELSEIF CH_VBELN = 'X' AND

CH_EBELN = '' .

LOOP AT SCREEN.

IF SCREEN-GROUP1 EQ 'G2'.

SCREEN-ACTIVE = '1'.

ELSE.

SCREEN-ACTIVE = '0'.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

ELSEIF CH_EBELN = 'X' AND CH_VBELN = 'X'.

LOOP AT SCREEN.

IF SCREEN-GROUP1 EQ 'G1'

OR SCREEN-GROUP1 EQ 'G2' .

SCREEN-ACTIVE = '1'.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

ENDIF.

ENDIF.

AT SELECTION-SCREEN.

IF SY-DYNNR = 1000.

IF CH_EBELN = 'X' OR CH_VBELN = 'X'.

CALL SELECTION-SCREEN 100.

ELSE.

MESSAGE I000(Z50871MSG) WITH 'Please select atleast one checkbox'.

ENDIF.

ENDIF.

Regards

Sandeep Reddy

Hi,

you can use this code as reference.

Here, depens on check box, in the next screen resepective select options will be displayed.

You can use this logic for your requirement.

REPORT Z50871_SELECTOPS_DYNAMIC.

PARAMETERS : CH_EBELN AS CHECKBOX,

CH_VBELN AS CHECKBOX.

DATA: V_EBELN TYPE EKKO-EBELN,

V_VBELN TYPE VBAK-VBELN.

SELECTION-SCREEN BEGIN OF SCREEN 100.

SELECT-OPTIONS : EBELN FOR V_EBELN MODIF ID G1,

VBELN FOR V_VBELN MODIF ID G2.

SELECTION-SCREEN END OF SCREEN 100 .

AT SELECTION-SCREEN OUTPUT.

IF SY-DYNNR = 100.

IF CH_EBELN = 'X' AND

CH_VBELN = ''.

LOOP AT SCREEN.

IF SCREEN-GROUP1 EQ 'G1'.

SCREEN-ACTIVE = '1'.

ELSE.

SCREEN-ACTIVE = '0'.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

ELSEIF CH_VBELN = 'X' AND

CH_EBELN = '' .

LOOP AT SCREEN.

IF SCREEN-GROUP1 EQ 'G2'.

SCREEN-ACTIVE = '1'.

ELSE.

SCREEN-ACTIVE = '0'.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

ELSEIF CH_EBELN = 'X' AND CH_VBELN = 'X'.

LOOP AT SCREEN.

IF SCREEN-GROUP1 EQ 'G1'

OR SCREEN-GROUP1 EQ 'G2' .

SCREEN-ACTIVE = '1'.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

ENDIF.

ENDIF.

AT SELECTION-SCREEN.

IF SY-DYNNR = 1000.

IF CH_EBELN = 'X' OR CH_VBELN = 'X'.

CALL SELECTION-SCREEN 100.

ELSE.

MESSAGE I000(Z50871MSG) WITH 'Please select atleast one checkbox'.

ENDIF.

ENDIF.

Regards

Sandeep Reddy

5 REPLIES 5
Read only

Former Member
0 Likes
1,182

Not sure about hiding, But you can make it display only:

Refer:

Read only

0 Likes
1,182

You can change the parameters of the objects in the screen unsing

in module output

LOOP AT SCREEN.

IF screen-name EQ 'NAME_FIELD'

AND checbox EQ 'X'.

screen-invisible = 1.

MODIFY screen.

ENDIF.

ENDLOOP.

Read only

Former Member
0 Likes
1,182

hi

use the key word user-command and then do f1 help u got ur querry solved .

cheers

Snehi Chouhan

Read only

Former Member
0 Likes
1,183

Hi,

you can use this code as reference.

Here, depens on check box, in the next screen resepective select options will be displayed.

You can use this logic for your requirement.

REPORT Z50871_SELECTOPS_DYNAMIC.

PARAMETERS : CH_EBELN AS CHECKBOX,

CH_VBELN AS CHECKBOX.

DATA: V_EBELN TYPE EKKO-EBELN,

V_VBELN TYPE VBAK-VBELN.

SELECTION-SCREEN BEGIN OF SCREEN 100.

SELECT-OPTIONS : EBELN FOR V_EBELN MODIF ID G1,

VBELN FOR V_VBELN MODIF ID G2.

SELECTION-SCREEN END OF SCREEN 100 .

AT SELECTION-SCREEN OUTPUT.

IF SY-DYNNR = 100.

IF CH_EBELN = 'X' AND

CH_VBELN = ''.

LOOP AT SCREEN.

IF SCREEN-GROUP1 EQ 'G1'.

SCREEN-ACTIVE = '1'.

ELSE.

SCREEN-ACTIVE = '0'.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

ELSEIF CH_VBELN = 'X' AND

CH_EBELN = '' .

LOOP AT SCREEN.

IF SCREEN-GROUP1 EQ 'G2'.

SCREEN-ACTIVE = '1'.

ELSE.

SCREEN-ACTIVE = '0'.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

ELSEIF CH_EBELN = 'X' AND CH_VBELN = 'X'.

LOOP AT SCREEN.

IF SCREEN-GROUP1 EQ 'G1'

OR SCREEN-GROUP1 EQ 'G2' .

SCREEN-ACTIVE = '1'.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

ENDIF.

ENDIF.

AT SELECTION-SCREEN.

IF SY-DYNNR = 1000.

IF CH_EBELN = 'X' OR CH_VBELN = 'X'.

CALL SELECTION-SCREEN 100.

ELSE.

MESSAGE I000(Z50871MSG) WITH 'Please select atleast one checkbox'.

ENDIF.

ENDIF.

Regards

Sandeep Reddy

Read only

0 Likes
1,182

Hi Sandeep,

Thanks for ur reply.

I want to display the inactive input field in the same screen when checkbox eq 'X'.

Is there any possibility to get it?

Regards,