前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SAP日志LOG查看:SLG0,SLG1

SAP日志LOG查看:SLG0,SLG1

作者头像
matinal
发布2020-11-30 09:47:11
1.5K0
发布2020-11-30 09:47:11
举报
文章被收录于专栏:SAP Technical

首先创建日志对象

slg0:

创建主对象

创建子对象

调用函数添加维护日志

*1.变量定义

*----------------------------------------------------------------------*

DATA: l_mac_bal_log TYPE bal_s_log. "定义log

DATA: l_tab_loghndl TYPE bal_t_logh. "Application Log: Log Handle Table

*----------------------------------------------------------------------*

*2.赋值

*----------------------------------------------------------------------*

l_mac_bal_log-extnumber = i_log_extnumber. "外部编号

l_mac_bal_log-object = i_log_object. "主对象

l_mac_bal_log-subobject = i_log_sub_object. "子对象

l_mac_bal_log-aldate = sy-datum. "日期

l_mac_bal_log-altime = sy-uzeit. "时间

l_mac_bal_log-aluser = sy-uname. "用户

l_mac_bal_log-alprog = sy-repid. "sy-repid.

*----------------------------------------------------------------------*

*2.创建日志,得到句柄

*----------------------------------------------------------------------*

CALL FUNCTION 'BAL_LOG_CREATE'

EXPORTING

i_s_log = l_mac_bal_log "日志

IMPORTING

e_log_handle = e_mac_handle "句柄

EXCEPTIONS

log_header_inconsistent = 1

OTHERS = 2.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

*----------------------------------------------------------------------*

*2消息类型处理

*----------------------------------------------------------------------*

l_wa_bal_msg-msgty = sy-msgty. "消息类型

l_wa_bal_msg-msgno = sy-msgno. "消息号

l_wa_bal_msg-msgid = sy-msgid. "消息类

l_wa_bal_msg-msgv1 = sy-msgv1. "消息变量

l_wa_bal_msg-msgv2 = sy-msgv2. "消息变量

l_wa_bal_msg-msgv3 = sy-msgv3. "消息变量

l_wa_bal_msg-msgv4 = sy-msgv4. "消息变量

if l_wa_bal_msg-msgty ca 'EA'. "如果返回消息有错误

l_wa_bal_msg-probclass = '1'. "应用日志:邮件问题类 为1

elseif l_wa_bal_msg-msgty ca 'S'. "返回消息正确

l_wa_bal_msg-probclass = '2'. "应用日志:邮件问题类 为2

else .

l_wa_bal_msg-probclass = '3'. "应用日志:邮件问题类 为3

endif.

*----------------------------------------------------------------------*

*3添加日志

*----------------------------------------------------------------------*

call function 'BAL_LOG_MSG_ADD'

exporting

i_log_handle = l_mac_handle "创建日志时生成的日志句柄

i_s_msg = l_wa_bal_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

.

if sy-subrc <> 0.

message id sy-msgid type sy-msgty number sy-msgno

with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

endif.

……如果添加多次,多次调用add函数

*----------------------------------------------------------------------*

*4保存日志

*----------------------------------------------------------------------*

APPEND i_mac_handle TO l_tab_loghndl. "句柄

CALL FUNCTION 'BAL_DB_SAVE'

EXPORTING

i_save_all = 'X'

i_t_log_handle = l_tab_loghndl "句柄内表

EXCEPTIONS

log_not_found = 1

save_not_allowed = 2

numbering_error = 3

OTHERS = 4.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

REFRESH l_tab_loghndl. "清空

*-----------------------------------------------------------------------

*"调用标准关闭日志函数

*-----------------------------------------------------------------------

CALL FUNCTION 'BAL_LOG_REFRESH'

EXPORTING

i_log_handle = i_mac_handle "句柄

EXCEPTIONS

log_not_found = 1

OTHERS = 2.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

*&---------------------------------------------------------------------*

*&"显示日志: 最简单的显示方式

*&---------------------------------------------------------------------*

CALL FUNCTION 'BAL_DSP_LOG_DISPLAY'

* EXPORTING

* I_S_DISPLAY_PROFILE =

* I_T_LOG_HANDLE =

* I_T_MSG_HANDLE =

* I_S_LOG_FILTER =

* I_S_MSG_FILTER =

* I_T_LOG_CONTEXT_FILTER =

* I_T_MSG_CONTEXT_FILTER =

* I_AMODAL = ' '

* I_SRT_BY_TIMSTMP = ' '

* IMPORTING

* E_S_EXIT_COMMAND =

* EXCEPTIONS

* PROFILE_INCONSISTENT = 1

* INTERNAL_ERROR = 2

* NO_DATA_AVAILABLE = 3

* NO_AUTHORITY = 4

* OTHERS = 5

.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

*&---------------------------------------------------------------------*

*&"显示日志:  no_tree display方法:

*&---------------------------------------------------------------------*

DATA:

l_s_display_profile TYPE bal_s_prof.

* get display profile

CALL FUNCTION 'BAL_DSP_PROFILE_NO_TREE_GET'

IMPORTING

e_s_display_profile = l_s_display_profile

EXCEPTIONS

OTHERS = 1.

" 然后再调用

CALL FUNCTION 'BAL_DSP_LOG_DISPLAY'

EXPORTING

i_s_display_profile = l_s_display_profile

EXCEPTIONS

OTHERS = 1.

*&---------------------------------------------------------------------*

*&"显示日志:   弹出窗口形式::

*&---------------------------------------------------------------------*

*DATA:

* l_s_display_profile TYPE bal_s_prof.

* get a prepared profile

CALL FUNCTION 'BAL_DSP_PROFILE_POPUP_GET'

IMPORTING

e_s_display_profile = l_s_display_profile

EXCEPTIONS

OTHERS = 1.

*"然后再调用:

CALL FUNCTION 'BAL_DSP_LOG_DISPLAY'

EXPORTING

i_s_display_profile = l_s_display_profile

EXCEPTIONS

OTHERS = 1.

可以可以直接进入slg1,然后查看日志

具体参数意思,不解释了,都懂的

大概的记录log的方法就是这样子,因为有数据库操作,必然会耗时,什么时候考虑加日志,根据业务要求和具体重要程度去判断吧

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/01/14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档