产生SAP系统标准信息

来源:互联网 发布:c语言面向对象 编辑:程序博客网 时间:2024/06/06 08:39
FUNCTION ZMESSAGE.*"----------------------------------------------------------------------*"*"本地接口:*"  IMPORTING*"     REFERENCE(BAL_S_LOG) TYPE  BAL_S_LOG*"  TABLES*"      RETURN STRUCTURE  BAPIRET2*"----------------------------------------------------------------------  DATA: C_LOG_HANDLE   TYPE BALLOGHNDL.  DATA:    L_S_MSG     TYPE BAL_S_MSG,    L_S_PAR     TYPE BAL_S_PAR,    L_S_MY_DATA TYPE BAL_S_EX06.  DATA:    L_T_LOG_HANDLE     TYPE BAL_T_LOGH,    L_S_NEW_LOGNUMBER  TYPE BAL_S_LGNM,    L_T_NEW_LOGNUMBERS TYPE BAL_T_LGNM.* types of callback routines  CONSTANTS:    CONST_CALLBACK_FORM     TYPE BALUET          VALUE ' ',    CONST_NAME_MSG_IDENT(9) TYPE C                   VALUE 'MSG_IDENT',    CONST_CALLBACK_FUNCTION TYPE BALUET          VALUE 'F'.  DATA:    G_IDENTIFIER(10) TYPE N,    G_LOGNUMBER      TYPE BALHDR-LOGNUMBER.* create the log header  LOOP AT RETURN.    CALL FUNCTION 'BAL_LOG_CREATE'      EXPORTING        I_S_LOG      = BAL_S_LOG      IMPORTING        E_LOG_HANDLE = C_LOG_HANDLE      EXCEPTIONS        OTHERS       = 1.    IF SY-SUBRC <> 0.      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.    ENDIF.****************************************************************************************** create a message    CLEAR L_S_MSG.    L_S_MSG-MSGTY = RETURN-TYPE.    L_S_MSG-MSGID = RETURN-ID.    L_S_MSG-MSGNO = RETURN-NUMBER.    L_S_MSG-MSGV1 = RETURN-MESSAGE_V1.    L_S_MSG-MSGV2 = RETURN-MESSAGE_V2.    L_S_MSG-MSGV3 = RETURN-MESSAGE_V3.    L_S_MSG-MSGV4 = RETURN-MESSAGE_V4.* define callback routine    L_S_MSG-PARAMS-CALLBACK-USEREXITP = SY-REPID.    L_S_MSG-PARAMS-CALLBACK-USEREXITF = 'CALLBACK_MSG_DETAIL'.    L_S_MSG-PARAMS-CALLBACK-USEREXITT = CONST_CALLBACK_FORM.* define an identifer. This is used to establish the link between* the message and its additional data    ADD 1 TO G_IDENTIFIER.* put his identifier into the parameters of the message    L_S_PAR-PARNAME = CONST_NAME_MSG_IDENT.    L_S_PAR-PARVALUE   = G_IDENTIFIER.    APPEND L_S_PAR TO L_S_MSG-PARAMS-T_PAR.* create the message    CALL FUNCTION 'BAL_LOG_MSG_ADD'      EXPORTING        I_LOG_HANDLE = C_LOG_HANDLE        I_S_MSG      = L_S_MSG      EXCEPTIONS        OTHERS       = 1.    IF SY-SUBRC <> 0.      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.    ENDIF.* save this log    INSERT C_LOG_HANDLE INTO TABLE L_T_LOG_HANDLE.    CALL FUNCTION 'BAL_DB_SAVE'      EXPORTING        I_T_LOG_HANDLE   = L_T_LOG_HANDLE      IMPORTING        E_NEW_LOGNUMBERS = L_T_NEW_LOGNUMBERS      EXCEPTIONS        OTHERS           = 1.    IF SY-SUBRC <> 0.      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.    ENDIF.  ENDLOOP.ENDFUNCTION.

导入:BAL_S_LOG TYPE BAL_S_LOG
表:RETURN LIKE BAPIRET2
使用:

  DATA: BAL_S_LOG TYPE BAL_S_LOG.  BAL_S_LOG-OBJECT    = 'ZFSD0010'.  BAL_S_LOG-EXTNUMBER =* define callback routine  BAL_S_LOG-PARAMS-CALLBACK-USEREXITP = SY-REPID.  BAL_S_LOG-PARAMS-CALLBACK-USEREXITF = 'CALLBACK_LOG_DETAIL'.  BAL_S_LOG-PARAMS-CALLBACK-USEREXITT = ''.        BAL_S_LOG-SUBOBJECT    = 'Z01'.      CALL FUNCTION 'ZMESSAGE'        EXPORTING          BAL_S_LOG = BAL_S_LOG        TABLES          RETURN    = RETURN.

配置使用的T-CODE:SLG0
查看使用的T-CODE:SLG1

0 0
原创粉丝点击