콘텐츠로 이동

M_MESSAGEBOX

목적

M_MESSAGEBOX는 Web 환경에서 Popover 형태로 메시지를 호출하는 Method이다.


주요 단계

1. Application에서 UI Object와 Event 생성

  • UI Object와 Event를 구성하여 MESSAGE BOX 호출을 준비한다.

이미지

<사진 1> UI Object 생성 및 Event 추가 화면

1.1. MESSAGEBOX 호출을 위한 Event 생성

  • M_MESSAGEBOX를 호출하여 MESSAGE BOX를 생성한다.
  • 필요한 매개변수를 전달하여 메시지 내용을 설정한다.

2. 코드 예시 (EV_MESSAGE_BOX)

2.1. View Detail 내역 및 Action Button 내역 설정 Message Box

METHOD EV_MESSAGE_BOX.

      DATA : LV_MSG TYPE STRING,
             LT_MSG TYPE STRING_TABLE.
*--------------------------------------------------------------------*

      "View Detail 내역 및 ACTION BUTTON 내역 입력
      LV_MSG = 'ONE'.
      APPEND LV_MSG TO LT_MSG.
      CLEAR LV_MSG.

      LV_MSG = 'TWO'.
      APPEND LV_MSG TO LT_MSG.
      CLEAR LV_MSG.

      "MESSAGE BOX 호출
      CALL METHOD /U4A/CL_UTILITIES=>M_MESSAGEBOX
        EXPORTING
          IO_VIEW           = ME->/U4A/IF_SERVER~AR_VIEW     " [U4A] UI Element Super Class
*         IT_MSGTX          =                                " Table of Strings
*         IS_MSG            =                                " Structure of message variables
          I_MSGTX           = 'U4A WorkSpace!!'              " MESSAGE TEXT
          I_POPUP_TYPE      = /U4A/CL_UTILITIES=>CS_M_MSG_BOX_TP-ALERT
          I_TITLE           = 'MESSAGE BOX'
          I_ICON            = 'sap-icon://appear-offline'
          I_CALLBACK_EVENT  = 'EV_ANOTHER_MESSAGE'
          I_ACTION          = LT_MSG                         " 처리 액션 버튼 정의
          I_DETAILS         = LT_MSG                         " Long text (상세)
          I_TEXTDIRECTION   = 'RTL'
          I_INITIALFOCUS    = 'TWO'.                         " Initial button focus

ENDMETHOD.
  • 적용된 소스로 BUTTON 클릭 시 MESSAGE BOX 화면이 표시된다.

이미지

<사진 2> View Details 정의된 메세지 박스 화면

이미지

<사진 3> View Details 내용 표시된 MESSAGE BOX 화면


2.2. ABAP에 등록되어 있는 MESSAGE 형태에 맞춘 Message Box

METHOD EV_ANOTHER_MESSAGE.

      DATA : LS_MES TYPE SYMSG.
*--------------------------------------------------------------------*

      "ABAP에 등록된 MESSAGE 형식에 맞춰 데이터를 입력
      LS_MES-MSGID = '/U4A/MSG_WS'.
      LS_MES-MSGNO = 024.
      LS_MES-MSGTY = 'E'.
      LS_MES-MSGV1 = 'U4A'.

      "MESSAGE BOX 호출
      CALL METHOD /U4A/CL_UTILITIES=>M_MESSAGEBOX
        EXPORTING
          IO_VIEW       = ME->/U4A/IF_SERVER~AR_VIEW
*         IT_MSGTX      =                                  " Table of Strings
          IS_MSG        = LS_MES                            " Structure of message variables
*         I_MSGTX       =                                  " MESSAGE TEXT
          I_POPUP_TYPE  = /U4A/CL_UTILITIES=>CS_M_MSG_BOX_TP-CONFIRM
          I_TITLE       = 'SECOND MESSAGE BOX'
*         I_ICON        =
*         I_CALLBACK_EVENT =
*         I_ACTION      =
*         I_DETAILS     =
*         I_TEXTDIRECTION =
*         I_INITIALFOCUS = .

ENDMETHOD.
  • 적용된 소스로 BUTTON 클릭 시 MESSAGE BOX 화면이 표시된다.

이미지

<사진 4> ABAP에 등록되어 있는 MESSAGE 형태의 MESSAGE BOX가 표시되는 화면


3. 주요 Parameter 설명

Name Description
IO_VIEW UI Element Super Class를 입력
IT_MSGTX MESSAGE가 TABLE 구조일 경우 해당 PARAMETER에 입력
IS_MSG ABAP에 등록된 MESSAGE를 사용
I_MSGTX MESSAGE가 FIELD 구조일 경우 해당 PARAMETER에 입력
I_POPUP_TYPE MESSAGE BOX의 TYPE (ALERT, CONFIRM, ERROR 등)
I_TITLE MESSAGE BOX의 제목
I_ICON 제목 옆에 표시할 ICON
I_CALLBACK_EVENT MESSAGE BOX 종료 후 작동할 이벤트
I_ACTION 처리할 ACTION BUTTON 정의
I_DETAILS 상세 정보 입력
I_TEXTDIRECTION 문자 방향 (Inherit, LTR, RTL)
I_INITIALFOCUS 초기 focus 위치 설정