Data Relationship Management-Objekte

Im Folgenden werden die Oracle Data Relationship Management-Objekte mit einer Beschreibung ihrer Methoden und Eigenschaften aufgeführt.

SysObject

Ein SysObject mit der Bezeichnung "Sys" wird automatisch erstellt. Dieses Objekt ist in allen Kontexten verfügbar und bietet allgemeine Funktionen sowie Informationen zur Data Relationship Management-Anwendung. Für dieses Objekt sind keine Eigenschaften vorhanden.

Tabelle 12-9 SysObject-Methoden

Name Beschreibung

FormattedDate (value, formatString)

Formatiert Datumsangaben gemäß den Formelsystemregeln. Hilfreich für die Abwärtskompatibilität, um eine genaue Übereinstimmung mit alten Formeleigenschaften zu erzielen.

  • "value" muss ein Datumsobjekt oder eine gültige datetime-Zeichenfolge sein.

  • "formatString" muss eine gültige Formatierungszeichenfolge sein (siehe Funktion "FormattedDate").

GetNextID(key)

Gibt die nächste verfügbare Ganzzahl-ID für einen angegebenen Zeichenfolgenschlüsselwert zurück.

GetPropDef(abbrev)

Gibt ein PropDefObject für den angegebenen Eigenschaftsnamen zurück. Der Name muss der vollqualifizierte Name sein.

GetRequestByID(int)

Gibt eine Workflowanforderung nach ID zurück.

GetSysPrefValue(abbrev)

Gibt den Wert der angegebenen Systemeinstellung (z.B. HierNodeSeparator) zurück.

InRange(dataType, input, min, max, minExclusive, maxExclusive)

Entspricht der Formelfunktion InRange. Erforderliche Parameter sind "dataType", "input" und "min".

IsNodeAbove(ancestor, child)

Gibt "True" zurück, wenn sich der Vorgänger in der Hierarchie über dem untergeordneten Element befindet. Gibt "False" zurück, wenn Parameter keine LocalNodeObjects sind oder nicht in derselben Hierarchie vorhanden sind.

IsNodeBelow(descendant, parent)

Gibt "True" zurück, wenn sich das abhängige Element in der Hierarchie unter dem übergeordneten Element befindet. Gibt "False" zurück, wenn Parameter keine LocalNodeObjects sind oder nicht in derselben Hierarchie vorhanden sind.

RunFormula(node, propDef, formulaString)

Führt eine Data Relationship Management-Formel aus und gibt die Zeichenfolgenergebnisse zurück.

  • "node" ist ein NodeObject oder ein LocalNodeObject. Die Formelzeichenfolge darf bei der Übergabe in ein NodeObject keine Verweise auf lokale Eigenschaften enthalten. Andernfalls kommt es zu einem Fehler. Bei der Übergabe eines LocalNodeObject können Sie alle verfügbaren globalen und lokalen Eigenschaften referenzieren.

  • propDef – Einige Formelfunktionen erfordern eine Eigenschaftsdefinition, damit sie einwandfrei geparst oder ausgeführt werden können. Wenn Sie diese Funktionen verwenden, müssen Sie eine Eigenschaftsdefinition angeben. Im Allgemeinen müssen die Merkmale der Eigenschaftsdefinition (z.B. "Ebene", "Global" oder "Lokal" und "Typ") übereinstimmen. Es muss sich dabei jedoch nicht um die eigentliche Eigenschaft handeln, für die die formulaString gilt. Sie müssen nicht zusammenhängen. In den meisten Formeln können Sie für diesen Parameter "null" übergeben. Die Syntax lautet Sys.GetPropDef(abbrev). Beispiel:

    Sys.RunFormula(node, Sys.GetPropDef("Custom.MyProp1"), "Concat(Prop value ', PropValue(Custom.MyProp2),' ,is, ,valid)");
  • formulaString ist eine Data Relationship Management-Legay-Formel. Leerzeichen werden als Bestandteil der Formel angesehen und müssen daher bei Bedarf entfernt werden.

    Hinweis: Dies ist keine empfohlene Methode und sollte nur verwendet werden, wenn es erforderlich ist, um eine exakte Übereinstimmung mit Legacy-Verhalten zu erzielen. Die Performance wird bei Verwendung dieser Methode beeinträchtigt.

