Die AE stellt zusätzliche Möglichkeiten zur Verfügung, um Eingabemasken von Aufgaben dynamisch aufzubauen. Dabei handelt es sich speziell um Kombinationsfelder und die Eingabehilfe von Textfelder, deren Inhalt vom Wert anderer PromptSet-Elemente variieren kann.
Die Erstellung eines PromptSet-Dialoges mit einem dynamischen Kombinationsfeld bzw. einer Textfeld-Eingabehilfe erfolgt in folgenden Schritten:
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 Variablen-Objekten, 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-Anweisungen 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.: Host, Login) verwendet werden, ein Standardwert gesetzt sein!
Folgendes Beispiel zeigt die Erstellung eines PromptSet-Dialoges, mit einem dynamischen Kombinationsfeld, deren Inhalt von einem Optionsfeld abhängt. Über das Optionsfeld soll ein Mandant spezifiziert werden können. Im Kombinationsfeld werden dann immer die Aufgaben des gewählten Mandanten aufgelistet.
Die Referenzwerte beider PromptSet-Elemente werden über SQLI-Variablen direkt aus der Datenbank bezogen.
Referenzvariablen
Zuerst erstellen wir die Referenzquellen für das PromptSet-Objekt. Legen Sie dazu zwei Variablen-Objekte mit der Quelle SQLI an.
Die erste Variable soll uns die Mandanten des Automation Engine Systems liefern. Dazu ist folgender SQL-Befehl in die Registerkarte 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 Mandanten. Dazu verwenden wir im SQL-Befehl den voraussichtlichen Variablennamen des Optionsfeldes als Wert für den Mandanten. Dadurch erhalten wir folgenden Befehl:
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" in der Registerkarte 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 wir das PromptSet-Objekt mit einem Optionsfeld und einem Kombinationsfeld.
Weisen Sie dem Optionsfeld als Datenreferenz jene SQL-Variable zu, welche die Mandanten ermittelt. Achten Sie darauf, dass der Variablenname dieses Elementes mit jenem übereinstimmt, der im SQL-Befehl des anderen Variablen-Objektes verwendet wurde (siehe oben). In unserem Fall tragen wir als Variablenname CLIENT# ein (ohne führendes &).
Dem Kombinationsfeld ist das andere Referenzvariablen-Objekt 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 das Kombinationsfeld aufgerufen wird. Andernfalls erfolgt die Auflösung schon bevor die PromptSet-Variablen zur Verfügung stehen.
Beachten Sie, dass es beim Öffnen des Kombinationsfeldes 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.
Automic Documentation - Tutorials - Automic Blog - Resources - Training & Services - Automic YouTube Channel - Download Center - Support |
Copyright © 2016 Automic Software GmbH |