* Der Report sucht nach Objektabhängigkeiten in Transportaufträgen
* Tabellen:
* E070 (Transportsystem: Header von Aufträgen/Aufgaben)
* E07T (Transportsystem: Kurzbeschreibungen von Aufträgen/Aufgaben)
* E070C (Transportsystem: Quell-/Zielmandant von Aufträgen/Aufgaben)
* E071 (Transportsystem: Objekt-Einträge von Aufträgen/Aufgaben)
* TADIR (Katalog der Repository-Objekte)
* TPLOG (Logging der tp Aufrufe)
* https://www.berater-wiki.de/Transportauftrag
* https://www.berater-wiki.de/Access_Tabellenbeziehung_Transportauftrag/-Aufgabe
* http://sapyourself.com/2014/06/11/transporte-transporteur-ermitteln-und-analysieren-tabelle-tplog/
PARAMETERS: p_tr TYPE e070-trkorr DEFAULT 'XYZ'.
START-OF-SELECTION.
* TRFUNCTION
* K Workbench-Auftrag
* W Customizing-Auftrag
* C Umzug von Objekten ohne Paketwechsel
* O Umzug von Objekten mit Paketwechsel
* E Umzug eines kompletten Pakets
* T Transport von Kopien
* S Entwicklung/Korrektur
* R Reparatur
* X Unklassifizierte Aufgabe
* Q Customizing-Aufgabe
* G Stückliste für CTS-Projekt
* M Auftrag für Mandantentransport
* P Stückliste für Upgrade
* D Stückliste für Patch
* F Stückliste
* L Löschtransport
* TRSTATUS
* D Änderbar
* L Änderbar, geschützt
* O Freigabe gestartet
* R Freigegeben
* N Freigegeben (Importschutz für reparierte Objekte aktiv)
* KORRDEV
* CUST mandantenabhängiges Customizing
* SYST Repository, mandantenunabbhängige Objekte
* LOCKFLAG
* nicht gesperrt
* X gesperrt
* 0 nicht importiert
* 1 importiert mit Fehler
* 2 erfolgreich importiert
* 3 erfolgreich aktiviert /After-Import-Methode ausgeführt
* 6 erfolgreich in Schattentabellen importiert
* 7 erfolgreich in neue Schattentabellen importiert
* 8 inaktiver Anteil erfolgreich importiert
SELECT e~trkorr, " Auftrag/Aufgabe
e~trfunction, " Typ des Auftrags/Aufgabe
e~trstatus, " Status des Auftrags/der Aufgabe
e~tarsystem, " Transportziel eines Auftrags
e~korrdev, " Kategorie des Auftrags/der Aufgabe
e~as4user, " Inhaber eines Auftrags oder einer Aufgabe
e~as4date, " Datum der letzten Änderung
e~as4time, " Uhrzeit der letzten Änderung
e~strkorr, " Übergeordneter Auftrag
t~as4text, " Kurzbeschreibung von Repository-Objekten
c~client, " Quellmandant eines Auftrags
c~tarclient, " Zielmandant eines Auftrags
o~as4pos, " Dictionary: Zeilenposition
o~pgmid, " Programm-ID in Aufträgen und Aufgaben
o~object, " Objekttyp
o~obj_name, " Objektname in der Objektliste
o~objfunc, " Objektfunktion
o~lockflag, " Sperrstatus oder Importstatus zu einem Objekteintrag
o~activity " Aktivität, mit der Eintrag in Objektliste geschrieben wurde
INTO TABLE @DATA(it_e070)
FROM e070 AS e " Transportsystem: Header von Aufträgen/Aufgaben
INNER JOIN e07t AS t ON e~trkorr = t~trkorr " Transportsystem: Kurzbeschreibungen von Aufträgen/Aufgaben
INNER JOIN e070c AS c ON e~trkorr = c~trkorr " Transportsystem: Quell-/Zielmandant von Aufträgen/Aufgaben
LEFT OUTER JOIN e071 AS o ON e~trkorr = o~trkorr " Transportsystem: Objekt-Einträge von Aufträgen/Aufgaben
WHERE e~trkorr = @p_tr
OR e~strkorr = @p_tr
AND t~langu = @sy-langu.
IF sy-subrc = 0.
* sortieren nach Auftrag und Datum / Uhrzeit
SORT: it_e070 BY trkorr as4date as4time.
SELECT *
INTO TABLE @DATA(it_e071)
FROM e071
FOR ALL ENTRIES IN @it_e070
WHERE object = @it_e070-object
AND obj_name = @it_e070-obj_name
AND objfunc = @it_e070-objfunc.
IF sy-subrc = 0.
DATA: o_salv TYPE REF TO cl_salv_table.
cl_salv_table=>factory( EXPORTING
r_container = cl_gui_container=>default_screen
IMPORTING
r_salv_table = o_salv
CHANGING
t_table = it_e071 ).
o_salv->get_functions( )->set_all( abap_true ).
o_salv->get_columns( )->set_optimize( abap_true ).
o_salv->get_display_settings( )->set_list_header( 'Abhängige Transporte / Aufgaben' ).
o_salv->get_display_settings( )->set_striped_pattern( abap_true ).
o_salv->get_selections( )->set_selection_mode( if_salv_c_selection_mode=>row_column ).
LOOP AT o_salv->get_columns( )->get( ) ASSIGNING FIELD-SYMBOL(<c>).
<c>-r_column->set_short_text( '' ).
<c>-r_column->set_medium_text( '' ).
<c>-r_column->set_long_text( |{ <c>-r_column->get_columnname( ) } [{ <c>-r_column->get_long_text( ) }]| ).
ENDLOOP.
o_salv->display( ).
WRITE: space.
ENDIF.
ENDIF.