TIMED_TRIGGER¶
목적¶
TIMED TRIGGER 는 메인 스레드의 부하와 관계없이, 별도의 스레드에서 지연시간(초) 기준으로 일정한 간격으로 작업을 실행하는 타이머 기능 수행
주요 단계¶
1. UI Object 와 Event 생성¶
1.1 특정 UI의 Events에 "TIMED_TRIGGER" Method를 추가¶
- 예제에서는 버튼 클릭 이벤트로 설정
- 아래 그림에서 UI Object 설정 화면을 참고

<사진 1> UI Object 및 Event 생성 화면
1.2 TIMED_TRIGGER Method 구성¶
- 버튼 클릭 시, "TT_ID_001"을 ID로 하여 5초 뒤에 서버 이벤트 "EV_TIMED_TRIGGER" 호출
METHOD EV_TIMED_TRIGGER_START.
" TIMED_TRIGGER Method
CALL METHOD /U4A/CL_UTILITIES=>TIMED_TRIGGER
EXPORTING
IO_VIEW = AR_VIEW " [U4A] UI Element Super Class
I_ID = 'TT_ID_001' " Time Trigger 인스턴스 ID (다중 처리 시 중복 ID 불가)
I_ISSTOP = " 중지 여부(예: X)
I_DELAY = '5' " 지연시간 예 (1 = 1초)
I_SERVER_EVENT = 'EV_TIMED_TRIGGER' " 서버 이벤트명
IT_SCRIPT = " 클라이언트 스크립트
I_UNLIMIT = 'X'. " 반복 실행 ('X' = 반복 실행됨, ' ' = 1번 실행됨)
ENDMETHOD.
1.3 PARAMETERS 설명¶
| Name | Description |
|---|---|
| IO_VIEW | UI Element Super Class |
| I_ID | Time Trigger 인스턴스 ID (중복 불가) |
| I_ISSTOP | 중지 여부 (X 입력 시 중지) |
| I_DELAY | 지연 시간 (초 단위, 예: 1 = 1초) |
| I_SERVER_EVENT | 서버 이벤트명 |
| IT_SCRIPT | 클라이언트 스크립트 |
| I_UNLIMIT | 반복 실행 (X = 반복 실행, 공백 = 1회 실행) |
2. EV_TIMED_TRIGGER 서버 이벤트 생성¶
2.1 "EV_TIMED_TRIGGER" 서버 이벤트 생성¶
- 5회 반복 시 (GS_HDL-TRIGGER_CNT = 5), TIMED TRIGGER가 자동 해제되도록 설정
2.2 ABAP 소스 코드 예제¶
METHOD EV_TIMED_TRIGGER.
" 현재 이벤트 호출 횟수 +1
ADD 1 TO GS_HDL-TRIGGER_CNT.
" 5회 호출 확인
IF GS_HDL-TRIGGER_CNT EQ 5.
" 5회 호출 후 "TT_ID_001"의 TIMED_TRIGGER 해제
CALL METHOD /U4A/CL_UTILITIES=>TIMED_TRIGGER
EXPORTING
IO_VIEW = AR_VIEW
I_ID = 'TT_ID_001'
I_ISSTOP = 'X'. " 중지 여부
" TIME TRIGGER 해제 확인 메시지 호출
CALL METHOD /U4A/CL_UTILITIES=>M_MESSAGEBOX
EXPORTING
IO_VIEW = AR_VIEW
I_MSGTX = 'After 5 calls, TIMED_TRIGGER OFF'
I_POPUP_TYPE = /U4A/CL_UTILITIES=>CS_M_MSG_BOX_TP-SUCCESS.
ENDIF.
ENDMETHOD.
3. TIMED_TRIGGER 실행 확인¶
3.1 Application 실행 후 Web에서 TIMED_TRIGGER 확인¶
3.2 버튼 클릭 시 5초마다 "EV_TIMED_TRIGGER" 호출¶

<사진 2> 버튼 클릭하여 TIMED_TRIGGER 실행
3.3 5회 호출 후 TIMED_TRIGGER 해제 및 메시지 박스 출력¶

<사진 3> 5회 호출 후 TIME TRIGGER 해제 및 메시지 출력