1. 前言
- 事务代码
- SLG0:创建日志对象、日志子对象
- SLG1:显示应用日志
- SLG3:删除应用日志
- 透明表
- 抬头:BALHDR 应用程序日志: 日志标题
- 行项目:BALDAT 应用程序日志: 日志数据
- 函数模块
- BAL_LOG_CREATE 创建日志处理头
- BAL_LOG_MSG_ADD 向日志处理头中添加消息
- BAL_DB_SAVE 保存日志到数据库
- BAL_DSP_LOG_DISPLAY 显示内存中的消息
2. 创建日志对象
- 事务代码:SLG0
- 创建应用日志对象
- 创建应用日志子对象
- 创建应用日志对象
3. ABAP中写入SLG1日志
- 代码:
DATA: ls_log TYPE bal_s_log, ls_msg TYPE bal_s_msg, l_handle TYPE balloghndl, lt_handle TYPE bal_t_logh. ls_log-object = 'ZLOGGING'. ls_log-subobject = 'ZLOG01'. ls_log-aluser = sy-uname. ls_log-alprog = sy-repid. ls_log-ALDATE_DEL = sy-datum + 120. "保留日志120天,默认9999.12.31 ls_log-DEL_BEFORE = 'X'. "保留日志直到到期 "Open log CALL FUNCTION 'BAL_LOG_CREATE' EXPORTING i_s_log = ls_log IMPORTING e_log_handle = l_handle EXCEPTIONS log_header_inconsistent = 1 OTHERS = 2. "Create Message ls_msg-msgty = 'W'. ls_msg-msgid = 'Z'. ls_msg-msgno = '101'. ls_msg-msgv1 = '1'. ls_msg-msgv2 = '2'. ls_msg-msgv3 = '3'. ls_msg-msgv4 = '4'. ls_msg-probclass = 2. CALL FUNCTION 'BAL_LOG_MSG_ADD' EXPORTING i_log_handle = l_handle i_s_msg = ls_msg EXCEPTIONS log_not_found = 1 msg_inconsistent = 2 log_is_full = 3 OTHERS = 4. ls_msg-msgty = 'E'. ls_msg-msgid = 'Z'. ls_msg-msgno = '102'. ls_msg-msgv1 = '1'. ls_msg-msgv2 = '2'. ls_msg-msgv3 = '3'. ls_msg-msgv4 = '4'. ls_msg-probclass = 2. CALL FUNCTION 'BAL_LOG_MSG_ADD' EXPORTING i_log_handle = l_handle i_s_msg = ls_msg EXCEPTIONS log_not_found = 1 msg_inconsistent = 2 log_is_full = 3 OTHERS = 4. "Save log APPEND l_handle TO lt_handle. CALL FUNCTION 'BAL_DB_SAVE' EXPORTING i_client = sy-mandt * I_IN_UPDATE_TASK = ' ' i_save_all = 'X' i_t_log_handle = lt_handle * I_2TH_CONNECTION = ' ' * I_2TH_CONNECT_COMMIT = ' ' EXCEPTIONS log_not_found = 1 save_not_allowed = 2 numbering_error = 3 OTHERS = 4. CLEAR: l_handle,ls_msg,ls_log,lt_handle.
4. 查看SLG1日志