LOOKUP function
- Last Updated: January 18, 2024
- 2 minute read
- OpenEdge
- Version 12.8
- Documentation
Returns an INTEGER value giving the position of an expression in a list. Returns a 0 if the expression is not in the list.
Syntax
|
- expression
- A constant, field name, variable name, or expression that results in a
character value that you want to look up within a list of character expressions. If the
value of expression is the Unknown value (
?), the result of theLOOKUPfunction is the Unknown value (?). - list
- A character expression that contains the expression you name with the
expression argument. Each entry in the list is
separated with a delimiter. The list can be a variable of type CHARACTER or LONGCHAR. If
list contains the Unknown value (
?),LOOKUPreturns the Unknown value (?). - delimiter
- A single-character delimiter you define for the list. The delimiter is
used as is, that is, it is case sensitive. The default is a comma. This allows the
LOOKUPfunction to operate on non-comma-separated lists.
Examples
This procedure prompts the user for a New England state. The
LOOKUP function tests the value against the list of states stored in the
stlist variable. If there is no match (the result is 0), the procedure
displays a message. Otherwise, the procedure prompts the user for another New England
state.
r-lookup.p
|
The following example uses a different delimiter,
which list all fields that have "sls" or "sales"
as words in their standard Dictionary labels:
r-look2.p
|
Notes
- If expression contains a delimiter,
LOOKUPreturns the beginning of a series of entries in list. For example,LOOKUP("a,b,c","x,a,b,c")returns a 2. - Most character comparisons are case insensitive in ABL. By default,
upper-case and lower-case characters have the same sort value. However, you can define
fields and variables as case sensitive (although it is not advised, unless strict ANSI SQL
adherence is required). If the expression or list is defined as case sensitive, the comparison between them
is also case sensitive and
"Smith"does not equal"smith". - The
LOOKUPfunction is double-byte enabled. The specified expression can yield a string value that contains double-byte characters and the delimiter can be a double-byte character. - The
LOOKUPfunction always returns 0 if an expression is equal to a delimiter.
See also
ENTRY function, ENTRY statement, INDEX function, NUM-ENTRIES function