Transportaufträge zur Importqueue hinzufügen

Mit folgendem kleinen Report kannst du Aufträge zur Importqueue eines per RFC erreichbaren SAP-Systems hinzufügen:

Coding

REPORT zz_add_trq_to_buffer.

DATA gs_e070 TYPE e070.
SELECT-OPTIONS: s_trkorr FOR gs_e070-trkorr OBLIGATORY.
PARAMETERS p_sysid TYPE tmssysnam OBLIGATORY.
PARAMETERS p_mandt TYPE mandt OBLIGATORY.
PARAMETERS p_impag AS CHECKBOX DEFAULT space.

TYPES: BEGIN OF ts_prot,
         trkorr TYPE trkorr,
         excptn TYPE stmscalert,
         stdout TYPE STANDARD TABLE OF tpstdout WITH DEFAULT KEY,
       END OF ts_prot,
       tt_prot TYPE SORTED TABLE OF ts_prot WITH UNIQUE KEY trkorr.

DATA: gt_stdout       TYPE STANDARD TABLE OF tpstdout WITH DEFAULT KEY.
DATA gt_prot TYPE tt_prot.

START-OF-SELECTION.

  SELECT trkorr
    FROM e070
    INTO TABLE @DATA(transport_requests)
   WHERE trkorr IN @s_trkorr
    ORDER BY trkorr.
  IF sy-subrc > 0.
    MESSAGE 'No transport requests selected' TYPE 'I'.
    STOP.
  ENDIF.
  DATA gs_exception TYPE stmscalert.

  LOOP AT transport_requests ASSIGNING FIELD-SYMBOL(<trq>).
    CALL FUNCTION 'TMS_MGR_FORWARD_TR_REQUEST'
      EXPORTING
        iv_request      = <trq>
        iv_target       = p_sysid
        iv_tarcli       = p_mandt
        iv_import_again = p_impag
        iv_monitor      = abap_true
      IMPORTING
        es_exception    = gs_exception
      TABLES
        tt_stdout       = gt_stdout.

    INSERT VALUE #(
      trkorr = <trq>
      excptn = gs_exception
      stdout = gt_stdout ) INTO TABLE gt_prot.
  ENDLOOP.

  LOOP AT gt_prot ASSIGNING FIELD-SYMBOL(<prot>).
    WRITE: / <prot>-trkorr.
    IF <prot>-excptn-error IS INITIAL.
      WRITE: AT 12 'added to buffer' COLOR COL_NEGATIVE.
    ELSE.
      WRITE: AT 12 <prot>-excptn-error COLOR COL_NEGATIVE, <prot>-excptn-text COLOR COL_NEGATIVE.
      MESSAGE ID <prot>-excptn-msgid
            TYPE <prot>-excptn-msgty
          NUMBER <prot>-excptn-msgno
            WITH <prot>-excptn-msgv1 <prot>-excptn-msgv2 <prot>-excptn-msgv3 <prot>-excptn-msgv4
       INTO DATA(message).
      WRITE AT /12 message COLOR COL_NEGATIVE.
    ENDIF.
  ENDLOOP.
Enno Wulff