Function Definitions

Following is an alphabetical listing of available functions used with derived formula property definitions.

Abbrev

Description

Returns the name (Abbrev) of the current node.

Syntax

Abbrev(): String 

Example

Abbrev()

Return value is the name of the node.

Add

Description

Adds two specified integer values and returns the result.

Syntax

Add(Int1,Int2:Integer):Integer

Example

Add(1,4)

Return value is 5.

AddedBy

Description

Returns the value of the Added By change tracking property.

Syntax

AddedBy():String

Example

AddedBy()

Returns the name of the user who added the current node to the version.

AddedOn

Description

Returns the value of the Added On change tracking property as a date/time.

Syntax

AddedOn():Date/Time

Example

AddedOn()

Returns the date and time at which the current node was added to the version.

AddFloat

Description

Adds two specified float values and returns the result.

Syntax

AddFloat(Float1,Float2:Float):Float

Example

AddFloat(2.14,3.75)

The return value is 5.89.

AncestorProp

Description

Returns a property value of the first ancestor where a property equals a specified value.

This function is local in scope and will not function properly if used in a global context.

Note:

If the current node is valid for the criteria, then it will be returned.

Syntax

AncestorProp(Operator:String,Property:String,Value:String,FromTop:Boolean,ReturnProp:String)

Operator is the operator to use when comparing the property with the value. Valid values: =, <, >, >=, and <=.

Property is the name of the property to use.

Value is the value to compare.

FromTop specifies whether to search from the top node of the hierarchy. If False, the search is performed starting from the current node.

ReturnProp is the name of the property to return.

And

Description

Returns True if all specified Boolean expressions evaluate to True.

Syntax

And(Expression1,Expression2,...ExpressionN:Boolean):Boolean 

Example

And(1,T,True)

Return value is True.

ArrayCount

Description

Returns the number of items in a specified list (array).

Syntax

ArrayCount(List:String,Delimiter:String):Integer

List specifies the list of strings in which to search.

Delimiter is the character to use to delineate items in the string list. Supported special characters:

  • [comma]

  • [space]

  • [tab]

Note:

You must use the name of the delimiter (not the character) and include brackets around the name.

Example

ArrayCount(Diet Cola;Root Beer;Cola,[comma])

Return value is 3.

ArrayIndex

Description

Returns the position of the first occurrence of the specified item within the list (array). Returns zero (0) if the item is not found.

Syntax

ArrayIndex(Item:String,List:String,Delimiter:String):Integer 

Item specifies the string value to test.

List specifies the list of strings in which to search.

Delimiter is the character to use to delineate items in the string list. Supported special characters:

  • [comma]

  • [space]

  • [tab]

Note:

You must use the name of the delimiter (not the character) and include brackets around the name.

Example

ArrayIndex(Cola,Diet Cola;Root Beer;Cola,[comma])

Return value is 3.

ArrayItem

Description

Returns the item in the list (array) at the specified index position.

Syntax

ArrayItem(List:String,Delimiter:String,Index:Integer):String

List specifies the list of strings in which to search.

Delimiter is the character to use to delineate items in the string list. Supported special characters:

  • [comma]

  • [space]

  • [tab]

Note:

You must use the name of the delimiter (not the character) and include brackets around the name.

Index is the position of the string in the list. A negative value indicates the last item in the list.

Example

ArrayItem(Diet Cola;Root Beer;Cola,;,3)

Return value is Cola.

AscNodeProp

Description

Returns a property value of the associated node referenced by the specified property.

Syntax

AscNodeProp(LookUpProperty,ReturnProperty)

LookupProperty is the name of the property that points to the node. Property must be datatype Node or AscNode.

ReturnProperty is the name of the property of the associated node to return. Property must be global.

AvgList

Description

Returns the average of the items in a list, ignoring blank items. Returns a blank string if the list contains an item not of the specified item type.

Syntax

AvgList(InputList:String,Delimiter:String,ItemType:String):String

InputList specifies the list to use.

Delimiter is the character to use to delineate items in the string list. Supported special characters:

  • [comma]

  • [space]

  • [tab]

Note:

You must use the name of the delimiter (not the character) and include brackets around the name.

ItemType indicates the expected item data type for list members. Valid values: integer, float, and datetime. The default value is float.

Example

AvgList(1;2;3,[comma],Integer)

Return value is 2.

BoolToStr

Description

Returns a Boolean value converted to True or False. Returns False if the input does not represent a Boolean value.

Syntax

BoolToStr(Expression:Boolean):String 

Example

BoolToStr(1)

Return value is True.

Changed

Description

Returns the value of the Node Changed change tracking property as a Boolean.

Syntax

Changed()

ChangedBy

Description

Returns the name of the user who last updated the current node in the version.

Syntax

ChangedBy():String

Example

ChangedBy()

ChangedOn

Description

Returns the value of the Changed On change tracking property.

Syntax

ChangedOn():Date/Time

Example

ChangedOn()

Returns the date and time at which the current node was last updated in the version.

Concat

Description

Concatenates two or more specified strings into one and returns the result.

Syntax

Concat(Item1,Item2,... ItemN:String):String 

Example

Concat(Abbrev,-,Descr())

If current node name is 100 and current node description is Colas, then return value is 100–Colas.

ConcatWithDelimiter

Description

Concatenates two or more strings into one delimited list and returns the result.

Syntax

ConcatWithDelimiter(Delimiter:String,SkipBlanks:Boolean,Items:String)

Delimiter is the character to use to delineate items in the string list. Supported special characters:

  • [comma]

  • [space]

  • [tab]

Note:

You must use the name of the delimiter (not the character) and include brackets around the name.

SkipBlanks indicates whether to skip blank values in the list of strings. Valid values: 1, 0, T, F, t, f.

Items specifies the list of strings to concatenate.

Example

ConcatWithDelimiter([comma],1,Item1,Item2,Item3,Item4)

Return value is Item1; Item2; Item3; Item4.

Decode

Description

Returns the input string with all instances of [openparen], [closeparen], [comma], [tab], [space], [crlf], [cr], and [lf] replaced by the appropriate character.

Note:

This function is for upgrading property definition names that use special characters. These special characters can cause parsing issues with derived property formulas. This function is used primarily to convert existing properties using deprecated deriver classes to the Formula deriver class.

Syntax

Decode(CodedString:String):String

CodedString is the string value on which to perform the function.

DefaultProp

Description

Returns the default value for the property.

Syntax

DefaultProp(Property:String)

Property is the name of the property to use.

Descr

Description

Returns the description of the current node.

Syntax

Descr():String

Example

If current node description is Colas, then return value is Colas.

Divide

Description

Divides two specified integer values and returns the result.

Syntax

Divide(Int1,Int2:Integer):Integer

Example

Divide(200,10)

Return value is 20.

DivideFloat

Description

Divides two floating-point numbers (float) and returns the result.

Syntax

Divide(Float1,Float2:Float):Float

Example

DivideFloat(2.535,1.5)

The return value is 1.69.

DualAncestorProp

Description

Returns a property value of the first ancestor where two properties equal the specified values.

This function is local in scope and will not function properly if used in a global context.

Syntax

DualAncestorProp(Operator1:String,Property1:String,Value1:String,Operator2:String,Property2:String,Value2:String,FromTop:Boolean,ReturnProp:String):String

Operator1 is the operator to use when comparing the first property and value. Valid values: =, <, >, >=, and <=.

Property1 is the name of the first property to check.

Value1 is the first value to compare.

Operator2 is the operator to use when comparing the second property and value. Valid values: =, <, >, >=, and <=.

Property2 is the name of the second property to check.

Value2 is the second value to compare.

FromTop specifies whether to search from the top node of the hierarchy. If False, the search is performed starting from the current node.

ReturnProp is the name of the property of the ancestor to return.

Equals

Description

Returns True if two specified values are equal. This function is case-sensitive.

Syntax

Equals(ParamType:String,Param1:String,Param2:String):Boolean

ParamType is the data type to use for comparing values. Valid values: string, integer, float, date. The default value is integer.

Param1 is the first value to compare.

Param2 is the second value to compare.

Example

Equals(integer,01,1)

Return value is True.

FlipList

Description

Returns a string representing the reverse of the specified list.

Syntax

FlipList(List,Delimiter:String):String

List specifies the list of strings to flip.

Delimiter is the character to use to delineate items in the string list. Supported special characters:

  • [comma]

  • [space]

  • [tab]

Note:

You must use the name of the delimiter (not the character) and include brackets around the name.

Example

FlipList(DietCola;Orange Soda;Root Beer;Lemonade,[comma])

Return value is Lemonade,Root Beer,Orange Soda,Diet Cola.

FloatToStr

Description

Returns a float value converted to a string. Returns zero (0) if the input value does not represent a float.

Syntax

FloatToStr(Float1:Float):String

Example

FloatToStr(1.001)

Return value is 1.001.

Format

Description

Formats the value using a specified format string parameter type identifier and parameter value of the specified type. This function is limited to one value parameter.

Syntax

Format(Format:String,ParamType:String, ValueToFormat:String):String

Format is the format to apply.

ParamType is the data type to use for comparing values. Valid values: string, integer, float, date. The default value is integer.

ValueToFormat is the value on which to perform the function.

Example

Format('%8.2f',Float,123.456)

Return value is 123.46.

FormattedDate

Description

Returns the value of a date property formatted using the specified format string.

Syntax

FormattedDate(PropertyName:String,FormatString:String): String

PropertyName is the name of the property to use.

FormatString specifies the date format to apply.

GreaterThan

Description

Compares two values and returns True if the first value is greater than the second value.

Syntax

GreaterThan(Value1:Integer,Value2:Integer,ParamType:String):Boolean

Value1 is the first value to compare.

Value2 is the second value to compare.

ParamType is the data type to use for comparing values. Valid values: string, integer, float, date. The default value is integer.

Example

GreaterThan(1,2)

The return value is False.

GreaterThanOrEqual

Description

Compares two values and returns True if the first value is greater than or equal to the second value.

Syntax

GreaterThanOrEqual(Value1:Integer,Value2:Integer,ParamType:String):Boolean

Value1 is the first value to compare.

Value2 is the second value to compare.

ParamType is the data type to use for comparing values. Valid values: string, integer, float, date. The default value is integer.

Example

GreaterThanOrEqual(2,2)

The return value is True.

HasCharacters

Description

Returns True if the specified Input contains characters from the Character Classes, Special Characters, or Characters listed in CharList.

Syntax

HasCharacters(Input:String,CharList:String):Boolean

Input is the string value to test.

CharList is a list of characters to test, including optional special values. Special character values are enclosed in brackets and separated by a comma. Valid values: [alpha], [numeric], [whitespace], [punctuation], [uppercase], [lowercase], [comma], [space], [tab], [crlf], [cr], [lf], [openparen], and [closeparen].

HasChildWith

Description

Returns True if the specified expression is True for any child of the current node.

Syntax

HasChildWith(Expression:Boolean):Boolean 

Example