PropDefObject

Für dieses Objekt sind keine Methoden vorhanden.

Tabelle 12-10 PropDefObject-Eigenschaften

Name Beschreibung

Abbrev

Der Name der Eigenschaftsdefinition (einschließlich des vollqualifizierten Namespace)

Cascade

'"True", wenn die Eigenschaftswerte geerbt werden

ColumnWidth

Die Standardbreite der Exportspalte

DataType

Ein DataType-Aufzählungswert, zum Beispiel DataType.String (siehe Aufzählungskonstanten)

Descr

Beschreibung

DefaultValue

Standardwert der Eigenschaftsdefinition. Der Typ hängt vom Datentyp der Eigenschaftsdefinition ab.

EditorLabel

Label

Global

"True", wenn die Eigenschaft eine globale Knoteneigenschaft ist

Hidden

"True", wenn die Eigenschaft aus dem Eigenschaftsraster ausgeblendet ist

ID

ID

Ebene

Ein PropLevel-Aufzählungswert, zum Beispiel PropLevel.Node (siehe Aufzählungskonstanten)

Liste

"True", wenn die Eigenschaft dem Benutzer die Auswahl aus einer Werteliste ermöglicht

ListValues

Array mit Werten, aus denen der Benutzer eine Auswahl treffen kann

LookupValues

Suchschlüssel-Wert-Paare für eine Sucheigenschaft. Verwenden Sie die Eigenschaften "Key" und "Value" der Objekte in diesem Array.

MaxValue

Höchstwert

MinValue

Mindestwert

Namespace

Namespace der Eigenschaftsdefinition

PropType

Ein PropType-Aufzählungswert, zum Beispiel PropType.Defined (siehe Aufzählungskonstanten)

PropClass

Ableitungsklasse (Formel oder Skript)

ReadOnly

"True", wenn die Eigenschaft schreibgeschützt ist (wie z.B. eine Kernstatistikeigenschaft)

VersionObject

Tabelle 12-11 VersionObject-Eigenschaften

Name Beschreibung

Abbrev

Name

Descr

Beschreibung

HierCount

Anzahl der Hierarchien

ID

ID

NodeCount

Anzahl der Knoten

Tabelle 12-12 VersionObject-Methoden

Name Beschreibung

GetHierarchies()

Ruft ein Array aller Hierarchien in der Version ab, die für den aktuellen Benutzer verfügbar sind.

GetGlobalNodes()

Ruft ein Array aller globalen Knoten (NodeObjects) in der Version ab.

GetOrphans()

Ruft ein Array aller verwaisten Elemente (NodeObjects) in der Version ab.

HierByAbbrev(abbrev)

Ruft ein HierarchyObject nach Namen ab.

HierByID(id)

Ruft ein HierarchyObject nach ID ab.

NodeByAbbrev(abbrev)

Ruft ein NodeObject nach Namen ab.

NodeByID(id)

Ruft ein NodeObject nach ID ab.

NodeExists(abbrev)

Gibt "True" zurück, wenn ein globaler Knoten mit dem angegebenen Namen vorhanden ist.

Prop(abbrev)

Ruft das NodePropObject für die angegebene Eigenschaft der Version ab.

PropValue(abbrev)

Ruft den Wert der angegebenen Eigenschaft der Version ab. Der Rückgabetyp hängt vom Datentyp der Eigenschaftsdefinition ab.

HierarchyObject

Tabelle 12-13 HierarchyObject-Eigenschaften

Name Beschreibung

Abbrev

Name

Descr

Beschreibung

HierarchyUrl

Hierarchie-URL

ID

ID

NodeCount

Anzahl der Knoten in der Hierarchie

SharedNodesEnabled

"True", wenn gemeinsame Knoten aktiviert sind

TopNode

Der oberste LocalNodeObject-Knoten

Version

Das VersionObject

VersionAbbrev

Name der Version

VersionID

ID der Version

Tabelle 12-14 HierarchyObject-Methoden

Name Beschreibung

NodeByAbbrev(abbrev)

Ruft ein NodeObject nach Namen ab.

