[ABAP] Transportaufträge: Kommandodatei (Cofile) laden

Variante 1 (TR_READ_GLOBAL_INFO_OF_REQUEST)

SELECTION-SCREEN BEGIN OF LINE.
  SELECTION-SCREEN COMMENT (20) lbl1 FOR FIELD p_trkorr.
  PARAMETERS: p_trkorr LIKE e070-trkorr OBLIGATORY.
SELECTION-SCREEN END OF LINE.

INITIALIZATION.
  lbl1 = 'Transport-Auftrag:'.

START-OF-SELECTION.

  DATA: lv_cofile TYPE ctslg_cofile.
  DATA: lv_user TYPE e070-as4user.
  DATA: lv_project TYPE trkorr.

* Kommandodatei lesen und abhängig vom Aufruf aufbereiten
  CALL FUNCTION 'TR_READ_GLOBAL_INFO_OF_REQUEST'
    EXPORTING
      iv_trkorr   = p_trkorr
      iv_dir_type = 'T'          " Typ Directory: T(ransport), P(ut)
    IMPORTING
      es_cofile   = lv_cofile
      ev_user     = lv_user
      ev_project  = lv_project.

  cl_demo_output=>write_data( lv_cofile ).
  cl_demo_output=>write_data( lv_user ).
  cl_demo_output=>write_data( lv_project ).
* html-code holen
data(lv_html) = cl_demo_output=>get( ).
* Daten im Inline-Browser im SAP-Fenster anzeigen
  cl_abap_browser=>show_html( EXPORTING title       = 'Transportauftrag Cofile'
                                        html_string = lv_html
                                        container   = cl_gui_container=>default_screen ).
* cl_gui_container=>default_screen erzwingen
  WRITE: space.

Variante 2 (STRF_READ_COFILE)

SELECTION-SCREEN BEGIN OF LINE.
  SELECTION-SCREEN COMMENT (20) lbl1 FOR FIELD p_trkorr.
  PARAMETERS: p_trkorr LIKE e070-trkorr OBLIGATORY.
SELECTION-SCREEN END OF LINE.

INITIALIZATION.
  lbl1 = 'Transport-Auftrag:'.

START-OF-SELECTION.

  DATA: lv_ev_cofi_header TYPE tstrfcofih.
  DATA: lv_ev_project TYPE trkorr_p.
  DATA: lv_et_predecessors TYPE tms_trkorrs.

  DATA: it_tt_cofi_lines TYPE STANDARD TABLE OF tstrfcofil WITH DEFAULT KEY.

* SL-intern: Lesen und Interpretieren Inhalt von cofiles-Dateien
  CALL FUNCTION 'STRF_READ_COFILE'
    EXPORTING
      iv_dirtype             = 'T'         " Typ Directory: T(ransport), P(ut)
      iv_trkorr              = p_trkorr
      iv_read_header         = 'X'
      iv_transport_directory = ' '
    IMPORTING
      ev_cofi_header         = lv_ev_cofi_header
      ev_project             = lv_ev_project
      et_predecessors        = lv_et_predecessors
    TABLES
      tt_cofi_lines          = it_tt_cofi_lines
    EXCEPTIONS
      wrong_call             = 1
      no_info_found          = 2
      OTHERS                 = 3.

  IF sy-subrc = 0.

    cl_demo_output=>write_data( lv_ev_cofi_header ).
    cl_demo_output=>write_data( lv_ev_project ).
    cl_demo_output=>write_data( lv_et_predecessors ).
    cl_demo_output=>write_data( it_tt_cofi_lines ).

* html-code holen
    DATA(lv_html) = cl_demo_output=>get( ).
* Daten im Inline-Browser im SAP-Fenster anzeigen
    cl_abap_browser=>show_html( EXPORTING title       = 'Transportauftrag Cofile'
                                          html_string = lv_html
                                          container   = cl_gui_container=>default_screen ).
* cl_gui_container=>default_screen erzwingen
    WRITE: space.
  ENDIF.

[ABAP] Infos zu einem Transportauftrag lesen

DATA: lv_cofile TYPE ctslg_cofile.
DATA: lv_user TYPE e070-as4user.
DATA: lv_project TYPE trkorr.

CALL FUNCTION 'TR_READ_GLOBAL_INFO_OF_REQUEST'
  EXPORTING
    iv_trkorr  = 'R3PK9004711' " Nr. Transportauftrag
  IMPORTING
    es_cofile  = lv_cofile
    ev_user    = lv_user
    ev_project = lv_project.

