Inhalt
Michael Raber
Geschäftsführer
Ihr Spezialist für IT-Beratung und -Betreuung.
Immer wieder wird an uns die Frage herangetragen, wie Spool-Dateien auf der AS/400 (oder auch iSeries oder auch IBM i) verarbeitet werden können. Hier gibt es verschiedene Möglichkeiten. Wenn es um einfache Transformationen von „hässlichen“ Spooldateien in nur ein wenig schönere PDF-Dateien geht, so hat IBM einige Bordmittel zur Verfügung, die dieses Thema lösen können.
Das Thema „Spool to PDF“ wird in verschiedensten Quellen umfassend behandelt. In diesem Artikel geht es um weiterführende Möglichkeiten, wie Spooldateien von weitgehend nutzlosen Dateiausgaben zu strukturiertem Input für Workflows werden, und damit die Optimierung von Geschäftsprozessen ermöglichen.
Sie wollen direkt mit unseren Experten sprechen? Kein Problem:
Wie entsteht eine Spool-Datei auf der IBM i (AS/400)
Die Technologie der AS 400-Druckverarbeitung ist nicht mehr ganz frisch, sondern seit den Anfängen der AS/400 immer noch weitestgehend gleich geblieben. Ein Ausdruck (eine sogenannte Spooldatei) entsteht durch das Zusammenspiel aus einer sogenannten PrinterFile (PRTF) und einem Druckprogramm. Vereinfacht gesagt enthält eine Printerfile das Layout der Ausgabe, wie zum Beispiel:
- Die Position, an der bestimmte Informationen gedruckt werden
- Den Aufbau von Tabellen
- Das Handling von Seiten und Umbrüchen
- Schriftarten und deren Verwendung
- Schriftstile (fett, kursiv, etc)
- Designelemente wie Logos, etc.
- Indikatoren (Flags, aus dem Druckprogramm)
- u. v. m.
Auf der anderen Seite gibt es ein Druckprogramm. Dieses Druckprogramm (z. B. in RPG geschrieben) sammelt alle Informationen aus Tabellen oder anderen Quellen, wendet die Logik zur Aufbereitung an und „füttert“ damit die PRTF. Technisch gesehen schreibt das Druckprogramm in die PRTF und daraus entsteht eine Spooldatei.
Was ist und was beinhaltet eine Spool-Datei?
Die Spooldatei enthält alle Informationen um die zu druckenden Informationen zu Papier zu bringen – also direkt zum Drucker zu senden. Allerdings müssen die Spezifikationen, um welchen Drucker es sich handelt, und Informationen wie Seitengröße und Schriften schon in der PRTF definiert werden (CRTPRTF, CHGPRTF oder OVRPRTF). Ist eine Spooldatei erst einmal erstellt, können keinerlei Änderungen mehr vorgenommen werden. Sollte der entsprechende Druck nicht den Erwartungen entsprechen, dann hilft nur eine Anpassung der PRTF und ein erneuter Druck.
Wie kann man Inhalt von Layout trennen?
In vielen Fällen wäre es hilfreich, wenn die Inhalte vom Layout der Spool-Datei getrennt werden könnten. Will man zum Beispiel eine Rechnung oder Lieferschein elektronisch lesbar machen, so ist es durch Analyse einer fertigen Spool-Datei schwierig bzw. sehr umständlich oder fehleranfällig zu bewerkstelligen. Diese Art der Verarbeitung nutzen ältere OutputManagement-Systeme. Problematisch ist hier, dass die Layouts der Spool-Datei in einer Art „reverse engineering“ wieder ermittelt werden müssen um Positionen von Feldern zu ermitteln. Dies ist verständlicherweise nicht einfach.
Hier lohnt sich nun ein Blick hinter die Kulissen: eine Printerfile ist ein AS 400-Objekt, das wie oben beschrieben den Aufbau des Ausdrucks enthält. Man kann nun dieses Objekt mit einem Programm analysieren und damit den Aufbau ermitteln. Im nächsten Schritt sollte man nun ein eigenes PRTF-Objekt generieren – maschinell natürlich – und den Aufbau so manipulieren, daß der Inhalt unformatiert – oder idealerweise umformatiert aber strukturiert – ausgegeben wird.
In der Praxis gestaltet sich dieses Unterfangen dann doch etwas komplexer. Es gibt vieles zu beachten. Ein wesentlicher Punkt ist zum Beispiel die Struktur der Dokumente. Dies läßt sich am Beispiel einer Einkaufsbestellung einfach verdeutlichen. Sie könnte zum Beispiel wie folgt aufgebaut sein:
- Bestellkopf
- Anlieferadresse(n)
- Bestellkommentare
- Bestellpositionen
- Bestellteile, Mengen und Beträge
- Positionskommentare
- Abrufe
- Abrufpositionen
- Abrukommentare
- Steuerinformationen
- Steuerdetails
- Frachtinformationen
- Frachtdetails
- Auftragssummen
- Abschlusskommentare
Man kann sich vorstellen, dass es sehr mühsam ist alle diese Informationen richtig aus einem fertigen Druck auszulesen. Analysiert und modifiziert man nun aber die PRTF, so läßt sich das Problem schon im Ansatz lösen.
Hier gibt es zwei Ansätze:
- Liegt die DDS der Printerfile im Quellcode vor, so läßt sich diese manuell ändern, so daß die Ausgabe wie gewünscht strukturiert ist.
- Ist der Quellcode nicht vorhanden, so muss das PRTF-Objekt direkt geändert werden, so daß die Ausgabe nach Vorgabe definiert ist.
Ist dies erledigt, so kann die Spool-Datei sehr einfach mittels CPYSPLF in eine Textdatei konvertiert werden.
Geht das auch automatisch?
Interform bietet eine einzigartige Lösung, die den beschriebenen Prozess vollautomatisiert und in Echtzeit durchführt. PRTFs werden einmalig konvertiert – so wie oben beschrieben wird der Inhalt vom Layout getrennt. Das Ergebnis ist eine XML-Struktur, die genau wie oben beschrieben, die einzelnen Ebenen des Dokuments klar erkennbar macht. So gibt es nun vielfältige Möglichkeiten, diese XML-Struktur weiter zu verwenden:
- Es kann ein Layout generiert werden, das basierend auf den Inhalten der XML-Datei (also der ursprünglichen Spool-Datei) flexibel gestaltet werden kann.
- Es können grafische Elemente wie zum Beispiel Logos, Bilder, Farben, aber auch Barcodes in unterschiedlichsten Ausprägungen (QR Code) verwendet werden.
- Wenn in der Spool-Datei nicht alle benötigten Informationen enthalten sind, so kann auch mittels eines Enrichment-Prozesses aus unterschiedlichsten Quellen zusätzliche Information herangezogen werden.
- Auch die Ausgabe ist nun flexibel und das Spektrum der möglichen Formate ist groß. Neben der Umwandlung von Spools in PDF oder PDF/A-Dateien können auch transformierte XML-Dateien, HTML, Excel oder vieles mehr generiert werden.
Die Möglichkeiten sind schier unendlich. Sowohl auf der Input-Seite können nicht nur Spool-Dateien (SCS oder AFPDS) als Quelle für die weitere Verarbeitung dienen. Auch spezielle Systeme wie ERP, CRM, PLM oder ähnliches können direkt verarbeitet werden. Datenströme wie Webservices, MQ oder FTP oder mehr sind ebenfalls möglich. Auch das Format ist nicht festgelegt. Direkter Input aus XML, JSON oder CSV kann ebenfalls verarbeitet werden.
Wie kann ich Workflows starten?
InterForm bietet auch die Möglichkeit mit Workflows zu arbeiten. Das bedeutet: in Abhängigkeit des Inhalts eines Felds können sowohl Layout (also auch Logos oder Absender) als auch die weiteren Verarbeitungsschritte flexibel gesteuert werden. Als Beispiel können Rechnungen in Abhängigkeit von Ersteller oder Empfänger oder beliebiger anderer Kriterien auf einem Drucker ausgegeben oder per Mail versendet werden. Auch der eMail-Empfänger kann dynamisch aus dem Inhalt der XML-Datei (der ursprünglichen Spool Datei) erstellt werden. Somit können Dokument intern oder extern beliebig gesteuert werden und unterstützen somit optimal Ihre Geschäftsprozesse.
Weitere Fragen? Kontaktieren Sie uns:
FAQ zu AS/400 (IBM i, iSeries) Spool Dateien
Ist die AS/400 tot?
Die AS/400 ist der Vorgänger der iSeries und Power-i-Familie. Die IBM-Hardware ist auf Wachstumskurs, weshalb sie vor allem im Mittelstand weiterhin als beliebte, stabile und kostengünstige Plattform genutzt wird
Was ist AS/400?
Die AS/400 ist Teil des 1988 eingeführtem IBM-Hardware-Plattform. Sie ist der Vorgänger der iSeries und läuft heute unter der Power-i-Familie.
Was ist ein IBM System?
IBM Systeme sind Computer-Baureihen. Die beliebteste Form ist die iSeries, auch IBM i oder AS/400 genannt.
Was ist ein Spool?
Spool-Aufträge sind Druckaufträge, die in einer Druckerwarteschlange gesammelt werden, um sie nacheinander abzuarbeiten.
Was ist Spool Steuerung?
Spool Steuerung bezeichnet die Organisation von Druckdokumenten. Dazu gehört die Speicherung in einer Spool-Warteschlange (Druckerwarteschlange) sowie die Umwandlung in ein Druckausgabeformat.
Was ist eine Spooldatei?
Als Spooldatei wird ein Objekt in einer Druckerwarteschlange bezeichnet, in der Druckaufträge gesammelt werden, bevor sie nach Priorität gedruckt werden. In der Spooldatei werden die Daten in einem Ausgabeformat gespeichert.