Avoid Kernel and Native Database Calls (SYSTEM-CALL, EXEC SQL)
WarningSecurity & Robustness#EC NO_KERNEL_CALLRemote Enabled
Overview
Avoid Kernel and Native Calls.
ATC Finding Message:
Avoid internal kernel calls (CALL, SYSTEM-CALL, EXEC SQL)
Rationale
Executing internal SAP kernel commands (SYSTEM-CALL) or native database procedures (EXEC SQL) bypasses the OpenSQL syntax layer, authorization buffers, and client separation. Kernel calls are undocumented, internal SAP proprietary instructions that break across kernel upgrades and are strictly forbidden in ABAP Cloud.
Non-Compliant
abap
" Anti-pattern: Undocumented kernel instruction
SYSTEM-CALL rfc_clone_connection.Compliant
abap
" Clean ABAP Cloud: Use official released SAP APIs
cl_rfc_connection_factory=>create( )->clone( ).Suppression
To suppress findings for this rule, append the pseudo-comment to the statement:
abap
" Standard pseudo-comment:
... "#EC NO_KERNEL_CALL
" SAP CI_ prefix format:
... "#EC CI_NO_KERNEL_CALLRelated Rules
- Handle System and Communication Failures in Remote Function Calls (RFC) —
#EC NO_RFC_ERR - Provide FAILED and REPORTED in RAP EML Statements (Silent Transaction Failure Prevention) —
#EC NO_UNHANDLED_EML - Avoid Raising System Exceptions Directly (CX_SY_*) —
#EC NO_RAISE_CX_SY
Technical Details
- Native ATC Class:
ZCL_SKYLINT_NO_KERNEL_CALL - Implementation File: zcl_skylint_no_kernel_call.clas.abap