5.5 Text Strings

Each type of keyword requires a text string representing a value to use in the search. This value must be formatted according to the keyword data type used.

This section covers the following topics:

5.5.1 UNARY Strings

UNARY keywords have no Operator or Values. A UNARY keyword is immediately followed by the close of a simple statement or by a BOOLEAN operator. For example, if you want to search for all hidden messages inside a folder, you would construct the following filter expression: "(HIDDEN)".

5.5.2 Date Strings

DATE keywords will be followed by a DATE operator, then with a Date Value. The Date Value consists of one of the following:

Data Value

Description

Date Constant

A Date Constant must be typed in exactly as given in the strings. Date Constants are not case sensitive. The following is a list of date constants:

  • TODAY

  • YESTERDAY

  • TOMORROW

  • THIS_WEEK

  • THIS_MONTH

  • THIS_YEAR

A Date Constant may be followed by a Relative Date Value. A Relative Date Value is a numeric text string, such as "99". This Date Value will be interpreted as a number to be added to the Date Constant. If the "+" or "-" sign is missing from the number, it will default to addition. For example, if the filter is looking for a date that must be less than 7 days in the future, the data value would be "TODAY 7" or "TODAY + 7".

NOTE:The numeric will be translated relative to the time period of the Date Constant. If the Date Constant refers to a day, the numeric value will be translated to days; if the Date Constant refers to a month, the numeric value will be the number of months.

Text string representing a specific date

A text string representing a specific date, given as Year/Month/Day. If an exact time within a given date is needed, the text string will be Year/Month/Day AT Hour:Minute:Second. For example, to look for the beginning of the year 2012, the Date Value will be "2012/01/01". If the filter needed to look for events happening at Noon on the first day of the year 2012, the Date Value would be "2012/01/01 AT 12:0:0".

The Year, Month, and Day must be given as a Number - no Names of the Month or Day are allowed. For example, "January" is an invalid Month value; use "01" instead.

Text string representing a specific time

A text string representing a specific time, in the format of Hour:Minute:Second. Note: The Minute and Second values are optional, and may be dropped. The Hour value is based on a 24 hour clock. The Time value will be compared based on the time zone used on the computer. Here are a few examples of valid Time values:

  • 12:00:00 (Noon)

  • 13 (1:00 p.m.)

  • 8:30:30 (30 seconds past 8:30 a.m.)

Another keyordw of type Date

Another Keyword of type Date. For example, the filter expression "CREATE_DATE = MODIFIED_DATE" will find all items that have not been modified since they were created.

5.5.3 Numeric Strings

NUMERIC keywords may be either a valid number or another NUMERIC keyword.

If a text string is given, it must have a valid number as the Value. These numbers must be valid Double Word Integers (i.e. less than 4,294,967,295), with no decimal places or floating point representation allowed. For example, "99".

Another NUMERIC keyword may also be given as the Data Value. If searching for all Document Reference items where the Current Version Number equals the Official Version Number, the filter expression should read "(CURRENT_VERSION_NUMBER = OFFICIAL_VERSION_NUMBER)" The Numeric keyword TASK_CATEGORY is an exception to this rule. When a Task item is created, it is given a single alphabetic character value from A-Z and a numeric value (1-999). This is similar to the system used in popular paper Day Planners. For example, my highest priority task would be given as "A1". When searching, the data operator comes from the Numeric keyword operators, but the Value must be given as a single character string. For example, if I wanted to find all Tasks that had Task Category "A", the simple filter expression would be (TASK_CATEGORY = "A").

5.5.4 String Keywords

STRING keywords require a text value or another STRING keyword.

If a text string is given, the value must be placed between Double Quote marks. For example, "Now hear this" would search inside the text field for the string ’Now hear this’. Note: string values are not case sensitive.

To place a Double Quote character inside the Value, use two Double Quote marks in a row inside the text Value. For example, (SUBJECT CONTAINS "Find a "" Double Quote Character") would search for the text ’Find a " Double Quote Character’ inside the Subject field.

The text operators CONTAINS and DOESNOTCONTAIN have a the following special features:

  • The use of the wildcard characters ‘*’ and "?" is allowed. When the Asterisk character is included in the text string, the text pattern can be followed by any other set of characters to be deemed a match. For example, the string ‘Attach*’ would match on the words "Attach" and "Attachment". The Question Mark character signifies that any character may appear in this spot of the text pattern. For example, the text constant "D?d" would find the words "Did" and "Dad inside the search field.

  • The character string ".." can be part of the text value. The convention ".." means "followed by." For example, the filter expression (SUBJECT CONTAINS "Test" .. "Plan") means find the words "Test" and "Plan" in that order, with any number of characters between them.

  • The Boolean operators "AND" and "OR" may be used between text constants. For example, the filter expression "MESSAGE CONTAINS ("Internet" OR "Intranet")" searches for all messages that contain the words Internet or Intranet in their message body.

  • The text constant may be proceeded with the following keywords. The keywords "NOCASE", "NOPREFIX", and "WILDCARD" are turned on by default.

    • CASE (case sensitive search)
    • NOCASE (case insensitive search)
    • NOPREFIX (words are not automatically treated as wildcard prefix strings)
    • NOSCAN (do not scan search)
    • NOWILDCARD (wildcards are not expanded)
    • PREFIX (Words are treated as if they were the prefix to a wildcard search. For example the text "Test Plan" would change to be the words ‘Test* Plan*’. This is not valid if the NOWILDCARD constant is used.)
    • RECORD (search results are found within Mail Merge document records)
    • SUMMARY = n (Word Perfect Document Summaries are searched)
    • WILDCARD (use the characters ‘*’ and "?" as wildcards).

Another STRING keyword may be given as the data value. In this case, the GroupWise system will compare the text inside both STRING keyword fields to determine if the item matches the Filter Expression. For example, I could search for a message that contains the User Defined field called "Book Subject" inside the SUBJECT of the message, I would construct the Filter Expression "(SUBJECT CONTAINS <Book Subject, STRING>)"

5.5.5 Enumerated Strings

ENUMERATED values must come from the list that belongs to each Enumerated keyword.

Keyword Value

Values

PRIORITY

  • Low
  • High
  • Normal

ATTACHMENT_TYPE

  • FILE
  • MESSAGE
  • SOUND
  • APPOINTMENT
  • TASK
  • NOTE
  • MAIL
  • MOVIE
  • PHONE_MESSAGE
  • OLE
  • DOCREFERENC

BOX_TYPE

  • INCOMING
  • OUTGOING
  • PERSONAL
  • DRAFT