Sap Monitor
Sap Monitor
Checking the history of transports and their status in the target system
from the transport domain could be useful when developers or business
analysts would like to know where the transport is and what is inside.
Very often transport in the next system could have errors due to broken
sequence of transports. Object definition, for example, comes after
object corrections.
The report below could help to monitor the history of object corrections
and the sequence of transports and provide some information about
implemented OSS Notes and show what went into Production:
*&---------------------------------------------------------------------*
*& Report Z_CHECK_TRANSPORT
*&---------------------------------------------------------------------*
*& This report will work if transport History of Target System updated
*&
*&---------------------------------------------------------------------*
REPORT z_check_transport.
* Output data structure
TYPES: BEGIN OF transp_str,
trkorr TYPE e070-trkorr, "Request/Task
trfunction TYPE e070-trfunction, "Type of request/task
trstatus TYPE e070-trstatus, "Status of request/task
as4text TYPE e07t-as4text, "Descr of Repository Obj
tarsystem TYPE e070-tarsystem, "Transport Target of Req
korrdev TYPE e070-korrdev, "Request or task category
as4user TYPE e070-as4user, "Owner of a Request or Task
as4date TYPE e070-as4date, "Last Changed On
strkorr TYPE e070-strkorr, "Higher-Level Request
as4pos TYPE e071-as4pos, "Dictionary: Line item
pgmid TYPE e071-pgmid, "Program ID
object TYPE e071-object, "Object Type
obj_name TYPE e071-obj_name, "Object Name in Obj List
objfunc TYPE e071-objfunc, "Object function
lockflag TYPE e071-lockflag, "Lock status or import status
activity TYPE e071-activity, "Activity that wrote the entry
devclass TYPE tadir-devclass,
stext TYPE cwbntstxt-stext, "OSS NOTE Header Long Text
prod TYPE e070-tarsystem, "Target system
ddtext TYPE dd07v-ddtext, "Transport Status Value
impdat_ts TYPE stmsiqreq-impdat,"Target system import date
END OF transp_str.
DATA et_transport TYPE TABLE OF transp_str.
INITIALIZATION.
IF p_layout IS INITIAL.
p_layout = '/DEF'.
ENDIF.
END-OF-SELECTION.
i_sys = sy-sysid.
*&---------------------------------------------------------------------*
*& ALV Output
*&---------------------------------------------------------------------*
FORM output USING p1 p2.
DATA: o_alv TYPE REF TO cl_salv_table.
DATA: key TYPE salv_s_layout_key.
DATA: lo_msg TYPE REF TO cx_salv_msg.
DATA: lo_layout TYPE REF TO cl_salv_layout.
DATA: lo_columns TYPE REF TO cl_salv_columns_table.
DATA: lo_column TYPE REF TO cl_salv_column_table.
DATA: lo_functions TYPE REF TO cl_salv_functions_list.
DATA: lo_selections TYPE REF TO cl_salv_selections.
TRY.
cl_salv_table=>factory( IMPORTING r_salv_table = o_alv
CHANGING t_table = p1 ).
CATCH cx_salv_msg INTO lo_msg.
ENDTRY.
lo_functions = o_alv->get_functions( ).
lo_functions->set_all( abap_true ).
lo_columns = o_alv->get_columns( ).
lo_columns->set_optimize( abap_true ).
lo_layout = o_alv->get_layout( ).
key-report = sy-repid.
lo_layout->set_key( key ).
lo_layout->set_save_restriction( if_salv_c_layout=>restrict_none ).
lo_layout = o_alv->get_layout( ).
lo_selections = o_alv->get_selections( ).
lo_selections->set_selection_mode(
if_salv_c_selection_mode=>row_column ).
lo_layout->set_default( abap_true ).