Spool-Auftrag

Aus SAP-Wiki
Zur Navigation springenZur Suche springen

Siehe Basis.

Siehe Smart Forms Formularaufruf und Spool-Aufträge.

Siehe Aufruf des Adobe Formulars im Rahmenprogramm.

Transaktionen (SP01 und SP02)

  • SP01 = Liste aller Spool-Aufträge
  • SP02 = Liste der eigenen Spool-Aufträge

Felder

  • Spool-Nummer
  • Typ
  • Datum
  • Zeit
  • (Druck-)Status
  • Seiten
  • Titel

Wenn die Spoolnummer im Selektionsbildschirm eingetragen wird, ist es egal was man in den anderen Feldern einträgt. Es werden in jedem Fall die selektierten Spoolnummern angezeigt.

PDFSpeichern1.JPG

Siehe

Tabellenbeziehungen (TSP01, TSP02)

Typen Spoolaufträge

In der Tabelle TSP01 kann man im Feld "RQDOCTYPE" nach dem Typ des Spoolauftrags selektieren.

  • TSP01 3.JPG LIST = ABAP-/Write-Listen (Ausgabe von Bildschirmlisten)
  • TSP01 5.JPG SMART = Smart Forms-Formular
  • TSP01 5.JPG OTF = SAPscript-Formular
  • TSP01 4.JPG ADSP = PDF-Spool (Ausgabe Adobe-Forms Formulare)

Zum Beispiel "ADSP" selektiert alle Spoolaufträge, die aus Adobe Forms-Druckaufträgen resultieren.

TSP01 6.JPG


TSP01 2.JPG


Es ist auch möglich in der Transaktion SP01 nach den Typen der Spoolaufträge zu selektieren. Dafür müssen jedoch weitere Selektionsfelder angezeigt werden.

Man klickt auf "further selection criteria ...", bzw. im Deutschen "Weitere Selektionskriterien ...".

TSP01 7.JPG


Im erscheinenden Fenster wählt man "All" aus. Hier kommt es auf das Feld "Document Type" an.

TSP01 11.JPG


Im Selektionsbildschirm heißt das Feld nun interessanterweise "Document Category" im Englischen. Im Deutschen "Dokumententyp". Hier trägt man für Adobe Forms-Spoolaufträge "ADSP" ein.

TSP01 9.JPG


Es erscheint eine Liste von ausschließlich Adobe Forms-Spoolaufträgen.

TSP01 10.JPG

Spoolauftrag und Ausgabeaufträge

  • Wenn ein Spool-Auftrag gedruckt wird, wird ein Ausgabeauftrag erzeugt. Er besteht aus Tabelleneinträgen, die den Ausdruck protokollieren. Zu einem Spool-Auftrag gibt es N Ausgabeaufträge. Wenn ein Spool noch nicht ausgebeben wurde, gibt es noch keinen Ausgabeauftrag.
  • Ein Spool-Auftrag kann beliebig oft ausgegeben werden.

Funktionsbausteine

Adobe Forms

Funktionsbaustein FP_JOB_OPEN

  • Der Funktionsbaustein FP_JOB_OPEN öffnet einen Spoolauftrag.
  • Wird beim Aufruf des Funktionsbausteins FP_JOB_OPEN mit dem Parameter REQNEW explit mitgegeben, dass ein neuer Spoolauftrag geöffnet werden soll, wird ein neuer Spoolaufträge angelegt, in dem die Inhalte geschrieben werden.
  • Wurde ein alter Spoolauftrag abgeschlossen oder hat den Status "Fertig" oder "Error" ist es nicht mehr möglich in diesen Spoolauftrag zu schreiben
  • Wird ein Spoolauftrag beim Aufruf mit FP_JOB_OPEN nicht als "abgeschlossen" versehen mit dem Paramter REQFINAL und hat einen offenen Status, ist es auch nach Aufruf des Funktionsbausteins FP_JOB_CLOSE von anderen Programmen/oder beim erneuten Starten des Programms möglich weiterhin Inhalte in diesen Spool zu füllen

Funktionsbaustein FP_JOB_CLOSE

  • Der Funktionsbaustein FP_JOB_CLOSE schließt einen PDF-Spoolauftrag. Bevor in einen (neuen) PDF-Spoolauftrag geschrieben werden kann, muss erneut FP_JOB_OPEN ausgeführt werden.

Smart Forms

Funktionsbaustein SSF_OPEN

  • Der Funktionsbaustein SSF_OPEN öffnet einen Spoolauftrag für Smart Forms. Normal macht dies jedoch der Funktionsbausteins des Smart Forms.

Funktionsbaustein SSF_CLOSE

  • Der Funktionsbaustein SSF_CLOSE schließt einen Spoolauftrag für Smart Forms, wenn es der Funktionsbaustein des Smart Forms nicht bereits selber gemacht hat.
  • In aller Regel ist es nicht nötig den Funktionsbaustein SSF_CLOSE auszuführen, da der Funktionsbaustein des Smart Forms dies macht.

Funktionsbaustein RSPO_OUTPUT_SPOOL_REQUEST

  • Erneute Ausgabe eines bereits ausgegebenen Spoolauftrags, siehe Tricktresor

