sap 应用日志-Application Log

89 篇文章 0 订阅

sap 应用日志-Application Log

概念

SAP 应用日志(Application Log)是用于创建、保存和分析系统消息的工具。应用程序事件可以集中记录在应用程序日志中。
应用程序日志提供了一个基础结构(应用程序日志是由多个表组成的表结构),用于收集日志中的消息和异常,保存,读取和删除数据库中的日志并显示它们。
应用程序日志记录了应用程序执行的进度。系统日志记录系统事件,我们可以使用应用程序日志记录特定于应用程序的事件,其优点是系统范围的标准化和统一的事件日志记录,便于分析。
应用程序日志旨在临时存储消息。应该间隔删除日志(例如每周批量删除日志)以避免数据库负载过高。

事务代码

在这里插入图片描述

函数

在这里插入图片描述
在这里插入图片描述

创建程序

在这里插入图片描述

显示配置文件

在这里插入图片描述

运行结果

弹出式

在这里插入图片描述

全屏式

在这里插入图片描述

程序剖析

清空日志

 CALL FUNCTION 'BAL_GLB_MEMORY_REFRESH' .

创建日志

DATA i_s_log      TYPE bal_s_log.
DATA e_log_handle TYPE balloghndl.

CALL FUNCTION 'BAL_LOG_CREATE'
  EXPORTING
    i_s_log                       = i_s_log
 IMPORTING
   e_log_handle                  = e_log_handle
 EXCEPTIONS
   log_header_inconsistent       = 1
   OTHERS                        = 2
          .
IF sy-subrc <> 0.
* Implement suitable error handling here
  MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

模拟数据

*DATA WORK_PROCESS_GROUP TYPE BAPI_ORDER_CNTRL_PARAM-WORK_PROC_GROUP.
*DATA WORK_PROCESS_MAX   TYPE BAPI_ORDER_CNTRL_PARAM-WORK_PROC_MAX.
DATA return             TYPE bapiret2.
DATA orders             TYPE STANDARD TABLE OF bapi_order_key.
DATA detail_return      TYPE STANDARD TABLE OF bapi_order_return.
*DATA APPLICATION_LOG    TYPE STANDARD TABLE OF BAPI_ORDER_APPLICATION_LOG.

DATA order LIKE LINE OF orders .
order-order_number = '200200'.
APPEND order TO orders.
CALL FUNCTION 'BAPI_PROCORD_CLOSE'
* EXPORTING
*   WORK_PROCESS_GROUP       = 'COWORK_BAPI'
*   WORK_PROCESS_MAX         = 99
 IMPORTING
   return                   = return
  TABLES
    orders                   = orders
   detail_return            = detail_return
*   APPLICATION_LOG          = APPLICATION_LOG
          .

我这里是故意没有给生产订单加前导0,没有办法关闭订单,所以一定是错误的。

添加日志消息

DATA i_s_msg             TYPE bal_s_msg.
  LOOP AT detail_return INTO DATA(s_detail_return).
    i_s_msg-msgty = s_detail_return-type.
    i_s_msg-msgid = s_detail_return-id.
    i_s_msg-msgno = s_detail_return-number.
    i_s_msg-msgv1 = s_detail_return-message_v1.
    i_s_msg-msgv2 = s_detail_return-message_v2.
    i_s_msg-msgv3 = s_detail_return-message_v3.
    i_s_msg-msgv4 = s_detail_return-message_v4.
    CALL FUNCTION 'BAL_LOG_MSG_ADD'
      EXPORTING
       i_log_handle              = e_log_handle
        i_s_msg                   = i_s_msg
              .
    IF sy-subrc <> 0.
*     Implement suitable error handling here
    ENDIF.
  ENDLOOP.

显示日志

DATA e_s_display_profile TYPE bal_s_prof.

"是没有树状的,弹出的
  CALL FUNCTION 'BAL_DSP_PROFILE_POPUP_GET'
*   EXPORTING
*     START_COL                 = 5
*     START_ROW                 = 5
*     END_COL                   = 87
*     END_ROW                   = 25
   IMPORTING
     e_s_display_profile       = e_s_display_profile
            .
            "是没有树状的,全屏的
  CALL FUNCTION 'BAL_DSP_PROFILE_NO_TREE_GET'
   IMPORTING
     e_s_display_profile       = e_s_display_profile
            .

BAL_DSP_LOG_DISPLAY-显示内存消息

CALL FUNCTION 'BAL_DSP_LOG_DISPLAY'
   EXPORTING
     i_s_display_profile                 = e_s_display_profile
   EXCEPTIONS
     profile_inconsistent                = 1
     internal_error                      = 2
     no_data_available                   = 3
     no_authority                        = 4
     OTHERS                              = 5
            .
  IF sy-subrc <> 0.
* Implement suitable error handling here
  ENDIF.

全部程序

*&---------------------------------------------------------------------*
*& Report Z_TEST_LOG_LHY
*&---------------------------------------------------------------------*
*& Description:测试应用日志 Application Log
*&---------------------------------------------------------------------*
REPORT z_test_log_lhy.

"清空日志
   CALL FUNCTION 'BAL_GLB_MEMORY_REFRESH' .


"创建日志
DATA i_s_log      TYPE bal_s_log.
DATA e_log_handle TYPE balloghndl.

