Skip to content

Ensure AUTHORITY-CHECK Precedes Sensitive Business Operations ​

WarningSecurity & RobustnessQuickFix Ready#EC PREF_AUTH_CHECKRemote Enabled

Overview ​

Call Transaction Authority Check.

ATC Finding Message: CALL TRANSACTION must be protected with AUTHORITY-CHECK

Rationale ​

Accessing or modifying sensitive business entities (such as financials, HR master data, and sales pricing) without prior authorization verification allows unauthorized users to read or tamper with protected company assets. Every business service, remote-enabled function module, or RAP BO handler must enforce an explicit authorization check at the entry point of sensitive operations.

Non-Compliant ​

abap
" Insecure: Direct update to payroll records without verifying user permissions
UPDATE pa0008 SET betrg = @iv_new_salary WHERE pernr = @iv_employee_id.

Compliant ​

abap
" Secure: Authorization check precedes data modification
AUTHORITY-CHECK OBJECT 'P_ORGIN'
  ID 'INFTY' FIELD '0008'
  ID 'AUTHC' FIELD 'W'.
IF sy-subrc <> 0.
  RAISE EXCEPTION NEW zcx_no_authorization( ).
ENDIF.

UPDATE pa0008 SET betrg = @iv_new_salary WHERE pernr = @iv_employee_id.

Automated QuickFix ​

This rule provides an automated QuickFix directly in Eclipse ABAP Development Tools (ADT):

  1. Position the cursor on the flagged statement.
  2. Press Ctrl + 1 (Quick Assist).
  3. Select the automated refactoring to apply the clean syntax immediately.

Suppression ​

To suppress findings for this rule, append the pseudo-comment to the statement:

abap
" Standard pseudo-comment:
... "#EC PREF_AUTH_CHECK

" SAP CI_ prefix format:
... "#EC CI_PREF_AUTH_CHECK

Technical Details ​

Released under the MIT License.