반응형
오늘은 "SAPGUI_PROGRESS_INDICATOR"를 통해 프로그램 로딩 메세지를 출력해보겠습니다.
기능설명
사용자에게 작업 진행 상황을 보여주는 메시지를 화면에 출력해 줍니다. 시스템의 작업 처리가 오래 걸리는 경우, 진행 상황을 시각적으로 표시하여 시스템이 멈춘 것이 아니라 작동 중인 것을 확인할 수 있도록 해줍니다.
Signature
DATA: gs_per TYPE i, "현재 진행도를 알기 위한 변수
gs_loop TYPE i, "몇 번 프로그램을 실행할지
gs_msg TYPE string. "펑션에서 보여질 메시지
INITIALIZATION.
gs_loop = 10. "10번만 돌겠다
START-OF-SELECTION.
DO gs_loop TIMES. "gs_loop(10)번만 돌겠다
gs_per = sy-index. "현재 loop문을 돈 횟수
gs_msg = |진행중 { gs_loop } of { gs_per }|. "메세지에서 진행도를 보여줄 문장
"CONCATENATE '진행중' gs_loop 'of' gs_index INTO gs_msg SEPARATED BY space.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
percentage = gs_per * 10 / gs_loop "퍼센티지 표현
text = gs_msg. "진행도 보여줄 메세지
WAIT UP TO 1 SECONDS. "확인을 위한 1초 딜레이
ENDDO.
WRITE: '작업이 끝났습니다'. "모두 끝났을 때
실행 화면
주의 사항
- WAIT UP TO 1 SECOND를 넣은 이유는, Function이 순식간에 지나가서 일어났는지 모를 수도 있기 때문입니다. 물론 매우 방대한 양의 데이터를 가지고 있으면 아니겠지만 그렇지 않을 경우 못 볼 수도 있어서 만약 처리 절차를 보여주고 싶은데 처리속도가 너무 빠른 경우 알아 볼 수 있도록 딜레이를 걸어주는 것이 좋을 것 같습니다.
- 백분율로 나누어 진행도를 보여주기 때문에 1~100 사이의 정수가 아니라면 오류가 발생합니다.
반응형
'ABAP Standard Function' 카테고리의 다른 글
[ABAP] WEEK_GET_FIRST_DAY / 해당 주차의 월요일 날짜 가져오기 (0) | 2025.01.13 |
---|---|
[ABAP] SAPGUI_SET_FUNCTIONCODE / 강제로 User Command 실행하기 (0) | 2025.01.11 |
[ABAP] REUSE_ALV_GRID_DISPLAY / 빠르고 쉽게 ALV 출력하기 (0) | 2025.01.09 |
[ABAP] POPUP_TO_GET_ONE_VALUE / 입력 값 받는 POPUP 출력하기 (0) | 2025.01.08 |
[ABAP] POPUP_TO_DISPLAY_TEXT / Text POPUP 출력하기 (0) | 2025.01.07 |