Skip to content

Functions

NileshGhodekar edited this page May 24, 2020 · 15 revisions

Overview

WAL functions enable you to modify attribute values prior to flowing them to a target in a value expression or when defining a XPath search filter. Each function can be grouped into one or more of the following categories.

A listing of functions in alphabetical order can be found here: MIMWAL Functions Table.

Conversion Functions

Function Description
ConvertFromBase64 Converts a base64 string to a byte array.
ConvertNumberToList Converts a number to a list of numbers starting from 1 to the specified input number.
ConvertSIDToString Converts a byte array containing a security identifier to a string.
ConvertStringToGUID / ConvertToGUID Converts the string representation of a GUID to a binary representation of the GUID.
ConvertToBase64 Converts a byte array to a base64 encoded string.
ConvertToBoolean Converts a string or a number to a boolean value.
ConvertToNumber Converts a string or a boolean value to a number.
ConvertToString Converts a value to its string representation.
ConvertToUniqueIdentifier Converts all supplied GUIDs to unique identifiers so they can be used in native FIM activities such as the Approval activity.
DateTimeFromFileTimeUTC Converts the specified Windows file time to an equivalent UTC time.
DateTimeToFileTimeUTC Converts a date in the Windows file time format.
DateTimeFromString Converts the specified string representation to an equivalent UTC datetime.
DateTimeUtcToLocalTime Convert a date to the local time or specified time zone.
FormatMultivaluedList Formats the multivalued list as per the specified format string.

Data Functions

Function Description
CreateSqlParameter Creates a SqlParameter or OdbcParameter or DbParameter object.
CreateSqlParameter2 Creates a SqlParameter or OdbcParameter or DbParameter object.
ExecuteSqlScalar Executes a SQL stored procedure or a SQL query against a SQL Server database or an ODBC data source.
ExecuteSqlNonQuery Executes a SQL stored procedure or insert, update, delete statements against a SQL database or an ODBC data source.
IndexByValue Returns the zero-based index of the specified value in the input list.
ValueByKey Retrieves the value at the specified key in the input dictionary of string/object key-pairs.

DateTime Functions

Function Description
After Returns a Boolean value indicating whether the first date is later than the second.
Before Returns a Boolean value indicating whether the first date is earlier than the second.
DateTimeAdd Adds (or Subtracts) a timespan to/from the supplied date/time.
DateTimeFormat Formats the value of the first DateTime parameter in the format specified in the second string parameter.
DateTimeFromFileTimeUTC Converts the specified Windows file time to an equivalent UTC time.
DateTimeFromString Converts the specified string representation to an equivalent UTC datetime.
DateTimeNow Returns the current date/time in UTC.
DateTimeSubtract Returns the timespan between the two dates.
DateTimeToFileTimeUTC Converts a date in the Windows file time format.
DateTimeUtcToLocalTime Convert a date to the local time or specified time zone.

Directory Functions

Function Description
EscapeDNComponent Escapes the DN component of a distinguished name specified in LDAP format.

Inspection Functions

