SAP ABAP MODIF ID (라디오 버튼 selection screen 활성화 제어하기)

SAP ABAP 라디오버튼으로 selection screen 제어하기

메인프로그램에서 selection screen event와 라디오버튼 ID를 부여하여 
활성화되는 필드를 제어할 수 있다.


라디오 버튼으로 조회를 누르면 조회조건이 활성화되도록 하고




엑셀을 누르면 조건을 입력하는 파라미터가 바뀌도록 제어한다.
위에 펑션키도 나타났다가 사라지도록 제어할 수 있다.

여기서 주의할 점은 
제어를 해줄 라디오버튼은 같은 그룹으로 묶어주어야 한다.

또한 user-comand를 설정해주어야한다.
USER-COMMAND는 screen에서 사용하는 ok-code 같은 역할을 해준다.
즉, 버튼으로 화면을 제어하기 위해서는 꼭 필요하다.


SELECTION-SCREEN BEGIN OF BLOCK BL1 WITH FRAME TITLE TEXT-T01.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERSP_R1 RADIOBUTTON GROUP RG1 DEFAULT 'X' USER-COMMAND BTN.
SELECTION-SCREEN COMMENT (10TEXT-T01 FOR FIELD P_R1.
PARAMETERSP_R2 RADIOBUTTON GROUP RG1.
SELECTION-SCREEN COMMENT (10TEXT-T02 FOR FIELD P_R2.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK BL1.

GROUP RG1.라디오 버튼은 같은 이름으로 묶어주고

    USER-COMMAND BTN 설정해준다.


라디오 버튼으로 제어해줄 조건필드를 설정해준다.
같이 보여줄 파라미터는 같은 modif ID를 부여해 주어야 한다.


Selection screen의 event 중 at selection-screen output에서 로직을 만들어준다.
 at selection-screen output는 모듈풀 프로그램에서 PBO라고 생각하면 된다.
화면 클릭이나 엔터 등의 이벤트가 발생했을때 타게될 로직이다.



  LOOP AT SCREEN.
    CASE 'X'.
      WHEN P_R1.
        CASE SCREEN-GROUP1.
          WHEN 'EXC'
            SCREEN-ACTIVE '0'.
            GV_TITLE 'SELECTION'.
            CLEAR LS_FUNTXT.
            CLEAR SSCRFIELDS" -
            MODIFY SCREEN
        ENDCASE.

      WHEN P_R2.
        CASE SCREEN-GROUP1.
          WHEN 'SO1'.
            SCREEN-ACTIVE '0'.
            GV_TITLE 'Excel'.
            LS_FUNTXT-ICON_ID   ICON_IMPORT.
            LS_FUNTXT-ICON_TEXT 'Excel'.
            LS_FUNTXT-QUICKINFO 'Excel'.
            SSCRFIELDS-FUNCTXT_01 LS_FUNTXT.

            MODIFY SCREEN
        ENDCASE.
      WHEN OTHERS.
    ENDCASE.
  ENDLOOP.

 





다음 이전