본문 바로가기
ABAP/Function|Class

[Function] BAPI_MESSAGE_GETDETAIL - 다른 언어로 메시지 출력

by name_text 2023. 9. 19.

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

 

댓글