NodeByID(id)

Ruft ein NodeObject nach ID ab.

NodeExists(abbrev)

Gibt "True" zurück, wenn ein lokaler Knoten mit dem angegebenen Namen vorhanden ist.

Prop(abbrev)

Ruft das NodePropObject für die angegebene Eigenschaft der Version ab.

PropValue(abbrev)

Ruft den Wert der angegebenen Eigenschaft der Version ab. Der Rückgabetyp hängt vom Datentyp der Eigenschaftsdefinition ab.

Gemeinsame Knoteneigenschaften und -methoden

Einige Eigenschaften und Methoden gelten für NodeObject und LocalNodeObject, obwohl diese beiden Objekte sich keine Prototypkette teilen.

In allen Fällen, in denen der Wert aufgrund des globalen oder lokalen Kontextes abweichen kann, wird der richtige Wert für diesen Kontext zurückgegeben. Beispiel: Wenn GetChildren() für ein NodeObject aufgerufen wird, enthält das daraus resultierende Array NodeObjects. Wird derselbe Aufruf für ein LocalNodeObject ausgeführt, enthält das daraus resultierende Array LocalNodeObjects.

Tabelle 12-15 Gemeinsame Eigenschaften für NodeObject und LocalNodeObject

Name Beschreibung

Abbrev

Core.Abbrev

AddedBy

Core.AddedBy

AddedOn

Core.AddedOn

Changed

Core.Changed

ChangedBy

Core.ChangedBy

ChangedOn

Core.ChangedOn

ChildNodeCount

Anzahl der untergeordneten Knoten

Descr

Core.Descr

DomainAbbrev

Core.DomainAbbrev

DomainNodeAbbrev

Core.DomainNodeAbbrev

ID

Core.ID

Inactive

Core.Inactive

IsPrimary

"True", wenn der Knoten der primäre Knoten für einen gemeinsamen Knoten ist. "False", wenn der Knoten kein gemeinsamer Knoten oder nicht der primäre Knoten ist.

IsShared

"True", wenn der Knoten ein gemeinsamer Knoten ist.

Leaf

Core.Leaf

NodeApproved

Core.NodeApproved

Version

Das VersionObject des Knoteneigentümers

VersionAbbrev

Der Versionsname des Knotens

VersionID

Die Versions-ID des Knotens

Tabelle 12-16 Gemeinsame Methoden für NodeObject und LocalNodeObject

Name Beschreibung

GetChildren(sorted)

Ruft ein Array der direkten untergeordneten Elemente dieses Knotens ab, optional mit Sortierung. Der Standardwert für die Sortierung ist "False".

GetDescendants(inclusive, sorted)

Ruft ein Array der abhängigen Elemente dieses Knotens ab, optional einschließlich dieses Knotens und/oder mit Sortierung. Der Standardwert für die Einbeziehung ist "True". Der Standardwert für die Sortierung ist "False".

NodeByAbbrev(abbrev)

Ruft ein NodeObject nach Namen ab.

NodeByID(id)

Ruft ein NodeObject nach ID ab.

NodeExists(abbrev)

Gibt "True" zurück, wenn ein globaler Knoten mit dem angegebenen Namen vorhanden ist.

Prop(abbrev)

Ruft das NodePropObject für die angegebene Eigenschaft der Version ab.

PropValue(abbrev)

Ruft den Wert der angegebenen Eigenschaft der Version ab. Der Rückgabetyp hängt vom Datentyp der Eigenschaftsdefinition ab.

LocalNodeObject

Oracle empfiehlt, dass Sie die verschiedenen xxxWith-Funktionen verwenden, um weitere Knoten in der Hierarchie zu finden. Beispiel: Die Ausführung von ChildrenWith nimmt erheblich weniger Zeit in Anspruch, als GetChildren() aufzurufen und die Ergebnisse zu iterieren. Ebenso ist die Ausführung von GetReferenceInHier wesentlich schneller und unkomplizierter, als GetReferences() aufzurufen und die Ergebnisse zu iterieren.

Tabelle 12-17 LocalNodeObject-Eigenschaften

Name Beschreibung

GlobalNode

Globales NodeObject für den aktuellen Knoten

Hier

