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 addition assignment operator (`+=`

), subtraction assignment operator (`-=`

), multiplication assignment operator (`*=`

), division assignment operator (`/=`

), or concatenation assignment operator (`**=`

) performs a calculation assignment. 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 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.