SAP/ABAP
Radio Button Control
JobKea
2025. 6. 9. 12:20
반응형
Select Screen 에서 Radio Button 을 컨트롤 할떄 active 로 하면 숨김 처리가 되서 한동안 찾아보았다.
알고보니 input 옵션으로 제어 할 수있어서 아래와 같이 소스를 업로드 하여 작성해둔다.
screen-active = 1. " 숨김처리
screen-input = 1. " 비활성화 처리
" Selection Screen
SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE TEXT-t04.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 2.
PARAMETERS : p_r21 RADIOBUTTON GROUP r2 DEFAULT 'X'.
SELECTION-SCREEN COMMENT (8) TEXT-s05 FOR FIELD p_r21. " Not yet .
PARAMETERS : p_r22 RADIOBUTTON GROUP r2.
SELECTION-SCREEN COMMENT (8) TEXT-s06 FOR FIELD p_r22. " Draft .
PARAMETERS : p_r23 RADIOBUTTON GROUP r2 .
SELECTION-SCREEN COMMENT (14) TEXT-s07 FOR FIELD p_r23. " Assigned bank .
PARAMETERS : p_r24 RADIOBUTTON GROUP r2 .
SELECTION-SCREEN COMMENT (12) TEXT-s08 FOR FIELD p_r24. " Opened .
PARAMETERS : p_r25 RADIOBUTTON GROUP r2 .
SELECTION-SCREEN COMMENT (12) TEXT-s09 FOR FIELD p_r25. " Canceled.
PARAMETERS : p_r26 RADIOBUTTON GROUP r2 .
SELECTION-SCREEN COMMENT (12) TEXT-s10 FOR FIELD p_r26. " Closed.
PARAMETERS : p_r27 RADIOBUTTON GROUP r2 .
SELECTION-SCREEN COMMENT (12) TEXT-s11 FOR FIELD p_r27. " All .
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK b3.
" "AT SELECTION-SCREEN OUTPUT" 이벤트에 작성
" 필드 표기 컨트롤
LOOP AT SCREEN.
" Radio Control
CASE 'X'.
" Import Request Due List
WHEN p_r01.
CLEAR : p_r22, p_r23, p_r24, p_r25, p_r26, p_r27.
p_r21 = gc_x.
" Net Yet
IF screen-name CS 'P_R21'.
* screen-active = 1. " 숨김처리
screen-input = 1. " 비활성화 처리
ELSEIF screen-name CS 'P_R2'.
* screen-active = 0.
screen-input = 0.
ENDIF.
"Assign bank
WHEN p_r02.
CLEAR : p_r21, p_r23, p_r24, p_r25, p_r26, p_r27.
p_r22 = gc_x.
" Draft 만 활성화
IF screen-name EQ 'P_R22'.
* CLEAR : p_r21, p_r23, p_r24, p_r25, p_r26, p_r27.
* screen-active = 1.
screen-input = 1.
ELSEIF screen-name CS 'P_R2'.
* screen-active = 0.
screen-input = 0.
ENDIF.
" Open L/C
WHEN p_r03.
CLEAR : p_r21, p_r22, p_r23, p_r24, p_r25, p_r26, p_r27.
p_r27 = gc_x.
" Assigned Bank, Opened, Canceled, Closed, All
IF screen-name EQ 'P_R23' OR
screen-name EQ 'P_R24' OR
screen-name EQ 'P_R25' OR
screen-name EQ 'P_R26' OR
screen-name EQ 'P_R27' .
* screen-active = 1.
screen-input = 1.
ELSEIF screen-name CS 'P_R2'.
* screen-active = 0.
screen-input = 0.
ENDIF.
WHEN OTHERS.
* screen-active = 0.
ENDCASE.
ENDLOOP.
반응형