Mehrere Spoolaufträge In ein PDF zusammenfassen

Posten Sie hier Tutorials & Cookbooks.
1 Beitrag • Seite 1 von 1
1 Beitrag Seite 1 von 1

Mehrere Spoolaufträge In ein PDF zusammenfassen

Beitrag von ratsnus (Specialist / 357 / 2 / 56 ) »
Servus zusammen,

also erstmal gesagt, super Forum einige Threads haben mir weitergeholfen und auch einfach nur den Weg in die richtige Richtung gezeigt. Also Super Sache.

Sinn und Zweck des Programms: einfach verschiedenste Spoolaufträge in ein einzelnes PDF Dokument umzuwandeln und anschliessend downzuloaden.

Code: Alles auswählen.

*&---------------------------------------------------------------------*
*& Report  ZVS_MERGE_PDFS
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  ZVS_MERGE_PDFS.

tables: tsp01.

select-options spool for tsp01-rqident.

parameters: p_file type localfile default 'C:\all_prints.pdf'.

data:
eof type soli,
tab1 type table of soli,
tab type table of soli with header line,
otf type table of itcoo with header line,
i_tsp01 like table of tsp01 with header line,
doc like table of docs,
pdf like table of tline,
file type string,
size type i,
lines type i,
rows type i.

file = p_file.

select * from tsp01 into i_tsp01
  where rqident in spool.
  append i_tsp01.
endselect.

rows = lines( i_tsp01 ).

if rows > '50'.
exit.
endif.


loop at i_tsp01.
clear: tab1[], eof.

  call function 'RSPO_RETURN_SPOOLJOB'
    EXPORTING
      rqident              = i_tsp01-rqident
    TABLES
      buffer               = tab1
    EXCEPTIONS
      no_such_job          = 1
      job_contains_no_data = 2
      selection_empty      = 3
      no_permission        = 4
      can_not_access       = 5
      read_error           = 6
      type_no_match        = 7
      others               = 8.
  if sy-subrc = 0.
  endif.

describe table tab1 lines lines.
read table tab1 index lines into eof.
delete tab1 index lines.

  append lines of tab1 to tab.

endloop.

append eof to tab.

loop at tab.
  clear otf.
  otf = tab.
  append otf.
endloop.

call function 'CONVERT_OTF_2_PDF'
  EXPORTING
    use_otf_mc_cmd         = 'X'
  IMPORTING
    bin_filesize           = size
  TABLES
    otf                    = otf
    doctab_archive         = doc
    lines                  = pdf
  EXCEPTIONS
    err_conv_not_possible  = 1
    err_otf_mc_noendmarker = 2
    others                 = 3.
if sy-subrc ne 0.
  write sy-subrc.
endif.

call method cl_gui_frontend_services=>gui_download
  EXPORTING
    filename                = file
    filetype                = 'BIN'
  CHANGING
    data_tab                = pdf
  EXCEPTIONS
    file_write_error        = 1
    no_batch                = 2
    gui_refuse_filetransfer = 3
    invalid_type            = 4
    no_authority            = 5
    unknown_error           = 6
    header_not_allowed      = 7
    separator_not_allowed   = 8
    filesize_not_allowed    = 9
    header_too_long         = 10
    dp_error_create         = 11
    dp_error_send           = 12
    dp_error_write          = 13
    unknown_dp_error        = 14
    access_denied           = 15
    dp_out_of_memory        = 16
    disk_full               = 17
    dp_timeout              = 18
    file_not_found          = 19
    dataprovider_exception  = 20
    control_flush_error     = 21
    not_supported_by_gui    = 22
    error_no_gui            = 23
    others                  = 24.
if sy-subrc ne 0.
  write sy-subrc.
endif.
bei if rows > '50'. ist eine kleine Beschränkung eingebaut was die Maximal zu verarbeitende Anzahl der Spoolaufträge angeht.
Könnte man auch als Parameter lösen, aber meine Pappenheimer würden sich nicht dran halten. :D

Vielleicht hat ja jemand Verwendung dafür, also viel Spass.

Gruss
Tony

Folgende Benutzer bedankten sich beim Autor ratsnus für den Beitrag (Insgesamt 3):
Janmiru77wandix

<:: XING-Gruppe Tricktresor::>

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Seite 1 von 1

Vergleichbare Themen

1
Antw.
3043
Views
Spoolaufträge per Batchjob ausgeben
von heiko-77 » 11.02.2008 15:02 • Verfasst in ABAP® Core
2
Antw.
2268
Views
2 Spoolaufträge mischen und Barcode dazu
von hegsi » 20.10.2007 18:29 • Verfasst in ABAP® Core
18
Antw.
8040
Views
Zusammenfassen von Zeiträumen
von MS-K » 26.02.2020 11:18 • Verfasst in ABAP® für Anfänger
3
Antw.
5025
Views
2 Spalten zusammenfassen
von L0w-RiDer » 21.02.2020 09:06 • Verfasst in ABAP® für Anfänger
3
Antw.
2731
Views
Loops Zusammenfassen
von BMWi801 » 15.05.2018 13:23 • Verfasst in ABAP® Core

Über diesen Beitrag

ratsnus
Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Fehlermeldung in einer Klasse
vor 10 Stunden von ralf.wenzel gelöst 15 / 4413
BAPI_ACC_DOCUMENT_POST
vor 4 Tagen von Lukas Sanders 3 / 1592
Side by Side extensions
vor 6 Tagen von JHM 2 / 1762

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Fehlermeldung in einer Klasse
vor 10 Stunden von ralf.wenzel gelöst 15 / 4413
BAPI_ACC_DOCUMENT_POST
vor 4 Tagen von Lukas Sanders 3 / 1592
Side by Side extensions
vor 6 Tagen von JHM 2 / 1762

Unbeantwortete Forenbeiträge

Benutzerdefinierte Felder PSP
vor einer Woche von Rabea1103 1 / 15707
Spool vereinen OTF und PDF
vor 4 Wochen von anna2205 1 / 30042
XSLT und Loipro05 Transformation
December 2025 von Torsten1965 1 / 37087
VOLL Artikel in einem Display Typ 12
November 2025 von ThomasM84 1 / 55891