Die Registerkarte Variable ist eine objekttypspezifische Registerkarte, die in dieser Form nur beim Objekt "Variable" zu finden ist. Sie dient je nach Variablen-Quelle entweder der manuellen Definition von Werten (statisch) oder der Konfiguration für die dynamische Werte-Ermittlung.
Objekt: Variable
Objektklasse: Aktives Objekt
Objekttyp (Kurzbezeichnung): VARA
Der Inhalt der Registerkarte Variable ist abhängig von der Quelle, die beim Anlegen von Variablen-Objekten festgelegt wird und nicht änderbar ist. Werte von Variablen können dynamisch aus einer Datenbank (SQL), anderen Variablen-Objekten (Multi) oder als Dateiliste vom Verzeichnis eines Agenten-Rechners (Dateiliste) bezogen werden. Die abhängigen Einstellungen dafür, finden sich in der Registerkarte Variable. Die manuelle Eingabe von Werten für statische Variablen ist ebenfalls in dieser Registerkarte möglich.
Statische Variablen bestehen aus einem Key und fünf Werte-Spalten. Die Anzahl der Spalten von dynamischen Variablen hängt von der Datenquelle ab und ist nicht begrenzt.
Eine Ausnahme ist das statische Variablen-Objekt vom Typ XML. Es enthält nur eine Werte-Spalte, die nur wohlgeformte XML-Strukturen enthalten darf.
Die folgenden Script-Sprachmittel stehen Ihnen bei der Bearbeitung des Inhalts zur Verfügung:
Möchten Sie auf alle bzw. mehrere bestimmte Einträge einer Variablen zugreifen, können Sie von der Script-Funktion PREP_PROCESS_VAR Gebrauch machen. Diese bereitet die Bearbeitung einer Datensequenz vor.
Bei bestimmten dynamischen Variablen haben Sie die Möglichkeit, in bestimmten Feldern dieser Registerkarte, PromptSet-Variablen zu verwenden. Für welche Felder dies möglich ist, sehen Sie in der Spalte "PromptSet-Variablen" der unteren Tabellen mit den Feld-Beschreibungen.
Dies ist unter anderem notwendig für die Erstellung von dynamischen PromptSet-Dialogen.
In den genannten Feldern werden nur PromptSet-Variablen unterstützt (Script-, Objekt- und vordefinierte Variablen sind nicht erlaubt)! Darauf ist speziell im Umgang mit den ausgelieferten Template-Objekten von Backend-Variablen zu achten, in deren Feldern standardmäßig Namen von PromptSet-Variablen eingetragen sind!
Beachten Sie bei der Verwendung von Datenbank-Variablen (Typ SQL, SQL SECURE, SQLI und SQLI SECURE), dass Binärfelder nicht unterstützt werden! Liefert die SQL-Abfrage Binärdaten zurück, so kommt es zum Fehler bei der Vorschau oder der Ermittlung der Werte zur Laufzeit!
Beachten Sie, dass bei Datenbank-Variablen (Typ SQL, SQLI, SQL SECURE, SQL SECURE) aus technischen Gründen keine Prüfung erfolgt, welche SQL Anweisungen durchgeführt werden! Es ist also theoretisch auch möglich, Datensätze über Variablen-Objekte zu verändern oder zu löschen. Aus Sicherheitsgründen wird daher empfohlen, den Benutzer-Zugriff entsprechend einzuschränken. Bei Variablen, die auf eine externe Datenbank zugreifen (SQL, SQL SECURE), sollte ein Datenbank-Benutzer verwendet werden, der nur Leserechte besitzt. Bei internen SQL-Variablen (SQLI, SQLI SECURE), kann der Zugriff auf das Objekt durch ein Privileg (SQL-interne Variablen anlegen und ändern) eingeschränkt werden.
SQL und SQLI Variablen liefern für NULL-Werte abhängig vom Datentyp die Werte "" (String, Datum, Zeit, Zeitstempel) oder 0 (Zahl) zurück.
[Statisch][XML] [EXEC] [SQL] [SQL Secure] [SQL Intern] [SQL Intern Secure] [Multi] [Dateiliste] [Backend]
Besitzt die Variable die Einstellung Quelle - "statisch", müssen die Werte in der Registerkarte Variable manuell durch einen Benutzer oder mit Hilfe des Script-Sprachmittels :PUT_VAR bzw. :PUT_VAR_COL eingetragen werden. Jeder Eintrag einer Tabellenzeile wird aus Key plus 5 Werten gebildet und hängt von den eingestellten Attributen ab.
Achten Sie darauf, dass der Key nicht mit dem Zeichen & beginnt! Das Variablen-Objekt kann zwar gespeichert werden, beim Script-Zugriff auf diese Zeilen kommt es jedoch zu einem Fehler.
Beachten Sie, dass ein Key bis zu 200 Zeichen umfassen kann.
Die Einstellungen Datentyp und "Ausgabeformat" (Registerkarte Attribute) beziehen sich nur auf die erste Wertespalte. Die anderen Spalten besitzen immer den Datentyp "Text".
Abhängig vom Datentyp sind folgende Wertebereiche erlaubt:
Datentyp |
Länge des Inhaltes |
---|---|
Text |
Unbegrenzt Ist die Einstellung "Textlimitierung" (Registerkarte "Attribute") gesetzt, so betrifft diese Beschränkung nur die erste Werte-Spalte. |
Zahl |
von 0 bis 2147483647 |
Zeitstempel |
Datums- und Zeitangabe je nach Ausgabeformat |
Zeit | Zeitangabe je nach Ausgabeformat |
Datum | Datumsangabe je nach Ausgabeformat |
Über die Suche können Sie Variablen-Objekte auch abhängig von deren Key und Werte finden.
Die Sortierung der Werte hängt von den Einstellungen in der Registerkarte Attribute ab. Standardmäßig wird aufsteigend nach der Key-Spalte sortiert.
Für die Werte-Spalten von statischen VARA-Objekten steht ein Editor zur Verfügung, der eine bequeme und übersichtliche Bearbeitung des Inhalts ermöglicht. Der Editor ist vor allem für die Änderung von langen Werte hilfreich.
Um den Editor aufzurufen, klicken Sie in eine Zelle einer Werte-Spalte. Dadurch wird am rechten Rand der Zelle ein Beistift-Symbol angezeigt, über das auch der Editor geöffnet werden kann.
Sie können das Zellen-Editorfenster auch über den Tastaturbefehl „UMSCHALTTASTE+F2“ öffnen.
Der Editor besitzt folgende Funktionen, welche über die Editor-Symbolleiste oder das Kontextmenü erreichbar sind:
[Statisch] [XML] [EXEC] [SQL][SQL Secure] [SQL – intern] [SQL intern Secure] [Multi] [Dateiliste] [Backend]
Das Variablen-Objekt XML ist eine Sonderform des statischen Variablen-Objekts. Obwohl es per Definition ein statisches Objekt ist, enthält es nur eine Werte-Spalte, anstelle der üblichen fünf. Darüber hinaus dürfen nur Daten vom Typ wohlgeformte XML-Strukturen verwendet werden. Es kann genutzt werden, um komplexe Daten vorübergehend im Automation Engine-System zu speichern. Diese Daten können dann referenziert und in PromptSet-Objekten, in Script-Objekten und anderen Script-Kontexten systemweit verwendet werden.
Wenn Sie bei diesem Objekttyp versuchen, andere Datentypen als XML oder unvollständige XML-Strukturen zu verwenden, wird eine Fehlermeldung angezeigt.
Es ist möglich, XPath-Anweisungen gemeinsam mit dem Variablen-Objekt XML zu verwenden, wie in den einzelnen Abschnitten der jeweiligen Script-Funktionen beschrieben. Je nachdem, mit welcher Datenbank das Automation Engine System genutzt wird, kann die Funktionsweise einzelner XPath-Anweisungen abweichen. Wenden Sie sich in solchen Fällen bitte an den Lieferanten der Datenbank.
Wenn Sie Automation Engine mit einer Oracle-Datenbank einsetzen, dürfen die Attributwerte der XML-Daten in diesem Variablen-Objekt 4000 Zeichen nicht überschreiten.
Feld/Steuerelement |
Beschreibung |
PromptSet-Variablen |
---|---|---|
Einstellungen | ||
Key | Der Key für die XML-Datenstruktur, der im Feld "Wert" eingetragen ist. Sie können einen individuellen Key festlegen. | |
Wert | Die Daten, die im XML-Format gespeichert und verwendet werden sollen. |
Zum Bearbeiten der XML-Daten können Sie den Zellen-Editor nutzen. Sie öffnen ihn durch Anklicken des Bleistift-Symbols, wenn die Zelle "Wert" durch einen Mausklick aktiviert ist, wie unten gezeigt. Einzelheiten zum Zellen-Editor und zu dessen Verwendung, siehe Kategorie "Statisch" oben.
[Statisch][XML][EXEC] [SQL] [SQL Secure] [SQL Intern] [SQL Intern Secure] [Multi] [Dateiliste] [Backend]
Das dynamische Variablen-Objekt kann genutzt werden, um Rückgabewerte von aktivierbaren Objekten an andere aktivierbare Objekte zu übergeben und/oder in Script-Variablen zu speichern. Als Benutzer können Sie diese Rückgabewerte in den Script-Variablen speichern, die in EXEC definiert sind. EXEC selbst hat keine eigenen Parameter.
Sie können das dynamische Variablen-Objekt EXEC dazu nutzen, Werte eines weiteren aktivierbaren Objektes auszulesen und zu übergeben. In diesem Fall müssen die Parameter des dynamischen Variablen-Objekts EXEC die gleichen Namen nutzen wie diejenigen, die im PromptSet des ausführbaren Objekts verwendet werden, das die Rückgabewerte liefert.
Feld/Steuerelement |
Beschreibung |
PromptSet-Variablen |
---|---|---|
Aktivierbares Objekt |
Name des Automation Engine-Objektes. Die folgenden Objekttypen werden zur Nutzung mit VARA.EXEC empfohlen:
Folgende aktivierbare Objekttypen sollten nicht mit VARA.EXEC genutzt werden: Schedule, Cockpit. Bei der Angabe des aktivierbaren Objekts wird keine Prüfung auf den empfohlenen Objekttyp durchgeführt. Eine Fehlermeldung wird erst ausgegeben, wenn das aktivierbare Objekt ausgeführt wird. |
|
Ergebnis-Variable |
Name der Script-Variable, die für den Rückgabewert des aktivierbaren Objektes genutzt wird (Angabe obligatorisch). |
|
Parameter |
Liste der Variablen, die im aktivierbaren Objekt zur Verfügung stehen, das die Rückgabewerte liefert. Die Werte können sein
|
|
Vorschau | Über diese Schaltfläche wird eine Vorschau der gespeicherten oder übertragenen Ergebniswerte angezeigt. |
[Statisch][XML] [EXEC] [SQL] [SQL Secure] [SQL Intern] [SQL Intern Secure] [Multi] [Dateiliste] [Backend]
Die Werte von Variablen mit der Quelle SQL werden mit Hilfe von SQL-Anweisungen aus einer externen Datenbank geladen. In diesem Fall kann die Datenbank des AE-Systems nicht verwendet werden.
Die Variablen-Quelle "SQL - internal" kann für die Verwendung mit der AE Datenbank angegeben werden.
Beachten Sie, dass für SQL-Variablen der Datenbank-Agent speziell konfiguriert und gestartet werden muss. Dieser ist danach nicht für die Ausführung von Datenbank-Jobs und Ereignissen einsetzbar! Die Hinweise dazu finden Sie in der Installationsanleitung des Datenbank-Agenten.
Die maximale Auflösungsdauer von SQL-Variablen kann mit der Einstellung VAR_TIMEOUT (UC_HOSTCHAR*) geändert werden.
Für die Länge der Werte gibt es keine Beschränkung. Ist in der Registerkarte "Attribute" ein maximales Textlimit gesetzt, so betrifft dies nur die erste Wertespalte. Einträge, welche dieses Limit überschreiten, werden ausgegrenzt.
Nicht druckbare Zeichen werden automatisch weggeschnitten (Zeichen ASCII 0x00 bis 0x20 und 0x7F).
Die maximale Anzahl der zurückgelieferten Zeilen ist mit der Einstellung SQLVAR_MAX_ROWS in der Variablen UC_SYSTEM_SETTINGS festgelegt.
Die Automation Engine schneidet Leerzeichen am Ende von SQL-Variablenwerten ab.
Feld/Steuerelement |
Beschreibung |
PromptSet-Variablen |
---|---|---|
Datenbankverbindung |
|
|
Verbindung |
Verbindungs-Objekt vom Typ Datenbank, das die Verbindungsparameter zur gewünschten Datenbank enthält. |
|
Login |
Login-Objekt, das den Namen des Datenbankbenutzers und das zugehörige Passwort speichert. Ist kein Login-Objekt angegeben und auch die Option Benutzer Standard-Login bevorzugen nicht gesetzt, so werden die Anmeldedaten für den Datenbank-Zugriff aus dem Verbindungs-Objekt bezogen. Werden dort ebenfalls keine Anmelde-Informationen gefunden, so kommt es zum Fehler bei der Variablen-Auflösung. |
|
Benutzer-Standard-Login bevorzugen |
Die Auswahl eines Login-Objekts für SQL-Variablen ist auch in Benutzerobjekten möglich. Ist die Einstellung Benutzer-Login bevorzugen gesetzt, wird das Login-Objekt verwendet, das dem angemeldeten Benutzers zugeordnet wurde. Das in der Variable eingestellte Login-Objekt wird in diesem Fall ignoriert. Wenn im Benutzer-Objekt kein oder ein ungültiges Login gesetzt ist, kommt es zu einem Fehler beim Variablenzugriff. |
|
SQL-Abfrage | ||
SQL Statement |
Textfeld für die Angabe von SQL-Anweisungen. Mit Hilfe dieser SQL-Anweisungen können Datensätze der Datenbank selektiert, die als Variablen-Werte zurückgeliefert werden. Beispiel: select * from col Beachten Sie, dass in dem Textfeld alle SQL-Anweisungen erlaubt sind und somit auch Datenbankeinträge geändert oder gelöscht werden können. Die SQL-Befehle werden von der AE nicht auf Fehler oder gefährliche Kommandos überprüft und wie angegeben an die Datenbank weitergegeben. Zu einem Fehler bei der Ausführung kommt es daher erst beim Datenbankzugriff, der zum Zeitpunkt der Auflösung von Variablen stattfindet. Beachten Sie, dass die Einstellung VAR_SECURITY_LEVEL (UC_SYSTEM_SETTINGS) für die Verwendung von vordefinierten Variablen bzw. anderen Variablen-Objekten in den SQL-Anweisungen entsprechend zu setzen ist. Ansonsten erfolgt keine Ersetzung (Standard) und es kommt zu einem Datenbank-Fehler. Maximale Länge: 4096 Zeichen |
|
Result Format |
Definition des Inhaltes der Result-Spalte. Die erste in der Vorschau angezeigte Spalte ist die Result-Spalte. Die anderen Spalten enthalten die einzelnen Werte der Datenbank-Spalten, die durch die SQL-Abfrage zurückgeliefert werden. Die Result-Spalte kann aus einer Kombination von Werte-Spalten und beliebigen anderen Zeichen bestehen, wobei dies mit dem Result-Format festzulegen ist. Spaltennummern, die in { }-Klammern im Feld Result Format angegeben sind, werden durch den Wert der jeweiligen Spalte ersetzt. Beispiel: Wird kein Result-Format angegeben, entspricht die Result-Spalte der ersten Wertespalte. Die Variablen-Beschränkungen (Min. Wert , Max. Wert, Textlimitierung) haben auf die Result-Spalte keinen Einfluss, sondern nur auf die erste zurückgelieferte Spalte. Überschreiten Werte dieser Spalte den erlaubten Bereich, so werden die jeweiligen Zeilen ausgegrenzt und sind nicht über das Variablen-Objekt verfügbar.
|
|
Vorschau |
Führt die SQL-Anweisungen aus und stellt das Ergebnis in einem neuen Fenster dar. Dadurch kann die Funktion der SQL-Anweisungen überprüft und andere Fehler (zum Beispiel: Datentyp des Variablenobjektes und der Datenbank passen nicht zusammen) erkannt werden. Der Datenbank-Agent sendet die Daten für die Vorschau in einer Nachricht zur Automation Engine. Übersteigt diese die maximale Nachrichten-Länge, die ein Serverprozess akzeptiert (siehe Parameter MaxMsgSize= in der INI-Datei der AutomationEngine, Standardwert: 3145 728 Bytes), so kommt es zu einem Fehler. Schränken Sie in diesem Fall das Ergebnis entweder durch die maximale Zeilenanzahl oder die SQL-Anweisungen ein. |
[Statisch][XML] [EXEC] [SQL] [SQL Secure] [SQL Intern] [SQL Intern Secure] [Multi] [Dateiliste] [Backend]
SQL SECURE ähnelt dem Variablen-Typ SQL und führt ebenfalls SQL-Anweisungen auf einer externen Datenbank durch. Im Gegensatz zu SQL bietet dieser jedoch die Möglichkeit, jederzeit alle unterstützten Variablen innerhalb von SQL-Anweisungen zu verwenden - ohne eine mögliche Gefährdung der Datenbank durch SQL-Injection. Die Variablen werden daher unabhängig von der Einstellung VAR_SECURITY_LEVEL (UC_SYSTEM_SETTINGS) ersetzt.
Die Variablen können nicht direkt im Feld SQL Statement angegeben werden, sondern sind über sogenannte Bind-Parameter einzubinden. Die Bind-Parameter sind in der entsprechenden Tabelle zu pflegen und können vordefinierte Variablen, Platzhalter für VARA-Objekte und PromptSet-Variablen enthalten. Im SQL-Script ist an der Stelle, an welcher die Bind-Parameter eingefügt werden sollen, das Zeichen "?" zu verwenden.
Aus technischen Gründen kann nicht geprüft werden, ob nur SELECT-Kommandos im SQL der Variable verwendet werden. Um die Ausführung anderer SQL-Befehle außer SELECT zu verhindern, ist ein Datenbank-Benutzer zu verwenden, der nur Leserechte besitzt.
Das besondere Verhalten der Variablenersetzung gilt nur für die SQL-Anweisungen! Um PromptSet-Variablen in den Felder Verbindung und Login verwenden zu können, ist die Einstellung VAR_SECURITY_LEVEL = 3 weiterhin erforderlich.
Auch für diesen Variablen-Typ ist ein Datenbank-Agent erforderlich, der im DB-Service Modus gestartet wurde. Dieser muss allerdings Version v9 SP3 oder höher aufweisen. Ältere Agenten unterstützen den Variablen-Typ SQL SECURE nicht! Die maximale Anzahl der zurückgelieferten Zeilen ist mit der Einstellung SQLVAR_MAX_ROWS in der Variablen UC_SYSTEM_SETTINGS festgelegt.
Feld/Steuerelement |
Beschreibung |
PromptSet-Variablen |
---|---|---|
Datenbankverbindung |
|
|
Verbindung |
Das Verbindungs-Objekt vom Typ Datenbank, das die Verbindungsparameter zur gewünschten Datenbank enthält. |
|
Login |
Login-Objekt, das den Namen des Datenbankbenutzers und das zugehörige Passwort speichert. Ist kein Login-Objekt angegeben und auch die Option Benutzer Standard-Login bevorzugen nicht gesetzt, so werden die Anmeldedaten für den Datenbank-Zugriff aus dem Verbindungs-Objekt bezogen. Werden dort ebenfalls keine Anmelde-Informationen gefunden, so kommt es zum Fehler bei der Variablen-Auflösung. |
|
Benutzer-Standard-Login bevorzugen |
Die Auswahl eines Login-Objekts für SQL-Variablen ist auch in Benutzerobjekten möglich. Ist die Einstellung Benutzer-Login bevorzugen gesetzt, wird das Login-Objekt verwendet, das dem angemeldeten Benutzers zugeordnet wurde. Das in der Variable eingestellte Login-Objekt wird in diesem Fall ignoriert. Wenn im Benutzer-Objekt kein oder ein ungültiges Login gesetzt ist, kommt es zu einem Fehler beim Variablenzugriff. |
|
SQL-Abfrage | ||
SQL Statement |
SQL-Anweisungen, um bestimmte Einträge der Datenbank zu selektieren, welche die Variablen-Werte darstellen. Variablen, die im SQL direkt angegeben werden, werden nicht ersetzt. Um Variablen einzubinden, verwenden Sie die Bind-Parameter. Maximale Länge: 4096 Zeichen |
|
Bind-Parameter |
Tabelle, für die Verwaltung der Bind-Parameter Die Bind-Parameter dienen dazu, Variablen-Werte innerhalb der SQL-Anweisungen einzufügen. Dabei können vordefinierte Variablen, PromptSet-Variablen und Platzhalter für VARA-Objekte verwendet werden, die in diese Tabelle einzutragen sind. Jede Zeile repräsentiert einen Bind-Parameter. Die Bind-Parameter dienen dazu, Variablen-Werte innerhalb der SQL-Anweisungen einzufügen. Dabei können Script-Variablen, Objektvariablen, vordefinierte Variablen und Platzhalter für VARA-Objekte verwendet werden, die Sie in diese Tabelle eintragen. Jede Zeile repräsentiert einen Bind-Parameter. Eine Einschränkung durch VAR_SECURITY_LEVEL (UC_SYSTEM_SETTINGS) ist dabei nicht gegeben. In den SQL-Anweisungen ist an jeder Stelle, an welcher der ersetzte Wert eines Bind-Parameters eingefügt werden soll, das Zeichen "?" anzugeben. Für jedes "?" muss ein Bind-Parameter existieren, wobei auf die Reihenfolge (Tabelle) zu achten ist. Die mehrfache Verwendung von Bind-Parametern ist nicht möglich! Existiert eine angegebene Variable nicht, so kann keine Wertersetzung durchgeführt werden und es wird der Variablenname übernommen. Dies kann zum Fehler bei der Variablenauflösung führen! Die Nummerierung der Parameter erfolgt automatisch und kann nicht geändert werden. Um einzelne Bind-Parameter zu entfernen, markieren Sie diese und drücken Sie die ENTF-Taste. Sie können neben Variablennamen für Bind-Parameter auch beliebige Werte angeben. Für Bind-Parameter werden folgende Feld-Datentypen und Eingabeformate unterstützt:
Andere Feld-Typen der Datenbank und andere Formate werden nicht unterstützt! Es erfolgt auch keine Umwandlung von Datentypen (z.B.: von Zeitstempel auf Datum). Wird ein ungültiger Wert eingefügt, kommt es zum Fehler beim Ausführen der SQL-Kommandos. |
|
Result Format |
Definition des Inhaltes der Result-Spalte. Die erste in der Vorschau angezeigte Spalte ist die Result-Spalte. Die anderen Spalten enthalten die einzelnen Werte der Datenbank-Spalten, die durch die SQL-Abfrage zurückgeliefert werden. Die Result-Spalte kann aus einer Kombination von Werte-Spalten und beliebigen anderen Zeichen bestehen, wobei dies mit dem Result-Format festzulegen ist. Spaltennummern, die in { }-Klammern im Feld Result Format angegeben sind, werden durch den Wert der jeweiligen Spalte ersetzt. Beispiel: Wird kein Result-Format angegeben, entspricht die Result-Spalte der ersten Wertespalte. Die Variablen-Beschränkungen (Min. Wert , Max. Wert, Textlimitierung) haben auf die Result-Spalte keinen Einfluss, sondern nur auf die erste zurückgelieferte Spalte. Überschreiten Werte dieser Spalte den erlaubten Bereich, so werden die jeweiligen Zeilen ausgegrenzt und sind nicht über das Variablen-Objekt verfügbar. |
|
Vorschau |
Führt die SQL-Anweisungen aus und stellt das Ergebnis in einem neuen Fenster dar. Dadurch kann die Funktion der SQL-Anweisungen überprüft und andere Fehler (zum Beispiel: Datentyp des Variablenobjektes und der Datenbank passen nicht zusammen) erkannt werden. Der Datenbank-Agent sendet die Daten für die Vorschau in einer Nachricht zur Automation Engine. Übersteigt diese die maximale Nachrichten-Länge, die ein Serverprozess akzeptiert (siehe Parameter MaxMsgSize= in der INI-Datei der AutomationEngine, Standardwert: 3145 728 Bytes), so kommt es zu einem Fehler. Schränken Sie in diesem Fall das Ergebnis entweder durch die maximale Zeilenanzahl oder die SQL-Anweisungen ein. |
[Statisch][XML] [EXEC] [SQL] [SQL Secure [SQL Intern] [SQL Intern Secure] [Multi] [Dateiliste] [Backend]
Besitzt eine Variable als Quelle "SQL - intern", werden Werte mittels SQL-Anweisungen aus der Datenbank geholt. Die Angabe einer Verbindung und eines Logins ist dabei nicht notwendig, da der Datenbankzugriff intern erfolgt.
Diese Funktionalität ist vom Administrator über die Einstellung SQLVAR_INTERNAL in den UC_SYSTEM_SETTINGS zu aktivieren. Zusätzlich ist das Benutzer-Privileg "SQL-Internal Variablen anlegen und ändern" erforderlich.
Für die Länge der Werte gibt es keine Beschränkung. Ist in der Registerkarte "Attribute" ein maximales Textlimit gesetzt, so betrifft dies nur die erste Wertespalte. Einträge, welche dieses Limit überschreiten, werden ausgegrenzt.
Die maximale Anzahl der zurückgelieferten Zeilen ist mit der Einstellung SQLVAR_MAX_ROWS in der Variablen UC_SYSTEM_SETTINGS festgelegt.
Kommt es beim Ausführen von SQL-Befehlen auf MS SQL Server-Datenbanken zu einem Conversion-Error, kann dies zu einem Deadlock oder einer inkonsistenten Transaktion (mit einem unvorhersehbaren Ergebnis) kommen. Da die Automation Engine aus technischen Gründen einen solchen Fehler nicht abfangen kann, sind die Befehle von SQLI-Variablen vom Benutzer daher mit großer Sorgfalt zu überprüfen.
Feld/Steuerelement |
Beschreibung |
PromptSet-Variablen |
---|---|---|
SQL | ||
SQL Abfrage |
Textfeld für die Angabe von SQL-Anweisungen. Mit Hilfe dieser SQL-Anweisungen werden die Datensätze der Datenbank bestimmt, die als Variablenwerte dienen. Beispiel: select * from OH Um SQL-Kommandos ausführen zu können, muss der verwendete Typ der Datenbank ausgewählt werden: MS SQL, Oracle oder DB2. Die SQL-Anweisungen bleiben für jeden Datenbank-Typ gespeichert. Beachten Sie, dass die SQL-Anweisungen nicht überprüft werden und daher auch Datenbankeinträge geändert oder gelöscht werden können. Die SQL-Befehle werden von der AE nicht auf Fehler oder gefährliche Kommandos überprüft und wie angegeben an die Datenbank weitergegeben. Zu einem Fehler bei der Ausführung kommt es daher erst beim Datenbankzugriff, der zum Zeitpunkt der Auflösung von Variablen stattfindet. Beachten Sie, dass für die Verwendung von vordefinierten Variablen bzw. anderen Variablen-Objekten in den SQL-Anweisungen die Einstellung VAR_SECURITY_LEVEL (UC_SYSTEM_SETTINGS) entsprechend zu setzen ist. Ansonsten erfolgt keine Ersetzung (Standard) und es kommt zu einem Datenbank-Fehler. Maximale Länge: 4096 Zeichen |
|
Result Format |
Definition des Inhaltes der Result-Spalte. Die erste in der Vorschau angezeigte Spalte ist die "Result-Spalte". Die anderen Spalten enthalten die einzelnen Werte der Datenbank-Spalten, die durch die SQL-Abfrage zurückgeliefert werden. Die Result-Spalte kann aus einer Kombination von Werte-Spalten und beliebigen anderen Zeichen bestehen, wobei dies mit dem Result-Format festzulegen ist. Spaltennummern, die in { }-Klammern im Feld Result Format angegeben sind, werden durch den Wert der jeweiligen Spalte ersetzt. Beispiel: Wird kein Result-Format angegeben, entspricht die Result-Spalte der ersten Wertespalte. Die Variablen-Beschränkungen (Min. Wert , Max. Wert, Textlimitierung) haben auf die Result-Spalte keinen Einfluss, sondern nur auf die erste zurückgelieferte Spalte. Überschreiten Werte dieser Spalte den erlaubten Bereich, so werden die jeweiligen Zeilen ausgegrenzt und sind nicht über das Variablen-Objekt verfügbar.
|
|
Vorschau |
Führt die SQL-Anweisungen aus und stellt das Ergebnis in einem neuen Fenster dar. Dadurch kann die Funktion der SQL-Anweisungen überprüft und andere Fehler (zum Beispiel: Datentyp des Variablenobjektes und der Datenbank stimmen nicht überein) erkannt werden. |
[Statisch][XML] [EXEC] [SQL] [SQL Secure] [SQL Intern] [SQL Intern Secure] [Multi] [Dateiliste] [Backend]
Dieser Variablen-Typ besitzt die selbe Funktion wie "SQL - intern", mit dem Unterschied, dass Variablen in den SQL-Anweisungen immer eingefügt werden können (unabhängig von der Einstellung VAR_SECURITY_LEVEL - UC_SYSTEM_SETTINGS). Um Variablen in das SQL einzubinden, sind sogenannte Bind-Parameter zu verwenden. Dabei ist es nicht möglich, SQL-Anweisungen zusammenzusetzen, wodurch eine Gefährdung der Datenbank durch SQL-Injection ausgeschlossen wird.
Wie bei "SQLI intern" werden die Variablen-Werte direkt aus der Datenbank ermittelt. Ein Datenbank-Agent ist somit nicht erforderlich.
SQLI SECURE Variablen sind ebenfalls an die Einstellung SQLVAR_INTERNAL (Variable UC_SYSTEM_SETTINGS) und das Privileg "SQL-Internal Variablen anlegen und ändern" gebunden.
Aus technischen Gründen kann nicht geprüft werden, ob nur SELECT-Kommandos im SQL der Variable verwendet werden.
Die maximale Anzahl der zurückgelieferten Zeilen ist mit der Einstellung SQLVAR_MAX_ROWS in der Variablen UC_SYSTEM_SETTINGS festgelegt.
Feld/Steuerelement |
Beschreibung |
PromptSet-Variablen |
---|---|---|
SQL | ||
SQL Abfrage |
SQL-Anweisungen zur Selektion von Einträgen der Datenbank, welche als Variablen-Werte zurückgeliefert werden sollen. Variablen, die im SQL direkt angegeben werden, werden nicht ersetzt. Um Variablen einzubinden, verwenden Sie die Bind-Parameter. Maximale Länge: 4096 Zeichen |
|
Bind-Parameter |
Tabelle, für die Verwaltung der Bind-Parameter Die Bind-Parameter dienen dazu, Variablen-Werte innerhalb der SQL-Anweisungen einzufügen. Dabei können Script-Variablen, Objektvariablen, vordefinierte Variablen und Platzhalter für VARA-Objekte verwendet werden, die Sie in diese Tabelle eintragen. Jede Zeile repräsentiert einen Bind-Parameter. Eine Einschränkung durch VAR_SECURITY_LEVEL (UC_SYSTEM_SETTINGS) ist dabei nicht gegeben. In den SQL-Anweisungen ist an jeder Stelle, an welcher der ersetzte Wert eines Bind-Parameters eingefügt werden soll, das Zeichen "?" anzugeben. Für jedes "?" muss ein Bind-Parameter existieren, wobei auf die Reihenfolge (Tabelle) zu achten ist. Die mehrfache Verwendung von Bind-Parametern ist nicht möglich! Existiert eine angegebene Variable nicht, so kann keine Wertersetzung durchgeführt werden und es wird der Variablenname übernommen. Dies kann zum Fehler bei der Variablenauflösung führen! Die Nummerierung der Parameter erfolgt automatisch und kann nicht geändert werden. Um einzelne Bind-Parameter zu entfernen, markieren Sie diese und drücken Sie die ENTF-Taste. Sie können neben Variablennamen für Bind-Parameter auch beliebige Werte angeben. Für Bind-Parameter werden folgende Feld-Datentypen und Eingabeformate unterstützt:
Andere Feld-Typen der Datenbank und andere Formate werden nicht unterstützt! Es erfolgt auch keine Umwandlung von Datentypen (z.B.: von Zeitstempel auf Datum). Wird ein ungültiger Wert eingefügt, kommt es zum Fehler beim Ausführen der SQL-Kommandos. |
|
Result Format |
Definition des Inhaltes der Result-Spalte. Die erste in der Vorschau angezeigte Spalte ist die "Result-Spalte". Die anderen Spalten enthalten die einzelnen Werte der Datenbank-Spalten, die durch die SQL-Abfrage zurückgeliefert werden. Die Result-Spalte kann aus einer Kombination von Werte-Spalten und beliebigen anderen Zeichen bestehen, wobei dies mit dem Result-Format festzulegen ist. Spaltennummern, die in { }-Klammern im Feld Result Format angegeben sind, werden durch den Wert der jeweiligen Spalte ersetzt. Beispiel: Wird kein Result-Format angegeben, entspricht die Result-Spalte der ersten Wertespalte. Die Variablen-Beschränkungen (Min. Wert , Max. Wert, Textlimitierung) haben auf die Result-Spalte keinen Einfluss, sondern nur auf die erste zurückgelieferte Spalte. Überschreiten Werte dieser Spalte den erlaubten Bereich, so werden die jeweiligen Zeilen ausgegrenzt und sind nicht über das Variablen-Objekt verfügbar. |
|
Vorschau |
Führt die SQL-Anweisungen aus und stellt das Ergebnis in einem neuen Fenster dar. Dadurch kann die Funktion der SQL-Anweisungen überprüft und andere Fehler (zum Beispiel: Datentyp des Variablenobjektes und der Datenbank stimmen nicht überein) erkannt werden. |
[Statisch][XML] [EXEC] [SQL] [SQL Secure] [SQL Intern] [SQL Intern Secure] [Multi] [Dateiliste] [Backend]
Variablen, die als Quelle die Einstellung "Multi" besitzen, erhalten eine Kombination der Werte von zwei anderen Variablen-Objekten. In der Registerkarte Variable sind die Quell-Variablen und die Art der Werteberechnung anzugeben.
Feld/Steuerelement |
Beschreibung |
---|---|
Variable 1 Variable 2 |
Angabe der beiden Variablen-Objekte, die als Wertequelle dienen. Variable 1 gibt dabei die Anzahl der Spalten vor. Abhängig von der festgelegten Operation werden die Werte der Bezugsspalten beider Variablen kombiniert. Die Bezugsspalte ist abhäng von der Variablen-Quelle: Key-Spalte (bei statischen Variablen), erste Wertespalte (Variablen-Quelle: SQL, SQL-intern, Multi) oder die Spalte Dateiliste (Variablen-Quelle: Dateiliste). Spalten die in Variable 2 nicht enthalten sind, besitzen für die entsprechenden Einträge keinen Wert. Enthalten die zwei Variablen-Objekte gleichnamige Einträge, werden die Werte der Variable 1 verwendet. Beachten Sie, dass der Datentyp der Bezugsspalte der Quell-Variablen mit dem Datentyp der Multi-Variable entsprechen sollten. Ansonsten kommt es entweder zum Fehler oder die Werte sind nicht verfügbar. |
Vorschau | Ermittelt die Variablenwerte, führt die angegebene Operation durch und stellt das Ergebnis in einem neuen Fenster dar. |
Result Format |
Definition des Inhaltes der Result-Spalte. Die erste in der Vorschau angezeigte Spalte ist die "Result-Spalte". Die Result-Spalte kann sich aus einer Kombination von Werte-Spalten und beliebiger Zeichen zusammensetzen, wobei dies mit dem Rückgabe Format festzulegen ist. Spaltennummern, die in { }-Klammern im Feld Result Format angegeben sind, werden durch den Wert der jeweiligen Spalte ersetzt. Beispiel: Wurde kein Result Format festgelegt, wird der Wert der Variable in der Spalte Result oder Key angenommen. Die Werte der Result-Spalte müssen ebenfalls innerhalb der Variablen-Beschränkungen (Min. Wert , Max. Wert, Textlimitierung) liegen bzw. dem Ausgabeformat oder Datentyp entsprechen. Ansonsten enthält die Result-Spalte keinen Wert. |
Operation | |
Vereinigungsmenge | Ermittlung aller Werte von Variable 1 und 2. Bei identischen Einträgen der Variablen, werden die Werte von Variable 1 verwendet. |
Schnittmenge | Ermittlung der Werte, die sowohl in Variable 1 als auch in Variable 2 vorkommen. Dabei werden die Werte-Spalten bei gleichen Result-/Key-Einträgen von Variable 1 übernommen. |
Differenz | Alle Werte der Variable 1 die nicht in der Variable 2 enthalten sind. Für den Vergleich werden die Result/Key-Spalten der Variablen verwendet. |
[Statisch][XML] [EXEC] [SQL][SQL Secure] [SQL Intern] [SQL Intern Secure] [Multi] [Dateiliste] [Backend]
Wird als Quelle Dateiliste gewählt, erhält das Variablen-Objekt als Werte die Dateinamen eines bestimmten Verzeichnisses. Dafür ist die Angabe eines Betriebssystem-Agenten notwendig. Auf Windows-Agenten sind die Dateinamen in absteigender Reihenfolge sortiert. Auf UNIX-Agenten sind die Dateinamen unsortiert.
Variablen mit "Dateiliste" als Quelle besitzen im Gegensatz zu "SQL", "SQL -intern" und "Multi" immer nur eine Spalte. Beachten Sie dies auch im Umgang mit dem Scriptsprachmittel GET_PROCESS_LINE. Result-Spalte gibt es keine.
Feld/Steuerelement |
Beschreibung |
PromptSet-Variablen |
---|---|---|
Verzeichnis |
Verzeichnis, dessen Dateinamen als Werteliste beim Zugriff auf das Variablen-Objekt zurückgeliefert werden soll. Das Verzeichnis muss sich auf dem angegebenen Host befinden. Beispiel für einen Windows-Rechner: Dabei ist es auch möglich, nur Dateien mit bestimmtem Namen oder Endung zu erhalten. Die Filterung ist durch die Verwendung von Wildcards möglich: * steht für mehrere Zeichen, ? genau für ein Zeichen. Beispiel: |
|
Vorschau | Mit der Vorschau können die Einstellungen auf Fehler überprüft werden (Verzeichnis existiert nicht , Host ist nicht verfügbar, kein Leserecht auf den Pfad). Die Dateiliste wird in einem neuen Fenster angezeigt, wenn keine Probleme vorliegen. | |
Quell-Host (Dateiliste) | ||
Host |
Betriebssystem-Agent über den der Zugriff auf das angegebene Verzeichnis erfolgt. Die Auswahl einer AgentenGruppe ist nicht möglich. Wird die Variable in einem Objekt verwendet, das keinen Agent und Login zugeordnet hat, kommt es zu einem Laufzeitfehler. FileTransfer-Objekt als Quelle: Wenn Sie in der Variable keinen Host auswählen, wird automatisch der Host des Ziels des FileTransfer-Objektes verwendet. |
|
Host des Tasks bevorzugen |
Agent jener Aufgabe verwenden, die auf das Variablen-Objekt zugreift. |
|
Login | Login-Objekt für die Anmeldung am Host. Erfolgt keine Angabe, wird automatisch das Login-Objekt der Aufgabe übernommen, über die der Variablen-Zugriff erfolgt. | |
Login des Tasks bevorzugen | Login-Objekt der Aufgabe übernehmen, welche die Variable verwendet. |
[Statisch] [XML][EXEC] [SQL][SQL Secure] [SQL Intern] [SQL Intern Secure] [Multi] [Dateiliste] [Backend]
Variablen vom Typ "Backend" führen ein Kommando / einen Befehl auf einem Betriebssystem aus und liefern das in Spalten aufgeteilte Ergebnis als Werte zurück. Wie die Spalten-Aufteilung erfolgen soll, ist dabei im Variablen-Objekt zu definieren. Dabei ist es möglich mehrere Kommandos für unterschiedliche Betriebssysteme, Systemnamen und Versionen in eine Variable einzutragen. Beim Auflösen der Variable wird automatisch das richtige Kommando für den Agenten ausgewählt und ausgeführt.
Für den Zugriff auf den Quell-Rechner ist wie beim Variablentyp "Dateiliste" ein Agent und ein Login-Objekt auszuwählen.
Unterstützt werden die Betriebssysteme UNIX und Windows. Das Betriebssystem ist über die Registerkarten unterhalb der Kommando-Tabelle auszuwählen.
Voraussetzung für die Erstellung und Änderung von VARA-Objekten vom Typ BACKEND, ist das Privileg "Backend-Variablen anlegen und ändern".
Kommt es bei einem Windows-Kommando zu einem Fehler, so wird der Returncode automatisch auf 1 gesetzt. Wird das VARA-Objekt beispielsweise innerhalb eines Scripts verwendet, so würde dies zum Abbruch des Scripts führen. Um dies zu verhindern, ist am Ende des Kommandos noch der Zusatz " & set ERRORLEVEL=0" anzuhängen.
Beispiel: cmd /c dir /b /o:d C:\temp\*.xml & set ERRORLEVEL=0'
Das Kommando listet Dateien eines Verzeichnisses auf. Der Returncode ist allerdings immer 0, unabhängig davon ob Dateien gefunden wurden oder nicht. Dadurch wird ein Abbruch der Aufgaben verhindert, welche diese Variable verwenden.
Beachten Sie im Umgang mit Backend-Variablen auch die Einstellungen VAR_TIMEOUT (UC_HOSTCHAR_DEFAULT) und BACKENDVAR_MAX_ROWS (UC_SYSTEM_SETTINGS).
Feld/Steuerelement |
Beschreibung |
PromptSet-Variablen |
---|---|---|
Host | ||
Host |
Agent, auf dessen Rechner das Kommando ausgeführt werden soll |
|
Host des Tasks bevorzugen |
Agent der Aufgabe verwenden, die auf das Variablen-Objekt zugreift. Ist diese Option gesetzt, wird der Agent der Aufgabe bevorzugt. Besitzt die Aufgabe keinen Agenten (z.B.: bei Script-Objekten), so wird der Agent der Variable verwendet (siehe "Host"). Ist an beiden Stellen kein Agent gesetzt, so kommt es zu einem Fehler bei der Variablen-Auflösung. |
|
Login | Login-Objekt für die Anmeldung auf den Agenten-Rechner | |
Login des Tasks bevorzugen |
Login der Aufgabe verwenden, welche die Variable verwendet Ist diese Option gesetzt, wird das Login-Objekt der Aufgabe bevorzugt. Besitzt die Aufgabe kein Login (z.B.: bei Script-Objekten), so wird jenes der Variable verwendet (siehe "Login"). Ist an beiden Stellen kein Login-Objekt gesetzt, so kommt es zu einem Fehler bei der Variablen-Auflösung. |
|
Kommando |
Tabelle für die Definition der Kommandos pro Betriebssystem Bei Windows handelt es sich dabei nicht um Batch-Zeilen. Das bedeutet, dass das jeweilige, auszuführende Programm zu Beginn anzugeben ist. Beispiele: Es ist möglich Kommandos für mehrere Betriebssysteme in einer Variable zu speichern. Beim Auflösen der Variable werden automatisch die Befehle des Betriebssystems des effektiven Agenten verwendet! Über die Spalten OS-Name und Version ist es möglich auf den Namen (z.B.: ein bestimmtes UNIX-Derivat) und Version des Betriebssystems zu filtern. Auch hier wird beim Ausführen der Variable automatisch die passenden Zeilen für den eingetragenen Agenten verwendet. Es wird dabei der erste Eintrag verwendet, der auf Betriebssystem, OS-Namen und Version des Agenten zutrifft! Beachten Sie, dass eine Variable vom Typ "Backend" immer nur genau ein Kommando ausführen kann! FÜR UNIX: Der Benutzer im Login-Objekt muss die erforderlichen Berechtigungen zur Ausführung des Befehls besitzen. Unter Linux sind für die Kommandos "chkconfig" und "runlevel" beispielsweise root-Rechte erforderlich! |
|
OS-Name |
Filter auf den Namen des Betriebssystems Es ist auch möglich das Wildcardzeichen * zu verwenden. Dabei handelt es sich um einen Platzhalter für eine beliebige viele Zeichen. Der OS-Name bezieht sich auf den Betriebssystem-Namen des Agenten, der in der Spalte "SW" in der Systemübersicht bei "Agenten" zu finden ist. |
|
Version |
Filter auf die Betriebssystem-Version "Version" bezieht sich auf die Betriebssystem-Version des Agenten, die in der Spalte "SW-Version" in der Systemübersicht bei "Agenten" zu finden ist. |
|
Kommando |
OS-Befehl bzw. Kommando Bei Windows werden nur Powershell-Kommandos unterstützt |
|
Spalten |
Definition, wie die Spaltenaufteilung des Ergebnisses erfolgen soll Syntax:
Spaltenname: Name der Spalte, frei wählbar Das Semikolon (;) ist nur zwischen mehreren Spalten-Angaben zu verwenden! Am Ende der gesamten Definition ist kein Semikolon erforderlich.
Es ist zumindest eine Werte-Spalte zu definieren! Beispiel: Unterteilung der Kommando-Ausgabe in zwei Spalten: |
|
Result Format |
Definition des Inhaltes der Result-Spalte. Die erste in der Vorschau angezeigte Spalte ist die "Result-Spalte". Die Result-Spalte kann sich aus einer Kombination von Werte-Spalten und beliebiger Zeichen zusammensetzen, wobei dies mit dem Rückgabe Format festzulegen ist. Spaltennummern, die in { }-Klammern im Feld Result Format angegeben sind, werden durch den Wert der jeweiligen Spalte ersetzt. Beispiel: Wird kein Result-Format angegeben, entspricht die Result-Spalte der ersten Wertespalte. Die Werte der Result-Spalte müssen ebenfalls innerhalb der Variablen-Beschränkungen (Min. Wert , Max. Wert, Textlimitierung) liegen bzw. dem Ausgabeformat oder Datentyp entsprechen. Ansonsten enthält die Result-Spalte keinen Wert. |
|
Vorschau | Führt das entsprechende Kommando am definierten Rechner aus und zeigt das Ergebnis in einem eigenen Fenster an. |
Es werden folgende vorgefertigten Variablen-Objekte mit dem Typ BACKEND im Mandant 0 (Ordner: UC _RB_VARIABLES) ausgeliefert:
Objektname | Betriebssystem | Funktion | Spalten |
---|---|---|---|
UC_RB_VARA_PROCESSLIST | Windows, Linux, AIX, SunOS, HP-UX |
Listet die aktiven Prozesse auf. Die maximale Länge der Prozess-ID kann abhängig vom jeweiligen UNIX-System unterschiedlich sein. Passen Sie gegebenenfalls die Spaltenlänge im Variablen-Objekt an. |
ProcessID Scriptname |
UC_RB_VARA_SERVICES_PAUSED | Windows, Linux, AIX, SunOS, HP-UX | Listet alle pausierten Dienste auf. | Dienst-Name |
UC_RB_VARA_SERVICES_RUNNING | Windows, Linux, AIX, SunOS, HP-UX | Listet alle gestarteten Dienste auf. | Dienst-Name |
UC_RB_VARA_SERVICES_STOPPED | Windows, Linux, AIX, SunOS, HP-UX | Listet alle gestoppten Dienste auf. | Dienst-Name |
UC_RB_VARA_USERLIST | Windows, Linux, AIX, SunOS, HP-UX |
Listet alle Benutzer des Betriebssystems auf Windows: Für Windows gilt dazu die Voraussetzung, dass Active Directory für PowerShell auf dem jeweiligen Rechner installiert ist! |
Benutzer(Konto)-Name |
Diese Variablen-Objekte sind für die Verwendung von dynamischen PromptSet-Elementen gedacht und haben als Agent den Variablennamen &AGENT# und als Login &LOGIN# gesetzt. Achten Sie darauf, diese Namen für die PromptSet-Variablen der gewünschten Elemente zu verwenden!
Sie können die vorgefertigten Variablen-Objekte direkt als Referenzvariable in PromptSet-Objekten auswählen, ohne diese vorher in Ihrem Mandanten anzulegen!
Die Variablen-Objekte besitzen die Optionen "Host des Tasks bevorzugen" / "Login des Tasks bevorzugen" und verwenden somit den Agenten / das Login der Aufgabe (wenn vorhanden), der das PromptSet-Objekt zugeordnet ist.
In der Tabelle oben sehen Sie die Betriebssysteme für die Kommandos in der Variable eingetragen sind. Je nach Agent und dessen Betriebssystem wird das richtige Kommando ausgeführt.
Siehe auch:
Automic Documentation - Tutorials - Automic Blog - Resources - Training & Services - Automic YouTube Channel - Download Center - Support |
Copyright © 2016 Automic Software GmbH |