Feedback

  • Contents
 

Lookup List Extended

This System tool is similar to the LookUp List that uses and returns lists of strings rather than single string value. This tool returns parallel lists of users and requested attribute values, based on substring, case insensitive and/or keypad matches.

The parallel lists output by this tool are sorted based on the "Sort lists by value?" input and filtered based on the criteria set in the three filtering inputs, "Filter Columns", "Filter Values", and "Filter Types". Note that these three filter parameters must all have the same number of elements in their lists. If their length is zero, then the resulting parallel lists will not be filtered.

Please refer to the LookUp tool online help for examples of looking up values in Directory Services Keys.

Inputs

Key Type

The name of the key in CIC Directory Services you want to search. When you type a key, its name must be enclosed in quotes. For example, if you were looking up an email address for a specific user, you would type "User" in this field. The keys that can be searched are:

  • "DnisDid"

  • "Line"

  • "LineGroup"

  • "Server Parameter"

  • "StationGroup"

  • "User"

  • "Workgroup"

  • "Workstation"

  • "Wrap-up Code"

Note: Some User Rights attributes (e.g., View Workgroup Queue List, View Station Queue List, Modify Attendant Configurations, Modify Line Queue List, etc.) take longer to be updated and propagated through the system than all other attributes.  Some administrative changes to these user rights might not be immediately visible to the Lookup tools. If timing is important with the Lookup tool steps, use the IC Change Notification Monitor initiator to monitor for User Rights changes before using the Lookup tools.

Attribute Type

The specific attribute in the key type you want to search. Refer to the Attributes that can be looked up in keys topic for a list of attributes that can be looked up. If you type an attribute name as a literal value, it must be enclosed within quotes.

Sort Lists by value?

False will sort the lists lexicographically by key value. True will sort lexicographically by attribute value.

Value to use in search

The known attribute value that you are using as the basis for your search. For example, if you wanted to return some attribute for the "Queue Identifier" John Doe, you would type "User Queue:John Doe" in this field. In most cases, you'll use a variable in this field to make the Lookup step flexible.

Note: When the Value to Use in Search is a queue name, you should always use a scoped queue name, such as User Queue:Stephens, Workgroup Queue:Marketing, Line Queue:ISDN1, or Station Queue:Fax1.

Perform leading substring comparison?

Set this parameter to false if you want to search for an exact match between the search value and the attribute value in Directory Services. If this parameter is set to true, the comparison will succeed if the leading characters of the attribute string are equal to the comparison string. For example, if you are searching for the number 123, attributes with a value of 123, 1234 or 12345 are matches. 51234 or 4321 are not matches.

Perform case insensitive comparison

Set this parameter to true if you searching for a match including case. Set this value to false if you are not concerned with the upper or lower case.

Compare based on Keypad mappings?

Keypad mappings are the letters associated with the numbers on a telephone keypad. These letters are printed on the keys of most telephones. For example, the character ‘b’ would be mapped to the keypad equivalent of ‘2’. ‘Q’ is mapped to ‘7’, and ‘Z’ is mapped to ‘9’. By default this parameter is false so that keypad mapping is not performed.

Use Regular Expression for Lookup

Set this parameter to true if the value to use in the search is a regular expression value. Note that certain characters in regular expression values require escape sequences.

Filter Columns

This is a list of strings of additional Directory Services attributes (e.g., user attributes in the User key) used to refine your lookup.

Filter Values

This list of strings provides attribute values to search for in the corresponding "Filter Columns" list. If the Filter Columns parameter contains two attributes to search for, this Filter Values field should contain two values, each one corresponding to a Filter Column (attribute) and listed in the same order.  If you do not specify the same number of values as columns (attributes), an empty string will be substituted for the missing value(s) and the extra columns will be ignored.  The system will log an error message in the trace log if the number of values does not match the number of columns (attributes).

Filter Types

This list of booleans of True or False corresponds to each of the Filter Columns and Filter Values elements and controls whether the lookup match is inclusive or exclusive for each element.

The lookup for each named column (attribute) and value can be inclusive (True) or exclusive (False). That means that an inclusive filter will return only those rows where a Filter Value is found in the specified Filter Column (attribute).  An exclusive filter will return only those rows where the Filter Values are NOT found in the specified Filter Column. that filter column values are not equal to the filter value of that column.

Outputs

Key Type

A variable of type ListofString that contains a list of child key names retrieved from the search. Null values are not retrieved.

Attribute Value

A variable of type ListofString that contains a list of values retrieved from the specified attribute. Null values are not retrieved.

Exit Paths

Success

This step takes the Success exit path if the path to the key is valid and the attribute type and key type are valid.

Failure

This step takes the Failure exit path if the path to the key is invalid, or if the attribute or key type is invalid.

Example

Suppose you want to find out which users have a 'Title' of 'Support Engineer', live in Texas and whose status is not 'Do Not Disturb'.

Set the following inputs to the Lookup List Extended toolstep:

  • Key:  User

  • Attribute type: 'title'

  • Sort Lists by value:  (This value is unimportant for this example)

  • Value to use in search: 'support engineer'

  • Perform Leading substring comparison:  No

  • Perform case insensitive comparison: yes

  • Compare based on keypad mappings: no

  • [Note that these inputs expect lists of strings or booleans, but this shows commas for display purposes.]

  • Filter columns: 'StateOrProvince', 'Status Text'   /// These are the DS user attributes to search

  • Filter Values: 'TX', 'Do Not Disturb'     /// These are the attribute values to match

  • Filter Types: True, False      /// True means match "TX" and False means match any status except "Do Not Disturb"