HasChildWith(GreaterThan(ID(),200))

If the current node has any children with an ID greater than 200, then return value is True.

HasParentNode

Description

Returns True if the current local node has a parent node.

This function is local in scope and will not function properly if used in a global context.

Syntax

HasParentNode():Boolean

Example

HasParentNode()

If the node is a child of the top node of a hierarchy or any descendant node, then the return value is True.

HasSiblingWith

Description

Returns True if the specified expression is True for any sibling of the current node.

This function is local in scope and will not function properly if used in a global context.

Syntax

HasSiblingWith(Expression:Boolean):Boolean 

Example

HasSiblingWith(PropValue(Leaf))

If any of the children are leaves, then the return value is True.

HierNodePropValue

Description

Returns the value of the specified property of the specified node in the specified hierarchy.

Syntax

HierNodePropValue(HierAbbrev:String,NodeAbbrev:String,PropAbbrev:String):String

HierAbbrev is the name of the hierarchy to use.

NodeAbbrev is the name of the node to use.

PropAbbrev is the name of the property to use.

Example

HierNodePropValue(Assets,1000,Description)

If the description for node 1000 in the Assets hierarchy is "Banking", then the return value is Banking.

ID

Description

Returns the ID of the current node.

Syntax

ID():Integer

Example

ID()

If the current node ID is 2000, then the return value is 2000.

If

Description

Returns the value of the TrueResult parameter if the specified expression evaluates to True. Otherwise, it returns the value of the FalseResult parameter.

Syntax

If(Expression:Boolean, TrueResult:String,FalseResult:String):String

Expression is a Boolean expression to evaluate.

TrueResult is the string value to return if the condition is True.

FalseResult is the string value to return if the condition is False.

Example

If(Equals(String,Descr(),),Abbrev(),Concat(Abbrev,-,Descr()))

If the node name is Colas and the current node description is blank, then the return value is Colas.

If the node name is 100 and the current node descriptions is Colas, then the return value is 100–Colas.

InheritedPropOrigin

Description

Returns the name of the node from where an inherited property value originates. If the specified property is global, then the origin hierarchy is also returned. Returns False if the specified property is not inheriting, or if the node or property is not found.

This function can be local in scope if a local property is passed in the parameters.

Syntax

InheritedPropOrigin(PropAbbrev:String,Node:String):String

Example

InheritedPropOrigin(Custom.AccountType,Abbrev())

PropAbbrev is the name of the property to use.

Node is the name of the node to use.

InRange

Description

Returns True if the specified value falls within a specified range of values. If the input parameter is a string, the Min and Max parameters specify a string length range to check. For other types, Min and Max specify a numeric or date value range to check.

Note:

If MinExclusive/MaxExclusive is True, then values equal to the Min/Max are included in the range, otherwise they are excluded.

Syntax

InRange(DataType:String,Input:String,Min:String,Max:String,MinExclusive:String,MaxExclusive:String):Boolean

DataType is the data type to use. Valid values: string, integer, float, and datetime.

Input is the string value to test.

Min is the minimum value for length or range check.

Max is the maximum value for length or range check.

MinExclusive specifies whether to exclude the Min value from the range to check.

MaxExclusive specifies whether to exclude the Max value from the range to check.

Example

InRange(Integer,5,1,10,False,False)

Return value is True.

InternalPrefix

Description

Returns the non-numeric prefix from the name of the current node.

Syntax

InternalPrefix()

Intersection

Description

Returns the set of items common to both specified lists of values. The ordering of the results is based on how the items appear in the first list specified.

Syntax

Intersection(List1:String,List2:String,Delimiter:String):String

List1 specifies a list of strings in which to search.

List2 specifies a list of strings in which to search.

Delimiter is the character to use to delineate items in the string list. Supported special characters:

  • [comma]

  • [space]

  • [tab]

Note:

You must use the name of the delimiter (not the character) and include brackets around the name.

Example

Intersection(A;B;C;D;E,C;E;F;A,[comma])

The return value is A,C,E.

IntToStr

Description

Returns the specified integer value converted to a string data type. Returns zero (0) if the input value does not represent an integer.

Syntax

IntToStr(Int1:Integer):String

Example

IntToStr(12345)

The return value is 12345.

InvertedLevel

Description

Returns the maximum depth of descendants below the current node.

Syntax

InvertedLevel()

IsAlpha

Description

Returns True if the specified string contains only alphabetical characters (case-insensitive).

Syntax

IsAlpha(String:String):Boolean

Example

IsAlpha(A23D)

The return value is False.

IsAlphaNumeric

Description

Returns True if the specified string contains only alphabetical or numeric characters (not case-sensitive).

Syntax

IsAlphaNumeric(String:String,AllowBlanks:Boolean):Boolean

String is the string value to test.

AllowBlanks specifies whether a blank string should be treated as numeric. Default is False.

Example

IsAlphaNumeric(ABC123,True)

Returns True.

IsBlank

Description

Returns True if the specified input value is an empty string (zero length).

Syntax

IsBlank(Input:String):Boolean

Example

IsBlank(Descr())

Returns True if the node description is blank.

IsBottomNode

Description

Returns True if the specified node has no child nodes. Returns False if the node is not found.

Syntax

IsBottomNode(Node:String):Boolean

Node is the name of the node to use.

Example

IsBottomNode(Abbrev)

Returns True if the node does not have children.

IsDataType

Description

Returns True if the input value matches the specified data type.

Syntax

IsDataType(DataType:String,Input:String):Boolean

DataType is the data type to use. Valid values: boolean, string, integer, float, and datetime.

Input is the string value to test.

