ERP-SAP/ABAP

<ABAP> Selection Screen 만들 시 조건에 따라 출력 필드 다르게 하기

행복한워니의 기록 2010. 12. 2. 13:21
728x90
반응형

우선 두개의 비교 화면을 보자.




일반계좌일때는 세부조건이 나오는데 전도금 계좌일 때는....아래와 같이..



안나오게 만들고 싶을때.... 앞서 작성한 스크린 조작하고 똑같다고 생각하면 된다.

아래는 TOP 부분의 소스이다.

SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-007.    "계좌유형 소스
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS PA_R1 RADIOBUTTON GROUP RG1 MODIF ID RG0              "일반계좌 
                             USER-COMMAND HIDE DEFAULT 'X'.   <- 이거 안주면 라디오 버튼 다르게 눌러도 안바뀜!
SELECTION-SCREEN COMMENT 5(15TEXT-001 FOR FIELD PA_R1.         그 이유는 스크린에서 이벤트가 없어서! 엔터쳐야 바뀜
PARAMETERS PA_R2 RADIOBUTTON GROUP RG1.                          "전도금 계좌 
SELECTION-SCREEN COMMENT 25(15TEXT-002 FOR FIELD PA_R2.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK B2.

SELECTION-SCREEN BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-008.   "세부조건 소스 
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS PA_R3 RADIOBUTTON GROUP RG2 MODIF ID RA1.            "전체내역 
SELECTION-SCREEN COMMENT 5(5TEXT-003 FOR FIELD PA_R3 MODIF ID RA1.
PARAMETERS PA_R4 RADIOBUTTON GROUP RG2 MODIF ID RA1.            "입금내역
SELECTION-SCREEN COMMENT 15(5TEXT-004 FOR FIELD PA_R4 MODIF ID RA1.
PARAMETERS PA_R5 RADIOBUTTON GROUP RG2 MODIF ID RA1.            "출금내역
SELECTION-SCREEN COMMENT 25(5TEXT-005 FOR FIELD PA_R5 MODIF ID RA1
PARAMETERS PA_R6 RADIOBUTTON GROUP RG2 MODIF ID RA1.            "집금내역 
SELECTION-SCREEN COMMENT 35(5TEXT-006 FOR FIELD PA_R6 MODIF ID RA1.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK B3.


으로 만들어준 상태이다. 
볼것은 RADIO BUTTON GROUP이다. 위는 RG1  아래는 RG02

RG1의 상태에 따라서 RG02를 보였다 안보였다 하는게 문제이다.

*********************************************************************
REPORT  ZTRR024 MESSAGE-ID ZMTR.


INCLUDE ZTRR0024_TOP.                   " 변수 선언
INCLUDE ZTRR0024_ALV.                   " ALV 세팅
INCLUDE ZTRR0024_GET_USER_BUKRS.        " USER 값 세팅

AT SELECTION-SCREEN OUTPUT.      <- 이 부분에 넣어야 한다. 만들어서 넣자. 
  "계좌별 세부사항 표시
  LOOP AT SCREEN.                <- 스크린을 돌면서  
    IF SCREEN-GROUP1 'RA1'.    <-만약 스크린 MODIF ID가 RA1이면 
      CASE 'X'.                  <- X일때, 뭐가?(는 아래에..)
        WHEN PA_R1.              <- PA_RA1 라디오버튼이 체크일때...
          SCREEN-ACTIVE '1'.   <- 스크린 활성화 
        WHEN OTHERS.             <- 나머지는 비활성화
          SCREEN-ACTIVE '0'.
      ENDCASE.
    ENDIF.
    MODIFY SCREEN.               <- 이거 꼭 해주기...
  ENDLOOP.

" 계좌번호 탐색도움말
AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_ACNT-LOW.
  PERFORM SEARCH_HELP.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_ACNT-HIGH.
  PERFORM SEARCH_HELP.

*************************************************************************************

이렇게 된다 이거지...
생각보다 간단하다. 근데 저 아래 보이는 탐색 도움말도 궁금하다면..
다음 포스팅에서 설명해주겠다. 





728x90
반응형