With a little keebler magic, you can turn on/off (hide/show) fields on your program's selection screen. This makes your program dynamic to the user's input.
The code was written in 4.6B and should work on all live versions of R/3.
Define your parameter or selection-option field like so using the addition MODIF:
SELECT-OPTIONS s_pltyp FOR a606-pltyp NO INTERVALS NO-EXTENSION MODIF ID prc. In your code, this could be your logic: AT SELECTION-SCREEN OUTPUT. * User clicks the checkbox 'pipe' IF NOT pipe IS INITIAL. * Don't allow input for these fields LOOP AT SCREEN. CASE screen-group1. WHEN 'PRC'. screen-input = '0'. screen-output = '0'. screen-invisible = '1'. MODIFY SCREEN. ENDCASE. ENDLOOP. ENDIF.
This was first published in January 2003