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 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