report z. data: g_s_log type bal_s_log, g_dummy. data: begin of probclass, very_high type bal_s_msg-probclass value '1', high type bal_s_msg-probclass value '2', medium type bal_s_msg-probclass value '3', low type bal_s_msg-probclass value '4', none type bal_s_msg-probclass value is initial, end of probclass. start-of-selection. ******************* * I. Create application log: g_s_log-extnumber = 'Application Log Example'. g_s_log-aluser = sy-uname. g_s_log-alprog = sy-cprog. call function 'BAL_LOG_CREATE' EXPORTING I_S_LOG = g_s_log * IMPORTING * E_LOG_HANDLE = EXCEPTIONS LOG_HEADER_INCONSISTENT = 1 OTHERS = 2. case sy-subrc. when 1. message e398(00) with 'Cannot create log: bad log header'. when 2. message e398(00) with 'Cannot create log'. endcase. * II. Add messages to the log: * issue message and add to log message s398(00) with 'message 1:' 'very important info'. perform msg_add using probclass-very_high sy-msgty sy-msgid sy-msgno sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. * issue message to dummy (not to user) and add to log message e398(00) with 'message 1:' 'important info' into g_dummy. perform msg_add using probclass-high sy-msgty sy-msgid sy-msgno sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. * directly add to log perform msg_add using probclass-medium 'W' '00' '398' 'info' space space space. perform msg_add using probclass-low 'I' '00' '398' 'just FYI' space space space. perform msg_add using probclass-none 'I' '00' '398' '????' space space space. * III. Display application log: call function 'BAL_DSP_LOG_DISPLAY' exceptions profile_inconsistent = 1 internal_error = 2 no_data_available = 3 no_authority = 4. case sy-subrc. when 1. message e398(00) with 'Cannot display log: bad profile'. when 2. message e398(00) with 'Cannot display log: internal error'. when 3. message e398(00) with 'Cannot display log: no data'. when 4. message e398(00) with 'Cannot display log: no authority'. endcase. ******************************************************************** form msg_add using value(p_probclass) type bal_s_msg-probclass value(p_msgty) like sy-msgty value(p_msgid) like sy-msgid value(p_msgno) like sy-msgno value(p_msgv1) like sy-msgv1 value(p_msgv2) like sy-msgv2 value(p_msgv3) like sy-msgv3 value(p_msgv4) like sy-msgv4. data l_s_msg type bal_s_msg. l_s_msg-msgty = p_msgty. l_s_msg-msgid = p_msgid. l_s_msg-msgno = p_msgno. l_s_msg-msgv1 = p_msgv1. l_s_msg-msgv2 = p_msgv2. l_s_msg-msgv3 = p_msgv3. l_s_msg-msgv4 = p_msgv4. l_s_msg-probclass = p_probclass. call function 'BAL_LOG_MSG_ADD' EXPORTING * I_LOG_HANDLE = I_S_MSG = l_s_msg * IMPORTING * E_S_MSG_HANDLE = * E_MSG_WAS_LOGGED = * E_MSG_WAS_DISPLAYED = EXCEPTIONS LOG_NOT_FOUND = 1 MSG_INCONSISTENT = 2 LOG_IS_FULL = 3 OTHERS = 4. case sy-subrc. when 1. message e398(00) with 'Cannot add msg: log not found'. when 2. message e398(00) with 'Cannot add msg: bad msg'. when 3. message e398(00) with 'Cannot add msg: log full'. when 4. message e398(00) with 'Cannot add msg'. endcase. endform. **************************