Skip to content

ABAP Keyword Documentation →  ABAP - Reference →  Obsolete Language Elements →  Obsolete Calls 


Short Reference

Other versions: 7.31 | 7.40 | 7.54

Obsolete Syntax

CALL CUSTOMER-FUNCTION function_exit parameter_list.


This statement can be used in programs delivered by SAP. It includes the function module exit specified in function_exit. The function module exit is a customer exit. In an SAP program, it enables you to call a function module provided by SAP and implemented by the customer.

The three-character name function_exit must be specified directly and included in single quotes ('). A function module exit is specified by SAP using the transaction SMOD and can be activated using the transaction CMOD in customer systems.

  • Preparation by SAP
    An empty or partly implemented function module must be assigned to the function module exit function_exit using the transaction SMOD. The name of the function module consists of "EXIT_", the program name, which contains the statement CALL CUSTOMER-FUNCTION, and the three-character name in function_exit. The interface of the function module is completely defined by SAP.
  • Activation in the Customer System
    The transaction CMOD enables the customer to implement the source code of the function module within an enhancement project and to activate the function module exit. If the function module exit is not activated, the statement CALL CUSTOMER-FUNCTION is ignored. If the function module is activated, the associated function module is called in the same way as the general function module call.

Syntax and meaning of the parameter_list for the assignment of the actual parameters to formal parameters and for the exception handling are the same as in a general function module call. It is not possible to fill the interface dynamically.

System fields

If the function module exit is not active, sy-subrc retains its previous value. If the function module exit is active, sy-subrc is set as in CALL FUNCTION.


  • The execution of enhancements using transaction CMOD is now obsolete. Instead, you should use the new enhancement concept, which replaces function module exit calls with BAdI method calls using CALL BADI.
  • Since it is not known in a calling program whether a function module exit is active, sy-subrc must be set to 0 explicitly so that a successful call can be simulated.