PromptSet-Dialoge dynamisch neu laden

Die AE stellt zusätzliche Möglichkeiten zur Verfügung, um Eingabemasken von Aufgaben dynamisch aufzubauen. Dabei handelt es sich speziell um Comboboxen und die Eingabehilfe von Textfeldern, deren Inhalt sich vom Wert anderer PromptSet-Elemente unterscheiden kann.

Die Erstellung eines PromptSet-Dialoges mit einer dynamischen Combobox bzw. einer Textfeld-Eingabehilfe erfolgt in folgenden Schritten:

  1. PromptSet-ObjektTätigkeiten und Abläufe, welche die Automation Engine steuert, werden mit Hilfe von sogenannten Objekten abgebildet (siehe auch Aufgabe). mit zumindest einem Textfeld oder einer Combobox und einem beliebigen Element erstellen.
  2. Beim Textfeld die Eigenschaft „Eingabehilfe“ verwenden.
  3. In der Combobox die Eigenschaft „Dynamisch“ setzen.
  4. Variablenobjekt mit der Quelle EXEC, SQL, SQLI, FILELIST oder BACKEND als Datenreferenz für das Textfeld bzw. die Combobox verwenden.
  5. In diesem Referenz-Variablenobjekt ein oder mehrere PromptSet-Variablen von anderen Elementen desselben PromptSets eintragen.
    PromptSet-Variablen können dabei in folgenden Feldern der Referenzvariable verwendet werden:
  6. Variablentyp Felder
    BACKEND

    , , und die Spalten des Betriebssystems.

    EXEC Parameter
    FILELIST , , und
    SEC_SQLI Oracle-Statement, SQL Server-Statement und DB2-Statement
    SEC_SQL , und
    SQLI Oracle-Statement, SQL Server-Statement und DB2-Statement
    SQL , und

Bei der Eingabehilfe ist keine spezielle Einstellung erforderlich, da die Auflösung der Referenzvariable immer erst beim Zugriff erfolgt.

Beachten Sie, dass PromptSet-Variablen, die als Array (Mehrfachselektion) definiert wurden, nicht in Referenzvariablen verwendet werden können!

Für die Verwendung der PromptSet-Variablen in Variablenobjekten, muss die Einstellung VAR_SECURITY_LEVEL (UC_SYSTEM_SETTINGS) auf den Wert 3 gesetzt sein. Diese Einschränkung gilt allerdings nicht für die SQL-Statements von VARA-Objekten mit der Quelle SQL SECURE und SQLI SECURE.

Im PromptSet-Objekt muss für jene Elemente, deren Werte in Mussfeldern von VARA-Objekten (z. B.: HostRechner, Zielsystem., Login) verwendet werden, ein Standardwert gesetzt sein.

Beispiele:

Folgendes Beispiel zeigt die Erstellung eines PromptSet-Dialoges mit einer dynamischen Combobox, deren Inhalt von einem Optionsfeld abhängt. Über das Optionsfeld soll ein AE-MandantAbgeschlossene Umgebung für die Erstellung und Durchführung von Objekten innerhalb eines Automation Engine-Systems. Der Name von Mandanten besteht aus einer vierstelligen Zahl, die bei der Anmeldung von Benutzern an das Automation Engine-System anzugeben ist. Benutzer und deren Berechtigungen werden ebenfalls in einem Mandant definiert.Auch ein eigener Objekttyp in der Automation Engine. spezifiziert werden können. In der Combobox werden dann immer die Aufgaben des gewählten Mandanten aufgelistet.
Die Referenzwerte beider PromptSet-Elemente werden über SQLI-Variablen direkt aus der DatenbankEine Datenbank ist eine organisierte Sammlung von Daten und wichtigen Datenstrukturen. bezogen.

Referenzvariablen

Erstellen Sie zunächst die Referenzquellen für das PromptSet-Objekt. Legen Sie dazu zwei Variablenobjekte mit der Quelle SQLI an.

Die erste VariableSpeichert oder ermittelt Werte dynamisch zur Laufzeit. Auch ein eigener Objekttyp in der Automation Engine. soll die Mandanten des Automation EngineDiese Komponente steuert ein Automation Engine-System. Besteht aus verschiedenen Serverprozessen. Systems beliefern. Dazu ist folgendes SQL-Kommando in den Tab „Variable“ des VARA-Objektes einzufügen (MS SQL Server):

select distinct EH_Client from EH

Bei der zweiten Variable sollen die Namen der Aufgaben ermittelt werden, abhängig vom gewählten AE-Mandanten. Verwenden Sie dazu im SQL-Kommando den voraussichtlichen Variablennamen des Optionsfeldes als Wert für den Mandanten. Dadurch erhalten Sie folgendes Kommando:

select distinct EH_Name from EH where EH_Client=&CLIENT#

Überprüfen Sie die erste Variable auf Funktionalität, indem Sie die Schaltfläche „Vorschau“ im Tab „Variable“ aufrufen. Die zweite Variable kann nicht getestet werden, da die PromptSet-Variable &CLIENT# noch nicht aufgelöst werden kann!

Stellen Sie sicher, dass die Systemeinstellung (UC_SYSTEM_SETTINGS - SQL_VAR_INTERNAL) und das Privileg für interne SQL-Variablen vorhanden ist.

PromptSet-Objekte

Im nächsten Schritt erstellen Sie das PromptSet-Objekt mit einem Optionsfeld und einer Combobox.

Weisen Sie dem Optionsfeld als Datenreferenz jene SQL-Variable zu, welche die AE-Mandanten ermittelt. Achten Sie darauf, dass der Variablenname dieses Elementes mit jenem übereinstimmt, der im SQL-Kommando des anderen Variablenobjektes verwendet wurde (siehe oben). In unserem Fall tragen Sie als Variablenname CLIENT# ein (ohne führendes &).

Der Combobox ist das andere Referenz-Variablenobjekt zuzuweisen.
Wichtiger Hinweis: Setzen Sie unbedingt die Option Dynamisch! Ansonsten kommt es beim Aufruf des PromptSet-Dialoges zu einem SQL-Fehler.
Grund: Durch diese Option wird die Referenzvariable erst dann aufgelöst, wenn die Combobox aufgerufen wird. Andernfalls erfolgt die Auflösung schon bevor die PromptSet-Variablen zur Verfügung stehen.

Beachten Sie, dass es beim Öffnen der Combobox auch dann zu einem Fehler kommt, wenn das Element von dem es abhängt, keinen oder einen ungültigen Wert besitzt. Setzen Sie daher zur Sicherheit einen Standardwert für das Element, welches den Wert vorgibt.

Rufen Sie abschließend die PromptSet-Vorschau auf, um die Funktionalität der Eingabemaske zu testen.