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 SUPPLIEDcan be used in the called function module.
- In a function module called using
CALL FUNCTION ... STARTING NEW TASK ...,IS SUPPLIEDis ignored.
- In calls from an external RFC interface,
IS SUPPLIEDis evaluated for all currently supported RFC Libraries.IS SUPPLIEDis 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 SUPPLIEDis 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 SUPPLIEDencompasses 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.