Previous Topic: Data Lookup Failure Mode

Next Topic: Data Lookup Commands and True-False Tests

Complex Data Lookup Commands

For precision targeting of specific emails, you can use AND, OR and NOT operators and parenthesis to define more complex Data Lookup commands. These enable you to include multiple True-False tests within a single command or link separate commands. But first note the rules governing command evaluation.

Command Evaluation

CA DLP evaluates lookup commands from left to right. This is particularly important if your lookup command contains three or more True-False tests and if you use brackets to set evaluation precedence. Note that we do generally recommend you use brackets when combining multiple lookup commands. The examples below show how three logical tests (A, B and C) combine to produce an overall result:

Example tests

Results

1

A AND B AND C

False

2

A OR B OR C

True

3

A OR B AND C

True

4

A AND B OR C

True

5

B AND (A OR C)

False

Where A and C are True, and B is False.

When you combine multiple lookup commands, CA DLP quits evaluating as soon as it detects any subcommand that allows the overall command to be unambiguously resolved. Specifically, this affects:

In examples 2 and 3 above, if A, B and C represent linked commands, then commands B and C are not evaluated because, with command A returning True, the overall command must also return True. This is a deliberate optimization designed to minimize delays when processing outgoing emails.

Note: This optimization does not apply to multiple True-False tests within a single lookup command. In this case, all tests are fully evaluated.

OR and <fallguy> Handling

If you combine multiple lookup commands, CA DLP quits evaluating as soon as a subcommand returns a True or False value that allows the overall command to be unambiguously resolved. This is a deliberate optimization designed to minimize delays when processing outgoing emails.

But for commands linked with an OR operator, it could mean, in certain circumstances, that the <fallguy> variable only returns recipients identified by one subcommand (because, with a True value already returned, there is no logical need to evaluate the other subcommands).

For example, a combined lookup command detects emails sent to the London office (subcommand A) OR members of the Sales team (subcommand B). It evaluates subcommand A first. If it successfully detects a London recipient, the overall command must also be True so there is no logical need to evaluate subcommand B. This means that no Sales recipients are written to the <fallguy> variable. If this variable is included in a notification dialog, shown when the control trigger activates, the message to users may contain an incomplete list of ‘triggering’ recipients.

Examples of Data Lookup Syntax

The following sections detail various types of data lookup commands. The table below lists the users in the examples and their corresponding user names and email addresses:

User

User name

Results

Spencer Rimmel

srimmel

srimmel@unipraxis.com

Lynda Steel

lsteel

lsteel@unipraxis.com

Frank Schaeffer

fschaeffer

fschaeffer@unipraxis.com

Omar Abassi

oabassi

oabassi@unipraxis.com