HierarchyObject für die Hierarchie, in der sich der Knoten befindet

HierAbbrev

Core.HierAbbrev

HierID

Core.HierID

Ebene

Zahl, die die Ebene des Knotens in der Hierarchie darstellt

MissingPrimary

"True", wenn der Primärknoten nicht gefunden wird

NodeUrl

Knoten-URL

Parent

LocalNodeObject für den übergeordneten Knoten dieses Knotens. Für den obersten Knoten einer Hierarchie wird "null" zurückgegeben.

ParentNodeAbbrev

Name des übergeordneten Knotens

Primary

Der Primärknoten für diesen gemeinsamen Knoten. Wenn der Primärknoten nicht in dieser Hierarchie enthalten ist, wird er aus der ersten Hierarchie zurückgegeben, in der er vorkommt. Wenn Sie die Liste der Hierarchien benötigen, in denen der Primärknoten vorkommt, rufen Sie GetReferences() für den zurückgegebenen Primärknoten auf. Wenn kein gemeinsamer oder primärer Knoten gefunden wird, wird "null" zurückgegeben.

PrimaryNotInHier

"True", wenn der Primärknoten zwar vorhanden ist, jedoch nicht in dieser Hierarchie

Tabelle 12-18 LocalNodeObject-Methoden

Name Beschreibung

AncestorsWith(func, maxResults, searchFromTop, inclusive)

Durchsucht die Vorgängerkette nach Knoten, die die angegebene Funktion erfüllen. Dies ist die schnellste Möglichkeit, um nach Vorgängern zu suchen. Gibt ein Array mit LocalNodeObject-Ergebnissen zurück.

  • "Func" muss eine Funktion sein, die ein einzelnes Knotenargument annimmt und "True" zurückgibt, wenn der Knoten in den Ergebnissen enthalten sein muss, oder "False", wenn der Knoten den Test nicht besteht.

  • maxResults ist optional und hat standardmäßig den Wert 1. Verwenden Sie 0, um keinen Grenzwert festzulegen (alle Knoten, die die Bedingung erfüllen).

  • searchFromTop ist optional und hat standardmäßig den Wert "False". Verwenden Sie "True", um am Anfang der Hierarchie zu beginnen.

  • inclusive ist optional und hat standardmäßig den Wert "False". Verwenden Sie "True", um den aktuellen Knoten in die potentiellen Übereinstimmungen einzuschließen (der Knoten muss den Test trotzdem bestehen).

ChildrenWith(func, maxResults)

Durchsucht die Liste der untergeordneten Elemente des Knotens nach Knoten, die die angegebene Funktion erfüllen. Dies ist die schnellste Möglichkeit, um nach untergeordneten Elementen zu suchen. Gibt ein Array mit LocalNodeObject-Ergebnissen zurück.

  • "func" muss eine Funktion sein, die ein einzelnes Knotenargument annimmt und "True" zurückgibt, wenn der Knoten in den Ergebnissen enthalten sein muss, oder "False", wenn der Knoten den Test nicht besteht.

  • maxResults ist optional und hat standardmäßig den Wert 1. Verwenden Sie 0, um keinen Grenzwert festzulegen (alle untergeordneten Elemente, die die Bedingung erfüllen).

DescendantsWith(func, maxResults, inclusive, depthFirst)

Durchsucht die Kette der abhängigen Elemente nach Knoten, die die angegebene Funktion erfüllen. Dies ist die schnellste Möglichkeit, um nach abhängigen Elementen zu suchen. Gibt ein Array mit LocalNodeObject-Ergebnissen zurück.

  • "func" muss eine Funktion sein, die ein einzelnes Knotenargument annimmt und "True" zurückgibt, wenn der Knoten in den Ergebnissen enthalten sein muss, oder "False", wenn der Knoten den Test nicht besteht.

  • maxResults ist optional und hat standardmäßig den Wert 1. Verwenden Sie 0, um keinen Grenzwert festzulegen (alle Knoten, die die Bedingung erfüllen).

  • inclusive ist optional und hat standardmäßig den Wert "False". Verwenden Sie "True", um den aktuellen Knoten in die potentiellen Übereinstimmungen einzuschließen (der Knoten muss den Test trotzdem bestehen).

  • depthFirst ist optional und hat standardmäßig den Wert "True". Wenn der Wert "True" ist, wird jeder Zweig bis zu den Spitzen geprüft, bevor der Baum gesichert und mit dem nächsten Zweig fortgefahren wird. Wenn der Wert "False" lautet, werden zunächst alle untergeordneten Elemente eines Knotens geprüft, dann die Knoten jedes untergeordneten Elements usw. Wenn Sie eine Vorstellung davon haben, an welcher Stelle im Baum sich der Knoten befindet, kann die Auswahl des korrekten Wertes den Suchvorgang erheblich beschleunigen.

