오류 msg가 뜸!!!

ABAP 메시지란?

  • 사용자에게 피드백(오류, 정보 등)을 제공하기 위한 텍스트.
  • 하드코딩된 문자열을 사용하지 않고, 메시지를 별도로 정의해서 사용해야 유지 보수가 쉽고 다국어 지원이 가능함.

🔸 메시지 클래스 (Message Class)

  • 메시지들은 모두 T100이라는 표준 테이블에 저장됨.
  • 메시지를 사용하려면 SE91 트랜잭션에서 메시지 클래스를 먼저 생성해야 함.
  • 예시:
    • 메시지 클래스 이름: ZMES1
    • 메시지 번호: 000
    • 메시지 텍스트: Employee number is too high.

🔸 메시지 문법

 
MESSAGE e000(zmes1).
  • e는 메시지 타입 (error)
  • 000은 메시지 번호
  • (zmes1)은 메시지 클래스

🔸 메시지 타입 종류

타입설명효과
타입 설명 효과
A Abnormal termination 프로그램 즉시 종료
E Error 오류 표시, 입력 필드 재진입
I Information 알림 창
S Success 상태 바에 표시 (성공 메시지)
W Warning 경고 표시
X Exit 시스템 덤프 발생 (강제종료)

가장 자주 쓰는 건 E (오류)와 I (정보).


🔸 WITH 추가 구문으로 변수 전달하기

 
MESSAGE e001(zmes1) WITH my_ee.
  • 메시지 텍스트를 이렇게 작성:
 
Employee number & is too high.
  • & 자리에 WITH로 넘긴 my_ee 값이 자동으로 들어감.
  • 최대 4개까지 넘길 수 있음
 
MESSAGE e002(zmes1) WITH var1 var2 var3 var4.

🔸 활용 예시

 
AT SELECTION-SCREEN ON my_ee. IF my_ee > wa_employee. MESSAGE e001(zmes1) WITH my_ee. ENDIF.
  • 사용자가 너무 큰 사번을 입력했을 때, 지정한 메시지를 보여줌.
  • WITH 덕분에 그 값을 메시지에 바로 삽입 가능!

  • 메시지는 프로그램에 종속되지 않음 → 여러 프로그램에서 공통 사용 가능
  • 회사에서 HR, FI, MM 등 모듈별 표준 메시지 클래스가 미리 정의되어 있는 경우가 많음.
  • 재사용 가능한 메시지를 쓰면 협업에 좋고 유지보수도 쉬움!

+ Recent posts