[SAP] REPORT EVENT

이안·2024년 2월 19일

SAP

목록 보기
22/30
post-thumbnail

1. INITIALIZATION

SELECTION SCREEN화면이 열리기 전에 화면 필드 값을 초기화
이벤트 중에서 프로그램을 실행했을 때 가장 먼저 수행
SELECTION SCREEN이 조회되기 전에 작동하므로 변수에 초기 값 설정 즉, INITIALIZATION이벤트에서 SELECTION-SCREEN에 사용되는 필드들을 초기값 지정하여 사용자가 자주 사용하는 값을 자동으로 입력

INITIALIZATION.
	S_ZCODE-LOW = 'CODE-01'.
	S_ZCODE-HIGH = 'CODE-99'.
	APPEND S_ZCODE.

2. AT SELECTION-SCREEN

사용자가 SELECTION SCREEN에 값을 입력하기 전/후 작동
SELECTION SCREEN에서 INPUT FIELD의 값이 변동되었을 때 실행
INITIALIZATION과 START-OF-SELECTION사이에 수행되어 사용자 액션에 대해 반응하고, 화면 필드 조절

1) ON FIELD

SELECTION SCREEN에서 전달되는 특정 필드에 대해 수행
만약 오류 메시지가 발생하면 해당 필드는 다시 입력 상태가 되도록 설정

AT SELECTION-SCREEN ON S_ZCODE.
	IF S_ZCODE-LOW NE 'CODE-01'.
		MESSAGE '조회조건은 CODE-01부터 시작합니다.' TYPE 'E'.
	ENDIF.

2) ON END OF FIELD (많이 사용하지 않음)

SELECTION SCREEN에서 여러 건의 값을 입력할 때 전체 SELECTION TABLE의 입력 값을 제어
(즉 상한/하한 값 , 미 입력 값 체크)

AT SELECTION-SCREEN ON END OF S_ZCODE.
	LOOP AT S_ZCODE.
		IF S_ZCODE-LOW NE 'CODE-01'.
			MESSAGE '조회조건은 CODE-01부터 시작합니다.' TYPE 'E'.
		ENDIF.
	ENDLOOP.

3) OUTPUT

SELECTION SCREEN화면의 LAYOUT속성을 설정
SCREEN 필드들을 제어함으로써 SCREEN LAYOUT을 사용자 의도에 맞게 설정
즉, 모든 스크린 필드들은 시스템 테이블 SCREEN에 저장되며 LOOP AT SCREEN구문을 통해 해당 스크린 필드들이 차례대로 SCREEN헤더에 복사되고 각 필드의 속성을 SCREEN의 구성요소 값에 의해 통제
=>최종적으로 MODIFY SCREEN을 이용해 실제로 값 적용

AT SELECTION-SCREEN OUTPUT.
	LOOP AT SCREEN.
		IF SCREEN-GROUP1 = 'SC1'.
			SCREEN-INPUT = 0.
		ENDIF.
	ENDLOOP.

3. START-OF-SELECTION

사용자가 실행 버튼을 누르면(F8) 데이터베이스에서 값을 읽는 즉, SELECT구문이 사용되는 블록

START-OF-SELECTION.
	SELECT * FROM ZEDT05_001
		INTO CORRESPONDING FIELDS OF TABLE GT_STUDENT
		WHERE ZCODE IN S_ZCODE.

4. END-OF-SELECTION

실행 환경에서 호출되는 마지막 이벤트로서 SELECT구문에서 모든 데이터를 읽은 후 화면에 WRITE출력하기 전에 수행

END-OF-SELECTION.
	LOOP AT GT_STUDENT INTO GS_STUDENT.
		WRITE :/ GS_STUDENT-ZCODE, GS_STUDENT-ZKNAME.
	ENDLOOP.

0개의 댓글