SAP transaction codeObjectSU56ModuleSECURITY_GRC

SU56 — Display User Authorization Buffer

SU56 displays the authorization buffer of a user session - the in-memory list of authorization objects and values the kernel consults for every authority-check. It is a read-only snapshot taken at logon, refreshed only on reset or re-logon, so a role change made after the user logged in will not appear until the session is refreshed.

This page covers SU56, the transaction used to inspect the authorization buffer loaded into a user's session, and how it fits into authorization troubleshooting alongside SU53 and PFCG. It focuses on the diagnostic reflexes that separate staleness, buffer overflow, and genuine missing authorizations, since those three look identical from the error message alone.

Reviewed by an ERPClimb SAP consultant on 15 Sept 2026· 1,216 words

Diese Seite ist noch nicht auf Deutsch verfügbar.

Purpose

SU56 displays the authorization buffer of the calling user - the in-memory table the kernel actually consults every time an authority-check statement runs, built from the authorization values contained in all roles assigned to that user. The one structural fact that explains most confusion around it: the buffer is populated at logon and refreshed only on explicit reset or re-logon, so it is a session snapshot, not a live query against the roles as currently maintained in PFCG. A role added, removed, or regenerated after logon does not appear in SU56 for that session until the buffer is refreshed. SU56 is read-only - it shows what is loaded, it does not let anyone correct, add, or remove an entry.

When it is used

SU56 gets pulled out mid-incident, after a user reports a 'no authorization' error and SU53 has already shown which authorization object and value failed the check. SU56 answers the next question: is that object present in the buffer at all, and with what values, which separates three distinct root causes - the role was never assigned, the role is assigned but the buffer has not been refreshed since assignment, or the role is assigned and current but the value in it genuinely does not cover what the transaction needs. It sits inside the authorization troubleshooting workflow rather than in provisioning; role assignment and generation happen in PFCG and SU01, and SU56 only tells whether that work has actually landed in the session.

How to use it in practice

  • Run SU56 for the affected user (own session, or another user's session if authorized) immediately after reproducing the error, before asking the user to log off.
  • Scan the buffer list for the specific authorization object that SU53 already flagged as missing or insufficient.
  • If the object is absent from the buffer, check PFCG for the roles assigned to the user and confirm the role was generated with a current profile.
  • If the object is present but the value is wrong, trace that value back to the specific role and authorization field in PFCG.
  • If the object is present and correct but SU53 still shows a fail from earlier in the session, have the user log off and back on, or trigger a buffer reset, then re-run SU56 to confirm the refresh.
  • Note the total entry count shown in SU56; a count close to the buffer maximum is worth flagging even when it is not the immediate symptom.

Key data objects

  • No table - the buffer itself is a memory-resident structure held per user session and is not persisted anywhere; the tables below are what feed and explain its content.
  • AGR_USERS - links roles to users and carries the validity dates PFCG writes on assignment; a role must show here before it can ever appear in anyone's buffer.
  • AGR_1251 - holds the generated authorization values per role and object; a role that shows here with outdated data was never regenerated after its last change.
  • USR02 - the user master record, useful for comparing the last logon timestamp against the role assignment date to prove whether a buffer refresh has actually taken place.

How to prove it in the data

There is no table to query for the buffer content itself since it lives only in memory. To prove a staleness theory, run SE16 on AGR_USERS filtered on the user ID to get the assignment date and validity period for the relevant role, then check USR02 for that user's last logon timestamp; if the role assignment date is later than the last logon, the current buffer predates the assignment and SU56 will not show the new entry. Cross-check AGR_1251 filtered on the role and authorization object to confirm the value actually exists in the generated profile, not just in the role's maintained definition that has not yet been regenerated.

ECC vs S/4HANA

SU56 is unchanged on S/4HANA; the buffer mechanism it displays is a kernel-level construct independent of the application layer redesign, so the same overflow and staleness behaviour applies on both. There is no Fiori app that replaces it because it is a diagnostic tool rather than a business transaction; SU53 and the authorization trace in ST01 remain its companion tools on S/4 exactly as they were on ECC.

Common pitfalls and how to diagnose them

  • Buffer staleness: the most common false lead. A role gets assigned or corrected, the security consultant declares it fixed, and the user retests within the same login session; SU56 still shows the old buffer because nothing has refreshed it. Check the assignment timestamp in AGR_USERS against the last logon before assuming the fix did not work.
  • Buffer overflow: when a user carries too many roles or composite authorization objects, the buffer can exceed its maximum entry count. Depending on system configuration the overflow either drops entries silently or grants broader access than intended as a fallback. A high entry count in SU56 that correlates with intermittent, unrepeatable authorization errors across different transactions points here, not at a single missing value.
  • SU56 mistaken for a trace: SU56 shows what is loaded, not which specific check just failed or why. Reading it without first running SU53 (or ST01 for a live trace) means guessing which of potentially hundreds of buffer entries is relevant to the failing transaction.
  • Background and RFC users: a batch job or RFC call runs under a technical user context that may not reflect the same buffer state a dialog logon would show; running SU56 against the technical user's interactive session does not always represent what the job actually saw at execution time.
  • Treating SU56 as a correction tool: it is display-only. Attempting to 're-run' or 'clear' anything from within SU56 accomplishes nothing; the fix always happens in PFCG or SU01, and SU56 is only used again afterward to confirm the refresh landed.

Whose problem this is

This is security and authorization team territory, not functional and not routine Basis work, unless the root cause turns out to be a Basis-controlled buffer size parameter, in which case Basis owns the fix. A good handover includes the failing user ID, the exact transaction and timestamp, the SU53 screenshot from that moment, and the list of roles PFCG shows assigned to the user - without those three, the security team is repeating the reproduction step from scratch.

Related SAP objects

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

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