CALL FUNCTION 'BAL_LOG_CREATE'
  EXPORTING
    i_s_log                       = i_s_log
 IMPORTING
   e_log_handle                  = e_log_handle
 EXCEPTIONS
   log_header_inconsistent       = 1
   OTHERS                        = 2
          .
IF sy-subrc <> 0.
* Implement suitable error handling here
  MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

*DATA WORK_PROCESS_GROUP TYPE BAPI_ORDER_CNTRL_PARAM-WORK_PROC_GROUP.
*DATA WORK_PROCESS_MAX   TYPE BAPI_ORDER_CNTRL_PARAM-WORK_PROC_MAX.
DATA return             TYPE bapiret2.
DATA orders             TYPE STANDARD TABLE OF bapi_order_key.
DATA detail_return      TYPE STANDARD TABLE OF bapi_order_return.
*DATA APPLICATION_LOG    TYPE STANDARD TABLE OF BAPI_ORDER_APPLICATION_LOG.

DATA order LIKE LINE OF orders .
order-order_number = '200200'.
APPEND order TO orders.
CALL FUNCTION 'BAPI_PROCORD_CLOSE'
* EXPORTING
*   WORK_PROCESS_GROUP       = 'COWORK_BAPI'
*   WORK_PROCESS_MAX         = 99
 IMPORTING
   return                   = return
  TABLES
    orders                   = orders
   detail_return            = detail_return
*   APPLICATION_LOG          = APPLICATION_LOG
          .

"添加日志
DATA i_s_msg             TYPE bal_s_msg.
  LOOP AT detail_return INTO DATA(s_detail_return).
    i_s_msg-msgty = s_detail_return-type.
    i_s_msg-msgid = s_detail_return-id.
    i_s_msg-msgno = s_detail_return-number.
    i_s_msg-msgv1 = s_detail_return-message_v1.
    i_s_msg-msgv2 = s_detail_return-message_v2.
    i_s_msg-msgv3 = s_detail_return-message_v3.
    i_s_msg-msgv4 = s_detail_return-message_v4.
    CALL FUNCTION 'BAL_LOG_MSG_ADD'
      EXPORTING
       i_log_handle              = e_log_handle
        i_s_msg                   = i_s_msg
              .
    IF sy-subrc <> 0.
*     Implement suitable error handling here
    ENDIF.
  ENDLOOP.

"显示文件
DATA e_s_display_profile TYPE bal_s_prof.

"是没有树状的,弹出的
  CALL FUNCTION 'BAL_DSP_PROFILE_POPUP_GET'
*   EXPORTING
*     START_COL                 = 5
*     START_ROW                 = 5
*     END_COL                   = 87
*     END_ROW                   = 25
   IMPORTING
     e_s_display_profile       = e_s_display_profile
            .

*"是没有树状的,全屏的
*  CALL FUNCTION 'BAL_DSP_PROFILE_NO_TREE_GET'
*   IMPORTING
*     e_s_display_profile       = e_s_display_profile
*            .


 "日志,BAL_DSP_LOG_DISPLAY-应用程序日志:全屏日志输出

  CALL FUNCTION 'BAL_DSP_LOG_DISPLAY'
   EXPORTING
     i_s_display_profile                 = e_s_display_profile
   EXCEPTIONS
     profile_inconsistent                = 1
     internal_error                      = 2
     no_data_available                   = 3
     no_authority                        = 4
     OTHERS                              = 5
            .
  IF sy-subrc <> 0.
* Implement suitable error handling here
  ENDIF.
  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
kettle-sap-plugin-core是一个针对Kettle(现在被称为Pentaho Data Integration)的插件核心库。Kettle是一种用于数据集成和转换的开源工具,拥有强大的ETL(Extract, Transform, Load)功能。而kettle-sap-plugin-core则是Kettle插件的核心库之一,专门用于与SAP系统进行集成。 SAP(Systems, Applications and Products in Data Processing)是一家全球领先的企业级软件公司,其产品广泛应用于各种业务领域,包括财务会计、供应链管理、人力资源管理等。kettle-sap-plugin-core提供了一系列用于连接和与SAP系统交互的功能组件,方便用户在Kettle中进行SAP数据的抽取、转换和加载。 这个插件核心库支持与SAP系统的各种模块进行集成,如SAP ERP(Enterprise Resource Planning)、SAP BW(Business Warehouse)、SAP HANA等。用户可以通过kettle-sap-plugin-core,使用Kettle的图形化界面来配置和管理与SAP系统之间的数据传输、转换和同步任务。 kettle-sap-plugin-core具有以下特点: 1. 支持SAP系统的多种连接方式,包括JCo(Java Connector)、BAPI(Business Application Programming Interface)等。 2. 提供了丰富的连接器,用于与SAP系统的不同模块进行交互,如SAP输入、SAP数据输出、SAP函数调用等。 3. 支持对SAP数据的抽取、转换和加载,提供了多种数据转换和处理操作,如数据映射、过滤、排序、聚合等。 4. 具有高度可扩展性,用户可以根据自己的需求进行插件的定制和扩展。 总之,kettle-sap-plugin-core是一个在Kettle中实现与SAP系统集成的重要插件核心库,方便用户进行ETL任务的开发和管理,实现SAP数据的快速、高效地处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值