Splitkriterien für Spoolaufträge

Gibt es offene Aufträge, die die Bedingungen erfüllen

müssen weitere Bedingungen erfüllt sein, damit in diesen alten Spoolauftrag hineingeschrieben werden kann.

  • Gleicher Mandant und gleiches System
  • Gleiches Ausgabeformat (z. B. PDF)
  • Gleicher Druckername
  • Gleicher Kopienzähler
  • Gleiches Löschdatum
  • Gleicher SAP-Benutzer
  • Gleicher Titel und gleiche Key-Felder des Spoolauftrags
  • Gleiche Anzahl von Löschtagen

Ist eines dieser Bedingungen nicht erfüllt, wird ein neuer Spoolauftrag erzeugt. Ist ein Spoolauftrag abgeschlossen, wird immer ein neuer Spoolauftrag erzeugt.

Oftmals ist es nicht erwünscht, wenn in einen alten Spoolauftrag gedruckt wird. Um dies auszuschließen, kann bei Adobe Forms beim Funktionsbaustein FP_JOB_OPEN im Changing-Parameter IE_OUTPUTPARAMS vom Typ SFPOUTPUTPARAMS explizit ein Spoolauftrag angefordert werden mit dem Parameter REQNEW und/oder ein Spoolauftrag abgeschlossen werden mit dem Parameter REQFINAL, siehe REQNEW und REQFINAL und Adobe Forms Druckstruktur SFPOUTPUTPARAMS und Funktionsbaustein FP JOB OPEN.

Spoolauftrag1.jpg

Siehe Drucken mit SAP: Lösungen für die Praxis, von Michael Szardenings, S. 29 f.

Spool-Auftragsnummern

  • In der Standardeinstellung von SAP gibt es 32.000 Einträge
  • In der Transaktion SNUM (Nummernkreispflege) lassen sich über das Nummernkreisobjekt SPO_NUM dieser Wert auf einen höheren Wert verändern, damit nicht nach wenigen Tagen die Spool-Auftragsnummern erschöpft sind und sehr schnell alte Spool-Aufträge gelöscht werden

Spool-Aufträge aus dem Programm erneut drucken

  • Mit dem Funktionsbaustein RSPO_OUTPUT_SPOOL_REQUEST lassen sich aus einem Programm heraus bereits gedruckte Spool-Aufträge erneut ausgeben.

Mehrere PDFs in einem Spoolauftrag als 1 PDF auf Frontend speichern

Sehr häufig werden mehrere Formularausgaben in einen Spoolauftrag gespeichert. Zum Beispiel, wenn eine interne Tabelle in einem Loop abgearbeitet wird und pro Datensatz eine Formularausgabe erfolgt, aber der Spoolauftrag vor dem Loop geöffnet wird und erst nach dem Loop geschlossen wird.

Dieser Druckauftrag kann problemlos auf einen passenden SAP-Drucker ausgegeben werden. Aber manchmal möchten die User alle PDFs in diesem Druckauftrag zu einem PDF zusammenfassen, um diesen einen PDF herunterzuladen und dann z. B. per Mailanhang zu einem Kunden zu schicken.

Man kann dazu den Spoolauftrag öffnen über die Transaktion SP02 oder SP01.

PDFSpeichern1.JPG


Hier öffnet man das PDF.

PDFSpeichern2.JPG


Hier klickt man auf die Schaltfläche "Overall View on". Es erscheint im Fußbereich die Meldung "Creating overall file..."

Wenn die Zusammenfassung der PDFs in ein PDF abgeschlossen ist, wechselt die Schaltfläche zu "Overall View off". Nun kann ganz normal das PDF über die Windows-Standardardfunktionalität vom PDF-Reader gespeichert werden, indem man die Maus in die obere Hälfte vom PDF führt und dort auf "Speichern" bzw. klickt und das PDF lokal auf dem PC abspeichert. Dann kann es als Datei an eine Mail angehängt werden. Genauso lässt sich auf diesem Weg das PDF auf einen am PC verfügbaren (Windows-)Drucker drucken.

PDFSpeichern5.JPG

Löschreport RSPO1041

  • Da die Spoolaufträge die Druckdaten beinhalten, bzw. auf der Datenbank ablegen müssen, ist die Speicherung von Spoolaufträgen sehr speicherintensiv und daher werden Spoolaufträge in aller Regel recht früh gelöscht von der Basis.
  • Mit dem Report RSPO1041 können flexibel Spoolaufträge gelöscht werden.

Spoolauftrag4.JPG


Spoolauftrag5.JPG


Spoolauftrag6.JPG

Web-Links

Literatur

Aus dem Buch “Drucken mit SAP: Lösungen für die Praxis” kann man viel lernen. Trotz jahrelanger Praxis als SAP-Formularentwickler wurden mir erst beim Lesen dieses Buches viele Zusammenhänge zu Spool-Auftägen, Ausgabeaufträgen, Druckersprachen, Gerätetypen etc. klar. Da die meisten Entwicklungsbücher sich hauptsäch mit ABAP beschäftigen und die Formularbücher mit dem Framework der jeweiligen Formulartechnologie, füllt dieses Buch eine Lücke in der Literatur zum Thema des Druckens in SAP.