===== Betrieb mit SAP ===== ==== Anforderung ==== Die Firma **SAP** hat ihre Anwendung mit einem kompletten Druck- und Spooling-System ausgestattet, um eine einheitliche Schnittstelle zu allen Druckfunktionen zu schaffen, unabhängig davon, auf welcher Rechnerplattform mit welchem Betriebssystem läuft, und genauso unabhängig vom konkreten Ausgabegerät. Das interne Drucksystem erzeugt für eine ganze Reihe von Ausgabegeräten bereits druckfertige Datenströme, die vom Betriebssystem des Host-Rechners nur noch zum Ausgabegerät übertragen werden müssen. Im SAP System werden in den sogenannten **Device Types** alle Informationen zu einem Ausgabegerät hinterlegt. Alle Geräte von diesem Typ benutzen den gleichen Device Type, sodass sich eine Modifikation sofort auf alle betroffenen Geräte auswirkt. Für (p2f) können im Prinzip alle Device Types genutzt werden, die einen PCL4-, PCL5-, PCL5e- oder PCL5c-Datenstrom erzeugen. Für die Aktivierung eines besonderen Prozesses im (p2f)-System bedarf es allerdings einer kleinen Modifikation am Device Type. Welcher Device Type konkret als Grundlage für die notwendige Modifikation verwendet wird, hängt vom gewünschten Zieldrucker ab. Wenn für diesen Drucker kein eigenes Device Type existiert, tut es meist eines der gängigen HP-Modelle (ZHPxxx) oder einer der Device Types ZA0x1xxx (Latin 1) oder ZA0x2xxx (Latin 2). \\ \\ ==== Realisierung ==== Im Device Type sind sogenannte **Formate** angelegt, was letztendlich nichts weiter als Beschreibungen von verschiedenen Papierformaten sind. Da diese Formate die PJL-Sequenzen enthalten, die für die Einrichtung eines Druckauftrags benötigt werden, ist auch hier die Modifikation für (p2f) anzubringen. {{print2forms:tips:0034-3.png?700}} In jedem Format gibt es eine **Printer inititialization**-Sequenz, deren Inhalt vom als Ausgangspunkt gewählten Device Type abhängt. {{print2forms:tips:0034-4.png?500}} Im Prinzip steht dort aber irgend etwas ähnlich dem folgenden: {{print2forms:tips:0034-2.png?500}} Wichtig ist das sogenannte Universal Exit Language ('\e%-12345X') welches den Drucker auf den Wechsel in den PJL-Modus vorbereitet, der dann mit dem ersten '@PJL\r\n' aktiviert wird. An dieser Stelle können nun die für (p2f) notwendigen PJL-Sequenzen eingefügt werden. \\ \\ ^ PJL-Sequenz(sp)(sp)(sp)(sp)(sp)(sp)(sp)(sp)(sp)(sp)(sp)(sp)(sp)(sp)(sp)(sp)(sp)(sp)(sp)(sp)(sp)(sp)(sp)(sp)(sp)(sp)(sp)(sp)(sp)(sp)(sp)(sp)(sp) ^ Bedeutung ^ | @PJL(sp)SET(sp)COMPUTER="" | Kennzeichnet den druckenden Rechner. Dieser Wert kann später in Prozessen und Formularen abgefragt werden. | | @PJL SET USER="" | Kennzeichnet den Benutzernamen. Dieser Wert kann später in Prozessen und Formularen abgefragt werden. | | @PJL SET MODEL="" | Kennzeichnet den Host-Drucker. Dieser Wert kann später in Prozessen und Formularen abgefragt werden. | | @PJL SET FORM="" | Wählt den Prozess, mit dem der Druckauftrag ausgeführt werden soll. Der Prozess wird über seinen externen Namen ausgewählt. | | @PJL SET JOBID="" | Kennzeichnet den Namen des Druckauftrags. Dieser Wert kann später in Prozessen und Formularen abgefragt werden. | | @PJL SET JOBNO="" | Kennzeichnet die Nummer des Druckauftrags. Dieser Wert kann später in Prozessen und Formularen abgefragt werden. | | @PJL SET FILEID="" | Kennzeichnet den Namen der Druckdatei. Dieser Wert kann später in Prozessen und Formularen abgefragt werden. | | @PJL SET FILENO="" | Kennzeichnet die Nummer der Druckdatei. Dieser Wert kann später in Prozessen und Formularen abgefragt werden. | | @PJL SET USRDATA="" | Beliebige Zeichenkette zur Kennzeichnung der Druckdatei. Dieser Wert kann später in Prozessen und Formularen abgefragt werden. | \\ Zentraler Punkt ist die Auswahl eines Prozesses. Welches Druckattribut aus dem SAP System Verwendung findet, ist von Fall zu Fall zu entscheiden, aber es liegt nahe, den Formatnamen selbst zu nehmen, um dann in der Applikation durch Auswahl des Formats zu entscheiden, mit welchem Prozess (p2f) den Druckauftrag bearbeiten soll. Das erfordert natürlich ein eigenes Format für jeden (p2f)-Prozess. Eine mögliche modifizierte Version der **Printer Init**-Sequenz wäre dann etwa die folgende: {{print2forms:tips:0034-1.png?500}} \\ ==== Bemerkungen ==== * Wie Device Types angelegt, kopiert, modifiziert, ex- und wieder importiert werden, ist der SAP-Dokumentation zu entnehmen und übersteigt den Anspruch dieses Tips bei weitem. * Es gibt noch eine Reihe weiterer PJL-Sequenzen für (p2f), die im Einzelfall von Bedeutung sein könnten, insbesondere mit dem direkten Senden von Druckdaten an den (p2f)-Router. Falls Sie solch eine Installation nutzen möchten, sprechen Sie die SPE Systemhaus GmbH an. * Die Nutzung der Device Types ZA0xUxxx (Unicode) ist zur Zeit noch nicht generell möglich. Wenn Sie Bedarf haben, hilft die SPE Systemhaus GmbH gerne weiter.