SQL-Variablen

SQL-Variablenobjekte rufen Werte von externen Datenbanken ab.

Die Werte von Variablen mit der Quelle SQL werden mit Hilfe von SQL-Statements aus einer externen DatenbankEine Datenbank ist eine organisierte Sammlung von Daten und wichtigen Datenstrukturen. geladen. In diesem Fall kann die Datenbank des AE-Systems nicht verwendet werden.
Die Variablenquelle „SQL - internal“ kann für die Verwendung mit der AE-Datenbank angegeben werden.

Um die Werte aus einer Datenbank beziehen zu können, wird folgendes benötigt:

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! Zusätzliche Informationen finden Sie unter Installing the Agent for Database Variables.

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 im Tab „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 EngineDiese Komponente steuert ein Automation Engine-System. Besteht aus verschiedenen Serverprozessen. schneidet Leerzeichen am Ende von SQL-Variablenwerten ab.

Bei der Verwendung von Datenbankvariablen (Typ SEC_SQLI, SEC_SQL, SQLI, und SQL) werden Binärfelder nicht unterstützt. Liefert die SQL-Abfrage Binärdaten zurück, so kommt es zum Fehler bei der Vorschau oder der Ermittlung der Werte zur LaufzeitDurchführungsdauer einer Aufgabe. Das ist der Zeitraum zwischen Start und Ende. Der Aktivierungszeitraum wird nicht dazugerechnet (siehe auch Aktivierung und Start).!

Beachten Sie, dass das System bei Datenbank-Variablen (Typ SEC_SQLI, SEC_SQL, SQLI, und SQL) aus technischen Gründen nicht prüft, welche SQL-Statements verarbeitet werden. Es ist also theoretisch auch möglich, Records über Variablenobjekte zu verändern oder zu löschen. Aus Sicherheitsgründen wird daher empfohlen, den BenutzerIn einem Automation Engine-System bezieht sich ein Benutzer auf eine Instanz eines Benutzer-Objektes, aber ganz allgemein ist ein Benutzer auch die Person, die mit Automic-Produkten arbeitet. Jedes Benutzer-Objekt hat eine Benutzerkennung und bestimmte Zugriffsrechte auf unterschiedliche Bereiche eines Automation Engine-Systems und der zugehörigen Produktpalette. In der Automation Engine werden die Zugriffsrechte über Rechte und Privilegien, in Decision über Benutzerrollen und EventBase-Rechte und in der ARA-Webanwendung über Objektberechtigungen geregelt. Zentral können diese Zugriffsrechte in den Funktionen der AWI-Benutzerverwaltung geregelt werden. Weitere Informationen sind im Kapitel Unified User Management vorhanden.-Zugriff entsprechend einzuschränken. Bei Variablen, die auf eine externe Datenbank zugreifen (SQL, SQL SECURE), sollte ein Datenbankbenutzer verwendet werden, der nur Leserechte besitzt. Bei internen SQL-Variablen (SQLI, SQLI SECURE), kann der Zugriff auf das Objekt durch ein Recht (SQL-interne Variablen anlegen und ändern) eingeschränkt werden.

Abhängig vom Datentyp liefern Datenbank-Variablen (Typ SEC_SQLI, SEC_SQL, SQLI, und SQL) den Wert "" (Zeichenfolge, Datum, Zeit, Zeitstempel) oder 0 (Zahl) für NULL-Werte zurück.

PromptSet-Variablen werden in ausgewählten Feldern für Variablen des Typs BACKEND, EXEC, DATEILISTE, SEC_SQLI, SEC_SQL, SQLI, SQL, und XML unterstützt. Die Verwendung von PromptSet-Variablen ist zur Erstellung von PromptSet-Dialoge dynamisch neu laden notwendig.

Feld

Beschreibung

Typ Dieses schreibgeschützte Feld zeigt „SQL“ als Variablentyp. Sie legen den Variablentyp fest, wenn Sie das Objekt erstellen. Dies kann nicht mehr geändert werden, wenn die VariableSpeichert oder ermittelt Werte dynamisch zur Laufzeit. Auch ein eigener Objekttyp in der Automation Engine. einmal definiert ist.

Verbindung

Das Verbindungs-objekt vom Typ Datenbank, das die Verbindungsparameter zur gewünschten Datenbank enthält.

