**Eigenschaft:** ==== Synchronisation ==== \\ **Beschreibung:** Bei der Abarbeitung eines **System-Anfrage** Feldes wird ein Programm oder Skript auf dem Rechner gestartet, auf dem der Client oder das Gateway ausgeführt wird. Mit dieser Einstellung kann bestimmt werden, ob der Client oder das Gateway auf die Ausführung des Programm- oder Skriptaufrufs wartet oder nicht. {{print2forms:objekte:formular:syssyn.png}} Die Bedeutungen der einzelnen Auswahlen sind in der folgenden Tabelle gelistet: |Ausführung starten|Das Programm oder Skript wird nur aufgerufen. Der Client oder das Gateway setzt sofort seine Arbeit fort. Das Programm oder Skript wird dann als eigener Prozess parallel zum Client oder Gateway ausgeführt. Diese Einstellung kann nicht gewählt werden, wenn Daten zurückerwartet werden.| |Ausführung abwarten|Das Programm oder Skript wird aufgerufen und der Client oder das Gateway wartet auf deren Beendigung. Dadurch entsteht eine Druckpause. Diese Einstellung muss gewählt werden, wenn vom Programm oder Skript Daten zurückerwartet werden, die im weiteren Verlauf benötigt werden.| \\ **Hinweise:** * In der Einstellung **Ausführung starten** muss das gestartete Programm oder Skript so geschrieben werden, dass es reentrant ist, da es durchaus vorkommen kann, dass es mehrfach ausgeführt wird. Gegebenenfalls muss über Semaphore oder Mutexe der Programmablauf synchronisiert werden. Dies gilt natürlich auch, sobald mehr als ein Client oder Gateway auf dem Rechner läuft. * Sollte das aufgerufene Programm oder Skript temporäre Dateien anlegen müssen, kann durch Übergabe der Client- oder Gateway-ID ''\i'' beim Zusammenbau der Kommandozeile leicht ein eineindeutiger Name erzeugt werden. Das verhindert, dass sich Clients und Gateways, die eventuell gleichzeitig Systemfelder ausführen, gegenseitig blockieren, oder dass Daten irrtümlich zwischen Clients und Gateways hin- und herwandern, was durchaus auch ein massives **Datenschutzproblem** verursachen kann. * Wird nicht auf die Beendigung des gestarteten Programms oder Skripts gewartet, sind noch mehr Anstrengungen notwendig, Datenschutzkonflikte zu vermeiden. Werden temporäre Dateien benötigt, genügt es nicht mehr, als Namen die Bezeichnung des Clients oder Gateways zu verwenden, weil zeitgleich mehrere Programme und Skripte aktiv sein können. \\ \\