‎2008 Jun 03 2:15 PM
Hi,
Can you please give your suggestions for following requirement..
I have 4 parameters ( p1 p2 p3 p4) on selection screen..
But i need to enable only 2 parameters ( p3 p4) to enter selection criteria on selection screen..
p1 p2 should not take entries ..
Your suggestions are helpfull..
Thanks,
Parnith..
‎2008 Jun 03 2:21 PM
Hi
Your question looks incomplete. When you dont want p1 and P2 to take entries, then do not create them at first place. If you want them on selection screen but in disable mode, then in what situation u want these to disable and when do u want them to get enabled and take values?
Shakir
‎2008 Jun 03 2:20 PM
declare parameters ..
and in initialization .
LOOP AT SCREEN.
IF SCREEN-NAME = 'P1' OR
SCREEN-NAME = 'P2'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
‎2008 Jun 03 2:21 PM
Hi
Your question looks incomplete. When you dont want p1 and P2 to take entries, then do not create them at first place. If you want them on selection screen but in disable mode, then in what situation u want these to disable and when do u want them to get enabled and take values?
Shakir
‎2008 Jun 03 3:15 PM
Hi ,
Thanks for your note..
My exact requirement is ....
if system id is p111 then, parameter p1 should be disabled and remaining
parameters p2 p3 p4 should be enabled..
if system id is p222 , parameter p2 should be disabled and remaining
parameters p1 p3 p4 should be enabled..
if system id is p333 ,parameter p3 should be disabled and remaining
parameters p1 p2 p4 should be enabled..
if system id is p444 ,parameter p4 should be disabled and remaining
parameters p2 p3 p1 should be enabled..
Can you please let me know how i need to code for above requirement..
Your suggestions are helpfull..
Thanks ,
Parnith..
‎2008 Jun 03 3:19 PM
initialization.
if sy-sysid = 'P111'.
LOOP AT SCREEN.
IF SCREEN-NAME = 'P1' .
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
elseif sy-sysid = 'P222'.
LOOP AT SCREEN.
IF SCREEN-NAME = 'P2' .
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
elseif sy-sysid = 'P333'.
LOOP AT SCREEN.
IF SCREEN-NAME = 'P3' .
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
elseif sy-sysid = 'P444'.
LOOP AT SCREEN.
IF SCREEN-NAME = 'P4' .
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
endif.
‎2008 Jun 03 3:21 PM
then use this
PARAMETERS:
p1 TYPE c,
p2 TYPE c,
p3 TYPE c,
p4 TYPE c.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
CASE sy-sysid.
WHEN 'P111'.
CASE screen-name.
WHEN 'P1'.
screen-input = 0.
MODIFY SCREEN.
WHEN 'P2'.
WHEN 'P3'.
WHEN 'P4'.
ENDCASE.
WHEN 'P222'.
CASE screen-name.
WHEN 'P1'.
WHEN 'P2'.
screen-input = 0.
MODIFY SCREEN.
WHEN 'P3'.
WHEN 'P4'.
ENDCASE.
WHEN 'P333'.
CASE screen-name.
WHEN 'P1'.
WHEN 'P2'.
WHEN 'P3'.
screen-input = 0.
MODIFY SCREEN.
WHEN 'P4'.
ENDCASE.
WHEN 'P444'.
CASE screen-name.
WHEN 'P1'.
WHEN 'P2'.
WHEN 'P3'.
WHEN 'P4'.
screen-input = 0.
MODIFY SCREEN.
ENDCASE.
ENDCASE.
ENDLOOP.
‎2008 Jun 03 2:21 PM
This will work
PARAMETERS:
p1 TYPE c,
p2 TYPE c,
p3 TYPE c,
p4 TYPE c.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
CASE screen-name.
WHEN 'P1'
OR 'P2'.
screen-input = 0.
MODIFY SCREEN.
ENDCASE.
ENDLOOP.
‎2008 Jun 03 2:22 PM
Hello,
PARAMETERS:
p1 TYPE c MODIF-ID f1,
p2 TYPE c MODIF-ID f1,
p3 TYPE c,
p4 TYPE c,
AT SELECTION-SCREEN.
LOOP AT screen.
IF screen-group1 = 'F1'.
screen-input = '0'.
screen-active = '0'.
ENDIF.
MODIFY screen.
ENDLOOP.
Regards
‎2008 Jun 03 2:23 PM
Hi,
Use the following.
PARAMETERS:
p4(1) TYPE c,
p3(2) TYPE c,
p2(3) TYPE c NO-DISPLAY,
p1(4) TYPE c NO-DISPLAY.
Thanks
Ramesh