===== Bedingung ===== Der Block **Bedingung** definiert eine Bedingung, die beim Einbinden eines Unterformulars ausgewertet werden muss. {{print2forms:p2fsimply:condition.png}} Zur Entscheidung, ob ein untergeordnetes Formular gedruckt werden soll oder nicht, kann eine Bedingung angegeben werden. Diese Bedingung setzt sich aus einer Liste von Einzelbedingungen zusammen, die durch logisches Und oder Oder miteinander verknüpft sind. Jede Einzelbedingung entspricht einem Bedingungsblock. (p2f) bietet einerseits die Möglichkeit, Textfelder innerhalb der Nutzdaten zu prüfen, und andererseits die Möglichkeit, Attribute des Druckauftrags, wie Benutzer oder druckender Rechner, zu prüfen. Bei der Prüfung von Textfeldern (Auswahl //Feld//) stellt sich das Problem der eindeutigen Kennzeichnung und Abgrenzung der Felder innerhalb der Nutzdaten. Dafür gibt es in (p2f) sogenannte Feldindizes, die in einer speziellen Betriebsart des Clients oder Gateways errechnet und angezeigt werden. Im Eingabefeld //Index// wird dieser zu prüfende Feldindex eingegeben. Bei der Prüfung von Attributen des Druckauftrags wird das Eingabefeld //Index// entfernt. (p2f) folgende Möglichkeiten für die Prüfung von Druckattributen: //Benutzer// Der Name des Benutzers, der den Druckauftrag erzeugt hat, wird geprüft. Der Benutzername wird dabei als einfache Zeichenkette bahandelt. Der Benutzer muss also nicht im print2forms-System konfiguriert sein! //Rechner// Der Name des Rechners, der den Druckauftrag erzeugt hat. Da die Rechnernamen von den print2forms-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. //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 print2forms-Client drucken. //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. //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. //Benutzerdaten// Die Benutzerdaten der Spooldatei sollen geprüft werden. Diese Daten ist nicht auf allen Rechnersystemen verfügbar - zur Zeit nur im OS/400 und i5/OS, wenn über HostPrintTransform gedruckt wird. //Benutzerdefinierte Daten// Die benutzerdefinierten Daten der Spooldatei sollen geprüft werden. Diese Daten ist nicht auf allen Rechnersystemen verfügbar - zur Zeit nur im OS/400 und i5/OS, wenn über HostPrintTransform gedruckt wird. ////Prozess Der Name des aktuellen Prozesses wird geprüft. Das ist dann von Bedeutung, wenn der aktuelle Prozessname ein regulärer Ausdruck ist, und Entscheidungen auf Basis des variablen Teils des Prozessnamens getroffen werden sollen. //Etikett// Die Nummer des Etiketts auf dem aktuellen Etikettenbogen wird geprüft. Diese Prüfung mach nur im Rahmen eines Etikettenprozesses Sinn. //Seite// Die Nummer der aktuellen Seite im Eingangsdatenstrom wird geprüft. Diese Prüfung funktioniert nur, wenn der Druck- oder Etikettenprozess, der das Formular aufgerufen hat, seinerseits von einem Dokumentenprozess aufgerufen wurde. Im letzten Eingabefeld des Blocks wird die