상세 컨텐츠

본문 제목

Selection Screen - 화면 입출력 제어

IT/SAP(ABAP)

by Adonis_ 2019. 11. 9. 16:33

본문

목표

라디오버튼 선택따라 화면 입력 Deactive 시키기


step1. elements에 MODIF ID 부여

MODIF ID - Modify ID, Selection screen의 elements를 그룹화 시킴. 최대 3글자

!!주의 : USER-COMMAND가 존재해야 Event 입력 시점과 동시에 적용됨(Radiobutton group당 1개 선언)


SELECTION-SCREEN BEGIN OF BLOCK bl1 WITH FRAME TITLE text-t01.
SELECT-OPTIONS s_matnr FOR marc-matnr MODIF ID mrc,
                         s_werks FOR marc-werks MODIF ID mrc,
                         s_dispo FOR marc-dispo MODIF ID mrc.
:

:
PARAMETERS p_rd1 RADIOBUTTON GROUP rb1 DEFAULT 'X' USER-COMMAND uc,
                    p_rd2 RADIOBUTTON GROUP rb1,
                    p_rd3 RADIOBUTTON GROUP rb1.

SELECTION-SCREEN END OF BLOCK bl1.

 

step2. 화면입출력제어

AT SELECTION-SCREEN OUTPUT.
  LOOP AT SCREEN.
    CASE 'X'.
      WHEN p_rd1.
        IF screen-group1 EQ 'MRA'.
          screen-input 0.
*          screen-active = 0. "화면에서 안보임
        ENDIF.

    :

    :


    MODIFY SCREEN.

  ENDLOOP.

RadioBtn 선택별 Selection Screen화면

전체코드

TABLES : mara, marc, mard.

SELECTION-SCREEN BEGIN OF BLOCK bl1 WITH FRAME TITLE text-t01.
SELECT-OPTIONS : s_matnr FOR marc-matnr MODIF ID mrc,
                 s_werks FOR marc-werks MODIF ID mrc,
                 s_dispo FOR marc-dispo MODIF ID mrc.

SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN ULINE.

SELECT-OPTIONS : s_matkl FOR mara-matkl MODIF ID mra,
                 s_mtart FOR mara-mtart  MODIF ID mra.

SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN ULINE.

SELECT-OPTIONS : s_lgort FOR mard-lgort MODIF ID mrd.

SELECTION-SCREEN ULINE.
PARAMETERS : p_rd1 RADIOBUTTON GROUP rb1 DEFAULT 'X' USER-COMMAND uc,
             p_rd2 RADIOBUTTON GROUP rb1,
             p_rd3 RADIOBUTTON GROUP rb1.

SELECTION-SCREEN END OF BLOCK bl1.


AT SELECTION-SCREEN OUTPUT.
  LOOP AT SCREEN.
    CASE 'X'.
      WHEN p_rd1.
        IF screen-group1 EQ 'MRA'.
*          screen-input = 0.
          screen-active = 0.
        ENDIF.

      WHEN p_rd2.
        IF screen-group1 EQ 'MRC'.
*          screen-input = 0.
          screen-active = 0.
        ENDIF.

      WHEN p_rd3.
        IF screen-group1 EQ 'MRD'.
*          screen-input = 0.
          screen-active = 0.
        ENDIF.
    ENDCASE.

    MODIFY SCREEN.

  ENDLOOP.

'IT > SAP(ABAP)' 카테고리의 다른 글

Class 생성 방법  (0) 2020.12.19
T-CODE 생성  (0) 2020.12.19
SelectionSceen - List box  (0) 2019.11.30
SelectionScreen - function key  (0) 2019.11.09
Search Help / ON VALUE-REQUEST FOR  (0) 2019.11.09

관련글 더보기

댓글 영역