Default parameter value if tcode is value

Hi!

I have a program that is used for two t-codes, and for a few of the parameters, the user wants to put the value to TRUE, but only for one of the t-codes. 

So far, I have something along the lines of this in the selection screen:

SELECTION-SCREEN BEGIN OF BLOCK b5 WITH FRAME TITLE TEXT-t06.
PARAMETERS p_param TYPE param.
SELECTION-SCREEN END OF BLOCK b5.

AT SELECTION-SCREEN OUTPUT.
IF sy-tcode = ‘T_CODE’
LOOP AT SCREEN INTO ls_screen.
CASE ls_screen-name.
WHEN ‘P_PARAM’.
p_param = ‘X’.
MODIFY SCREEN FROM ls_screen.
ENDLOOP.
ENDCASE.

But when I debug it, I see that even if I set the parameter to FALSE, in the debugger it sets it to TRUE again. Does anyone know how to deal with this? Or would the only option be making a whole new screen? 

Scroll to Top