ERPClimb logoERPClimb
SAP technical topicObjectAUTHORITY-CHECK and SAP Authorization ObjectsModuleSECURITY_GRC

AUTHORITY-CHECK and SAP Authorization Objects

AUTHORITY-CHECK evaluates whether the current ABAP user has an authorization for a named authorization object whose fields satisfy the values passed by the program; SY-SUBRC indicates success or failure. Authorization objects are field-based business checks, not transaction access alone. Correct code checks the minimum required object/fields at the point of protected action and never trusts a UI/menu restriction as security.

High-demand SAP technical reference for AUTHORITY-CHECK and SAP Authorization Objects, covering architecture, operational usage, example, decision criteria, failure modes, S/4HANA relevance, ownership and the standard objects that support verification.

Reviewed by an ERPClimb SAP consultant on 20 Sept 2026· 772 words

What it is

Authorization objects define fields such as activity (ACTVT), company code, plant or application-specific dimensions. PFCG roles generate authorizations containing allowed value combinations. AUTHORITY-CHECK asks the authorization kernel whether the current user's buffer contains a matching authorization instance. S_TCODE controls transaction start but does not automatically authorize every business action inside the transaction. Frameworks can perform their own checks, and CDS DCL provides row-level authorization for CDS consumption. A custom program may require both transaction/service access and application object checks.

When to use it

Use AUTHORITY-CHECK before protected read/change actions in custom classic ABAP where no higher framework already guarantees the business authorization. Use the standard authorization object for the application if one exists; creating a Z object is justified when the custom business concept has no suitable standard control. Check exact business values, not '*' as a shortcut. In RAP/ABAP Cloud, use the framework-supported authorization mechanisms and instance/global authorization hooks as appropriate rather than scattering classic checks arbitrarily.

How it fits the stack

PFCG roles supply values; SU24 can propose defaults for transactions; SU53/STAUTHTRACE diagnoses failures. User buffers hold generated profile authorizations. Transaction/Fiori catalog access is only one layer. CDS DCL can restrict data returned by CDS; it complements action checks rather than replacing every operation authorization. RFC/OData executes checks under the backend identity, which may be technical or propagated.

A worked example

A Z report displays purchase orders and allows a custom 'release' action. S_TCODE only controls whether the user can start the report. The release code performs AUTHORITY-CHECK for the appropriate purchasing authorization object with ACTVT and organization values before changing the document. A user can therefore view but not release outside their purchasing organization. Security traces prove the exact object/field values when access is denied.

How to choose

  • Use standard application authorization objects where they correctly represent the business rule.
  • Check the concrete business value at the action/data boundary.
  • Separate start/menu authorization from application authorization.
  • Use framework-native authorization (RAP/DCL) where that is the supported model.
  • Handle failed SY-SUBRC safely without leaking protected data first.

Common pitfalls

  • Checking only S_TCODE and treating the transaction menu as complete security.
  • Running AUTHORITY-CHECK after sensitive data/action already occurred.
  • Hard-coding broad dummy values that always pass for privileged roles.
  • Removing a standard check because a test user gets an error instead of fixing the role.
  • Assuming a technical RFC user automatically has the same permissions as the interactive user.

ECC, S/4HANA and clean core

Authorization objects/AUTHORITY-CHECK remain core in S/4HANA private/on-premise, while RAP, CDS DCL and Fiori role content add newer layers. Clean-core custom development should use released/framework authorization contracts, but the principle of server-side business authorization remains unchanged.

Whose problem this is

Security/application architects define objects and values; ABAP developers place checks correctly; PFCG role teams grant least privilege; business owners approve organizational scope; audit tests effective access.

Related SAP objects

Reviewed pages this object connects to in the ERPClimb knowledge graph.

Source: ERPClimb — https://erpclimb.com/sap-technical-topics/abap-authority-check-authorization-objectsERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.