ABAP Keyword Documentation → ABAP − Reference → Program Flow Logic → Expressions and Functions for Conditions → log_exp - Logical Expressions → rel_exp - Predicates → rel_exp - Predicate Expressions
rel_exp - IS SUPPLIED
Other versions: 7.31 | 7.40 | 7.54
Syntax
... para IS [NOT] SUPPLIED ...
Effect
This predicate expression checks whether a formal parameter para
of a
procedure is filled or requested. The expression is true if at the call an actual parameter was assigned to the formal parameter.
This relational expression can be used only in function modules and methods. For para
, all optional formal parameters can be specified.
If the addition NOT
is specified, the expression is true if no actual parameter was assigned to the formal parameter in the call.
Some specific rules must be observed in the following procedures:
- In a remote function call between
two AS ABAP, both must have at least Release 4.6. This ensures that
IS SUPPLIED
can be used in the called function module.
- In a function module called using
CALL FUNCTION ... STARTING NEW TASK ...
,IS SUPPLIED
is ignored.
- In calls from an external RFC interface,
IS SUPPLIED
is evaluated for all currently supported RFC Libraries.IS SUPPLIED
is not evaluated only when an older RFC Library such as librfc32.dll is used instead of RFC Software Development Kit for C and C++.
CALL FUNCTION ... IN UPDATE TASK ...
, IS SUPPLIED
is ignored.
In cases where IS SUPPLIED
is not evaluated, the predicate expression returns the value true.
Notes
- In a functionally called
functional method,
the predicate expression
IS SUPPLIED
is true for its return value. In this case, a temporary actual parameter is always bound to the return value, which is used as the operand of the current operand position.
- The predicate expression
IS SUPPLIED
encompasses the obsolete expressionIS REQUESTED
.
Example
The logical expression of the first IF
statement in method m1
is true if at the call, an actual parameter is assigned to formal parameter p1
.
A check for the initial value would not be sufficient in this context, because this is the value of
the replacement parameter specified with DEFAULT
. The logical expression
of the second IF
statement is true if at the call no actual parameter is assigned to formal parameter p2
.
CLASS c1 DEFINITION.
PUBLIC SECTION.
CLASS-METHODS m1 IMPORTING p1 TYPE i DEFAULT 0
EXPORTING p2 TYPE i.
ENDCLASS.
CLASS c1 IMPLEMENTATION.
METHOD m1.
IF p1 IS SUPPLIED.
...
ELSE.
...
ENDIF.
IF p2 IS NOT SUPPLIED.
RETURN.
ELSE.
...
ENDIF.
ENDMETHOD.
ENDCLASS.