GetAncestorEnumerator()

Ruft ein NodeEnumeratorObject ab, das die Vorgängerknoten aufzählt.

GetAncestors(inclusive)

Ruft ein Array mit LocalNodeObject-Vorgängern ab.

GetChildEnumerator(sorted)

Ruft ein NodeEnumeratorObject ab, das die untergeordneten Knoten aufzählt. Wenn die Option für die Sortierung auf "True" gesetzt ist, werden alle untergeordneten Elemente sortiert.

GetDescendantEnumerator()

Ruft ein NodeEnumeratorObject ab, das die abhängigen Knoten aufzählt.

GetImplicitly SharedDescendants(inclusive)

Ruft die untergeordneten Knoten des Primärknotens ab, auf den sich dieser gemeinsame Knoten bezieht.

GetInvertedLevel()

Entspricht der InvertedLevel-Formelfunktion.

GetReferences()

Ruft ein Array mit LocalNodeObjects ab, die Verweise für diesen Knoten sind (alle Hierarchien, in denen dieser Knoten vorkommt).

GetReferenceInHier(hierAbbrev)

Ruft den Verweis auf diesen Knoten in der angegebenen Hierarchie ab. Wenn der Zugriff auf die Hierarchie nicht möglich ist oder sich dieser Knoten nicht in dieser Hierarchie befindet, ist das Ergebnis "null".

NextSibling()

Ruft das nächste gleichgeordnete Element dieses Knotens in der Sortierreihenfolge ab.

PreviousSibling()

Ruft das vorherige gleichgeordnete Element dieses Knotens in der Sortierreihenfolge ab.

SiblingsWith(func, maxResults, inclusive)

Durchsucht die gleichgeordneten Elemente des Knotens nach Knoten, die die angegebene Funktion erfüllen. Gibt ein Array mit LocalNodeObject-Ergebnissen zurück.

  • "func" muss eine Funktion sein, die ein einzelnes Knotenargument annimmt und "True" zurückgibt, wenn der Knoten in den Ergebnissen enthalten sein muss, oder "False", wenn der Knoten den Test nicht besteht.

  • maxResults ist optional und hat standardmäßig den Wert 1. Verwenden Sie 0, um keinen Grenzwert festzulegen (alle Vorgänger, die die Bedingung erfüllen).

  • inclusive ist optional und hat standardmäßig den Wert "False". Verwenden Sie "True", um den aktuellen Knoten in die potentiellen Übereinstimmungen einzuschließen (der Knoten muss den Test trotzdem bestehen).

NodePropObject

Tabelle 12-19 NodePropObject-Eigenschaften

Name Beschreibung

Abbrev

Der Name der Eigenschaftsdefinition

ControllingHierarchy

Das HierarchyObject für die Steuerhierarchie der Eigenschaftsdefinition in dieser Version. Wenn die Eigenschaft keine globale Knoteneigenschaft ist, nicht über eine Steuerhierarchie verfügt oder die Steuerhierarchie nicht gefunden wird, ist der Rückgabewert "null".

Locked

"True", wenn der Wert gesperrt ist

Origin

Ein PropOrigin-Aufzählungswert, zum Beispiel PropOrigin.Overridden (siehe Aufzählungskonstanten)

Owner

Das Objekt, dem dieser Wert zugeordnet ist (VersionObject, HierarchyObject, NodeObject oder LocalNodeObject)

PropType

Ein PropType-Aufzählungswert, zum Beispiel PropType.Defined (siehe Aufzählungskonstanten)

StringValue

