Operators
The table below lists every Enrichment operator along with its type, a brief description, proper syntax, and processing precedence. Enrichment evaluates mathematical expressions from left to right according to the indicated operator precedence. If a mathematical expression contains parentheses, Enrichment evaluates expressions within the parentheses first.
Note: Enrichment does not support decimal math. You can only perform mathematical operations on whole numbers.
| Operator | Types | Description | Syntax | Precedence |
|---|---|---|---|---|
| () | Any | Open and close parentheses | (...) |
1 |
| - | Arithmetic | Unary minus | -%%x |
2 |
| * | Arithmetic | Multiplication | %%x * %%y |
3 |
| % | Arithmetic | Division (integer) | %%x % %%y |
3 |
| # | Arithmetic | Remainder | %%x # %%y |
3 |
| + | Arithmetic | Addition | %%x + %%y |
4 |
| - | Arithmetic | Subtraction | %%x - %%y |
4 |
| | | String | Concatenate | %%x | %%yNote: On mainframe systems you can use either a solid vertical bar (
|, EBCDIC X’4F’) or a broken vertical bar (¦, EBCDIC X’6A’) as a concatenation character. On UNIX and Linux systems, the vertical bar is sometimes displayed solid, sometimes broken, but is always ASCII X’7C’. |
5 |
| = | Comparison | Equality | IF %%x = %%y THEN |
6 |
| != \= <> | Comparison | Inequality | IF %%x != %%y THEN |
6 |
| < | Comparison | Less than | IF %%x < %%y THEN |
6 |
| <= | Comparison | Less than or equal to | IF %%x <= %%y THEN |
6 |
| > | Comparison | Greater than | IF %%x > %%y THEN |
6 |
| >= | Comparison | Greater than or equal to | IF %%x >= %%y THEN |
6 |
| @ | Comparison | Checks if the first string is contained in the second string. | %%x @ "KY TN IN"For example, the statement
is TRUE if %%state is any of the following:
It is FALSE if
|
6 |
| @= | Comparison | Use wildcards with this operator to match a pattern. Case sensitive. | %%x @= "K* T*"For example, the statement
is TRUE if It is FALSE if It is also FALSE if |
6 |
| *= | Comparison | Use wildcards with this operator to match a pattern. Not case sensitive. | %%x @= "K* T*"For example, the statement
is TRUE if It is FALSE if |
6 |
| NOT | Boolean | Not | IF NOT expression1 THEN | 7 |
| AND | Boolean | And | IF expression1 AND expression2 THEN | 8 |
| OR | Boolean | Or | IF expression1 OR exression2 then | 8 |