ABAP Keyword Documentation → ABAP - Reference → Data Interfaces and Communication Interfaces → Internal statement for c function call
CALL - Call a System Function:
Other versions: 7.31 | 7.40 | 7.54
This statement is for internal use only. It must not be used in application programs.
Syntax
CALL cfunc.
Addition
... ID id1 FIELD f1 ... ID idn FIELD fn
Effect
Calls the system function cfunc
. The relevant function must be entered in
the sapactab.h file. If you change or recreate a function, you have to compile and link the ABAP kernel again. For this, you need the C source code files.
Normally, external programs should be called using RFC with CALL FUNCTION ... DESTINATION
.
Addition
... ID id1 FIELD f1 ... ID idn FIELD fn
Effect
Passes fields to the called program by reference. With ID id1
, you specify
the name of a formal parameter, and with FIELD f1
the relevant field from
the ABAP program. If a formal parameter expects an internal table, the latter is passed in the form FIELD tab[]
.
Example
DATA RESULT(8).
CALL 'MULTIPLY' ID 'P1' FIELD '9999'
ID 'P2' FIELD '9999'
ID 'RES' FIELD RESULT.
Note
With some critical C functions, the system automatically performs an authorization check. If the user does not have the appropriate authorization, a runtime error occurs. You can check the authorization with the function module AUTHORITY_CHECK_C_FUNCTION.
Exceptions
Non-Catchable Exceptions
-
Cause: You are not authorized to call this C function.
Runtime Error:CALL_C_FUNCTION_NO_AUTHORITY
-
Cause: The system function specified is unknown.
Runtime Error:CALL_C_FUNCTION_NOT_FOUND
-
Cause: The system function SYSTEM is deactivated (in
CALL 'SYSTEM'
)
Runtime Error:CALL_SYSTEM_DISABLED