首先创建日志对象
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的方法就是这样子,因为有数据库操作,必然会耗时,什么时候考虑加日志,根据业务要求和具体重要程度去判断吧

SAP日志log:SLG0,SLG1相关推荐

  1. Python统计网站访问日志log中的IP信息,并排序。。

    Python统计网站访问日志log中的IP信息,并排序,打印排名靠前的IP及访问量.示例代码如下: #!/usr/bin/env pythonipdict = {}file = open(" ...

  2. 如何正确使用日志Log

    如何正确使用日志Log title: 如何正确使用日志Log date: 2015-01-08 12:54:46 categories: [Python] tags: [Python,log] --- ...

  3. C++-实现日志log功能

    作者:Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 场景需求 开发软件或者进行其他编程工作时,软件可能会长时间运行,但是!一旦突然崩溃就让人一脸懵逼,此时 ...

  4. php log日志管理,PHP日志LOG类定义与用法示例

    本文实例讲述了PHP日志LOG类定义与用法.分享给大家供大家参考,具体如下: /** * PHP log 类 */ class Config{ public static function getCo ...

  5. Qt下一行代码就可以使用的稳定易用的日志log类

    Qt下一行代码就可以使用的稳定易用的日志类 此日志类是基于Qt 自带的 扩展的一个易用的日志类, 使用的是Qt自带的日志输出形式, 已长期运行在许多实际项目中,稳定可靠,而且跨平台, 在windows ...

  6. Linux 定时清除日志 Log

    一.原因 写这篇的原因是项目中log没有定时清除,服务器上项目是用脚本启动,log文件只会在启动时生成一次,这时,由于项目在不断运行中,导致log越来越大.如果删除log文件,还得把项目停掉在启动,这 ...

  7. sql2008r 收缩数据库日志log文件;删除errorlog文件的方法

    1.清空log文件,以减少数据库文件log所占的空间 USE dbname1 ; GO ALTER DATABASE dbname1 SET RECOVERY SIMPLE;--设置简单恢复模式 GO ...

  8. python输出日志到文件_【已解决】Python中,如何让多个py文件的logging输出到同一个日志log文件...

    [问题] 有一个比较长的python脚本文件,其中关于log日志输出,用的是logging,对应初始化代码为:logging.basicConfig( level = logging.DEBUG, f ...

  9. 稍微成型点的用WEBSOCKET实现的实时日志LOG输出

    难的是还是就地用JS显示出来相关的发布进度. 还好,花了一下午实现了. 可以移植到项目中去罗... websocket.py: import tornado.ioloop import tornado ...

最新文章

  1. Spring Boot ApplicationContextRunner 测试指南
  2. Android关于AndroidManifest.xml详细分析
  3. 常用脚本--查看数据库文件大小
  4. 【解题报告】Leecode 384. 打乱数组——Leecode每日一题系列
  5. idea资源包下创建资源包_资源包技巧和最佳实践
  6. Windows 7硬盘安装方法大全
  7. LeetCode篇之栈:155(常数时间复杂度内找最小栈)
  8. 西瓜书+实战+吴恩达机器学习(十七)规则学习(序贯覆盖)
  9. LINUX/UNIX vi全屏幕编辑器
  10. python能做什么工作-谁适合学Python?学了Python可以做什么工作?
  11. A Hierarchical Reinforced Sequence Operation Method for Unsupervised Text Style Transfer
  12. vs2019 product key
  13. 如何胜任一个小型公司的技术总监?
  14. 区块链技术原理-分布式数据库
  15. Atitit layout art 布局的艺术目录1. SpringLayout 类 弹簧布局管理器 12. BoxLayout( html默认布局) 11.SpringLayout
  16. CANoe 13 demo 下载和激活-转载
  17. ccs定义的函数不变色_ccs使用问题及解决办法
  18. 双系统模式下如何卸载ubuntu系统
  19. 自学python接单_用Python在网上接单,兼职也可以月薪过万
  20. ant学习笔记—自定义Ant任务

热门文章

  1. 这个世界并不缺少创意,而是缺少发现
  2. 【干货】深入B端SaaS产品设计核心理念
  3. 产品汪才不是你想的辣么简单
  4. SEM那些被人混淆的事儿(已完结)
  5. PMcaff微分享 | 为什么大部分女生爱星座?大部分男生恨星座?
  6. 如何使用Topshelf管理Windows服务
  7. jQuery之文本框得失焦点
  8. MySQL 性能 细节 考量 (更新中......)
  9. IDL关系运算符Eq Ne Le Lt Gt Ge含义说明
  10. eclipse svn插件 不能正常显示属性的解决办法