SQLI-Variablen

SQLI- oder SQL-interne Variablenobjekte rufen Werte von der Automation Engine-DatenbankEin relationales Datenbank-Management-System (RDMS), das alle Scheduling-Daten zentral verwaltet. Es enthält Objektdefinitionen, Systemeinstellungen, Statistikdaten, Jobreports, etc. ab.

Besitzt eine VariableSpeichert oder ermittelt Werte dynamisch zur Laufzeit. Auch ein eigener Objekttyp in der Automation Engine. als Quelle „SQL - intern“, werden Werte mittels SQL-Statements aus der DatenbankEine Datenbank ist eine organisierte Sammlung von Daten und wichtigen Datenstrukturen. 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 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.-Privileg „SQL-interne Variablen anlegen und ändern“ erforderlich.

Aus Sicherheitsgründen können SEC_SQLI- oder SQLI-Variablenobjekte nicht standardmäßig erstellt oder bearbeitet werden. Dies kann mit der Einstellung SQLVAR_INTERNAL der Systemvariable UC_SYSTEM_SETTINGS 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.

Die maximale Anzahl der zurückgelieferten Zeilen ist mit der Einstellung SQLVAR_MAX_ROWS in der Variablen UC_SYSTEM_SETTINGS festgelegt.

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 Benutzer-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 ObjektTätigkeiten und Abläufe, welche die Automation Engine steuert, werden mit Hilfe von sogenannten Objekten abgebildet (siehe auch Aufgabe). 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.

Kommt es beim Ausführen von SQL-Kommandos 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 EngineDiese Komponente steuert ein Automation Engine-System. Besteht aus verschiedenen Serverprozessen. aus technischen Gründen einen solchen Fehler nicht abfangen kann, sind die Kommandos von SQLI-Variablen vom Benutzer daher mit großer Sorgfalt zu überprüfen.

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 - internal“ als Variablentyp. Sie legen den Variablentyp fest, wenn Sie das Objekt erstellen. Dies kann nicht mehr geändert werden, wenn die Variable einmal definiert ist.

Oracle-Statement

SQL Server-Statement

DB2-Statement

SQL-Statements zur Selektion von Einträgen der Datenbank, welche als Variablenwerte zurückgeliefert werden sollen.

Beispiel: select * from OH

Um einen Zellen-Editor für die Definition Ihrer Variable zu nutzen, klicken Sie auf das Symbol auf der rechten Seite des Feldes.

Beachten Sie, dass die SQL-Statements nicht überprüft werden. 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 für die Verwendung von Vordefinierte Variablen bzw. anderen Variablenobjekten in den SQL-Anweisungen die Einstellung VAR_SECURITY_LEVEL in der Variable UC_SYSTEM_SETTINGS 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 Resultat-Spalte.

Die erste in der Vorschau angezeigte Spalte ist die „Resultat-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
Resultat-Format: {1}_{2}
Resultat-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 Resultat-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.

Im Beispiel oben wird das folgende SQL-Statement in das Feld SQL Server Statement eingegeben.

select oh_name from oh

where oh_otype = 'JOBI'

and oh_deleteflag = 0

and oh_client = &$CLIENT#

order by oh_name asc