zoukankan      html  css  js  c++  java
  • 按月统计tcode和report使用次数的工具

    执行report,输入要查询的日期和user,

    工具会按照使用次数从高到低列出输入日期所在的月份内所有该user 曾经使用过的tcode 和report list:

    REPORT zusertcode.
    PARAMETER: month TYPE dats DEFAULT sy-datum OBLIGATORY,
               user type usr02-bname OBLIGATORY DEFAULT sy-uname.
    TYPES: BEGIN OF zusertcode,
             operation type char30,
             type type char10,
             count  TYPE swncshcnt,
           END OF zusertcode.
    TYPES: tt_zusertcode TYPE STANDARD TABLE OF zusertcode WITH KEY operation type.
    DATA: lt_usertcode  TYPE swnc_t_aggusertcode,
          wa_usertcode TYPE swncaggusertcode,
          wa           TYPE zusertcode,
          t_ut         TYPE tt_zusertcode,
          ls_result    TYPE zusertcode,
          lt_result     TYPE tt_zusertcode.
    CONSTANTS: cv_tcode TYPE char30 VALUE 'Tcode',
               cv_report TYPE char30 VALUE 'Report',
               cv_count TYPE char5 value 'Count'.
    START-OF-SELECTION.
    * Set date to the first day of the month
      "month+6(2) = '01'.
      CALL FUNCTION 'SWNC_COLLECTOR_GET_AGGREGATES'
        EXPORTING
          component     = 'TOTAL'
          periodtype    = 'M'
          periodstrt    = month
        TABLES
          usertcode     = lt_usertcode
        EXCEPTIONS
          no_data_found = 1
          OTHERS        = 2.
      DELETE lt_usertcode WHERE tasktype <> '01'.
      LOOP AT lt_usertcode ASSIGNING FIELD-SYMBOL(<user>) WHERE account = user.
         CLEAR: ls_result.
         ls_result-operation = <user>-entry_id.
         ls_result-type = <user>-entry_id+72.
         ls_result-count = <user>-count.
         COLLECT ls_result INTO lt_result.
      ENDLOOP.
      SORT lt_result BY count DESCENDING.
      WRITE:  10 cv_tcode, 20 cv_report, 60 cv_count COLOR COL_NEGATIVE.
      LOOP AT lt_result ASSIGNING FIELD-SYMBOL(<result>).
          IF <result>-type = 'T'.
            WRITE: / <result>-operation COLOR COL_TOTAL UNDER cv_tcode,
                     <result>-count COLOR COL_POSITIVE UNDER cv_count.
          ELSE.
            WRITE: / <result>-operation COLOR COL_GROUP UNDER cv_report,
                     <result>-count COLOR COL_POSITIVE UNDER cv_count.
          ENDIF.
      ENDLOOP.
  • 相关阅读:
    0909我眼中的编译原理
    你要的所有数据源都在这里了!
    JAVA多线程和并发基础
    写的代码小有成就+今日总结--购买产品---20200508
    mysql数据库时区问题
    【Spring】——声明式事务配置详解
    SpringBoot整合阿里云OSS文件上传、下载、查看、删除
    一文看懂:网址,URL,域名,IP地址,DNS,域名解析
    git快速入门
    批处理框架spring batch基础知识介绍
  • 原文地址:https://www.cnblogs.com/goodsmith/p/4874052.html
Copyright © 2011-2022 走看看