Entwicklung > Tools > Sonstiges > Systembefehle 

Mit dieser Funktion kann ein Systembefehl auf dem Anwendungserver des (Standard)ordners gegeben werden.  Es ist aber natürlich ebenfalls möglich, Systembefehle auf einer beliebigen Maschine, auf der ein anderer Anwendungsserver läuft (Prozesse adxd et sadsys), oder auch auf dem Client abzusetzen. Hierbei muss folgende Syntax verwendet werden:

  • server@systembefehl (der Name des Servernetzes, in dem der entsprechende Ordner liegt, muss angegeben werden: Unter der aktuellen Servicenummer muss dort ein adxd-Prozess laufen, da sonst keine Verbindung möglich ist)
  • server:service@systembefehl(analog zu oben, jedoch möglicherweise mit anderer Servicenummer. Die ergibt beispielsweise folgende Syntax: server_01:1802@lsadx -a ORDNER TRT src)

Achtung: Die letzten beiden Syntaxen setzen voraus, dass auf dem Remote-Server ein Ordner vorhanden ist, dessen Name dem Namen des Ordners entspricht, von dem aus die Funktion aufgerufen wurde (auch, wenn es sich dabei nicht um den Ordner handelt, auf dem der Vorgang gestartet wird). Bei X3-Ordnern ist diese Bedingung stets erfüllt, denn jegliche X3-Installation setzt voraus, dass mindestens ein X3-Ordner installiert ist. Daher wird empfohlen, diese Syntax nur in genau diesem Fall zu verwenden. Weiterhin muss berücksichtigt werden, dass je nach Netzkonfiguration die Erfassung eines nicht korrekten Netznamens nach der Felderfassung zu einer relativ langen Wartezeit führen kann (da die Prüfung auf Existenz des Servers im Netz erfolgt, können vor der Ausgabe eine Fehlermeldung eine, gelegentlich sogar mehrere Minuten verstreichen).

Systembefehle aus dem Client werden mit Servername # abgesetzt.

Einschränkung im Web-Betrieb

Aus Sicherheitsgründen ist im Web-Betrieb die direkte Ausführung eines Systembefehls auf dem Client (Syntax #@befehl) nicht möglich.

Vorbedingungen

SEEREFERTTO Siehe Dokumentation Umsetzung

Maskenverwaltung

Die Erfassung wird in einer Dialogbox vorgenommen, in der nur der Systembefehl erfasst wird.

Erfassungsmaske

Übersicht

Dieser Systembefehl wird entweder in der Form server@befehl in der Form befehl erfasst (in diesem Fall wird der Systembefehl auf dem aktuellen Anwendungsserver abgesetzt). Wird als Server # angegeben, wird der Befehl auf dem Client ausgeführt (Namen, die Leerzeichen enthalten, sind in doppelte Anführungszeichen zu setzen). Wird der Befehl auf dem Client abgesetzt, so wird er lokal ausgeführt. Danach wird wieder zur Dialogbox zurückgekehrt. Sonst wird der Befehl auf dem Server ausgeführt, und der angezeigten Protokolldatei ist das Ergebnis zu entnehmen.

Beispiele:

  • Befehl: #@"C:\Program Files\Microsoft Office\Office\Excel.exe" (sofern dies dem tatsächlichen Installationsverzeichnis entspricht = Aufruf von Excel™ auf dem Client.
  • Befehl: ls -l /etc (sofern es sich um einen UNIX™-Server handelt) = Anzeige der entsprechenden Verzeichnisliste in einer Protokolldatei.

Schließen

 

Felder

In diesem Register befinden sich die folgenden Felder :

  • Feld ORDSYS

Systembefehl (Unix oder Dos), der auf dem Server ausgeführt wird.

Schließen

 

Batchaufgabe

Diese Funktion kann im Batch gestartet werden,. Zu diesem Zweck SYSTEM ist die Standardaufgabe vorgesehen.

Fehlermeldungen

Nur generische Fehlermeldungen.

Verwendete Tabellen

SEEREFERTTO Siehe Dokumentation Umsetzung