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.