Selection Screen: Selection screen Comment


Selection screen Using SELECTION-SCREEN COMMENT:

*&---------------------------------------------------------------------*
*& Selection screen
*&---------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001.
  SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT (17) TEXT-003.
    PARAMETERS: r_reg  RADIOBUTTON GROUP r1 DEFAULT 'X' USER-COMMAND rb1.
    SELECTION-SCREEN COMMENT 21(34) TEXT-005.
    PARAMETERS: r_canc  RADIOBUTTON GROUP r1.
    SELECTION-SCREEN COMMENT 58(72) TEXT-006.
  SELECTION-SCREEN END OF LINE.

  SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT (17) TEXT-004 MODIF ID c1.
    PARAMETERS: r_r1  RADIOBUTTON GROUP r2 DEFAULT 'X' USER-COMMAND rb2 MODIF ID c1.
    SELECTION-SCREEN COMMENT 21(34) TEXT-007 MODIF ID c1.
  SELECTION-SCREEN END OF LINE.

  SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT (17) TEXT-000 MODIF ID c1.
    PARAMETERS: r_r2  RADIOBUTTON GROUP r2 MODIF ID c1.
    SELECTION-SCREEN COMMENT 21(34) TEXT-008 MODIF ID c1.
  SELECTION-SCREEN END OF LINE.

  SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT (17) TEXT-000 MODIF ID c1.
    PARAMETERS: r_r3  RADIOBUTTON GROUP r2 MODIF ID c1.
    SELECTION-SCREEN COMMENT 21(34) TEXT-009 MODIF ID c1.
  SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK b1.

SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE TEXT-002.
  PARAMETERS:p_werks TYPE mseg-werks MODIF ID a1.
  SELECT-OPTIONS:so_lifnr FOR mseg-lifnr MODIF ID a1,
                 so_aufnr FOR mseg-aufnr MODIF ID a1,
                 so_ebeln FOR mseg-ebeln MODIF ID a1,
                 so_mblnr FOR mseg-mblnr MODIF ID a1,
                 so_matnr FOR mseg-matnr MODIF ID a1,
                 so_budat FOR mseg-budat_mkpf MODIF ID a1.

  PARAMETERS:p_werk2 TYPE mseg-werks MODIF ID a2.

  PARAMETERS:p_werk3 TYPE mseg-werks MODIF ID a3.

  PARAMETERS:p_werk1 TYPE mseg-werks MODIF ID a4.
  SELECT-OPTIONS:so_hrsno FOR mseg-lifnr MODIF ID a4,
                 so_lifn1 FOR mseg-lifnr MODIF ID a4,
                 so_aufn1 FOR mseg-aufnr MODIF ID a4,
                 so_ebel1 FOR mseg-ebeln MODIF ID a4,
                 so_mbln1 FOR mseg-mblnr MODIF ID a4,
                 so_matn1 FOR mseg-matnr MODIF ID a4,
                 so_buda1 FOR mseg-budat_mkpf MODIF ID a4.

SELECTION-SCREEN END OF BLOCK b2.

AT SELECTION-SCREEN OUTPUT.
  IF r_reg = gc_x.
    LOOP AT SCREEN.
      IF screen-group1 = 'C1'.
        screen-active = 1.
        MODIFY SCREEN.
      ENDIF.
    ENDLOOP.
    IF r_r1 = gc_x.
      LOOP AT SCREEN.
        IF screen-group1 = 'A1'.
          screen-active = 1.
          MODIFY SCREEN.
        ELSEIF screen-group1 = 'A2' OR screen-group1 = 'A3' OR screen-group1 = 'A4'.
          screen-active = 0.
          MODIFY SCREEN.
        ENDIF.
      ENDLOOP.
    ELSEIF r_r2 = gc_x.
      LOOP AT SCREEN.
        IF screen-group1 = 'A2'.
          screen-active = 1.
          MODIFY SCREEN.
        ELSEIF screen-group1 = 'A1' OR screen-group1 = 'A3' OR screen-group1 = 'A4'.
          screen-active = 0.
          MODIFY SCREEN.
        ENDIF.
      ENDLOOP.
    ELSEIF r_r3 = gc_x.
      LOOP AT SCREEN.
        IF screen-group1 = 'A3'.
          screen-active = 1.
          MODIFY SCREEN.
        ELSEIF screen-group1 = 'A1' OR screen-group1 = 'A2' OR screen-group1 = 'A4'.
          screen-active = 0.
          MODIFY SCREEN.
        ENDIF.
      ENDLOOP.
    ENDIF.
*    ENDIF.
  ELSEIF r_canc = gc_x.
    LOOP AT SCREEN.
      IF screen-group1 = 'C1' OR screen-group1 = 'A1' OR screen-group1 = 'A2' OR screen-group1 = 'A3'.
        screen-active = 0.
        MODIFY SCREEN.
      ELSEIF screen-group1 = 'A4'.
        screen-active = 1.
        MODIFY SCREEN.
      ENDIF.
    ENDLOOP.
  ENDIF.

AT SELECTION-SCREEN.
  IF sy-ucomm = 'ONLI'.
    IF r_reg = gc_x.
      IF r_r1 = gc_x.
        IF p_werks IS INITIAL.
          MESSAGE TEXT-010 TYPE 'E'.
        ELSEIF so_budat[] IS INITIAL.
          MESSAGE TEXT-011 TYPE 'E'.
        ENDIF.
      ELSEIF p_werk2 = gc_x.
        MESSAGE TEXT-010 TYPE 'E'.
      ELSEIF p_werk3 = gc_x.
        MESSAGE TEXT-010 TYPE 'E'.
      ENDIF.
    ELSEIF r_canc = gc_x.
      IF p_werk1 IS INITIAL.
        MESSAGE TEXT-010 TYPE 'E'.
      ELSEIF so_buda1[] IS INITIAL.
        MESSAGE TEXT-011 TYPE 'E'.
      ENDIF.
    ENDIF.
  ENDIF.

 

Output: 

Comments

Popular posts from this blog

Passing Dynamic Variables to SO10 TEXT

Implicit Enhancement with Example

TMG Events