Programming/ABAP
Message, Message Classe
_syd
2023. 8. 23. 23:26
Messages
MESSAGE { msg | text }
{ { [DISPLAY LIKE dtype] [WITH dobj1 ... dobj4] }
| { [DISPLAY LIKE dtype] [WITH dobj1 ... dobj4] RAISING exception }
| { [WITH dobj1 ... dobj4] INTO text } }.
- 사용자에게 예기치 않은 동작, 오류, 상태 또는 작업 결과에 대해 알린다.
- 런타임 시 dialog box나 status bar와 같은 곳에 메시지를 표시한다.
- 고유한 3자리 메시지 번호, 한 자리 언어 키, 텍스트 정보 및 메시지 클래스로 지정된다.
- database table T100에 저장된다.
Message with a Long Text
문제의 원인과 잠재적 해결 방법에 대한 추가 정보를 표시한다.

Message Classes
ABAP project 내 ABAP package level에 생성된다.
development object 내에서 메시지를 그룹화하여 다른 프로그램에서 재사용할 수 있다.
Example

MESSAGE i045(SABAP_DOCU) WITH carrid
- Message type: "i"
- Message number: "045"
- Message class: "SABAP_DOCU"
- Short text: "No authorization for airline carrier &"
- "&" : parameter 를 위한 placeholder
... DISPLAY LIKE <dtype>
message의 원래 type이 아니라 dtype에 지정된 message type 으로 표시한다.
dtype은 대문자로 된 "A", "E", "I", "S" 또는 "W" 값을 가진다.
"E" or "W" : dtype에 "A" or "I"가 포함된 경우 대화창(dialog box)으로 표시된다.
"S" : dtype에 관계없이 항상 상태 표시줄(status bar)에 표시된다.
"X" : 항상 런타임 오류를 발생시킨다.
Example
MESSAGE 'Success!' TYPE 'I' DISPLAY LIKE 'S'.
I type message 를 S type처럼 표시한다.
728x90