EVENT

- 프로그램을 실행하면 화면에 보이는 필드들을 초기화하고, 사용자가 입력한 값에 대한 결과를 반환하는 사용자 이벤트

블록 발생
INITALIZATION selection-screen 화면이 열리기 전 화면 필드 값을 초기화하는데 사용
AT SELECTION-SCREEN 사용자가 selection-screen에 값을 입력하기 전/후에 작동
START-OF-SELECTION 사용자가 실횅버튼을 클릭하면 LDB에서 값을 읽어옴
END-OF-SELECTION 데이터를 읽은 후의 작업을 수행하는 블록

 

INITALIZATION

 

- 이벤트 중 프로그램을 실행했을 때 가장 먼저 수행되는 것

- selection-screen이 조회되기 전에 작동하므로 변수에 초기값을 지정할 때 사용됨

- 즉, Initialization 이벤트에서 selection-screen에 사용되는 필드들의 초기값을 지정함으로써, 사용자가 자주 사용하는 값을 자동으로 입력함

위와같이 프로그래밍됨.

- select-option은 인터널 테이블 형태이기 때문에 반드시 append구문으로 데이터를 추가해야함

 

AT SELECTION-SCREEN

- selection-screen에서 input field의 값이 변동되었을 때 실행되는 이벤트

- initalization과 start-of-selection사이에 수행되어 사용자 액션에 대해 반응하고, 화면 필드를 조절함 

 

1. AT SELECTION-SCREEN ON <FIELD>

- selection screen에 전달되는 특정 필드에 대해 수행

- 오류 메세지가 발생하면 해당 필드는 다시 값을 받기 위해 커서가 위치함

AT SELECTION-SCREEN ON <FIELD>.
TABLES : scarr.
SELECT-OPTIONS : s_carrid FOR scarr-carrid.
AT SELECTION-SCREEN ON s_carrid.
	IF s_carrid-low <> 'AA".
    	Message 'It is required to input AA' TYPE 'E'.
    ENDIF.

 

결과값!

 

2. AT SELECTION-SCREEN ON END OF sel

- selection screen에서 여러 건의 값을 입력할 때 전체 selection table의 입력값을 제어할 수 있음

- 하한/상한값, 미 입력 값등의 체크 시 사용 가능

AT SELECTION-SCREEN ON END OF sel.

 

 

START-OF-SELECTION & END-OF-SELECTION

- start-of-selection : 조회 화면의 필드에 대한 초기값 세팅 및 데이터 검증이 완료되면, db에서 원하는 데이터를 가져오는 작업을 수행해야함

- end-of-selection : 실행환경에서 호출되는 마지막 이벤트로서 select구문에서 모든 데이터를 읽은 후 화면에 write하기 전에 수행한다.

+ Recent posts