Spezielle Verwaltung > Geschäftsobjekte anpassen > Objektinitialisierungsregel-Verwaltung > Mit Objektinitialisierungsregeln arbeiten > Regeln festlegen > Syntax des VarDef-Tags
  
Syntax des VarDef-Tags
Ein für eine Regel verwendetes XML-Dokument kann einen oder mehrere VarDef-Tags enthalten. Der VarDef-Tag muss immer innerhalb eines AttributeValues-Tags verschachtelt werden.
Jeder VarDef-Tag definiert einen Variablennamen und deren Wert, die dann in Regeln über den VarRef-Tag referenziert werden kann. Die Variablendefinitionen, die beim Referenzieren einer Variablen (über den VarRef-Tag) verfügbar sind, werden durch den Objekttyp und die vorhandenen Kontexthierarchien bestimmt. Nähere Informationen dazu, wie diese Hierarchien von Regeln verwendet werden, finden Sie unter Regeln zu einer Verbundregel zusammenführen.
Beispiel: Angenommen, Sie haben eine Variable im Standortkontext definiert, die in Regeln verwendet werden kann, die für den Objekttyp wt.doc.WTDocument definiert wurden. Diese Definition ist dann in allen Kontexten für die für den Objekttyp wt.doc.WTDocument und alle seine Untertypen definierten Regeln verfügbar. Die Definition derselben Variable in einem Kind-Kontext des Standorts oder einem Untertyp von wt.doc.WTDocument zugeordnet hätte normalerweise Vorrang vor der Definition im Standortkontext, wenn das Objekt, auf das die Regeln angewendet werden, sich entweder im Kind-Kontext befindet oder einem Untertyp zugeordnet ist.
Die Wert für eine Variable wird erst dann berechnet, wenn ein Regelelement verarbeitet wird, das die Variable referenziert. Um eine bestimmte Variable zu referenzieren, die durch den VarDef-Tag definiert ist, verwenden Sie den Wert, der im ID-Attribut des VarDef-Tags im ID-Attribut des VarRef-Tags festgelegt ist. Das erste beim Anwenden einer Regel verarbeitete Element, das eine spezifische Variablenreferenz hat, bewirkt, dass der Wert der Variable berechnet und zwischengespeichert wird. Anschließend wird der zwischengespeicherte Wert für jede Referenz auf diese Variable verwendet, die während der Regelanwendung verarbeitet wird.
Die VarDef-Tag-Syntax ist wie folgt:
<VarDef id="variable_name"
algorithm="default_value_algorithm">
algorithm_arguments
</VarDef>
Hierbei ist variable_name der Name der Variablen, die zum Referenzieren der Variablen im VarRef-Tag verwendet wird. Der Name kann aus einem beliebigen gültigen XML-Namen bestehen, der für Sie aussagekräftig ist.
Im folgenden Beispiel wird die Variable GeneratedNumber definiert, die verwendet werden kann, um eine Nummer für Dokumente so zu generieren, dass Sie als Namen des Dokuments die generierte Nummer festlegen können. Sie können diese Variable definieren, um sie beim Erstellen von Dokumenten durch Verschachteln der XML-Daten im AttributeValues-Tag für den Objekttyp wt.doc.WTDocument zu verwenden:
<VarDef id="GeneratedNumber"
algorithm=”com.ptc.windchill.enterprise.revisionControlled.server.impl.NumberGenerator">
<Arg>{GEN:wt.enterprise.SequenceGenerator:WTDOCUMENTID_seq:10:0}</Arg>
</VarDef>
* 
Der Wert der im VarDef-Tag definierten Variablen kann nicht aus der Berechnung für einen anderen Wert in der gleichen Regel abgeleitet werden. Sie können z.B. keine GeneratedNumber-Variable für WTPart aus dem Nummernattributwert generieren, der vom AttrValue-Tag in der gleichen Regel festgelegt wird. Weitere Informationen finden Sie unter Variables.
Zusätzlich können Sie optionale XML-Attribute in den VarDef-Tag für folgende Zwecke aufnehmen:
Objektattributwert festlegen, der als absoluter Wert für die Verwendung in der Verbundregel definiert ist.
Angegebene Definition ignorieren, wenn die Definition aus dem Eltern-Kontext ererbt wird.