Wenn Sie die Funktion für Combobox-Prompts verwenden, können Sie hier PromptSet-Variablen hinzufügen. Wenn PromptSet-Variablen in dynamischen Variablenobjekten verwendet werden und Sie auf Vorschau klicken, wird Ihnen ein Fehler angezeigt. Der Grund hierfür ist, dass PromptSet-Variablen im dynamischen Variablenobjekt nicht existieren. Die PromptSet-Variablen werden jedoch aufgelöst, wenn Objekte, die PromptSet beinhalten, ausgeführt werden.

Login

Login-Objekt, das den Namen des Datenbankbenutzers und das zugehörige Passwort speichert.

Ist kein Login-Objekt angegeben und auch die Option Standard-Login nicht gesetzt, so werden die Anmeldedaten für den Datenbank-Zugriff aus dem Verbindungsobjekt bezogen. Werden dort ebenfalls keine Anmeldeinformationen gefunden, so kommt es bei der Variablen-Auflösung zu einem Fehler.

Wenn Sie die Funktion für Combobox-Prompts verwenden, können Sie hier PromptSet-Variablen hinzufügen. Wenn PromptSet-Variablen in dynamischen Variablenobjekten verwendet werden und Sie auf Vorschau klicken, wird Ihnen ein Fehler angezeigt. Der Grund hierfür ist, dass PromptSet-Variablen im dynamischen Variablenobjekt nicht existieren. Die PromptSet-Variablen werden jedoch aufgelöst, wenn Objekte, die PromptSet beinhalten, ausgeführt werden.

Standard-Login

Die Auswahl eines Login-Objekts für SQL-Variablen ist auch im Benutzer möglich (Standard-Login). Ist die Einstellung Benutzer-Login bevorzugen gesetzt, wird das Login-Objekt verwendet, das dem angemeldeten Benutzer zugeordnet wurde. Das in der Variable eingestellte Login-Objekt wird in diesem Fall ignoriert. Wenn im Benutzerobjekt kein oder ein ungültiges Login gesetzt ist, kommt es zu einem Fehler beim Variablenzugriff.

SQL-Statement

Textfeld für die Angabe von SQL-Statements. Mithilfe dieser SQL-Statements können Records der Datenbank selektiert werden, die als Variablen-Werte zurückgeliefert werden.

Beispiel: select * from col

Beachten Sie, dass in dem Textfeld alle SQL-Statements erlaubt sind. Daher können auch Datenbankeinträge geändert oder gelöscht werden.

Die SQL-Kommandos 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 in der Variable UC_SYSTEM_SETTINGS für die Verwendung von Vordefinierte Variablen bzw. anderen Variablenobjekten in den SQL-Statements entsprechend zu setzen ist. Ansonsten erfolgt keine Ersetzung (Standard) und es kommt zu einem Datenbank-Fehler.

Wenn Sie die Funktion für Combobox-Prompts verwenden, können Sie hier PromptSet-Variablen hinzufügen. Wenn PromptSet-Variablen in dynamischen Variablenobjekten verwendet werden und Sie auf Vorschau klicken, wird Ihnen ein Fehler angezeigt. Der Grund hierfür ist, dass PromptSet-Variablen im dynamischen Variablenobjekt nicht existieren. Die PromptSet-Variablen werden jedoch aufgelöst, wenn Objekte, die PromptSet beinhalten, ausgeführt werden.

Maximale Länge: 4096 Zeichen

Daten- und Formatierungseinstellungen festlegen

Spalte

Beschreibung

Datentyp