Der unformatierte Zeichenfolgenwert dieser Eigenschaft. Bei Derived- oder RWDerived-Eigenschaften kann dies der Standardwert der Eigenschaftsdefinition oder der überschriebene Wert sein.

Value

Der interpretierte Wert dieser Eigenschaft (für DataType.Float und DataType.Integer ist dieser Wert z.B. ein Objekt vom Typ "Number"). Nicht alle DataTypes verfügen notwendigerweise über eine Darstellung, die keine Zeichenfolge ist.

Tabelle 12-20 NodePropObject-Methoden

Name Beschreibung

GetPropDef()

Ruft das PropDefObject für die Knoteneigenschaft ab.

RangeListObject

Das RangeListObject stellt eine RangeList mit Werten dar und kann zum Prüfen einer RangeList-Eigenschaft verwendet werden, ohne dass Zeichenfolgen manuell geparst werden müssen. Ein neues RangeListObject kann auch für die Rückgabe aus einer abgeleiteten Eigenschaft des entsprechenden Datentyps erstellt werden.

Beispiel für Konstruktor

var x = new RangeListObject();
var y = new RangeListObject("1-10,20-25");
var z = new RangeListObject([{start:1, end:10},{start:20, end:25}]);

Tabelle 12-21 RangeListObject-Konstruktorparameter

Parameter Optional Beschreibung

ranges

True

Bereichswerte für die Initialisierung. Dieser Parameter ist optional. Zwei Formate sind zulässig:

  • Array – Ein Array, wobei jedes Element des Arrays ein Objekt ist, das über eine Start- und eine Endeigenschaft zum Angeben des Bereichs verfügt. Jedes Objekt im Array, das diese Eigenschaften nicht aufweist, wird ignoriert.

  • Zeichenfolge – Eine durch Komma getrennte Liste mit Zeichenfolgeneinträgen. Jeder Eintrag enthält die Start- und Endwerte, die durch einen Bindestrich (-) oder ein Gleichheitszeichen (=) getrennt sind.

Tabelle 12-22 RangeListObject-Eigenschaften

Name Beschreibung

Bereiche

Ein Array von Objekten. Jedes Objekt verfügt über zwei Eigenschaften:

  • start – Der Start des Bereichseintrags

  • end – Das Ende des Bereichseintrags

Diese Eigenschaft ist schreibgeschützt. Verwenden Sie die folgenden Methoden, um den Bereich zu ändern.

Tabelle 12-23 RangeListObject-Methoden

Name Beschreibung

AddRange(start, end)

Fügt der Bereichsliste einen neuen Bereich hinzu. Dadurch kann ein vorhandener Bereichseintrag erweitert oder ein neuer Eintrag erstellt werden. Um der Liste eine einzelne Zahl hinzuzufügen, verwenden Sie diese für beide Parameter ("start" und "end"). Bei Bedarf werden beide Parameter zwangsweise in Ganzzahlen umgewandelt.

Contains(value)

Gibt "True" zurück, wenn der Wert in der Bereichsliste enthalten ist. Andernfalls wird "False" zurückgegeben.

"value" wird bei Bedarf zwangsweise in eine Ganzzahl konvertiert.

IsSupersetOf(range)

Gibt "True" zurück, wenn das aktuelle RangeListObject eine Obermenge des angegebenen RangeListObject ist. Die Übergabe eines anderen Objekttyps führt zu einem Fehler.

RemoveRange(start, end)

Entfernt einen Bereich aus der Liste. Dadurch kann ein vorhandener Bereichseintrag in zwei Einträge unterteilt werden, oder ein Eintrag kann vollständig entfernt werden. Um eine einzelne Zahl aus der Liste zu entfernen, verwenden Sie diese für beide Parameter ("start" und "end"). Bei Bedarf werden beide Parameter zwangsweise in Ganzzahlen umgewandelt.

NodeEnumeratorObject

Ein NodeEnumeratorObject ist eine äußerst effiziente Möglichkeit, um eine Liste mit Knoten zu bearbeiten. Anstatt die vollständige Liste auf einmal zu erstellen, ruft der Enumerator immer nur einen Knoten nach Bedarf ab. Wenn Sie das gesuchte Element in der Mitte der Liste finden, können Sie den Enumerator beenden. Eigenschaften und Methoden, die ein Array mit Knotenobjekten zurückgeben, müssen das gesamte Array unabhängig davon, ob Sie auf die Elemente am Ende des Arrays zugreifen, sofort erstellen.