Function Description
After Returns a Boolean value indicating whether the first date is later than the second.
And Returns a Boolean value indicating whether or not both conditions are true.
Before Returns a Boolean value indicating whether the first date is earlier than the second.
Contains Returns a Boolean value indicating whether the value exists in the list of values. Comparisons for strings are performed without case sensitivity.
Eq Determines the equivalence between two objects or values and returns true if they are equal.
GreaterThan Returns a Boolean value indicating whether the first integer is greater than the second.
IndexByValue Returns the zero-based index of the specified value in the input list.
IsPresent Returns false if the supplied value is null. Returns true if it is not.
LessThan Returns a Boolean value indicating whether the first integer is less than the second.
Not Flips the Boolean value of the supplied condition.
Or Returns a Boolean value indicating if either condition is true.
ParametersContain When supplied the request parameters for a request (for example, [//Request/RequestParameter]) and an attribute name, returns a Boolean value indicating if the attribute was modified by the request.
RegexMatch Returns a Boolean value indicating if the string matches the regex pattern.
ValueType Returns the type of the supplied input object

Math Functions

Function Description
Add Adds two numbers.
BitAnd Applies a bitmask on a flag to 0.
BitNot Inverses each bit.
BitOr Applies a bitmask on a flag to 1.
Divide Divides the first integer number by the second integer number and returns the integer quotient of the division.
Mod Divides the first integer number by the second integer number and returns the remainder of the division.
Multiply Multiplies two numbers
RandomNum Returns a random number within the specified interval.
Subtract Subtracts the second integer value from the first.

Multi-Valued Functions

Function Description
ConcatenateMultivaluedString Concatenates the values in a multi-valued string.
ConvertToUniqueIdentifier Converts all supplied GUIDs to unique identifiers so they can be used in native FIM activities such as the Approval activity.
Count Returns the number of entries in a list. If an object is passed (single string or resource ID, for example), the count will be 1. If a null value is supplied, the count will be 0.
First Returns the first value in a list.
FormatMultivaluedList Formats the multivalued list as per the specified format string.
IndexByValue Returns the zero-based index of the specified value in the input list.
InsertValues Inserts the specified values in the target list. Typically used inconjuction with the Update Resources / Create Resource activity to specify that a value or list of values should be inserted into a multivalued target attribute.
Last Returns the last value in a list.
ParametersList Returns the list of attribute names in the request parameters of an arbitrary request.
ParametersTable Returns a table of attribute name, modification type and modified values in the request parameters of an arbitrary request
ParameterValue Returns the value of a request parameter of an arbitrary request. When the request is for an update of a multi-valued attribute, ParameterValueAdded() and ParameterValueRemoved() must be used.
ParameterValueAdded Returns the added values of a multi-valued request parameter of an arbitrary request.
ParameterValueRemoved Returns the removed values of a multi-valued request parameter of an arbitrary request.
RemoveDuplicates Removes duplicate values from a list of items.
RemoveValues Inserts the specified values in the target list. Typically used inconjuction with the Update Resources / Create Resource activity to specify that a value or list of values should be removed from a multivalued target attribute.
SortList Sorts the specified List.
ValueByIndex Returns the value which exists at the specified index.

Program-Flow Functions

Function Description
IIF Returns the second or third parameter based on the evaluation of the condition specified as first parameter.

Text Functions

Function Description
Concatenate Concatenates two or more strings.
CR Generates a Carriage Return.
CRLF Generates a Carriage Return/Line Feed.
EvaluateExpression Evaluates the specified expression. The caller activity must read the all lookups used in the expression separately.
FormatMultivaluedList Formats the multivalued list as per the specified format string.
GenerateRandomPassword Generates an alphanumeric password of the specified length.
Left Returns the leading substring of specified length. If the specified length is greater than the input string, the entire input string is returned.
LeftPad Returns a new string that is equivalent to string specified in the first input parameter, but right-aligned and padded on the left with as many padding characters as needed to create the specified length.
Length Returns the length of the string.
LowerCase Converts all characters in a string to the lower case based on current culture.
LTrim Removes leading white spaces or specified characters from a string.
Mid Returns a specified number of characters from a specified position in a string.
NormalizeString Normalizes the first string, first by replacing the character substitutions specified in the second string and then removing all diacritics using the .NET string normalization function.
Null Returns a null value. Typically used in Update Resources activity with the "Allow Null" checkbox to clear the value of an attribute.
ProperCase Converts the first character of each space-delimited word in a string to upper case and all other characters are converted to lower case.
RegexMatch Returns a Boolean value indicating if the string matches the regex pattern.
RegexReplace Replaces the Regex pattern with the specified string.
ReplaceString Replaces all occurrences of a string to another string.
Right Returns a trailing substring of specified length. If the specified length is greater than the input string, the entire input string is returned.
RightPad Returns a new string that is equivalent to string specified in the first input parameter, but left-aligned and padded on the right with as many padding characters as needed to create the specified length.
RTrim Removes trailing white spaces or specified characters from a string.
SplitString Splits the string into substring delimited by the specified separator.
TitleCase Converts the specified string to title case (except for words that are entirely in uppercase, which are considered to be acronyms).
Trim Removes leading and trailing white spaces or specified characters from a string.
UpperCase Converts all characters in a string to the upper case based on current culture.
Word Returns a word contained within a string, based on parameters describing the delimiter character to use and the word number to return.
WrapXPathFilter Wraps the supplied XPath filter in the necessary XML to prepare for use in a criteria-based group or set definition.
Clone this wiki locally