2026년 8월 19일 수요일

[ABAP]_오류 메세지 팝업으로 조회

     DATA : WA_FCAT TYPE SLIS_FIELDCAT_ALV,
         LT_FCAT    TYPE SLIS_T_FIELDCAT_ALV.

     DATA : BEGIN OF GT_ERROR OCCURS 0,
           ICON TYPE ICON_D,
           EBELP LIKE TEKPO-EBELP,
           MATNR LIKE TEKPO-MATNR,
           MESSAGE(100), "LIKE bapiret2-message,
         END OF GT_ERROR.

 ......

 BAPI 실행 결과 RETURN값을 GT_ERROR에 데이터로 등록 후 조회시 아래 함수를 통하여 조회 


    CLEAR WA_FCAT.
    WA_FCAT-FIELDNAME = 'ICON'.
    WA_FCAT-SELTEXT_M = 'TYEP'.
    WA_FCAT-OUTPUTLEN = '04'.
    APPEND WA_FCAT TO LT_FCAT.


    CLEAR WA_FCAT.
    WA_FCAT-FIELDNAME = 'EBELP'.
    WA_FCAT-SELTEXT_M = 'Item'.
    WA_FCAT-OUTPUTLEN = '05'.
    APPEND WA_FCAT TO LT_FCAT.

    CLEAR WA_FCAT.
    WA_FCAT-FIELDNAME = 'MATNR'.
    WA_FCAT-SELTEXT_M = 'Material'.
    WA_FCAT-OUTPUTLEN = '18'.
    APPEND WA_FCAT TO LT_FCAT.

    CLEAR WA_FCAT.
    WA_FCAT-FIELDNAME = 'MESSAGE'.
    WA_FCAT-SELTEXT_M = 'MESSAGE'.
    WA_FCAT-OUTPUTLEN = '50'.
    APPEND WA_FCAT TO LT_FCAT.
 

 

     CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'
      EXPORTING
     I_TITLE                       = 'ERROR LIST'
*     i_selection                   = 'X'
*     I_ALLOW_NO_SELECTION          =
     I_ZEBRA                       = 'X'
     I_SCREEN_START_COLUMN         = '5'
     I_SCREEN_START_LINE           = '5'
     I_SCREEN_END_COLUMN           = '90'
     I_SCREEN_END_LINE             = '15'
     I_TABNAME                   = 'GT_ERROR'
     IT_FIELDCAT                    = LT_FCAT
      TABLES
        T_OUTTAB                      = GT_ERROR.