输入用户名和想查询的时间段:
执行得到结果。双击可查看具体代码:
工具源代码:
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的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码: