查看TR请求内所有对象信息
开发一个程序
*&---------------------------------------------------------------------*
*& Report ZGQ_TEST9
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT zgq_test9.
DATA:BEGIN OF lt_data OCCURS 0.
INCLUDE STRUCTURE yvtr.
DATA: result LIKE trpari-s_checked,
cli_dep LIKE trpari-w_cli_dep,
srcsystem LIKE tadir-srcsystem,
devclass LIKE tadir-devclass,
author LIKE tadir-author,
masterlang LIKE tadir-masterlang,
srcdep LIKE tadir-srcdep,
delflag LIKE tadir-delflag,
END OF lt_data.
DATA: ls_tadir_key LIKE tadir,
ls_tadir LIKE tadir,
lt_tadir TYPE TABLE OF tadir,
ls_e071 TYPE e071.
TABLES:e071,e070.
SELECT-OPTIONS:s_user FOR e070-as4user,
s_tr FOR e071-trkorr,
s_object FOR e071-object,
s_name FOR e071-obj_name.
SELECT * INTO TABLE @lt_data FROM yvtr
WHERE as4user IN @s_user AND
trkorr IN @s_tr AND
object IN @s_object AND
obj_name IN @s_name .
LOOP AT lt_data ASSIGNING FIELD-SYMBOL(<fs>).
CLEAR:ls_tadir_key,ls_e071.
MOVE-CORRESPONDING <fs> TO ls_e071.
CALL FUNCTION 'TR_CHECK_TYPE'
EXPORTING
wi_e071 = ls_e071
IMPORTING
pe_result = <fs>-result
we_cli_dep = <fs>-cli_dep
we_tadir = ls_tadir_key.
IF <fs>-result CA 'L'.
CLEAR ls_tadir.
READ TABLE lt_tadir INTO ls_tadir
WITH KEY pgmid = ls_tadir_key-pgmid
object = ls_tadir_key-object
obj_name = ls_tadir_key-obj_name
BINARY SEARCH.
IF sy-subrc <> 0.
SELECT SINGLE * FROM tadir
INTO ls_tadir
WHERE pgmid = ls_tadir_key-pgmid
AND object = ls_tadir_key-object
AND obj_name = ls_tadir_key-obj_name.
INSERT ls_tadir INTO lt_tadir INDEX sy-tabix.
ENDIF.
IF ls_tadir-obj_name <> space.
<fs>-srcsystem = ls_tadir-srcsystem.
<fs>-devclass = ls_tadir-devclass.
<fs>-author = ls_tadir-author.
<fs>-masterlang = ls_tadir-masterlang.
<fs>-srcdep = ls_tadir-srcdep.
<fs>-delflag = ls_tadir-delflag.
ENDIF.
ENDIF.
ENDLOOP.
DATA:
ls_layout TYPE slis_layout_alv,
lt_fieldcat TYPE slis_t_fieldcat_alv.
DATA: lv_repid LIKE sy-repid,
lv_include LIKE trdir-name.
ls_layout-zebra = 'X'.
ls_layout-colwidth_optimize = ' '.
lv_repid = sy-repid.
lv_include = sy-repid.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = lv_repid
i_internal_tabname = 'LT_DATA'
i_inclname = lv_include
CHANGING
ct_fieldcat = lt_fieldcat[]
EXCEPTIONS
OTHERS = 1.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
LEAVE.
ENDIF.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* i_buffer_active = 'X'
i_callback_program = lv_repid
* i_callback_pf_status_set = 'LST_SET_STATUS'
* i_callback_user_command = 'LST_USER_COMMAND'
* i_structure_name = 'GT_OBJECTS'
is_layout = ls_layout
it_fieldcat = lt_fieldcat
* it_events = pt_events
i_save = 'A'
TABLES
t_outtab = lt_data
EXCEPTIONS
OTHERS = 1.
IF sy-subrc <> 0.
ENDIF.
posted on 2021-10-05 16:43 TorranceZhao 阅读(61) 评论(0) 收藏 举报
浙公网安备 33010602011771号