Skip to Content
0
Former Member
Mar 14, 2007 at 01:51 PM

SELECT-OPTIONS

19 Views

I have a program like the one below. Once I select "p_test" it opens up another field to allow the input of a range.

However, if I change my mind and want to deselect "p_test", it seems like select options are not evaluated again, and it insists that I input values.

Is there a way I can turn off p_test, or do I have to exit the program and start again, once I select it?

PROGRAM zz_test.

DATA g_s_sflight TYPE sflight.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
PARAMETERS p_test
  AS CHECKBOX
  USER-COMMAND p_test.
SELECT-OPTIONS s_carrid FOR g_s_sflight-carrid
  MODIF ID car.
SELECTION-SCREEN END OF BLOCK b1.

SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME.
PARAMETERS p_report
  AS CHECKBOX
  USER-COMMAND p_report.
SELECTION-SCREEN END OF BLOCK b2.

AT SELECTION-SCREEN OUTPUT.
  LOOP AT SCREEN.
    IF p_test = 'X'.
      IF screen-group1 = 'CAR'.
        screen-active = '1'.
        screen-required = '1'.
        MODIFY SCREEN.
      ENDIF.
    ELSE.
      IF screen-group1 = 'CAR'.
        screen-active = '0'.
        screen-required = '0'.
        MODIFY SCREEN.
      ENDIF.
    ENDIF.
  ENDLOOP.

START-OF-SELECTION.
  SELECT * FROM sflight
  INTO g_s_sflight
  WHERE carrid IN s_carrid.
  ENDSELECT.