Skip to content

ABAP Keyword Documentation →  ABAP − Reference →  Obsolete Language Elements →  Obsolete Syntax →  Obsolete Operand Positions 

Extended Functional Operand Positions

Extended functional operand positions are functional operand positions in which certain built-in functions can be specified alongside data objects, functional method calls, constructor expressions, and table expressions, if a single data object is specified as their argument. The following extended functional operand positions exist:

  • Operand operand of the predicate expression
... operand IS [NOT] INITIAL
  • Operands operand of the statement
WHEN operand ...
No table expressions, however, can be specified for operand.
  • Source field source of the obsolete statement
MOVE source TO ...
No constructor expressions or table expressions, however, can be specified for source.

The following built-in functions can be specified for IS [NOT] INITIAL, WHEN, and MOVE:

However, these functions can only be specified at extended functional operand positions if the argument is not an expression, a functional method, or a built-in function.

Other versions: 7.31 | 7.40 | 7.54


Note

Extended functional operand positions exist for historical reasons and they have been replaced by operand positions for functions and expressions. In all appropriate places, operand positions in which functional methods or built-in functions could previously also be specified, were replaced by a suitable operand position. In the remaining statements, IS [NOT] INITIAL, WHEN, and MOVE, this did not take place for the following reasons:

  • WHEN is used to distinguish cases using CASE. Generally, no operations should be performed after WHEN and constant values should be specified instead. The operand position after CASE, on the other hand, was changed to a general expression position.

The extended functional operand position should not be used in the case of WHEN. The more general assignment operator = should be used instead of MOVE.

Bad Example

Specifies the built-in function lines as the source of the obsolete statement MOVE.

DATA itab TYPE TABLE OF i WITH EMPTY KEY. 
DATA lines TYPE i. 
... 
MOVE lines( itab ) TO lines.

Good Example

Uses the general assignment operator =, which enables inline declarations on the left side.

DATA itab TYPE TABLE OF i WITH EMPTY KEY. 
... 
DATA(lines) = lines( itab ).