相关介绍
SAP 应用日志(Application Log)是用于创建、保存和分析系统消息的工具。应用程序事件可以集中记录在应用程序日志中。
应用程序日志提供了一个基础结构(应用程序日志是由多个表组成的表结构),用于收集日志中的消息和异常,保存,读取和删除数据库中的日志并显示它们。
应用程序日志记录了应用程序执行的进度。系统日志记录系统事件,我们可以使用应用程序日志记录特定于应用程序的事件,其优点是系统范围的标准化和统一的事件日志记录,便于分析。
应用程序日志旨在临时存储消息。应该间隔删除日志(例如每周批量删除日志)以避免数据库负载过高。
t-code
SLG0 创建一个新的日志对象和子对象
SLG1 显示应用程序日志
SLG2 删除应用程序日志
函数
BAL_LOG_CREATE 创建日志
BAL_LOG_MSG_ADD 将消息添加入日志
BAL_DB_SAVE 保存消息
BAL_DSP_LOG_DISPLAY 显示内存中的消息
Open Log
函数BAL_LOG_CREATE
被用于打开程序的日志,这个函数会返回一个日志句柄(Log Handle),这个日志句柄是特定日志的唯一标识,我们使用该句柄可以执行例如添加消息进入日志等操作。
Add message to Log
通过使用日志句柄,我们可以通过功能模块BAL_LOG_MSG_ADD
的传入参数I_S_MSG
(或者结构BAL_S_MSG
)来添加消息到我们想要添加的LOG中。
Save messages
通过功能模块BAL_DB_SAVE的传入参数I_SAVE_ALL = ‘X’
将存放在内存中日志保存到数据库。BAL_DB_SAVE
会返回一个表(传出参数为E_NEW_LOGNUMBERS
),表中涉及到了
LOG_HANDLE
,外部号码EXTNUMBER,临时LOGNUMBER和永久LOGNUMBER,因此在保存以后我们可以找到哪个号码被分配给了LOG日志。
Display messages
通过功能模块BAL_DSP_LOG_DISPLAY
我们可以显示收集的信息。
应用场景
我们可以将应用程序日志使用在如下情景中:
- 当我们想要将列表/日志保存较长的时间;通常来说,我们有8天的假脱机时间,因此,这些列表/日志会被自动删除。
- 当我们需要与日志生成的日志相比更多的信息时;应用程序日志拥有更多的信息例如用户、生成日期、消息的严重程度。
- 在ALE/EDI处理中,我们进行跨客户端处理(IDoc处理)时,我们可以生成应用程序日志来追踪生成的错误或消息。
步骤
- 通过事务代码SLG0来生成对象和子对象。
- 在我们需要生成Log的程序中调用功能模块(
BAL_LOG_CREATE
生成日志、BAL_LOG_MSG_ADD
添加消息到日志中、BAL_DB_SAVE
将日志保存到数据库中)。 - 显示Log日志,我们需要通过事务代码SLG1,给出对象名称、子对象名称和诸如用户名称、日期等其他关联数据的信息,双击其中一条日志可以看到详细的错误信息。
- 通过功能模块BAL_DSP_LOG_DISPLAY,我们可以在程序中查看程序本身的日志信息。
示例程序
SBAL_DEMO_02
注意的地方
- 使用se61 来设置明细
- 长文本在se93 里面找到对应的号码 编辑他的长文本
- 所以都是使用message Ixxx into c witn 的方式来带入参数
- 可以添加扩充字段
网友评论