Example

IsDataType(123,Integer)

Returns True.

IsDefinedPropVal

Description

Returns True if the specified property for the specified node has a defined (overridden) value. Returns False if the node or property is not found.

This function can be local in scope if a local property is passed in the parameters.

Syntax

IsDefinedPropVal(PropAbbrev:String,Node:String):Boolean

PropAbbrev is the name of the property to use.

Node is the name of the node to use.

Example

IsDefinedPropVal(Custom.AccountType,Abbrev())

Returns True if the Account Type property has a defined (overridden) value.

IsNodeAbove

Description

Returns True if the first node is an ancestor of the second node in the current hierarchy. Returns False if Node1 or Node2 is not found.

This function is local in scope and will not function properly if used in a global context.

Syntax

IsNodeAbove(Node1:String,Node2:String):Boolean

Node1 is the name of the first node to use.

Node2 is the name of the second node to use.

Example

IsNodeAbove(Parent,Child)

Returns True if node parent is an ancestor of the child node.

IsNodeBelow

Description

Returns True if the first node is a descendant of the second node in the current hierarchy. Returns False if Node1 or Node2 is not found.

Syntax

IsNodeBelow(Node1:String,Node2:String):Boolean

Node1 is the name of the first node to use.

Node2 is the name of the second node to use.

Example

IsNodeBelow(Child,Parent)

Returns True if node child is descendant of the parent node.

IsNumeric

Description

Returns True if the specified value contains only numeric characters (0-9).

Syntax

IsNumeric(String: String,AllowBlanksAsNumeric:Boolean):Boolean

String is the string value to test.

AllowBlanksAsNumeric specifies whether to allow a blank value to be considered a string. The default value is False.

Example

IsNumeric(12345)

The return value is True.

IsRangeListSubset

Description

Returns True if the specified value is a subset of the specified range list.

Syntax

IsRangeListSubset(RangeList:Range List,SubsetRangeList:Range List,Delimiter:String):Boolean

RangeList is a list of integer ranges to search, separated by the specified delimiter.

SubsetRangeList is a subset list of integer ranges to search, separated by the specified delimiter.

Delimiter is the character to use to delineate items in the string list. Supported special characters:

  • [comma]

  • [space]

  • [tab]

Note:

You must use the name of the delimiter (not the character) and include brackets around the name.

Length

Description

Returns the number of characters in the specified string value.

Syntax

Length(String:String):Integer

Example

Length(Desc())

If the description for the current node is Colas, then the return value is 5.

LessThan

Description

Compares two values and returns True if the first value is less than the second value.

Syntax

LessThan(Value1:Integer,Value2:Integer,ParamType:String):Boolean

Value1 is the first value to compare.

Value2 is the second value to compare.

ParamType is the data type to use for comparing values. Valid values: string, integer, float, date. The default value is integer.

Example

LessThan(1,2)

The return value is True.

LessThanOrEqual

Description

Compares two values and returns True if the first value is less than or equal to the second value.

Syntax

LessThanOrEqual(Value1:Integer,Value2:Integer,ParamType:String):Boolean

Value1 is the first value to compare.

Value2 is the second value to commpare.

ParamType is the data type to use for comparing values. Valid values: string, integer, float, date. The default value is integer.

Example

LessThanOrEqual(3,3)

The return value is True.

ListAncestors

Description

Returns a comma-delimited list of the names of the current node’s ancestors, starting from the top node. Returns a blank string if the current node is not a local node.

This function is local in scope and will not function properly if used in a global context.

Syntax

ListAncestors(SortOrder:String):String

SortOrder specifies the sort order for the return list of nodes. Supported sort order values:

  • [hier]––Default value for local context. The list of nodes is returned in the standard hierarchy sort order for the current hierarchy.

  • [alpha]––The list of nodes is returned sorted by node name.

  • [nodeid]––Limited use for legacy compatibility. The list of nodes is returned sorted numerically on the node ID of each node in the return list.

Note:

You must use brackets around the SortOrder parameter.

Example

ListAncestors([alpha])

If A, B, C, and D are children of Z, Z is a child of Y, and the current node is D, then the return value is Z,Y.

ListChildren

Description

Returns a comma-delimited list of children for the current node.

Syntax

ListChildren(SortOrder:String):String

SortOrder specifies the sort order for the return list of nodes. Supported sort order values:

  • [hier]––Default value for local context. The list of nodes is returned in the standard hierarchy sort order for the current hierarchy.

  • [alpha]––The list of nodes is returned sorted by node name.

  • [nodeid]––Limited use for legacy compatibility. The list of nodes is returned sorted numerically on the node ID of each node in the return list.

Note:

You must use brackets around the SortOrder parameter.

Example

ListChildren([alpha])

If A, B, C, and D are children of Z and the current node is Z, then the return value is A, B, C, D.

ListContains

Description

Returns True if the specified list contains the specified value.

Syntax

ListContains(List:String,Item:String,Delimiter: String):Boolean

List specifies the list of strings in which to search.

Item specifies the string value on which to perform the function.

Delimiter is the character to use to delineate items in the string list. Supported special characters:

  • [comma]

  • [space]

  • [tab]

Note:

You must use the name of the delimiter (not the character) and include brackets around the name.

Example

ListContains(PropValue(NodeList),Colas,[comma])

The return value is True.

ListDescendants

Description

Returns a comma-delimited list of descendants for the current node.

Syntax

ListDescendants(SortOrder:String):String 

