CS Student’s SAP&Tech Journey✨

[SAP] Message Class 클래스 사용하기 ($, WITH) 본문

SAP/메시지 Message Class

[SAP] Message Class 클래스 사용하기 ($, WITH)

인포마틱 2025. 1. 31. 15:38

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. 메시지 클래스 생성

  1. 트랜잭션 코드 SE91 실행
  2. 새 메시지 클래스 ZTRAIN_07 생성
  3. 원하는 메시지를 입력 후 저장 (Activation은 필요 없음)

2. 메시지 출력 방법

메시지를 출력하는 기본적인 문법은 아래와 같습니다.

MESSAGE S000(ZTRAIN_07). " 성공 메시지 출력
MESSAGE I000(ZTRAIN_07). " 정보 메시지 출력
MESSAGE E000(ZTRAIN_07). " 오류 메시지 출력

 

메시지 파라미터 활용 하기 ($, with 사용하기)

(1) 메시지 클래스에서 변수 사용

예를 들어, ZTRAIN_07 메시지 클래스에 다음과 같은 메시지를 추가할 수 있습니다:

Message class

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 키워드를 사용하면 메시지 내에서 동적인 값을 설정할 수 있습니다.