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

4
Antw.
5630
Views
Spoolaufträge zusammenfassen
von hezi » 23.01.2006 17:15 • Verfasst in ABAP® Core
2
Antw.
7114
Views
Spoolaufträge per Mail versenden
von Jacky » 21.06.2005 13:19 • Verfasst in ABAP® Core
1
Antw.
2436
Views
Spoolaufträge per Batchjob ausgeben
von heiko-77 » 11.02.2008 15:02 • Verfasst in ABAP® Core
2
Antw.
1441
Views
OTF-Spoolaufträge zusammenziehen zu 1 OTF-Spool
von M » 31.01.2006 16:46 • Verfasst in ABAP® Core
2
Antw.
1694
Views
2 Spoolaufträge mischen und Barcode dazu
von hegsi » 20.10.2007 18:29 • Verfasst in ABAP® Core

Über diesen Beitrag

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

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.