Programmausgabe in Spool schreiben für weitere Verarbeitung im anderen Programm

Aus SAP Wiki ツ
   DATA: print_parameters            TYPE pri_params,
         gt_data                     TYPE TABLE OF rspo_ds,
         gt_data_flag                TYPE TABLE OF rspo_ds,
         ls_data_flag                TYPE rspo_ds,
         gt_output                   TYPE TABLE OF rspo_index,
         gs_spool                    TYPE tsp01sys,
         ls_valid                    TYPE char01,          "#EC NEEDED
         ls_valid_for_spool_creation TYPE char01.          "#EC NEEDED
  CONSTANTS lc_spool_name TYPE sypri_plist VALUE 'ZMON_222'.
   "  CONSTANTS lc_spool_name TYPE sypri_plist VALUE 'ZMON_ARCHPRU'.
  "Set Spool para. like spoolname
   CALL FUNCTION 'GET_PRINT_PARAMETERS'
    EXPORTING
       destination              = 'LP01'
       list_name                = lc_spool_name
       no_dialog                = 'X'
     IMPORTING
       out_parameters           = print_parameters
       valid                    = ls_valid
       valid_for_spool_creation = ls_valid_for_spool_creation
     EXCEPTIONS
       archive_info_not_found   = 1
       invalid_print_params     = 2
      invalid_archive_params   = 3
       OTHERS                   = 4.
   SUBMIT oadestck TO SAP-SPOOL
                   SPOOL PARAMETERS print_parameters
                   WITHOUT SPOOL DYNPRO
                   AND RETURN.


   SELECT * INTO @DATA(ls_tsp01) FROM tsp01 WHERE rq2name = @lc_spool_name ORDER BY rqcretime DESCENDING.
   ENDSELECT.
   "Get spoolnumber
   CALL FUNCTION 'RSPO_ISELECT_TSP01'
     EXPORTING
       rfcsystem  = sy-sysid
       rqident    = ls_tsp01-rqident
     IMPORTING
       tsp01_elem = gs_spool
     EXCEPTIONS
       error      = 1
       OTHERS     = 2.
   "Get Spool Content
   CALL FUNCTION 'RSPO_IRETURN_RAW_DATA'
     EXPORTING
      rq          = gs_spool
    TABLES
       line_buffer = gt_data
       page_index  = gt_output
     EXCEPTIONS
       error       = 1
       OTHERS      = 2.
   "Check spool content for errors
   IF gt_data IS NOT INITIAL.
     LOOP AT gt_data INTO DATA(ls_data).
       IF 'FEHLER' CO ls_data-data_line OR 'ERROR' CO ls_data-data_line.
         MOVE-CORRESPONDING ls_data TO ls_data_flag.
         ls_data_flag-data_line = ls_data_flag-data_line+18.
         APPEND ls_data_flag TO gt_data_flag.
       ENDIF.
     ENDLOOP.
   ENDIF.

Dieses Wiki wird privat in Freizeit nach bestem Wissen und Gewissen gepflegt und dient primär als eigene Wissenssammlung für die tägliche Arbeit im SAP-ERP-Umfeld.
Alle dargestellten Softwareprodukte, auch in Form von Screenshots, sind Eigentum der SAP SE. Ihre Marken, vgl. Link, sind u.a.: SAP®, ABAP®, SAP Fiori®, SAP HANA®, SAP S/4HANA®, SAP S/4HANA® Cloud