ERPClimb logoERPClimb
SAP authorization objectObjectS_RFCACLModuleSECURITY_GRC

S_RFCACL — Trusted RFC Logon Authorization

S_RFCACL controls whether a trusted RFC call from another SAP system is accepted without a password. It is checked on the trusting system's side during logon, before the requested function module runs and before any function-level check such as S_RFC. Failures here are frequently mistaken for missing role authorizations when the real cause is a missing or misconfigured trust relationship, or a mismatched user name.

This page covers S_RFCACL, the authorization object that governs incoming trusted RFC logons between SAP systems. It focuses on the sequence for diagnosing a failed trusted RFC call, since the failure surfaces differently from a normal missing-authorization error and standard SU53 checks are often unhelpful.

Reviewed by an ERPClimb SAP consultant on 16 Sept 2026· 911 words

What it protects

S_RFCACL governs whether a trusted RFC call arriving from another SAP system is accepted without re-authenticating the calling user with a password. It sits inside the trusted system relationship on the trusting system's side: once a source system is marked as trusted to call into a target system, this object decides whether the specific user, client and system asserting that trust is actually permitted to log on without credentials. The structural fact that causes most confusion: this is not the object that decides whether a function module may be called; that is S_RFC. S_RFCACL decides whether the trust itself is honored for that user before the call gets anywhere near a function group. A role can have every RFC authorization correct and still be rejected here because the trust relationship or the user mapping is missing at the connection level, not the function level.

Fields checked

  • RFC_SYSID - system ID of the calling (trusting) system asserting the trust relationship
  • RFC_CLIENT - client number in the calling system from which the trusted call originates
  • RFC_USER - name of the user in the calling system on whose behalf the trusted call is made
  • RFC_EQUSER - flag (Y/N) restricting whether the calling user name must be identical to the user name used in the target system
  • RFC_TCODE - flag (Y/N) restricting whether a transaction code check is additionally enforced for the trusted call
  • RFC_INFO - flag (Y/N) covering additional trust attributes evaluated as part of the check
  • ACTVT - activity performed, normally value 16 (execute) for accepting a trusted logon

Where it is checked

The check fires during logon processing for an incoming RFC call that presents itself as trusted rather than authenticating with a stored password. It is evaluated by the kernel-level trusted RFC logic in the target (trusting) system, before the requested function module starts, and before any application-level authorization check such as S_RFC or S_TCODE is even reached. It is not attached to a particular transaction code or program in the usual sense: any RFC destination configured with the trusted flag, whether it drives a background job trigger, a system-to-system interface, a portal call, or a monitoring connection between landscape systems, goes through this check on every logon attempt. In landscapes where systems are chained together, one system calling another which in turn calls a third, each hop that relies on trust is evaluated independently against S_RFCACL on the receiving side, and a failure on one hop does not point at the others.

How to trace a failed check

Start from the fact that trusted RFC failures often leave no normal SU53 trail, because the logon is rejected before a dialog user context exists; running SU53 as the calling user afterward frequently shows nothing relevant. Confirm the trust relationship is actually configured and active between the two systems before touching any role. If the relationship exists, run an authorization trace on the target system, filtered to the time window and, if possible, to the RFC_USER value, then repeat the failing call from the source side. The trace will show the S_RFCACL check with the exact values requested, system ID, client, user, activity, against what the buffered authorization actually holds. Hand the security team that exact combination, target system ID, client, calling system ID, RFC_USER value, and the expected RFC_EQUSER setting, rather than a screenshot of a generic connection error, since the fix usually involves either the trust configuration or a specific S_RFCACL entry, not a broad role change.

Whose problem this is

This is a security team object, not a functional one, because it governs system-to-system trust rather than any single application's authorization. A useful request states the calling system ID and client, the RFC_USER the interface runs as, and whether user names are expected to match across systems. Functional teams should confirm the interface's expected behavior, not attempt to author the S_RFCACL entry themselves.

Common pitfalls

  • A role can contain a perfectly scoped S_RFC entry for the function group being called and still fail, because S_RFCACL is checked earlier at logon and governs the trust itself, not the function module
  • A trusted relationship that is missing, expired, or broken by a certificate or destination change produces the same symptom as a missing authorization, leading teams to add authorization objects that were never the problem
  • RFC_EQUSER set to Y silently requires the exact same user ID to exist and match in both systems; a technical user renamed or recreated with a different name in one system breaks trust without any authorization object changing
  • Widening S_RFCACL to allow any value across all fields is a common emergency fix that gets the call through, but it authorizes any system and any user to log on as trusted, and a security review will reject it on sight
  • After a system copy or client refresh, the trusted relationship frequently needs to be re-established even though the authorization object and role assignments look untouched

Related SAP objects

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

Source: ERPClimb — https://erpclimb.com/sap-auth-objects/s-rfcaclERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.