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 a function module provided by SAP and implemented by the customer to be called.
The three-character name
function_exit must be specified directly and enclosed in single quotation marks
'). 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_exitusing 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-FUNCTIONis 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
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.
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
The execution of enhancements using transaction CMOD is now obsolete. Instead, the new
enhancement concept should be used, which replaces function module exit calls with
BAdI method calls using
Since it is not known in a calling program whether a function module exit is active,
sy-subrcmust be set to 0 explicitly so that a successful call can be simulated.