**Eigenschaft:** ==== Bedingungsliste ==== \\ **Beschreibung:** Zur Entscheidung, ob ein Einzeldokument an einen Formatierprozess weitergereicht werden soll oder ob ein Anhang gedruckt werden soll, kann eine Bedingung angegeben werden. Diese Bedingung ist eine Liste von Einzelbedingungen, die durch logisches Und oder Oder miteinander verknüpft sind. Das (p2f)-System kennt einerseits die Möglichkeit, Textfelder innerhalb der Nutzdaten zu prüfen, und andererseits Attribute des Druckauftrags, wie Benutzer oder druckender Rechner, zu prüfen. Bei der Prüfung von Textfeldern stellt sich das Problem der eindeutigen Kennzeichnung und Abgrenzung der Felder innerhalb der Nutzdaten. Deshalb sind im (p2f)-System sogenannte Feldindizes eingeführt worden, die in einer speziellen Betriebsart des (p2f)-Clients errechnet und angezeigt werden. Nähere Informationen zur Ermittlung der Feldindizes finden sich im Hilfetext der Eigenschaft **Feldindex**. Bei der Prüfung von Attributen des Druckauftrags kennt das (p2f)-System folgende Möglichkeiten: | Benutzer | Der Name des Benutzers, der den Druckauftrag erzeugt hat, wird geprüft. Der Benutzername wird dabei als einfache Zeichenkette bahandelt. Der Benutzername ist der auf dem druckenden Rechner vergebene Name. Der Name muss also nicht im (p2f)-System selbst als Benutzer angelegt worden sein! Bei der Prüfung können Vergleichsmuster verwendet werden. | | Rechner | Der Name des Rechners, der den Druckauftrag erzeugt hat. Da die Rechnernamen von den (p2f)-Druckertreibern ermittelt werden, ist das Aussehen des Namens vom jeweiligen Rechner abhängig. Im einfachsten Fall kann nur die IP-Adresse als Name dienen, oder, falls der Rechner Zugriff auf den DNS-Dienst hat, sein voller Name im Netzwerk. Bei der Prüfung können Vergleichsmuster verwendet werden. | | Drucker | Der Name des Druckers auf dem druckenden Rechner wird geprüft. Zu Steuerungszwecken ist es ohne weiteres möglich, mehrere logische Drucker einzurichten, die dann aber alle auf den gleichen (p2f)-Client drucken. Mit dieser Prüfung wird der Name des logischen Druckers auf dem druckenden Rechner getestet. Bei der Prüfung können Vergleichsmuster verwendet werden. | | Auftrag | Der Name des Druckauftrags wird geprüft. Dieser Name wird in der Regel vom druckenden Programm eingesetzt, und ist daher nicht immer verfügbar. Bei der Prüfung können Vergleichsmuster verwendet werden. | | Datei | Der Name der Datei, in der der Druckauftrag vom Spool-System zwischengespeichert worden ist, wird geprüft. Dieser Name ist nicht auf allen Rechnersystemen verfügbar - zur Zeit nur im OS/400 und i5/OS. Bei der Prüfung können Vergleichsmuster verwendet werden. | | Schacht | Die Nummer des Schachts für den Papiereinzug wird geprüft. Diese Nummer wird aus der entsprechenden PCL-Sequenz innerhalb des Druckdatenstroms entnommen. Bei der Prüfung können Vergleichsmuster verwendet werden. | | Benutzerdaten | Der Inhalt des gleichnamigen Feldes im OS/400 und i5/OS wird geprüft. In diesen Textfeld können weitere Informationen zur Steuerung von (p2f)-Prozessen oder -Formularen untergebracht werden. Dieses Feld steht allerdings nur zur Verfügung, wenn mit Host-Print-Transform und mit einem (p2f)-Trennseitenprogramm gedruckt wird. Bei der Prüfung können Vergleichsmuster verwendet werden. | | Benutzerdefinierte Daten | Ein Zusatzfeld mit beliebigen Textinformationen, die keine weitere Bedeutung für das OS/400 und i5/OS haben, wird geprüft. In diesen Zusatzfeld können somit Texte zur Steuerung von (p2f)-Prozessen untergebracht werden. Dieses Feld steht allerdings nur zur Verfügung, wenn mit Host-Print-Transform und mit einem (p2f)-Trennseitenprogramm gedruckt wird. Bei der Prüfung können Vergleichsmuster verwendet werden. | | Seitenzahl | Die Anzahl der Seiten innerhalb des Einzeldokuments wird geprüft. Mit dieser Prüfung können die Einzeldokumente abhängig von ihrem Umfang unterschiedlich bearbeitet werden. Obwohl die Anzahl der Seiten selbst ein numerischer Wert ist, wird der Vergleich gegen die dieser Anzahl entsprechende Zeichenkette durchgeführt. Daher sind auch bei dieser Prüfung Vergleichsmuster einsetzbar. Ein Muster wie %%'[%%34]' beschreibt ausschliesslich drei- oder vierseitige Dokumente. | | Dokumentnummer | Die Nummer des Einzeldokuments wird geprüft. Das erste Dokument hat immer die Nummer 1. Mit dieser Prüfung kann beispielsweise das erste Einzeldokument anders bearbeitet werden als die Folgedokumente. Obwohl die Dokumentnummer ein numerischer Wert ist, wird der Vergleich gegen die dieser Nummer entsprechende Zeichenkette durchgeführt. Daher sind auch bei dieser Prüfung Vergleichsmuster einsetzbar. Ein Muster wie %%'[%%0-9]%%*[%%24680]' beschreibt jedes zweite Dokument. | | Bearbeitungsschritte | Die Anzahl der bisher innerhalb der Bearbeitungsliste durchgeführten Bearbeitungsschritte wird geprüft. Mit dieser Prüfung kann beispielsweise durch einen Vergleich auf Null eine Standardauswahl getroffen werden, die gewählt wird, wenn keiner der vorherigen Bearbeitungsschritte ausgeführt wurde. Obwohl die Anzahl ein numerischer Wert ist, wird der Vergleich gegen die dieser Zahl entsprechende Zeichenkette durchgeführt. Daher sind auch bei dieser Prüfung Vergleichsmuster einsetzbar. Ein Muster wie %%'[%%12]' prüft so auf ein oder zwei durchgeführte Bearbeitungsschritte. | | Prozess | Der Name des aktuell ausgeführten Prozesses wird geprüft. Diese Prüfung macht natürlich nur dann Sinn, wenn der Prozessname nicht konstant ist, sondern als regulärer Ausdruck angegeben worden ist. Dann kann der Inhalt der ersten mit runden Klammern aufgesammelten Zeichen(-)gruppe getestet werden. ((Wenn der reguläre Ausdruck, der den Namen des Prozesses bildet, keine Gruppe enthält, ist der Test natürlich immer negativ.\\ \\ )) | Neben der Information was zu prüfen ist, werden noch weitere Eigenschaften benötigt. Hierzu zählen: |Feldindex|Index des Textfeldes, das ausgewertet werden soll| |Vergleich|Information, ob auf Gleichheit oder Ungelichheit geprüft werden soll| |Vergleichswert|Wert, gegen den verglichen werden soll| |Verknüpfung|Logische Verknüpfung der Bedingungen in der Liste| Weitere Informationen dazu finden sich in den Hilfetexten der einzelnen Eigenschaften. \\ Als Beispiel seien im folgenden noch zwei einfache Bedingungen aufgeführt. Die linke Bedingung testet, ob in dem Feld mit dem Index 0002D00000 nach einer beliebigen Anzahl anderer Zeichen eine Reihe von Leerstellen, gefolgt von der Zeichenfolge '347-', gefolgt von einer beliebigen Anzahl anderer Zeichen, auftaucht. Die rechte Bedingung testet, ob der Druckauftrag von einem bestimmten Rechner kommt und ob der Inhalt des Feldes 0001E00000 an der letzten Position keine 7 hat. {{print2forms:objekte:prozess:condit.png}} Eine besonders häufig verwendete Bedingung ist die, ob ein bestimmtes Feld in einem Dokument vorhanden ist oder nicht. Die linke Bedingung in der nachfolgenden Abbildung ist erfüllt, wenn das Feld existiert und irgendeinen Inhalt hat (ausgedrückt durch den das Muster '.%%*'%%). Die rechte Bedingung ist erfüllt, wenn das Feld im Dokument nicht enthalten ist. {{print2forms:objekte:prozess:condit2.png}} \\ **Hinweise:** * Alle Listen von Bedingungen können nicht mehr als 99 Bedingungen aufnehmen. * Mit steigender Anzahl von Bedingungen sinkt natürlich auch die Geschwindigkeit des Dokumentprozesses, der beim Ermitteln der Dokumentgrenze gleichzeitig auch alle Bedingungen zur Weiterverarbeitung prüft. * Bei der Auswertung einer Bedingungsliste werden die Einzelbedingungen in aufsteigender Reihenfolge (mathematisch quasi von links nach rechts) ausgewertet, also ohne Berücksichtigung der Tatsache, dass ein logisches Und höher bindet als ein logisches Oder. * Die Auswertung einer Bedingungsliste wird beendet, sobald eine Einzelbedingung vorgefunden wird, die nicht mit einem logischen Und oder einem logischen Oder (Eigenschaft **Verknüpfung**) mit der nächsten Einzelbedingung verbunden ist. Damit können durch weitere Einzelbedingungen, die nicht in die Auswertung mit eingehen, Informationen für die aufgerufenen Druckprozesse ermittelt und bereitgestellt werden. * Die Benutzung der Werte **Benutzer**, **Rechner**, **Drucker**, **Auftrag**, **Datei**, **Benutzerdaten** und **Benutzerdefinierte Daten** können im Zusammenhang mit i5/OS und OS/400 nur dann verwendet werden, wenn mit Host-Print-Transform und mit einem speziellen (p2f)-Trennseitenprogramm gedruckt wird. * Wird (p2f) zusammen mit **convert****4****print** zur Nutzung von IPDS- und AFP-Datenströmen eines i5/OS oder OS/400 eingesetzt, werden die Werte **Benutzerdaten** und **Benutzerdefinierte Daten** nicht übertragen und daher auch nicht unterstützt. \\ \\