CS Student’s SAP&Tech Journey✨
[SAP] Message Class 클래스 사용하기 ($, WITH) 본문
SAP ABAP에서는 다양한 메시지를 활용하여 사용자에게 정보를 전달할 수 있습니다. 이때 메시지는 유형에 따라 팝업 또는 콘솔 출력 형식으로 제공되며, 시스템에서 발생하는 다양한 상황을 효과적으로 알릴 수 있도록 도와줍니다.
이번 포스팅에서는 SAP ABAP에서 SE91 메시지 클래스(Message Class)를 활용하여 Dialog Message를 처리하는 방법을 소개하겠습니다.
📌 Dialog Message 유형
Dialog Message는 주로 아래 세 가지 유형으로 분류됩니다.
- INFO Message[i] : 정보 메시지 (팝업 형식)
- SUCCESS(SET) Message[s] : 성공 메시지 (녹색 강조 표시)
- ERROR Message[e] : 오류 메시지 (빨간색 강조 표시) → 절대 발생하면 안 되는 상황에서 사용
✅ 메시지 클래스 정의 및 활용
SAP ABAP에서는 SE91 트랜잭션 코드를 사용하여 메시지 클래스를 정의할 수 있습니다.
1. 메시지 클래스 생성
- 트랜잭션 코드 SE91 실행
- 새 메시지 클래스 ZTRAIN_07 생성
- 원하는 메시지를 입력 후 저장 (Activation은 필요 없음)
2. 메시지 출력 방법
메시지를 출력하는 기본적인 문법은 아래와 같습니다.
MESSAGE S000(ZTRAIN_07). " 성공 메시지 출력
MESSAGE I000(ZTRAIN_07). " 정보 메시지 출력
MESSAGE E000(ZTRAIN_07). " 오류 메시지 출력
✅ 메시지 파라미터 활용 하기 ($, with 사용하기)
(1) 메시지 클래스에서 변수 사용
예를 들어, ZTRAIN_07 메시지 클래스에 다음과 같은 메시지를 추가할 수 있습니다:
ID $ is not valid!
여기서 $는 동적으로 변경될 값입니다.
(2) 파라미터를 활용한 메시지 출력
PARAMETERS p_id TYPE SCARR-CARRID. "CHAR 3
IF sy-subrc <> 0.
MESSAGE I000(ZTRAIN_07) WITH p_id.
ENDIF.
이 코드를 실행하여 p_id에 100을 입력받고, id 100이 존재하지 않는다면 다음과 같은 메세지가 출력됩니다.
100 ID is not valid!
이처럼 WITH 키워드를 사용하면 메시지 내에서 동적인 값을 설정할 수 있습니다.