Der Enumerator beginnt mit einem aktuellen Wert von "null". Sie müssen MoveNext() aufrufen, damit der Enumerator zum ersten Knoten in der Liste geht.

Hinweis:

Eine bewährte Vorgehensweise besteht darin, die With-Methoden wie AncestorsWith oder SiblingsWith zu verwenden, wenn Sie unter allen möglichen Übereinstimmungen nur einige Knoten suchen müssen und die Liste nur einmal iterieren müssen. Wenn Sie die Liste der Vorgängerknoten mehrmals durchgehen müssen oder wissen, dass Sie die meisten oder alle der Vorgänger benötigen, ist ein Enumerator möglicherweise schneller.

Tabelle 12-24 NodeEnumeratorObject-Methoden

Name Beschreibung

GetCurrent()

Der aktuelle Knoten (je nach Kontext entweder ein NodeObject oder ein LocalNodeObject).

MoveNext()

Der Enumerator fährt mit dem nächsten Knoten fort. Gibt "False" zurück, wenn keine weiteren Knoten für die Aufzählung vorhanden sind.

ValidationObject

Tabelle 12-25 ValidationObject-Eigenschaften

Name Beschreibung

Abbrev

Name der Validierung (einschließlich des vollqualifizierten Namespace)

Descr

Beschreibung

EditorLabel

Label

Cascade

"True", wenn die Validierungszuweisung geerbt wird

ValidationClass

Name der Validierungsklasse

ValidationLevel

Ein ValidationLevel-Aufzählungswert, zum Beispiel ValidationLevel.Node (siehe Aufzählungskonstanten)

ValidationType

Ein ValidationType-Aufzählungswert, zum Beispiel ValidationType.Batch (siehe Aufzählungskonstanten)

Validierungsskripte

  • Das Validierungsskript gibt ein JavaScript-Objekt zurück, das eine Eigenschaft mit dem Namen "success" enthält. Wenn das Skript einen booleschen Wert oder ein Objekt zurückgibt, das kein boolescher Wert ist (z.B. eine Zahl oder Zeichenfolge), dann wird sein Wert mit Standard-JavaScript-Konvertierungsregeln in einen booleschen Wert konvertiert und anschließend der success-Eigenschaft zugewiesen. Das Skript kann optional in der Eigenschaft mit dem Namen "parameters" ein JavaScript-Array mit Werten zurückgeben. Die Arraywerte werden in der Fehlermeldung der Validierung mit der Zeichenfolgenersetzung ersetzt.

  • Sie können einen Booleschen Wert ("True" oder "False") zurückgeben. Wenn Sie "True" zurückgeben, ist die Validierung erfolgreich. Andernfalls ist sie nicht erfolgreich. Wenn Sie keinen Wert zurückgeben, wird dies so behandelt, als hätten Sie "False" zurückgegeben.

  • Wenn Sie ein Objekt zurückgeben, das kein Boolescher Wert ist, wie z.B. eine Zahl oder eine Zeichenfolge, wird dieses Objekt in einen Booleschen Wert konvertiert und dann zurückgegeben. Die JavaScript-Standardkonvertierung wird angewendet. Zahlen gleich null, leere Zeichenfolgen sowie Objekte mit dem Wert "null" oder undefinierte Objekte werden als "False" interpretiert. Alle anderen Werte sind "True".

  • Wenn Sie ein komplexes Objekt zurückgeben, das die Eigenschaft "success" enthält, wird diese Eigenschaft in einen booleschen Wert konvertiert und als Rückgabewert der Validierung verwendet. Sie können optional in der Eigenschaft "parameters" ein Array mit Werten zurückgeben. Dies ist ein JavaScript-Arrayobjekt, das aufgefüllt und anschließend in der parametrisierten Fehlermeldung verwendet werden muss. Die Parameter werden in der Fehlermeldung der Validierung mit der Zeichenfolgenersetzung ersetzt. Sie müssen die richtige Anzahl Werte zurückgeben, die den Platzhaltern in der Fehlermeldung entspricht. Wenn Sie zusätzliche Parameter zurückgeben, werden diese ignoriert. Wenn Sie nicht genügend Parameter zurückgeben, werden die fehlenden Parameter als leere Zeichenfolgen betrachtet.

