BAPI_MESSAGE_GETDETAIL
메시지 상세정보(다른 언어로 메시지 출력)
인터페이스 개발시 외부시스템에서 SAP 접속시 대부분 영어(EN)로 사용하게 됩니다.
이 경우 Message 출력시 현재 로그인 언어를 기준으로 표시되다 보니 한국어 사용자에게도 무조건 영어 메시지가 표시되게 됩니다.
이럴 경우 BAPI_MESSAGE_GETDETAIL을 이용하여 다른 언어(예: 한국어)로 메시지를 변환할 수 있습니다.
참고로, Text Element는 SET LANGUAGE 를 이용하면 됩니다.
# 사용예시
FORM MESSAGE_TO_KOREAN USING P_MSGID
P_MSGNO
P_MSGV1
P_MSGV2
P_MSGV3
P_MSGV4
CHANGING P_MESSAGE.
DATA: ID LIKE BAPIRET2-ID,
NUMBER LIKE BAPIRET2-NUMBER,
MESSAGE_V1 LIKE BAPIRET2-MESSAGE_V1,
MESSAGE_V2 LIKE BAPIRET2-MESSAGE_V2,
MESSAGE_V3 LIKE BAPIRET2-MESSAGE_V3,
MESSAGE_V4 LIKE BAPIRET2-MESSAGE_V4,
MESSAGE LIKE BAPIRET2-MESSAGE.
MOVE: P_MSGID TO ID,
P_MSGNO TO NUMBER,
P_MSGV1 TO MESSAGE_V1,
P_MSGV2 TO MESSAGE_V2,
P_MSGV3 TO MESSAGE_V3,
P_MSGV4 TO MESSAGE_V4.
CLEAR MESSAGE.
CALL FUNCTION 'BAPI_MESSAGE_GETDETAIL'
EXPORTING
ID = ID
NUMBER = NUMBER
LANGUAGE = '3'
TEXTFORMAT = 'NON'
MESSAGE_V1 = MESSAGE_V1
MESSAGE_V2 = MESSAGE_V2
MESSAGE_V3 = MESSAGE_V3
MESSAGE_V4 = MESSAGE_V4
IMPORTING
MESSAGE = MESSAGE
.
IF MESSAGE IS INITIAL AND SY-LANGU NE '3'.
CALL FUNCTION 'BAPI_MESSAGE_GETDETAIL'
EXPORTING
ID = ID
NUMBER = NUMBER
LANGUAGE = SY-LANGU
TEXTFORMAT = 'NON'
MESSAGE_V1 = MESSAGE_V1
MESSAGE_V2 = MESSAGE_V2
MESSAGE_V3 = MESSAGE_V3
MESSAGE_V4 = MESSAGE_V4
IMPORTING
MESSAGE = MESSAGE
.
ENDIF.
MOVE MESSAGE TO P_MESSAGE.
ENDFORM.
'ABAP > Function|Class' 카테고리의 다른 글
[Function] BASE64 ENCODE/DECODE (0) | 2023.11.30 |
---|---|
[Class] CL_ABAP_CORRESPONDING - Dynamic Corresponding (0) | 2023.10.30 |
[SearchHelp] 손익센터 그룹 탐색도움말 (0) | 2023.09.14 |
[Class] CL_ABAP_MESSAGE_DIGEST=>CALCULATE_HASH_FOR_CHAR - 문자열 Hash (0) | 2023.07.24 |
[Function] HOLIDAY_GET - 공휴일/공장 달력의 휴일 정보 (0) | 2023.07.24 |
댓글