分享

如何查看某个用户指定时间段的ABAP开发记录

 汪子熙 2019-02-17

输入用户名和想查询的时间段:

执行得到结果。双击可查看具体代码:

工具源代码:


REPORT tool_dev_history.

PARAMETERS: name TYPE usr02-bname OBLIGATORY,

            fro  TYPE sy-datum OBLIGATORY DEFAULT sy-datum,

            to_  TYPE sy-datum OBLIGATORY DEFAULT sy-datum.

CONSTANTS: c_name TYPE trdir-name VALUE ''Name'',

           c_date TYPE trdir-udat VALUE ''Date''.

AT SELECTION-SCREEN.

  IF fro > to_.

    WRITE: / ''Invalid date period.'' COLOR COL_NEGATIVE.

    RETURN.

  ENDIF.

START-OF-SELECTION.

  DATA: lt_record TYPE STANDARD TABLE OF trdir.

  SELECT name udat INTO CORRESPONDING FIELDS OF TABLE lt_record FROM trdir

     WHERE unam = name AND udat BETWEEN fro AND to_.

  IF sy-subrc <> 0.

    WRITE: / ''No record found at given date period.'' COLOR COL_NEGATIVE.

    RETURN.

  ENDIF.

  SORT lt_record BY udat DESCENDING.

  WRITE:  10 c_name, 80 c_date.

  LOOP AT lt_record INTO DATA(ls_data).

    WRITE: / ls_data-name UNDER c_name COLOR COL_POSITIVE, ls_data-udat UNDER c_date COLOR COL_TOTAL.

    HIDE ls_data-name.

  ENDLOOP.

AT LINE-SELECTION.

  DATA: bdcdata_tab  TYPE TABLE OF bdcdata,

        opt          TYPE ctu_params,

        bdcdata_line TYPE bdcdata.

  bdcdata_line-program = ''SAPLWBABAP''.

  bdcdata_line-dynpro = ''0100''.

  bdcdata_line-dynbegin = ''X''.

  APPEND bdcdata_line TO bdcdata_tab.

  CLEAR: bdcdata_line.

  bdcdata_line-fnam = ''BDC_CURSOR''.

  bdcdata_line-fval = ''RS38M-PROGRAMM''.

  APPEND bdcdata_line TO bdcdata_tab.

  CLEAR: bdcdata_line.

  bdcdata_line-fnam = ''BDC_OKCODE''.

  bdcdata_line-fval = ''=SHOP''.

  APPEND bdcdata_line TO bdcdata_tab.

  CLEAR: bdcdata_line.

  bdcdata_line-fnam = ''RS38M-PROGRAMM''.

  bdcdata_line-fval = ls_data-name.

  APPEND bdcdata_line TO bdcdata_tab.

  opt-dismode = ''E''.

  opt-defsize = ''X''.

  CALL TRANSACTION ''SE38'' USING bdcdata_tab  OPTIONS FROM opt.

  CLEAR: bdcdata_tab.

要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约