This API allows you to find an array element which matches (or is close to) an argument you pass to it.
An optional resulting indicators object can specify if any elements in the flags array should be set. The resulting indicators object can have these properties:
- equal (Number) - identifies the flag number to set if an exact match is found
- low (Number) - identifies the flag number to set if the nearest lower entry is found
- high (Number) - identifies the flag number to set if the nearest higher entry is found
Parameters
- Search argument
- Array
- Start index (OR resulting indicators object)
- Resulting indicators object (optional)
- Search type (optional) - String value of "LE", "LT", "GE", or "GT" can specify a less than or equal to, a less than, a greater than or equal to, or a greater than search instead of an exact match search
Return Value
Returns 0 if no matching element is found; otherwise, the element index is returned.
Example
pjs.define("i", { type: 'integer', length: 3, decimals: 0 }); pjs.define("SRCHWD", { type: 'packed decimal', length: 2, decimals: 0 }); pjs.define("arr", { type: 'char', length: 15, dim: 10 }); arr[1] = 'Cornwall'; arr[2] = 'kingston'; arr[3] = 'London'; arr[4] = 'Paris'; arr[5] = 'Scarborough'; arr[6] = 'York'; arr[7] = 'Columbus'; arr[8] = 'Dayton'; arr[9] = 'centerville'; arr[10] = 'vasad'; SRCHWD = arr[6]; pjs.lookup(SRCHWD, arr, i, { equal: 26 });
RPG Equivalent
%LOOKUP(), LOOKUP