SortOrder specifies the sort order for the return list of nodes. Supported sort order values:

  • [hier]––Default value for local context. The list of nodes is returned in the standard hierarchy sort order for the current hierarchy.

  • [alpha]––The list of nodes is returned sorted by node name.

  • [nodeid]––Limited use for legacy compatibility. The list of nodes is returned sorted numerically on the node ID of each node in the return list.

Note:

You must use brackets around the SortOrder parameter.

Example

ListDescendants([hier])

If A, B, C, and D are children of Z, Z is a child of Y, and the current node is Y, then the return value is Z, A, B, C, D.

ListDistinct

Description

Returns a distinct list of items from a specified list, with duplicates removed.

Syntax

ListDistinct(InputList:String,Delimiter:String):String

InputList specifies the list to use.

Delimiter is the character to use to delineate items in the string list. Supported special characters:

  • [comma]

  • [space]

  • [tab]

Note:

You must use the name of the delimiter (not the character) and include brackets around the name.

Example

ListDistinct(A;B:C;A;D,[comma])

The return value is A,B,C,D.

ListNodePropValues

Description

Returns a list of property values for the specified property for a specified list of nodes. Returns a blank string in the list, for any node that cannot be found.

This function can be local in scope if a local property is passed in the parameters.

Syntax

ListNodePropValues(NodeList:String,Delimiter:String,PropAbbrev:String):String

NodeList is a comma-delimited list of node names.

Delimiter is the character to use to delineate items in the string list. Supported special characters:

  • [comma]

  • [space]

  • [tab]

Note:

You must use the name of the delimiter (not the character) and include brackets around the name.

PropAbbrev is the name of the property to use.

Example

ListNodePropValues(100;200;300,[comma],Core.Leaf)

Returns True,True,True if nodes 100, 200, and 300 are leaf nodes.

ListNodesWith

Description

Returns a list of nodes from the specified node list where the specified expression evaluates to True.

Syntax

ListNodesWith(NodeList:String,Delimiter:String,Expression:String):String

NodeList is a comma-delimited list of node names.

Delimiter is the character to use to delineate items in the string list. Supported special characters:

  • [comma]

  • [space]

  • [tab]

Note:

You must use the name of the delimiter (not the character) and include brackets around the name.

Expression is a Boolean expression to evaluate.

Example

ListNodesWith(100;200;300,[comma],NodeIsLeaf())

Returns True,True,True if nodes 100, 200, and 300 are leaf nodes.

ListRelatedNodesWith

Description

Returns a list of nodes related to the current node where the specified expression evaluates to True.

This function is local in scope if the relationship parameter is Ancestors or Siblings.

Syntax

ListRelatedNodesWith(Relation:String,Expression:String,SortOrder:String,Max:Integer):String

Relation can be:

  • Ancestors––Local properties can be referenced in the specified expression

  • Siblings––Local properties can be referenced in the specified expression

  • Children––Local and global properties can be referenced in the specified expression

  • Descendants––Local and global properties can be referenced in the specified expression

Expression is a Boolean expression to evaluate.

SortOrder specifies the sort order for the return list of nodes. Supported sort order values:

  • [hier]––Default value for local context. The list of nodes is returned in the standard hierarchy sort order for the current hierarchy.

  • [alpha]––The list of nodes is returned sorted by node name.

  • [nodeid]––Limited use for legacy compatibility. The list of nodes is returned sorted numerically on the node ID of each node in the return list.

Note:

You must use brackets around the SortOrder parameter.

Max is an integer value indicating the maximum number of nodes to return. Zero or no value indicates no limit, and all nodes are returned.

Example

ListRelatedNodesWith(children,True,[alpha],1000)

Returns 100,200,300 if the nodes are children of the current node.

ListSiblings

Description

Returns a comma-delimited list of siblings (peers) of the current node.

This function is local in scope and will not function properly if used in a global context.

Syntax

ListSiblings(SortOrder:String):String

SortOrder specifies the sort order for the return list of nodes. Supported sort-order values:

  • [hier]––Default value for local context. The list of nodes is returned in the standard hierarchy sort order for the current hierarchy.

  • [alpha]––The list of nodes is returned sorted by node name.

  • [nodeid]––Limited use for legacy compatibility. The list of nodes is returned sorted numerically on the node ID of each node in the return list.

Example

ListSiblings([alpha])

If A, B, C, and D are children of Z and the current node is B, then the return value is A, C, D.

LowerCase

Description

Returns the specified string value converted to lower case.

Syntax

LowerCase(String:String):String

Example

LowerCase(HOBBES)

The return value is hobbes.

LTrim

Description

Returns the specified value with all spaces trimmed from the beginning of the string.

Syntax

LTrim(String: String): String 

Example

LTrim("   101203")

The return value is 101203.

MaxList

Description

Returns the maximum item from the specified list, ignoring blank items. Returns a blank string if the list contains an item not of the specified type.

Syntax

MaxList(InputList: String,Delimiter: String,ItemType: String)

InputList specifies the list to use.

Delimiter is the character to use to delineate items in the string list. Supported special characters:

  • [comma]

  • [space]

  • [tab]

Note:

You must use the name of the delimiter (not the character) and include brackets around the name.

ItemType indicates the expected item data type for list members. Valid values: integer, float, and datetime. The default value is float.

Example

MaxList(1;2;3,[comma],Integer)

Return value is 3.

MinList

Description

Returns the minimum item from the specified list, ignoring blank items. Returns a blank string if the list contains an item not of the specified type.

Syntax

MinList(InputList:String,Delimiter:String,ItemType:String)

InputList specifies the list to use.

Delimiter is the character to use to delineate items in the string list. Supported special characters:

  • [comma]

  • [space]

  • [tab]

