AT SELECTION-SCREEN OUTPUT과 AT SELECTION-SCREEN의 차이

Ada·2024년 11월 1일

SAP ABAP

목록 보기
20/21

AT SELECTION-SCREEN OUTPUT vs. AT SELECTION-SCREEN

AT SELECTION-SCREEN OUTPUT과 AT SELECTION-SCREEN은 모두 선택 화면에서 사용되는 이벤트이지만, 실행 시점과 주요 목적이 다름.

1. AT SELECTION-SCREEN OUTPUT

  • 실행 시점: 선택 화면이 사용자에게 처음 표시되기 직전에 실행됨.

  • 주요 목적: 선택 화면의 필드 속성을 동적으로 제어하거나 초기값을 설정하는 데 사용함.

  • 주요 기능: 화면 요소의 활성화/비활성화, 레이블 변경, 초기값 설정 등이 가능함.

" 선택 화면이 출력되기 전에 P_CARRID 필드를 비활성화

AT SELECTION-SCREEN OUTPUT.
  LOOP AT SCREEN.
    IF screen-name = 'P_CARRID'.
      screen-active = 0.  " P_CARRID 필드를 비활성화
      MODIFY SCREEN.
    ENDIF.
  ENDLOOP.

2. AT SELECTION-SCREEN

  • 실행 시점: 사용자가 선택 화면에서 액션을 수행할 때마다 실행됨. 예를 들어, 특정 버튼을 클릭하거나 엔터를 입력할 때마다 호출됨.

  • 주요 목적: 사용자 입력을 검증하고, 특정 명령(sy-ucomm)에 따라 로직을 수행하는 데 사용함.

  • 주요 기능: 필드 값 검증, 파일 업로드, 데이터베이스 조회 등 다양한 사용자 명령에 대응 가능함.

" 사용자가 ‘EXECUTE’ 버튼을 누르면 execute_logic 폼을 실행하고, ‘CANCEL’ 버튼을 누르면 프로그램을 종료함

AT SELECTION-SCREEN.
  CASE sy-ucomm.
    WHEN 'EXECUTE'.   " 실행 버튼을 눌렀을 때
      PERFORM execute_logic.
    WHEN 'CANCEL'.    " 취소 버튼을 눌렀을 때
      LEAVE PROGRAM.
  ENDCASE.
profile
백엔드 프로그래머

0개의 댓글