AS/400 (IBM i, iSeries) Spool-Dateien – Gut zu wissen…

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äßlichen“ 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.

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 TabellenPRTF und Druckprogramm
  • 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 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, daß 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

Spool-Datei Konvertierung in XML

Man kann sich vorstellen, daß 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.   CPYSPLF
  • 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.

Von der Spool-Datei zum XML

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.

InterForm Infrastruktur

 

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:

    Suchen Sie weitere Informationen?

    AS/400-ERP-Systeme 

     

     

    ERP – OnPremise vs. Cloud
    OpenSource ERP – Wegweiser zum optimalen ERP-System
    Menü