Skip to content

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 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++.
In an update function module called using 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 expression IS 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.