ABAP Keyword Documentation → ABAP - Reference → ABAP Syntax → ABAP Statements → Operators and Expressions

# Operators

ABAP contains the following operators:

- Operators that perform special operations in operand positions:

- Declaration operators

The declaration operators`DATA`

and`FIELD-SYMBOL`

declare variables or field symbols in operand positions.

- Constructor operators

The constructor operators`NEW`

,`VALUE`

,`CONV`

,`CORRESPONDING`

,`CAST`

,`REF`

,`EXACT`

,`REDUCE`

,`FILTER`

,`COND`

, and`SWITCH`

construct values for data objects of specific data types in constructor expressions.

- Operators that join multiple operands in a single expression:

- Assignment operators

The assignment operator`=`

joins the source field and target field of an assignment. In the case of assignments, the special casting operator`?=`

performs a down cast. The operator`=`

also joins actual parameters with formal parameters, for example in procedure calls or when working with data clusters.

- Arithmetic operators

The arithmetic operators`+`

,`-`

,`*`

,`/`

,`DIV`

,`MOD`

, and ** join two or more numeric operands with an arithmetic expression. In addition, the characters`+`

and`-`

act as plus/minus signs in arithmetic expressions.

- Bit operators

The bit operators`BIT-AND`

,`BIT-OR`

, and`BIT-XOR`

join two or more byte-like operands with a bit expression. The bit operator`BIT-NOT`

negates a byte-like operand.

- String operators

The string operator`&&`

chains two character-like operands to a string expression.

- Relational operators

Relational operators occur in relational expressions, which themselves are components of logical expressions. The relational operators`=`

,`<>`

,`<`

, >,`<=`

,`>=`

,`BETWEEN`

, and so on join two or more operands of any data type as a comparison expression. There are additional relational operators for specific data types. The predicate operator`IS`

qualifies an operand.

- Boolean operators

The Boolean operators`AND`

,`OR`

, and`EQUIV`

join the results of individual logical expressions with a logical expression. The result of a logical expression is either true or false. The Boolean operator`NOT`

negates the result of a logical expression.

- Operator that joins two operands in compilations:

- Literal operator

The literal operator`&`

joins two literals or two string templates with a literal or a string template.