按月统计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.
原文地址:https://www.cnblogs.com/goodsmith/p/4874052.html