SAP ABAP 라디오버튼으로 selection screen 제어하기
엑셀을 누르면 조건을 입력하는 파라미터가 바뀌도록 제어한다.
위에 펑션키도 나타났다가 사라지도록 제어할 수 있다.
또한 user-comand를 설정해주어야한다.
USER-COMMAND는 screen에서 사용하는 ok-code 같은 역할을 해준다.
즉, 버튼으로 화면을 제어하기 위해서는 꼭 필요하다.
SELECTION-SCREEN BEGIN OF BLOCK BL1 WITH FRAME TITLE TEXT-T01.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: P_R1 RADIOBUTTON GROUP RG1 DEFAULT 'X' USER-COMMAND BTN.
SELECTION-SCREEN COMMENT (10) TEXT-T01 FOR FIELD P_R1.
PARAMETERS: P_R2 RADIOBUTTON GROUP RG1.
SELECTION-SCREEN COMMENT (10) TEXT-T02 FOR FIELD P_R2.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK BL1.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: P_R1 RADIOBUTTON GROUP RG1 DEFAULT 'X' USER-COMMAND BTN.
SELECTION-SCREEN COMMENT (10) TEXT-T01 FOR FIELD P_R1.
PARAMETERS: P_R2 RADIOBUTTON GROUP RG1.
SELECTION-SCREEN COMMENT (10) TEXT-T02 FOR FIELD P_R2.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK BL1.
GROUP RG1.라디오 버튼은 같은 이름으로 묶어주고
USER-COMMAND BTN 설정해준다.
라디오 버튼으로 제어해줄 조건필드를 설정해준다.
같이 보여줄 파라미터는 같은 modif ID를 부여해 주어야 한다.
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.
Tags:
SAP ABAP