只要一个用户在 SAP ABAP 系统里浏览过 BSP 页面,会留下浏览历史记录。
本工具会解析出这些记录,打印出该用户浏览的历史事件,和浏览过的页面名称。
使用方法很简单,直接输入待查询的用户名即可:
下图显示,我在 2018年8月10日之后,就再也没有在 AG3 系统浏览过 BSP 应用了:
工具源代码:
REPORT ztool_display_page_name.
PARAMETERS: name TYPE trdir-unam OBLIGATORY DEFAULT 'WANGJER'.
DATA: lt_trdir TYPE STANDARD TABLE OF trdir,
lt_page TYPE STANDARD TABLE OF o2pagdir.
TYPES: BEGIN OF ty_impl,
name TYPE o2pagdir-implclass,
END OF ty_impl.
TYPES: tt_impl TYPE STANDARD TABLE OF ty_impl.
START-OF-SELECTION.
SELECT * INTO TABLE lt_trdir FROM trdir WHERE unam = name.
IF sy-subrc <> 0 .
WRITE: / 'No browse history found for current user'.
RETURN.
ENDIF.
DATA: lt_impl TYPE tt_impl,
ls_trdir TYPE trdir,
ls_impl TYPE ty_impl.
LOOP AT lt_trdir INTO ls_trdir.
ls_impl-name = ls_trdir-name.
APPEND ls_impl TO lt_impl.
ENDLOOP.
SELECT * INTO TABLE lt_page FROM o2pagdir FOR ALL ENTRIES IN lt_impl
WHERE changedby = name AND implclass = lt_impl-name.
SORT lt_page BY changedon DESCENDING.
LOOP AT lt_page ASSIGNING FIELD-SYMBOL(<page>).
WRITE: / <page>-implclass COLOR COL_GROUP, ' Last accessed on:', <page>-changedon COLOR COL_KEY,
' Component name: ' , <page>-applname+0(20) COLOR COL_NEGATIVE, ' view name: ', <page>-pagename+0(30) COLOR COL_POSITIVE.
ENDLOOP.