ABAP接口日志查询程序.docx

上传人:b****3 文档编号:3515753 上传时间:2022-11-23 格式:DOCX 页数:14 大小:76.60KB
下载 相关 举报
ABAP接口日志查询程序.docx_第1页
第1页 / 共14页
ABAP接口日志查询程序.docx_第2页
第2页 / 共14页
ABAP接口日志查询程序.docx_第3页
第3页 / 共14页
ABAP接口日志查询程序.docx_第4页
第4页 / 共14页
ABAP接口日志查询程序.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

ABAP接口日志查询程序.docx

《ABAP接口日志查询程序.docx》由会员分享,可在线阅读,更多相关《ABAP接口日志查询程序.docx(14页珍藏版)》请在冰豆网上搜索。

ABAP接口日志查询程序.docx

ABAP接口日志查询程序

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

*& Report  ZMME_LOG

*&

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

*&

*&说明:

配置表ZTMM_LOG_CONF中的主键字段名和消息字段名以“,”隔开

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

REPORT zmme_log.

TABLES:

 syst,zsmm_log.

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

* TYPES

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

TYPE-POOLS:

 slis."ALV

TYPE-POOLS:

 icon."图标

TYPE-POOLS:

 bkkdc."域文本

TYPE-POOLS:

 abap.

TYPES BEGIN OF ty_itab.

TYPES status(4) TYPE c. "状态(红绿灯)

        INCLUDE TYPE zsmm_log.

TYPES:

 stext TYPE functext.

TYPES END OF ty_itab.

TYPES:

 BEGIN OF ty_fname,

         value TYPE fdname,

       END OF ty_fname.

TYPES:

 BEGIN OF ty_fvalue,

         value TYPE char20,

       END OF ty_fvalue.

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

* CONSTANTS

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

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

* GLOBAL DATA

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

DATA:

 gv_repid      TYPE sy-repid.

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

* GLOBAL INTERNAL TABLES

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

DATA:

 gwa_log_conf TYPE ztmm_log_conf,

      gt_log_conf  TYPE TABLE OF ztmm_log_conf.

DATA:

 gt_itab  TYPE TABLE OF ty_itab,

      gwa_itab TYPE ty_itab.

"ALV相关变量

DATA:

 gt_fieldcat   TYPE lvc_t_fcat,

      gwa_layout    TYPE lvc_s_layo,

      gt_event_exit TYPE slis_t_event_exit.

DATA:

 gt_component_tab  TYPE abap_component_tab,

      gs_component_desc TYPE LINE OF abap_component_tab,

      gr_struc_type     TYPE REF TO cl_abap_structdescr,

      gr_tab_type       TYPE REF TO cl_abap_tabledescr,

      gr_struc          TYPE REF TO data,

      gr_tab            TYPE REF TO data,

      ld_comp(40)       TYPE c.

FIELD-SYMBOLS:

  TYPE any,

                TYPE table.

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

* GLOBAL RANGES

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

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

* SELECTION-SCREEN

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

SELECT-OPTIONS:

 s_zfname FOR zsmm_log-zfname MATCHCODE OBJECT zmm_sh_interface,"接口名称

                s_datum  FOR syst-datum, "日期

                s_uzeit  FOR syst-uzeit, "时间

                s_zitype FOR zsmm_log-zitype, "接口类型

                s_rtype  FOR zsmm_log-rtype. "状态

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

** GLOBAL MACROS

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

*

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

** EVENTS BEFORE MAIN PROGRAM

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

*INITIALIZATION.

*  PERFORM frm_initprogm. "程序初始化

*

**AT SELECTION-SCREEN OUTPUT.

*

**AT SELECTION-SCREEN ON VALUE-REQUEST FOR.

*

**AT SELECTION-SCREEN.

*

**TOP-OF-PAGE.

*

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

*

*        MAIN PROGRAM

*

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

START-OF-SELECTION.

* INITIALIZE DATA

  PERFORM frm_initialize_data.

** PROCESS INPUT DATA (FOR INBOUND INTERFACES)

*  PERFORM FRM_PROCESS_INPUT_DATA.

*

* SELECT DATA FROM DATABASE

  PERFORM frm_select_data.

** PROCESS SELECTED DATA

*  PERFORM FRM_PROCESS_DATA.

*

END-OF-SELECTION.

** COMBINE RESULTS FROM THE PROCESSING (MAY NOT BE NECESSARY)

*  PERFORM FRM_COMBINE_DATA.

* OUTPUT RESULT TO FILE OR SPOOL/SCREEN

  PERFORM frm_output_data.

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

*&      FORM  FRM_INITIALIZE_DATA

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

*       TEXT

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

*  -->  P1        TEXT

*  <--  P2        TEXT

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

FORM frm_initialize_data .

  SELECT * FROM ztmm_log_conf

    INTO CORRESPONDING FIELDS OF TABLE gt_log_conf

   WHERE zfname IN s_zfname"接口名称

     AND zitype IN s_zitype."接口类型

ENDFORM.

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

*&      FORM  FRM_SELECT_DATA

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

*       TEXT

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

*  -->  P1        TEXT

*  <--  P2        TEXT

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

FORM frm_select_data .

  DATA:

 lv_tabname TYPE objectname.

  DATA:

 lv_str_where TYPE string.

  DATA:

 lwa_fname TYPE ty_fname.

  DATA:

 lt_kname TYPE TABLE OF ty_fname."主键字段

  DATA:

 lt_mname TYPE TABLE OF ty_fname."消息字段

  FIELD-SYMBOLS:

  TYPE any.

  DATA:

 lv_value TYPE string.

  DATA:

 lv_lenth TYPE i.

  DATA:

 lv_stext TYPE functext.

  LOOP AT gt_log_conf INTO gwa_log_conf.

    "接口描述

    CLEAR:

 lv_stext.

    SELECT SINGLE stext INTO lv_stext

      FROM tftit

     WHERE funcname = gwa_log_conf-zfname.

    "查询条件:

传输日期

    IF gwa_log_conf-zdname IS NOT INITIAL.

      CONCATENATE gwa_log_conf-zdname ' IN S_DATUM' INTO lv_str_where RESPECTING BLANKS.

    ENDIF.

    "查询条件:

传输时间

    IF lv_str_where IS INITIAL.

      IF gwa_log_conf-ztname IS NOT INITIAL.

        CONCATENATE gwa_log_conf-ztname ' IN S_UZEIT' INTO lv_str_where RESPECTING BLANKS.

      ENDIF.

    ELSE.

      IF gwa_log_conf-ztname IS NOT INITIAL.

        CONCATENATE lv_str_where ' AND ' gwa_log_conf-ztname ' IN S_UZEIT'

               INTO lv_str_where RESPECTING BLANKS.

      ENDIF.

    ENDIF.

    "查询条件:

传输状态

    IF lv_str_where IS INITIAL.

      IF gwa_log_conf-zsname IS NOT INITIAL.

        CONCATENATE gwa_log_conf-zsname ' IN S_RTYPE' INTO lv_str_where RESPECTING BLANKS.

      ENDIF.

    ELSE.

      IF gwa_log_conf-zsname IS NOT INITIAL.

        CONCATENATE lv_str_where ' AND ' gwa_log_conf-zsname ' IN S_RTYPE'

               INTO lv_str_where RESPECTING BLANKS.

      ENDIF.

    ENDIF.

    "动态获取日志信息

    lv_tabname = gwa_log_conf-ztable.

    PERFORM create_dynamic_tables

      USING

        lv_tabname

        'DOCS'.

    IF  IS ASSIGNED.

      SELECT * FROM (lv_tabname)

        INTO CORRESPONDING FIELDS OF TABLE 

       WHERE (lv_str_where).

      IF sy-subrc = 0 AND  IS ASSIGNED.

        SPLIT gwa_log_conf-zkey AT ',' INTO TABLE lt_kname.

        SPLIT gwa_log_conf-zmname AT ',' INTO TABLE lt_mname.

        LOOP AT  INTO .

          "功能模块的名称

          gwa_itab-zfname = gwa_log_conf-zfname.

          "功能模块的描述

          gwa_itab-stext = lv_stext.

          "传输日期

          ASSIGN COMPONENT gwa_log_conf-zdname OF STRUCTURE  TO .

          IF sy-subrc = 0.

            gwa_itab-sydat = .

          ENDIF.

          "传输日期

          ASSIGN COMPONENT gwa_log_conf-ztname OF STRUCTURE  TO .

          IF sy-subrc = 0.

            gwa_itab-sytim = .

          ENDIF.

          "接口类型

          gwa_itab-zitype = gwa_log_conf-zitype.

          "主键值

          CLEAR:

 lwa_fname.

          LOOP AT lt_kname INTO lwa_fname.

            ASSIGN COMPONENT lwa_fname-value OF STRUCTURE  TO .

*            IF sy-subrc = 0 AND  IS NOT INITIAL.

            IF  IS ASSIGNED.

              lv_value = .

            ELSE.

              lv_value = ''.

            ENDIF.

            CONDENSE lv_value NO-GAPS.

            IF gwa_itab-zkvalue IS INITIAL.

              CONCATENATE lv_value ',' INTO gwa_itab-zkvalue.

            ELSE.

              CONCATENATE gwa_itab-zkvalue lv_value ',' INTO gwa_itab-zkvalue.

            ENDIF.

*            ENDIF.

            AT LAST.

*              IF gwa_itab-zkvalue IS NOT INITIAL.

              "去除最后一位的逗号

              CONDENSE gwa_itab-zkvalue NO-GAPS.

              lv_lenth = strlen( gwa_itab-zkvalue ).

              lv_lenth = lv_lenth - 1.

              IF lv_lenth > 0.

                gwa_itab-zkvalue = gwa_itab-zkvalue+0(lv_lenth).

              ENDIF.

*              ENDIF.

            ENDAT.

            CLEAR:

 lwa_fname.

          ENDLOOP.

          "传输状态

          ASSIGN COMPONENT gwa_log_conf-zsname OF STRUCTURE  TO .

          IF sy-subrc = 0.

            gwa_itab-rtype = .

            IF gwa_itab-rtype = 'E'.

              gwa_itab-status = '@5C@'.

            ELSE.

              gwa_itab-status = '@5B@'.

            ENDIF.

          ENDIF.

          "消息

          CLEAR:

 lwa_fname.

          LOOP AT lt_mname INTO lwa_fname.

            ASSIGN COMPONENT lwa_fname-value OF STRUCTURE  TO .

            IF sy-subrc = 0 AND  IS NOT INITIAL.

              lv_value = .

              CONDENSE lv_value NO-GAPS.

              IF gwa_itab-rtmsg IS INITIAL.

                CONCATENATE lv_value ',' INTO gwa_itab-rtmsg.

              ELSE.

                CONCATENATE gwa_itab-rtmsg lv_value ',' INTO gwa_itab-rtmsg.

              ENDIF.

            ENDIF.

            AT LAST.

              IF gwa_itab-rtmsg IS NOT INITIAL.

                "去除最后一位的逗号

                CONDENSE gwa_itab-rtmsg NO-GAPS.

                lv_lenth = strlen( gwa_itab-rtmsg ).

                lv_lenth = lv_lenth - 1.

                gwa_itab-rtmsg = gwa_itab-rtmsg+0(lv_lenth).

              ENDIF.

            ENDAT.

      

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 生产经营管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1