2014년 10월 23일 목요일

[SAP] BAPI나 BDC 에러 로그를 팝업창으로 표시하기



DATA BEGIN OF IT_DATA OCCURS 0,
       ICON(4),
       .......
       T_MSG      TYPE RS_T_MSG,   "에러 로그 저장용 필드 선언
       END OF IT_DATA.


* BAPI나 BDC에서 발생된 에러 로그를 저장한다.
DATA LT_MSG  TYPE RS_T_MSG,
       LS_MSG  LIKE LINE OF LT_MSG.
 


REFRESH LT_MSG.
LOOP AT RETURN.
  CLEAR LS_MSG.
  LS_MSG-MSGTY RETURN-TYPE.
  LS_MSG-MSGID RETURN-ID.
  LS_MSG-MSGNO RETURN-NUMBER.
  LS_MSG-MSGV1 RETURN-MESSAGE_V1.
  LS_MSG-MSGV2 RETURN-MESSAGE_V2.
  LS_MSG-MSGV3 RETURN-MESSAGE_V3.
  LS_MSG-MSGV4 RETURN-MESSAGE_V4.
  APPEND LS_MSG TO LT_MSG .
ENDLOOP. 

IT_DATA-T_MSG LT_MSG.  

* ALV상의 더블클릭이나 HOTSPOT 이벤트에 팝업 표시 기능 추가
FORM ALV_DOUBLE_CLICK USING E_ROW     TYPE LVC_S_ROW
                            E_COLUMN  TYPE LVC_S_COL
                            ES_ROW_NO TYPE LVC_S_ROID.
  DATA LS_DATA LIKE LINE OF IT_DATA.
  READ TABLE IT_DATA INDEX ES_ROW_NO-ROW_ID INTO LS_DATA.

  DATAE_T_MSG  TYPE  RS_T_MSG,
        S_MSG LIKE LINE OF E_T_MSG,
        E_TXT(40TYPE  VALUE 'Error List',
        E_WITH_S_ON_EMPTY TYPE  RS_BOOL VALUE 'X',
        E_ONE_MSG_DIRECT  TYPE  RS_BOOL VALUE ' ',
        E_ONE_MSG_TYPE_S  TYPE  RS_BOOL VALUE 'X',
        I_S_EXIT_COMMAND  TYPE  BAL_S_EXCM.


  REFRESH E_T_MSG.
  E_T_MSG LS_DATA-T_MSG.

  CHECK E_T_MSG[] IS NOT INITIAL.
  CALL FUNCTION 'RSDC_SHOW_MESSAGES_POPUP'
    EXPORTING
      I_T_MSG           E_T_MSG
      I_TXT             E_TXT
      I_WITH_S_ON_EMPTY E_WITH_S_ON_EMPTY
      I_ONE_MSG_DIRECT  E_ONE_MSG_DIRECT
      I_ONE_MSG_TYPE_S  E_ONE_MSG_TYPE_S
    IMPORTING
      E_S_EXIT_COMMAND  I_S_EXIT_COMMAND.
ENDFORM.              


댓글 없음:

댓글 쓰기