Zuweisen bedingter Werte und Regeln
Mithilfe der Elemente WHEN, WHENNOT, WHENCHANGED und WHENNOTCHANGED können Sie Regeln definieren, die bedingt ausgeführt werden. Sie definieren mithilfe dieser Regeln, welche Elemente ausgeführt werden, wenn die definierte Klausel den Wert True hat. Sie können Bedingungen definieren, die darauf basieren, welcher Wert einem bestimmten Feld zugewiesen wird oder ob ein Benutzer ein bestimmtes Feld ändert. Beispielsweise können Sie eine abhängige Auswahlliste erstellen, um eine höhere Sicherheit zu gewährleisten oder benutzerdefiniertes Verhalten bereitzustellen.
Feldbedingungen sind zusätzliche Elemente, die Sie in einem FIELD (Definition)-Element oder im FIELD (Workflow)-Element auflisten. Weitere Informationen zu diesen Elementen finden Sie unter FIELD (Definition)-Element sowie unter FIELD (Workflow)-Element.
Der folgende Code enthält ein einfaches Beispiel für die WHEN-Klausel:
<FIELD . . . >
<WHEN field="referenceName" value="yyy">
</FIELD>
Durch diese Klausel wird festgelegt, dass der gesamte Code innerhalb dieses FIELD-Elements anwendbar ist, solange das Feld refname über den Wert "yyy" verfügt. Das Feld muss einem gültigen Feldverweisnamen entsprechen. Weitere Informationen finden Sie unter Benennungskonventionen für Arbeitsaufgabenverfolgungs-Objekte.
Tipp
Beim Wertattribut wird keine Groß-/Kleinschreibung berücksichtigt. Wenn das Feld "refname" den Wert "YYY" enthält, führt daher sowohl der Wert "yyy" als auch der Wert "YYY" zu einer Übereinstimmung.
In diesem Thema
Syntaxstruktur für bedingte Elemente
Definieren eines abhängigen Pflichtfelds
Definieren einer bedingten Auswahlliste
Definieren eines Felds, wenn der Benutzer ein anderes Feld ändert (WHENCHANGED)
Definieren eines Feldwerts auf der Grundlage, dass ein Benutzer ein Feld nicht ändert (WHENNOTCHANGED)
Syntaxstruktur für bedingte Elemente
In der folgenden Tabelle werden bedingte Regeln beschrieben, die Sie als untergeordnete Elemente des FIELD (Definition)-Elements oder des FIELD (Workflow)-Elements angeben können. Von diesen Elementen werden folgende Attribute akzeptiert:
field: Eine Zeichenfolge zum Beschreiben des Felds. Muss zwischen 1 und 255 Zeichen enthalten.
value: Wenn das angegebene Feld diesen Wert enthält, werden die Regeln in den Elementen WHEN und WHENNOT auf das aktuelle Feld angewendet.
Element |
Syntax |
Beschreibung |
---|---|---|
WHEN |
|
Legt mindestens eine Regel fest, die auf das aktuelle Feld angewendet wird, wenn ein anderes Feld einen bestimmten Wert enthält. Mit dem übergeordneten Element wird das aktuelle Feld definiert. Wenn das angegebene Feld den angegebenen Wert enthält, werden die Regeln in diesem Element auf das aktuelle Feld angewendet. |
WHENNOT |
|
Dient zum Festlegen einer Bedingung, anhand derer Regeln auf das aktuelle Feld angewendet werden. Die Regeln gelten für das aktuelle Feld, wenn sich der Wert eines anderen Felds ändert. Mit dem übergeordneten Element wird das aktuelle Feld definiert. Wenn das angegebene Feld nicht den angegebenen Wert enthält, werden die Regeln in diesem Element auf das aktuelle Feld angewendet. |
WHENCHANGED |
|
Dient zum Festlegen einer Bedingung, anhand derer Regeln auf das aktuelle Feld angewendet werden. Die Regeln gelten für das aktuelle Feld, wenn sich der Wert eines anderen Felds bei der Revision einer Arbeitsaufgabe ändert. Mit dem übergeordneten Element wird das aktuelle Feld definiert. |
WHENNOTCHANGED |
|
Dient zum Festlegen einer Bedingung, anhand derer Regeln auf das aktuelle Feld angewendet werden. Die Regeln gelten für das aktuelle Feld, wenn sich der Wert eines anderen Felds bei der Revision einer Arbeitsaufgabe nicht ändert. Mit dem übergeordneten Element wird das aktuelle Feld definiert. |
In der folgenden Tabelle wird beschrieben, wie die einzelnen optionalen, bedingungsbasierten Regeln auf das übergeordnete Feld angewendet werden, wenn bedingte Klausel erfüllt ist, die Sie mithilfe eines Elements WHEN, WHENNOT, WHENCHANGED oder WHENNOTCHANGED angeben. Weitere Informationen finden Sie unter Festlegen von Bedingungen für ein Arbeitsaufgabenfeld.
Element |
Beschreibung |
---|---|
Das übergeordnete Feld muss einen Wert aus der angegebenen Liste mit Werten besitzen. |
|
Der bereits vorhandene Wert des übergeordneten Felds ist zulässig, auch wenn er gegen andere Regeln verstößt. Dieses Element wird nicht angewendet, wenn der Wert des übergeordneten Felds geändert wird. |
|
Die Benutzer können den Wert des übergeordneten Felds in NULL ändern, aber nicht auf einen anderen Wert festlegen. |
|
Der Wert eines dritten Felds wird automatisch in das übergeordnete Feld kopiert. Das dritte Feld wird im COPY-Element angegeben. |
|
Mit diesem Element wird der Standardwert des übergeordneten Felds angegeben. |
|
Das übergeordnete Feld darf keinen Wert enthalten. |
|
Das übergeordnete Feld ist fixiert. Der Wert eines fixierten Felds kann zu NULL geändert, aber nicht auf einen anderen Wert festgelegt werden. |
|
Der Wert des übergeordneten Felds muss dem Muster entsprechen, das Sie angeben. |
|
Der Wert des übergeordneten Felds darf nicht dem Wert eines dritten Felds entsprechen. Das dritte Feld wird im NOTSAMEAS-Element angegeben. |
|
Das übergeordnete Feld darf keine Werte aus der Aufzählungsliste enthalten. |
|
Das übergeordnete Feld ist schreibgeschützt. |
|
Das übergeordnete Feld muss einen Wert enthalten, der nicht NULL ist. |
|
Das aktuelle Feld erhält seinen Wert von der angegebenen Serverkomponente. Gültige Serverkomponenten sind clock (Uhrzeit, zu der eine Arbeitsaufgabe aktualisiert wird) und currentuser (die Identität des Benutzers, der die Arbeitsaufgabe aktualisiert hat). |
|
Die Aufzählungsliste enthält vorgeschlagene Werte für das übergeordnete Feld. |
|
Das übergeordnete Feld kann nur von den Benutzern, die Sie angeben, geändert werden. |
Zurück nach oben
Definieren eines abhängigen Pflichtfelds
Sie können angeben, dass ein Feld nur erforderlich ist, wenn ein anderes Feld einen bestimmten Wert enthält. Wenn im folgenden Beispiel ein Kunde einen Fehler meldet, muss ein Schweregrad eingegeben werden. Wenn der Fehler nicht von einem Kunden gemeldet wurde, ist kein kundenspezifischer Schweregrad erforderlich.
<FIELD refname="MyCorp.Severity" name="Customer Severity" type="String">
<ALLOWEDVALUES>
<LISTITEM value="Blocking" />
<LISTITEM value="Major" />
<LISTITEM value="Minor" />
</ALLOWEDVALUES>
<WHEN field="MyCorp.CustomerReported" value="true">
<REQUIRED />
</WHEN>
</FIELD>
Definieren einer bedingten Auswahlliste
Im folgenden Beispiel wird eine bedingte Auswahlliste gezeigt, in der die zulässigen Werte für das Feld "Problem Type" abhängig davon eingeschränkt werden, ob der Wert des Felds "ProblemCharacteristic" auf "Documentation" festgelegt wird.
<FIELD refname="MyCorp.ProblemType" name="Problem Type" type="String">
<WHEN field="MyCorp.ProblemCharacteristic" value="Documentation">
<ALLOWEDVALUES>
<LISTITEM value="Spelling Error" />
<LISTITEM value="Bad Format" />
<LISTITEM value="Missing Info" />
</ALLOWEDVALUES>
</WHEN>
</FIELD>
Definieren eines Felds, wenn der Benutzer ein anderes Feld ändert (WHENCHANGED)
Wenn ein Benutzer im folgenden Beispiel den Wert des Felds "MyCorp.State" ändert, wird dem Feld "MyCorp.StateDate" auf das aktuelle Datum und die Uhrzeit der Serveruhr festgelegt.
<FIELD refname="MyCorp.StateDate" name="Date Of Last State Change" type="DateTime">
<WHENCHANGED field="MyCorp.State">
<COPY from="clock" />
</WHENCHANGED>
</FIELD>
Wenn ein Benutzer im folgenden Beispiel den Wert des Felds "MyCorp.State" ändert, wird der Wert des Felds "MyCorp.Status" gelöscht.
<!-- Clear the status field whenever someone changes the state -->
<FIELD refname="MyCorp.Status" name="Status" type="String">
<WHENCHANGED field="MyCorp.State">
<COPY from="value" value="">
</WHENCHANGED>
</FIELD>
Definieren eines Feldwerts auf der Grundlage, dass ein Benutzer ein Feld nicht ändert (WHENNOTCHANGED)
Wenn ein Benutzer im folgenden Beispiel den Wert des Felds "MyCorp.State" nicht ändert, wird das Feld "MyCorp.StateDate" schreibgeschützt.
<FIELD refname="MyCorp.StateDate" name="Date Of Last State Change" type="DateTime">
<!-- Make the StateDate field read-only when the State field is not changed -->
<WHENNOTCHANGED field="MyCorp.State">
<READONLY />
</WHENNOTCHANGED>
</FIELD>
Siehe auch
Konzepte
Weitere Ressourcen
Festlegen von Bedingungen für ein Arbeitsaufgabenfeld
Änderungsprotokoll
Datum |
Versionsgeschichte |
Grund |
---|---|---|
Januar 2011 |
Syntaxstruktur für alle bedingten Elemente hinzugefügt und Inhalt neu organisiert, um die Beispiele hervorzuheben. |
Informationsergänzung. |