Note:

You must use the name of the delimiter (not the character) and include brackets around the name.

ItemType indicates the expected item data type for list members. Valid values: integer, float, and datetime. The default value is float.

Example

MinList(1;2;3,[comma],Integer)

Return value is 1.

Modulus

Description

Returns the modulus (remainder) of the division of two specified integers.

Syntax

Modulus(Dividend: Integer, Divisor: Integer): Integer 

Dividend is the numerator of the fraction being divided.

Divisor is the denominator of the fraction being divided.

Example

Modulus(5,2)

The return value is 1.

Multiply

Description

Multiplies two specified integers and returns the result.

Syntax

Multiply(Int1: Integer, Int2: Integer): Integer 

Example

Multiply(2,5)

The return value is 10.

MultiplyFloat

Description

Multiplies two specified floating-point numbers (float) and returns the result.

Syntax

Multiply(Float1: Float, Float2: Float): Float

Example

MultiplyFloat(4.76,2.3)

The return value is 10.948.

NextSibling

Description

Returns the next sibling for the current node based on the sort order used for the current hierarchy.

This function is local in scope and will not function properly if used in a global context.

Syntax

NextSibling(): String

Example

NextSibling()

If A, B, C, and D are children of Z and the current node is B, then the return value is C.

NodeAccessGroups

Description

Returns a comma-delimited list of node access groups for the current user for the current node.

This function is local in scope and will not function properly if used in a global context.

Syntax

NodeAccessGroups(): String 

Example

NodeAccessGroups()

The return value is Accounts, Finance.

NodeExists

Description

Returns True if the specified node exists.

Syntax

NodeExists(NodeAbbrev: string): Boolean 

NodeAbbrev is the name of the node to use.

Example

NodeExists(2000)

If node 2000 exists, then the return value is True.

NodeInHier

Description

Returns True if the specified node exists in the specified hierarchy.

Syntax

NodeInHier(NodeAbbrev, HierAbbrev: string): Boolean 

NodeAbbrev is the name of the node to use.

HierAbbrev is the name of the hierarchy to use.

Example

NodeInHier(2000,Assets)

If the node 2000 is in the Assets hierarchy, then the return value is True.

NodeIsLeaf

Description

Returns True if the current node is a leaf node.

Syntax

NodeIsLeaf(): Boolean 

Example

NodeIsLeaf()

If the current node is a leaf, then the return value is True.

NodeIsValidForPropertyHiers

Description

Returns True if the specified node satisfies the hierarchy constraint for the specified property. Also returns True if the property does not store node values or if no constraint is defined for the property.

This function can be local in scope if a local property is passed in the parameters.

Syntax

NodeIsValidForPropertyHiers(NodeAbbrev: String, PropAbbrev: String): Boolean

NodeAbbrev is the name of the node to use.

PropAbbrev is the name of the property to use.

NodePropValue

Description

Returns the value of the specified property of the specified node in the current hierarchy for a local node or in the current version for a global node.

This function can be local in scope if a local property is passed in the parameters.

Syntax

NodePropValue(NodeAbbrev: String, PropAbbrev: String): String 

NodeAbbrev is the name of the node to use.

PropAbbrev is the name of the property to use.

Example

NodePropValue(2000,Abbrev())

Return value is 2000.

Not

Description

Returns the Boolean opposite of the specified Boolean expression.

Syntax

Not(Expression: Boolean): Boolean 

Example

Not(NodeIsLeaf())

If the node is a limb, then the return value is True.

Now

Description

Returns the current system date and/or time.

Syntax

Now([DateTimeType: String]): DateTime

DataTimeType is optional for specifying which date portion to return. Valid values: Date, Time, Datetime. The default value is Date.

Example

Now()

Returns the current date and time; for example 3/25/2010 9:20:44 AM.

Now(Time)

Returns only the current time; for example 9:20:44 AM.

Now(Date)

Returns only the current date; for example 3/25/2010.

NumChildWith

Description

Returns the number of children for the current node where the specified expression evaluates to True.

Syntax

NumChildWith(Expression: Boolean): Integer 

Example

NumChildWith(NodeIsLeaf())

If the node has two leaf children, then the return value is 2.

NumDescendantsWith

Description

Returns the number of descendants for the current node where the specified expression evaluates to True.

Syntax

NumDescendantsWith(Expression: Boolean): Integer 

Example

NumDescendantsWith(NodeIsLeaf())

If the node has two children and each child has 10 leaf children, then the return value is 20.

Or

Description

Returns True if any of the specified Boolean expressions evaluate to True.

Syntax

Or(Expression1, Expression2,... ExpressionN: Boolean): Boolean

Example

Or(NodeIsLeaf(),Equals(Integer,PropValue(Level),3))

If the current node is a leaf or is at level 3 in the hierarchy, then the return value is True.

OrigPropValue

Description

Returns the value of the specified property for the originating node when using the HasSiblingWith or NumDescendantsWith functions.

This function can be local in scope if a local property is passed in the parameters.

Syntax

OrigPropValue(PropAbbrev: String): String 

PropAbbrev is the name of the property to use.

Example