Der Datentyp bestimmt die Form des Wertes der Variable.

  • Text: Alphanumerische Zeichenkette. Leerzeichen am Ende werden entfernt, führende Leerzeichen bleiben erhalten. Ist die Einstellung Textlänge limitieren nicht gesetzt, so gibt es kein Limit für die Länge der Zeichenkette.

    Sie können die Zeichenkette weiter bearbeiten:

    • Wählen Sie Textlänge limitieren aus, um das Eingabefeld Max. Textlänge aufzurufen, wo Sie die Textlänge begrenzen können.
      Mögliche Werte: 1 bis 1024
    • Wählen Sie Großschreibung erzwingen, um den Text der Variablen in Großbuchstaben umzuwandeln.
  • Nummer: Ganzzahl mit Vorzeichen, z. B. eine Zahl zwischen 0 und 2147483647.

    Sie können die Zeichenkette weiter bearbeiten:

    • Wählen Sie aus der Ausgabeformat-Dropdown-Liste, wie die Nummer angezeigt werden soll.
    • Wählen Sie Minimum festlegen, um das Eingabefeld Min. Wert aufzurufen.
      Mögliche Werte: Maximal 16 Stellen vor und 16 Stellen nach dem Dezimalpunkt.
    • Wählen Sie Maximum festlegen, um das Eingabefeld Max. Wert aufzurufen.
  • Uhrzeit: Das Standard-Zeitformat ist hh:mm:ss. Sie können:
    • Ein anderes Format aus der Dropdown-Liste auswählen.
    • Einen minimalen und maximalen Wert definieren.
  • Datum: Das Standard-Datumsformat ist yyyy-mm-dd. Sie können:
    • Ein anderes Format aus der Dropdown-Liste auswählen.
    • Einen minimalen und maximalen Wert definieren. Beachten Sie, dass Sie kein Datum vor dem 01.01.1980 als Minimalwert definieren können.
  • Zeitstempel: Das Standardformat für Zeitstempel ist yyyy-mm-dd hh:mm:ss. Sie können:
    • Ein anderes Format aus der Dropdown-Liste auswählen.
    • Einen minimalen und maximalen Wert definieren. Beachten Sie, dass Sie kein Datum vor dem 01.01.1980 als Minimalwert definieren können.

Das genaue Format des gewählten Datentyps (Ausnahme: „String“) kann im Feld Ausgabeformat festgelegt werden.

Es wird der Datentyp der Werte in der ersten Spalte überprüft. Bei der Quelle „SQL“ und „SQL intern“ muss der Datentyp der Variable mit dem der ersten Spalte, die durch das SQL-Statement zurückgeliefert wird, übereinstimmen. Die Daten können auch durch spezielle SQL-Statements aufbereitet werden. Unterscheidet sich der Datentyp, so kommt es zu einem Fehler beim Speichern von statischen Variablen bzw. beim Zugriff auf dynamische Variablen.

Für die Änderung des Datentyps von statischen Variablenobjekten, die bereits Werte enthalten, sind folgende Punkte zu beachten:

  • Die Änderung von „Zahl“, „Zeitstempel“, „Zeit“ oder „Datum“ auf „Text“ ist problemlos möglich. Die Werte werden unverändert konvertiert.
  • Nach der Änderung von „Text“ auf „Zahl“, „Zeitstempel“, „Zeit“ oder „Datum“ ist das Ausgabeformat auszuwählen. Beim Speichern des Variablenobjektes wird überprüft, ob die Werte dem Format entsprechen.
  • Die direkte Änderung innerhalb der Datentypen „Datum“, „Zeit“, „Zahl“ und „Zeitstempel“ wird nicht unterstützt. Es ist zuerst eine Umsetzung auf den Datentyp „Text“ erforderlich.

Der Datentyp von „Multi-“, „SQL-“ und „SQL-internen“ Variablen kann beliebig gewechselt werden.

Bei Werten, die mit dem Sprachmittel GET_VAR aus Variablenobjekten mit dem Datentyp „Zahl“ bezogen werden, spielt der Datentyp der jeweiligen Script-VariablePlatzhalter eines Wertes in einem Script. („float“, „signed“, „unsigned“ oder „string“) keine Rolle. Der Wert kann immer gespeichert werden. Dabei werden Vorzeichen und Nachkommastellen entfernt, wenn der Datentyp der ScriptEigener Objekttyp in der Automation Engine-Variable dies nicht unterstützt. Ist im Variablenobjekt ein anderer Datentyp eingestellt, werden die Werte an das Script immer als „string“ übergeben.

Ausgabeformat

Mit dieser Einstellung wird das Format festgelegt, in dem die Werte in das Variablenobjekt gespeichert (Quelle: statisch) bzw. von der Datenquelle ermittelt werden (dynamische Variablen).

Der Inhalt dieses Auswahlmenüs ist abhängig vom Datentyp. Für jeden Datentyp außer „Text“ stehen mehrere unterschiedliche Formate zur Verfügung.