LOOP AT lv_cofile-systems ASSIGNING FIELD-SYMBOL(<fs_sys>).
  WRITE: / <fs_sys>-systemid, <fs_sys>-rc.
  LOOP AT <fs_sys>-steps ASSIGNING FIELD-SYMBOL(<fs_step>).
    WRITE: / '  ', <fs_step>-stepid, <fs_step>-clientid, <fs_step>-rc.
      LOOP AT <fs_step>-actions ASSIGNING FIELD-SYMBOL(<fs_action>).
        WRITE: / '    ', <fs_action>-date, <fs_action>-time, <fs_action>-rc.
      ENDLOOP.
  ENDLOOP.
ENDLOOP.

WRITE: / lv_cofile-exists, lv_cofile-imported, lv_cofile-del_lines_only, lv_cofile-rc.
WRITE: / lv_user.
WRITE: / lv_project.

[SAP] SAP-Transporte

Transaktionen

SE01 (Transport Organizer erweiterte Sicht)
SE03 (Transport Organizer Tools)

  • Transport Organizer Tools -> Objekte in Aufträgen -> Objekte in Aufträgen/Aufgaben suchen
  • Selektion der Objekte: in einem Punkt ‘?’ PGMID ‘CORR’, OBJ ‘MERG’ und “TA-Nr*” eintragen
  • Haken bei ‘?’
  • Button “Ausführen (F8)”

SE10 (Transport Organizer)
STMS (Transport Management System)

  • Button “Importübersicht” (F5) (LKW)
  • Doppelklick auf Zielsystem
  • Importqueue wird angezeigt
  • Menü -> Springen -> Historie -> Import Historie oder Button “Import Historie” (Schriftrolle)
  • Zeitfilter: Klick auf Filtersymbol vor dem Wort “Zeitintervall”
  • Benutzerfilter: Spalte markieren + Klick auf Filtersymbol in der Toolbar

Funktionsbausteine

TR_F4_REQUESTS (F4-Hilfe für Aufträge/Aufgaben)
TR_REQUEST_CHOICE (Auswahl eines Transportauftrags (mit Anlegen))
TR_READ_REQUEST ((Nach-)Lesen von Einzelbestandteilen eines Auftrags)
TR_COPY_COMM (Kopieren von Aufträgen/Aufgaben)
TR_GET_OBJECTS_OF_REQ_AN_TASKS (erstellt Gesamt-Objektliste eines Auftrags und seiner Aufgaben)
TR_APPEND_TO_COMM_OBJS_KEYS (Anhängen und Sperren von Objekten und Schlüsseln an eine Aufgabe)
TR_SORT_AND_COMPRESS_COMM (Objekte und Schlüssel eines Auftrags sortieren)
TR_SORT_OBJECT_AND_KEY_LIST (Objekte und Schlüssel sortieren (ohne DB-Update))
TR_INSERT_REQUEST_WITH_TASKS (Auftrag mit Aufgaben anlegen (ohne Dialog))
TR_CHECK_REQUEST (Prüfe kompletten Auftrag)
TR_RELEASE_REQUEST (Freigabe eines Auftrags/einer Aufgabe)
TR_READ_GLOBAL_INFO_OF_REQUEST (Kommandodatei lesen und abhängig vom Aufruf aufbereiten)
TRINT_ORDER_CHOICE (Abfrage Auftragnummer, wenn Objekt noch nicht zugeordnet)
TRINT_APPEND_COMM (Intern: Hinzufügen Objekte & Schlüssel an einen Auftrag)
TRINT_DOCU_INTERFACE (Intern: Bearbeitung der Dokumentationsbausteine einer Aufgabe/Auftrags)
TRINT_OBJECT_TABLE (Intern: Tabelle mit allen Objekttypen inklusive Texten)
TRINT_FI_GET_DIRECTORY_NAMES (intern: Pfade der Transportverzeichnisse)

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)
E071K (Transportsystem: Schlüsseleinträge von Aufträgen/Aufgaben)
TADIR (Katalog der Repository-Objekte)
TPLOG (Logging der tp Aufrufe)

Typgruppen

SEOK (Services)
SCTSC (Konstanten CTS)

Suchhilfen

SCTSOBJECT (Suchhilfe auf Objekttyp)

Klassen

CL_ADT_CTS_MANAGEMENT (Managing transport request for resources)

Links