HasSiblingWith(GreaterThan(OrigPropValue(ID),ID())

If the current node's ID is 200 and it has any siblings with a node ID greater than 200, then the return value is True.

PadChar

Description

Returns a specified string lengthened using a specified pad character. Padding can be on the left or right of the original string. The resulting string is at least as long as the number of digits specified. If the original string is longer than the number of digits specified, the original list is returned.

Syntax

PadChar(String: String, PadChar: String; PadLeft: Boolean; NewLength: Integer): String 

String is the string value on which to perform the function.

PadChar is the character to use for padding the string.

PadLeft specifies whether to pad the string on the left. Valid values: 1, 0, T, F, t, or f.

NewLength is an integer specifying the length of the result.

Example

PadChar(102,0,1,6)

The return value is 000102.

PadList

Description

Returns a specified list lengthened using a specified pad character. Padding can be on the left or right of the original list. The resulting list is at least as long as the number of digits specified. If the original list is longer than the number of digits specified, the original list is returned.

Syntax

PadList(String, DelimChar, PadChr:String, PadLeft: Boolean, NewLength:Integer): String 

StringList is the list of strings to apply padding to, separated by the specified delimiter.

Delimiter is the character to use to delineate items in the string list. Supported special characters:

  • [comma]

  • [space]

  • [tab]

Note:

You must use the name of the delimiter (not the character) and include square brackets around the name.

PadChar is the character to use for padding the string.

PadLeft specifies whether to pad the string on the left. Valid values: 1, 0, T, F, t, or f.

NewLength is an integer specifying the length of the result.

Example

PadList(1;2;3;4,;,T,3)

The return value is 001;002;003,004.

ParentPropValue

Description

Returns the value of the specified property of the current node’s parent node. Returns a blank string if the node has no parent, or if the current node is not a local node.

This function is local in scope and will not function properly if used in a global context.

Syntax

ParentPropValue(PropAbbrev: String): String 

PropAbbrev is the name of the property to use.

Example

ParentPropValue(Abbrev)

If the parent node name is Colas, then the return value is Colas.

Pos

Description

Returns the position (index) of the first character of the specified substring within the specified string using a case-sensitive search. A zero value is returned if the substring is not found within the string value.

Syntax

Pos(SubString: String, String: String): Integer 

Substring is the string value for which to search.

String is the string value on which to perform the function.

Example

Pos(D,ABCDEFG)

The return value is 4.

PreviousSibling

Description

Returns the previous sibling for the current node based on the sort order used for the current hierarchy.

This function is local in scope and will not function properly if used in a global context.

Syntax

PreviousSibling(): String

Example

PreviousSibling()

If A, B, C, and D are children of Z and the current node is B, then the return value is A.

PropControllingHier

Description

Returns the name of the controlling hierarchy of the specified property in the current version.

Syntax

PropControllingHier(PropAbbrev: String): String 

PropAbbrev is the name of the property to use.

Example

PropControllingHier(TimeBalance)

The return value is Accounts.

PropDefaultValue

Description

Returns the default value of the specified property definition.

Syntax

PropDefaultValue(PropAbbrev: String): String 

PropAbbrev is the name of the property to use.

Example

PropDefaultValue(Currency)

The return value is USD.

PropertyCategories

Description

Returns a comma-delimited list of property categories for the current user.

Syntax

PropertyCategories(AccessType: String) :String

AccessType is the access level for a property category. Valid values: ReadOnly, ReadWrite, or Both.

Example

PropertyCategories(Both)

The return value is System, All, Essbase, Enterprise, HFM, Planning.

PropMaxValue

Description

Returns the maximum value of the specified property definition.

Syntax

PropMaxValue(PropAbbrev: String): Integer 

PropAbbrev is the name of the property to use.

Example

PropMaxValue(Volume)

The return value is 10.

PropMinValue

Description

Returns the minimum value of the specified property definition.

Syntax

PropMinValue(PropAbbrev: String): Integer

PropAbbrev is the name of the property to use.

Example

PropMinValue(Volume)

The return value is 1.

PropValue

Description

Returns the value of the specified property for the current node.

This function can be local in scope if a local property is passed in the parameters.

Syntax

PropValue(PropAbbrev: String): String 

PropAbbrev is the name of the property to use.

Example

PropValue(Volume)

The return value is 2.

RangeListContains

Description

Returns True if the specified list of ranges contains the specified value.

Syntax

RangeListContains(RangeList: String, Value: Integer, Delimiter: String): Boolean

RangeList is a list of integer ranges to search, separated by the specified delimiter. For example, 1-100, 201-300

Value is an integer value to search for in the list of ranges.

Delimiter is the character to use to delineate items in the string list. Supported special characters:

  • [comma]

  • [space]

  • [tab]

Note:

You must use the name of the delimiter (not the character) and include brackets around the name.

Example

RangeListContains(PropValue(MyRangeList),1,[Comma])

If the property MyRangeList' has a value of 1-10, 101-10000, then the return value is True, because 1 is contained in the specified range. However, RangeListContains(PropValue(MyRangeList),11,[Comma]) returns False, because 11 is not contained in the specified range.

Note:

If you change MyRangeList to "1-5,6-10,101-1000", Data Relationship Management replaces this value with "1-10,101-1000", because it verifies RangeList and combines ranges with contiguous boundaries.

ReplacementAbbrev

Description

Returns the replacement (merge) node name for the current node if the node is inactive and a merge node is specified.

Syntax

ReplacementAbbrev(): String 

Example

ReplacementAbbrev()

ReplacePropValue

Description

Returns the specified property value for the current node's replacement (merge) node if the node is inactive and a merge node is specified.

This function can be local in scope if a local property is passed in the parameters.

Syntax

ReplacePropValue(PropAbbrev: String): String 

PropAbbrev is the name of the property to use.

Example

ReplacePropValue(Description)

ReplaceStr

Description

Returns the string with instances of the old pattern replaced by the new pattern.

Syntax

ReplaceStr(String: String,OldPattern: String,NewPattern: String,ReplaceAll: Boolean): String

String is the string value on which to perform the function.

NewPattern is the string value with which to replace the found string.

OldPattern is the string value to search for.

ReplaceAll specifies whether to replace all occurrences of the search string with the replace string. Valid values: 1, 0, T, F, t, or f.

Example

ReplaceStr(A1;A2;A3,A,B,T)

The return value is B1;B2;B3.

RTrim

Description

Returns the specified value with all spaces trimmed from the end of the string.

Syntax

RTrim(String: String): String 

String is the string value on which to perform the function.

Example

RTrim("100   "))