Das Ausgabeformat bezieht sich nur auf die erste Spalte! Bei statischen Variablen ist das die Spalte Wert 1, bei Datenbank- und Multi-Variablen die erste Rohspalte. Beachten Sie bei Multi-Variablen, dass die erste Rohspalte als Bezugsspalte dient und sich daher das Ausgabeformat der Quellvariable auf die ermittelten Werte auswirken kann!

Das Ausgabeformat von statischen Variablen innerhalb eines bestimmten Datentyps ist beliebig änderbar. Die Werte werden dabei in das neue Format konvertiert. Entsprechen Werte nicht dem alten Format, so ist eine Umwandlung in ein neues Format nicht möglich.

Das Format in dem Werte in statische Variablen eingetragen werden, spielt keine Rolle, solange es ein von der AE unterstütztes Format des jeweiligen Datentyps ist. Die Werte werden dann in das entsprechende Ausgabeformat umgewandelt.

Beim Datentyp „Text“ wird die Combobox ausgeblendet.

Datentyp Verfügbare Formate Standardformat

Zeitstempel

  • YYYYMMDDHH24MISS
  • YYYY-MM-DD HH:MM:SS

YYYY-MM-DD HH:MM:SS

Datum

  • DD-MON-YYYY
  • DD-MON-RR
  • MM-DD-YYYY
  • YYYYMMDD
  • MMDDRR
  • DDMMRR
  • MM-DD-RR
  • MM/DD/RR
  • YYMMDD
  • YY.MM.DD
  • YY-MM-DD
  • YYYYMMDD
  • YYYY.MM.DD
  • YYYY-MM-DD
  • DDMMYY
  • DD.MM.YY
  • DD-MM-YY
  • DDMMYYYY
  • DD.MM.YYYY
  • DD-MM-YYYY
  • MMDDYY
  • MMDDYYYY
  • MM/DD/YY
  • MM/DD/YYYY

YYMMDD

Zeit
  • HHMMSS
  • HH:MM:SS
  • HHMM
  • HH:MM
  • MMSS
  • MM:SS

HHMMSS

Zahl
  • 0.00
  • +0.00
  • -0.00
  • 0
  • +0
  • -0
  • 16-stellig
16-stellig

Manche Datumsformate enthalten „RR“ als Platzhalter für das abgekürzte Jahr. Der Unterschied zwischen „YY“ und „RR“ ergibt sich durch die unterschiedlichen Arten, Jahrhunderte zu zählen (erste zwei Stellen der abgekürzten Jahreszahl).
YY - Liegt die Zahl zwischen 00 und 80 wird das aktuelle Jahrhundert verwendet. Im Bereich 81 - 99 das vorherige. 
„RR“ - Befindet sich die Zahl zwischen 00 und 49 so wird das aktuelle Jahrhundert verwendet. Im Bereich 50 - 99 das vorherige.

Zum Beispiel:
Datumsformat TTMMJJ und die daraus resultierenden Daten:
010305 - bedeutet 1. März 2005
010365 - bedeutet 1. März 2065
010380 - bedeutet 1. März 2080
010385 - bedeutet 1. März 1985

Zum Beispiel:
Datumsformat TTMMRR und die daraus resultierenden Daten:
010305 - bedeutet 1. März 2005
010365 - bedeutet 1. März 1965
010380 - bedeutet 1. März 1980
010385 - bedeutet 1. März 1985

Beim Datentyp „Zeit“ bzw. „Zeitstempel“ muss der Wert für die Uhrzeit entweder eine vierstellige oder eine sechsstellige Zahl sein. Kommastellen werden entfernt. Eine vierstellige Zahl wird dabei auf Stunden und Minuten umgesetzt.

Beispiele:
Datentyp: Zeit
Ausgabeformat: HH:MM:SS
Wert des Benutzers bzw. der Datenquelle: 1234, 1234.5, 123400, 12:34, 12:34:00
Resultierender Variablenwert: 12:34:00

Datentyp: Zeitstempel
Ausgabeformat: YYYY-MM-DD HH:MM:SS
Wert des Benutzers bzw. der Datenquelle: 20110325 2201, 20110325 2201.5, 20110325 220100
Resultierender Variablenwert: 2011-03-25 22:01:00

