728x90
반응형
1. 라디오 버튼 생성
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: r_r RADIOBUTTON GROUP g1 DEFAULT 'X' USER-COMMAND m1.
SELECTION-SCREEN POSITION 3. "텍스트 시작위치
SELECTION-SCREEN COMMENT (8) TEXT-r01 FOR FIELD r_r. "텍스트 길이
PARAMETERS: r_u RADIOBUTTON GROUP g1.
SELECTION-SCREEN POSITION 15.
SELECTION-SCREEN COMMENT (11) TEXT-r02 FOR FIELD r_u.
SELECTION-SCREEN END OF LINE.
2. ALV 모드
ALV가 화면에 뿌려지기 전에 이 로직을 타야하므로 set_table_for_first_display 전에 perform문을 입력한다.
FORM edit .
IF r_r = 'X'. "조회일때
CALL METHOD g_alv->set_ready_for_input
EXPORTING
i_ready_for_input = 0.
ELSE.
CALL METHOD g_alv->set_ready_for_input
EXPORTING
i_ready_for_input = 1.
ENDIF.
ENDFORM.
3. 필드 카탈로그 edit 속성 사용
필드 카탈로그를 구성하는 구문에서 편집할 필드에 edit 속성을 사용한다.
gs_fieldcat-fieldname = 'MAKTX'.
gs_fieldcat-coltext = '자재명'.
gs_fieldcat-just = 'C'.
gs_fieldcat-edit = 'X'.
APPEND gs_fieldcat TO gt_fieldcat. CLEAR: gs_fieldcat.
4. SAVE 버튼 비활성화
조회일 경우엔 변경할 데이터가 없으므로 저장 버튼이 필요가 없다. 변경일 경우에만 SAVE 버튼을 활성화해준다.
FORM edit .
DATA: BEGIN OF ls_extab,
fcode TYPE c LENGTH 10,
END OF ls_extab,
lt_extab LIKE TABLE OF ls_extab.
IF r_r = 'X'.
ls_extab-fcode = 'SAVE'. " 조회일때 SAVE 버튼 비활성화
APPEND ls_extab TO lt_extab.
SET PF-STATUS 'S100' EXCLUDING lt_extab.
ENDIF.
ENDFORM.
728x90
반응형
'ABAP' 카테고리의 다른 글
ALV Data changed Event (0) | 2023.02.20 |
---|---|
ALV 툴바 버튼 Add & Exclude (0) | 2023.02.20 |
유용한 날짜 function들 (0) | 2023.02.20 |
Selection-screen 버튼 그리기 (0) | 2023.02.20 |
Selection-screen GUI Status 버튼 만들기 (0) | 2023.02.20 |
댓글