The return value is 100.

SortList

Description

Returns the specified list in a sorted order.

Syntax

SortList(InputList: String,Delimiter: String,IgnoreCase: Boolean,ItemType: String)

InputList specifies the list to use.

Delimiter is the character to use to delineate items in the string list. Supported special characters:

  • [comma]

  • [space]

  • [tab]

Note:

You must use the name of the delimiter (not the character) and include square brackets around the name.

IgnoreCase specifies whether to ignore case when sorting. Default value is False.

ItemType indicates the target data type for result list items. Valid values: string, integer, float date, time, and datetime. The default value is string. If nay item cannot be converted to the specified type, the function returns a blank string.

StripPadChar

Description

Removes a specified pad character from the beginning of a specified string and returns the modified value. If the original string contains fewer pad characters than are specified for StripCount, the original string value is returned.

Syntax

StripPadChar(String: String, PadChar: String, StripCount: Integer): String

String is the string value on which to perform the function.

PadChar is the character to use for padding the string.

StripCount is an integer specifying the number of characters to remove from the string. Zero removes all padded characters.

Example

StripPadChar(0003333,0,6)

The return value is 3333.

StrToBool

Description

Returns a Boolean value based on the specified string. If the string starts with a Y, T, or 1 (one) regardless of case or following characters, a True value is returned. If the string starts with N, F, or 0 (zero) regardless of case or following characters, a False value is returned.

Syntax

StrToBool(String: String): Boolean

String is the string value on which to perform the function.

Example

StrToBool(0)

The return value is False.

StrToFloat

Description

Returns the float value of the specified string. Returns zero (0) for a space or blank string.

If the specified string does not represent a floating point number, an error is returned.

Syntax

StrToFloat(String: String): Float 

String is the string value on which to perform the function.

Example

StrToFloat(11.101)

The return value is 11.101.

StrToInt

Description

Returns the integer value of the specified string. Returns zero (0) for a space or blank string.

If the specified string does not represent an integer number, an error is returned.

Syntax

StrToInt(String: String): Integer 

String is the string value on which to perform the function.

Example

StrToInt(101)

The return value is 101.

Stuff

Description

Returns the specified value with the specified characters replaced by the specified string.

Syntax

Stuff(PropAbbrev: String, CharsToReplace: String, ReplacementChars: String): String 

PropAbbrev is the name of the property to use.

CharsToReplace is the string value to search for.

ReplacementChars is the string value with which to replace the found string.

Example

Stuff(Abbrev(),GEO,RIO)

If Abbrev is GEO101, then the return value is RIO101.

SubString

Description

Returns a portion of the specified string starting at the specified index and containing the specified number of characters.

Syntax

SubString(String: String, Index: Integer, Count: Integer): String

SubString is the string value on which to perform the function.

Index is an integer representing the index position to start searching for the substring. Zero indicates the first character position in the string.

Count is a number representing the number of characters to search, beginning from the starting index.

Example

SubString(Colas,1,2)

The return value is Co.

Subtract

Description

Subtracts the second integer value from the first value and returns the result.

Syntax

Subtract(Minuend: Integer,Subtrahend: Integer): Integer 

Minuend is an integer value

Subtrahend is an integer value.

Example

Subtract(10,2)

The return value is 8.

SubtractFloat

Description

Subtracts the second floating-point value from the first value and returns the result.

Syntax

SubtractFloat(Minuend,Subtrahend: Float): Float

Minuend is floating point value

Subtrahend is floating point value.

Example

SubtractFloat(8.09,3.76)

The return value is 4.33.

SumList

Description

Returns the sum of the items in a list, ignoring blank items. Returns a blank string if the list contains an item not of the specified item type.

Syntax

SumList(InputList: String,Delimiter: String,ItemType: String):Integer

InputList specifies the list to use.

Delimiter is the character to use to delineate items in the string list. Supported special characters:

  • [comma]

  • [space]

  • [tab]

Note:

You must use the name of the delimiter (not the character) and include brackets around the name.

ItemType indicates the expected item data type for list members. Valid values: integer, and float. The default value is float.

Example

SumList(1;2;3,;,Integer)

Return value is 6.

Trim

Description

Returns the specified value with all spaces trimmed from the beginning and end of the string.

Syntax

Trim(String: String): String 

String is the string value on which to perform the function.

Example

Trim("   101   ")

The return value is 101.

UpperCase

Description

Returns a string value converted to uppercase.

Syntax

UpperCase(String: String): String 

String is the string value on which to perform the function.

Example

UpperCase(smaller)

The return value is SMALLER.

UserName

Description

Returns the user name for the current user.

Syntax

UserName(): String 

Example

UserName()

Return value is the user name.

XOr

Description

Returns True if one and only one of the specified Boolean expressions evaluates to True.

Syntax

XOr(Expression1:Boolean, Expression2: Boolean): Boolean 

Example

XOr(NodeIsLeaf(),Equals(Integer,PropValue(Level),3))

If the node is either a leaf or is at level 3 in the hierarchy, the return value is True.