Minimum festlegen

Min. Wert

Erzwingt einen Minimalwert.

Beim Datentyp „Text“ werden diese Felder nicht angezeigt.

Maximum festlegen

Max. Wert

Erzwingt einen Maximalwert.

Beim Datentyp „Text“ werden diese Felder nicht angezeigt.

Textlänge limitieren

Max. Textlänge

Erzwingt eine maximale Anzahl an Zeichen.

Erlaubte Werte: 1 bis 1024

Ist diese Option deaktiviert, so gibt es kein Limit.

Die Key-SpalteSpalte bei statischen Variablen-Objekten, über die auf Werte einer bestimmte Zeile zugegriffen werden kann. von statischen VARA-Objekten besitzt ein maximales Limit von 200 Zeichen. Dieses Limit ist immer vorhanden und kann nicht erhöht bzw. deaktiviert werden.

Die Resultat-Spalte von dynamischen Variablen besitzt kein Limit. Die Größe hängt von den Wertespalten ab.

Diese Beschränkung bezieht sich bei statischen und dynamischen Variablen auf die erste Wertespalte. Die Key- bzw. Resultat-Spalte wird nicht überprüft.

Werte, welche die max. Länge überschreiten, werden ausgegrenzt.

Diese Felder werden nur beim Datentyp „Text“ angezeigt.

Großschreibung erzwingen

Kleinbuchstaben in Variablen-Werten werden automatisch in Großbuchstaben umgewandelt. Dies betrifft nur die erste Werte-Spalte.

Dieses Feld wird nur beim Datentyp „Text“ angezeigt.

Resultat-Format

Definition des Inhaltes der Result-SpalteErste Spalte von dynamischen Variablen-Objekten mit der Quelle "SQL", "SQL-intern" und "Multi". Der Inhalt dieser Spalte wird mit dem Result-Format festgelegt..

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 Resultat-Spalte kann aus einer Kombination von Werte-Spalten und beliebigen anderen Zeichen bestehen, wobei dies mit dem Resultat-Format festzulegen ist.

Spaltennummern, die in { }-Klammern im Feld Resultat-Format angegeben sind, werden durch den Wert der jeweiligen Spalte ersetzt.

Zum Beispiel:
Werte-Spalte 1: JOB1
Werte-Spalte 2: WIN01
Rückgabe Format: {1}_{2}
Result-Spalte: JOB01_WIN01

Wird kein Resultat-Format angegeben, entspricht die Resultat-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 Variablenobjekt verfügbar.


Einstellungen für den Script-Zugriff festlegen

Mit dem Optionsfeld Wenn Key nicht gefunden können Sie festlegen, was passiert, wenn ein Key nicht gefunden wird.

Nach:

Auswählen:

Es wird eine Fehlermeldung ausgegeben, wenn ein Objekt per Script auf einen Eintrag zugreifen will, der zur Laufzeit nicht vorhanden ist Fehler zurückliefern
Das Ergebnis des Ausgabeformats nicht verwenden, wenn es „ “ ist. Initialwerte zurückliefern

Vorschau von Kommandos

Um das Kommando auszuführen, wählen Sie es aus und klicken Sie auf Vorschau. Führt die SQL-Statements aus und stellt das Ergebnis dar. Dadurch kann die Funktion der SQL-Statements überprüft und andere Fehler (zum Beispiel: Datentyp des Variablenobjektes und der Datenbank stimmen nicht überein) erkannt werden.

Der Datenbank-Agent sendet die Daten für die Vorschau in einer Nachricht an die Automation Engine. Übersteigt die Länge dieser Nachricht die maximale Nachrichten-Länge, die ein ServerprozessServerprozesse bilden die Grundlage für die Komponente Automation Engine. Unterteilt sich in verschiedene Arten: Kommunikationsprozesse, Arbeitsprozesse, Dialogprozesse und NonStop-Prozesse. akzeptiert (siehe Parameter MaxMsgSize= in der Automation Engine-INI-Datei UCSRV.INI), so kommt es zu einem Fehler, Standardwert: 3145 728 Bytes). Schränken Sie in diesem Fall das Ergebnis entweder durch die maximale Zeilenanzahl oder die SQL-Statements ein.