RequestObject

RequestObject stellt eine Governance-Anforderung dar, einschließlich Anforderungsheader und -elementen. Die Elementeigenschaft stellt eine Liste der Anforderungselemente dar, die der Anforderung hinzugefügt wurden. Ein Schlüsselattribut ist die Versionseigenschaft, die die Zielversion für die Anforderung darstellt, einschließlich der zugehörigen Hierarchien und Knoten, auf die über die relevanten Skriptobjekte zugegriffen werden kann.

Tabelle 12-26 RequestObject-Eigenschaften

Name Beschreibung

ID

ID

Title

Titel der Anforderung

Version

Zielversion für die Anforderung

ModelName

Workflowmodell für die Anforderung

StageName

Aktuelle Phase der Anforderung

StageType

Ein WorkflowStageType-Aufzählungswert, zum Beispiel WorkflowStageType.Submit (siehe Aufzählungskonstanten))

Status

Ein WorkflowStatus-Aufzählungswert, zum Beispiel WorkflowStatus.Submitted (siehe Aufzählungskonstanten))

Items

Liste von RequestItemObject-Elementen, die der Anforderung hinzugefügt wurden

RequestItemObject

RequestItemObject stellt ein einzelnes Anforderungselement für eine Governance-Anforderung dar, einschließlich Informationen zur aktuellen Aufgabe und zum Knoten, der aktualisiert wird, zusammen mit den Details (Eigenschaftswerte) für das Element. Die Anforderungseigenschaft bietet Zugriff auf das gesamte Anforderungsobjekt für das Element, einschließlich Headereigenschaften und anderen Elementen.

Die NodeNamePendingInRequest-Methode wird zum Identifizieren potenzieller Knotennamenskonflikte mit anderen laufenden Anforderungen für die Zielversion verwendet. Es wird "True" zurückgegeben, wenn ein Element in einer anderen anstehenden Anforderung ein Hinzufügeelement für denselben Knotennamen enthält.

Tabelle 12-27 RequestItemObject-Eigenschaften

Name Beschreibung

ItemID

Element-ID

RequestID

Anforderungs-ID

Anforderung

Anforderungsobjekt, zu dem das Element gehört

NodeName

Core.Abbrev von Knoten, der aktualisiert wird

Beschreibung

Core.Descr von Knoten, der aktualisiert wird

HierarchyName

Hierarchie von Knoten, der aktualisiert wird

ParentName

Core.Parent von Knoten, der aktualisiert wird

TaskName

Workflowaufgabenname von Anforderungselement

TaskAction

Ein WorkflowAction-Aufzählungswert, zum Beispiel WorkflowAction.AddLimb (siehe Aufzählungskonstanten))

TaskDomain

Domainname (falls vorhanden) der Workflowaufgabe

ItemDetails

Liste von RequestItemDetailObject-Elementen für Anforderungselement

Tabelle 12-28 RequestItemObject-Methoden

Name Beschreibung

NodeNamePendingInRequest(name)

Akzeptiert einen Parameter eines bestimmten Knotennamens zum Testen. Gibt "True" zurück, wenn eine andere laufende Anforderung als die aktuelle Anforderung für die Version ein AddLimb/Leaf-Element mit dem angegebenen Namen enthält.

RequestItemDetailObject

RequestItemDetailObject stellt einzelne Anforderungselementdetails für eine Governance-Anforderung dar und entspricht einem einzelnen Eigenschaftswert.

Tabelle 12-29 RequestItemDetailObject-Eigenschaften

Name Beschreibung

CalcValue

Berechneter Wert der Eigenschaft

HasCalcValue

Gibt "True" zurück, wenn der Wert berechnet ist

Modified

Gibt "True" zurück, wenn der Wert in der Anforderung geändert wurde.

PropertyName

Name der Eigenschaft

Value

Wert der Eigenschaft