SU24 — SU24 Authorization Default Values Maintenance
SU24 maintains which authorization objects PFCG proposes for a transaction, and their default field values, stored in the customer tables USOBX_C and USOBT_C. It does not control the actual runtime AUTHORITY-CHECK in the ABAP code. Changing a check indicator in SU24 only changes what PFCG suggests for future role builds, not what the program actually checks at execution.
This page covers what SU24 actually writes and why editing it feels like it should fix an authorization error but often does not. It focuses on the gap between the proposal data SU24 maintains and the hardcoded runtime check in the transaction's ABAP, and on the SU25 step that most teams forget after an upgrade.
Reviewed by an ERPClimb SAP consultant on 15 Sept 2026· 1,086 words
Esta página ainda não está disponível em português.
What it does
SU24 maintains the authorization object check indicators and default field values that PFCG reads when a transaction code is added to a role menu. The output lands in the customer tables USOBX_C (check indicator per transaction/object) and USOBT_C (proposed field values). The one fact that explains most confusion: SU24 is a proposal-generation table, not an enforcement mechanism. The actual AUTHORITY-CHECK statement is compiled into the ABAP program and fires regardless of what SU24 says. Setting an object to 'No Check' in SU24 stops PFCG from proposing it in new or re-read role menus; it does nothing to a check that the program executes unconditionally. Consultants who edit SU24 expecting it to suppress a live authorization error are solving the wrong layer of the problem.
When it is used
Reached for during role design and redesign projects, when a custom transaction or Z-program needs its authorization objects registered so PFCG proposes something sensible instead of an empty authorization tab, and after a support package or upgrade when SAP delivers new standard checks that have to be merged into the customer tables via SU25. It also gets pulled up mid-incident when SU53 or a trace shows a failed check on an object that PFCG never proposed for that transaction, meaning the SU24 entry is missing, set to 'No Check', or was never re-read into the role after being added. It is a build-time and design-time tool, not something consulted during normal transaction execution.
How to use it
- Call SU24 and enter the transaction code, or reach the same maintenance screen through the SU25 upgrade comparison workflow
- Review the list of authorization objects with their check indicator: Check/Maintain, Check, No Check, or Unmaintained
- Add or remove an object, or adjust the default field values proposed for it, based on what the code actually checks
- Save, which writes to USOBX_C and USOBT_C
- Go into PFCG for any affected role, re-read the menu (or manually add/remove the transaction) so the role's authorization proposal reflects the updated SU24 data, then regenerate the profile
Key fields
- USOBX_C - customer table holding the check indicator per transaction and authorization object combination, controlling whether PFCG proposes the object at all
- USOBT_C - customer table holding the proposed default field values for each object tied to a transaction
- USOBX and USOBT - the SAP-delivered standard versions, overwritten by SAP during upgrades and support packages, read-only reference for comparison
- PFCG role authorization tab - not written by SU24 directly, but populated from these tables when a transaction is added to or re-read in a role menu
How to prove it in the data
In SE16, open USOBX_C and filter on the transaction code field to see every authorization object registered for it and its check indicator. Cross-check the same transaction and object combination in USOBT_C to see the proposed field values. Compare against the standard USOBX and USOBT entries for the same key to see whether a customer override exists and differs from what SAP delivers. If an object is missing from USOBX_C entirely for that transaction, PFCG never proposed it and no manual addition happened either.
ECC vs S/4HANA
SU24 itself is structurally unchanged on S/4HANA. The check indicator model, the USOBX_C/USOBT_C customer tables, and the SU25 upgrade comparison workflow all work the same way. Fiori apps have their own authorization mapping through app-to-object assignments that sit alongside classic transaction-based checks, but any classic transaction code still maintained through PFCG uses SU24 exactly as before. No version-specific behavior change to call out here.
Common pitfalls
- Check indicator misread as enforcement: setting an object to 'No Check' removes it from future PFCG proposals but does not stop the program's hardcoded AUTHORITY-CHECK. Users still fail with SU53 pointing at an object that is not in the role and cannot be, because it was never proposed.
- Skipped SU25 step after upgrade: a support package or upgrade delivers new content in USOBX/USOBT for changed or new transactions. If the SU25 comparison steps are not run, the customer tables never pick up the new objects, roles are generated with stale proposals, and new functionality fails authorization checks that nobody sees in SU24 because it was never merged in.
- Existing roles not retroactively updated: editing SU24 for a transaction only affects what gets proposed the next time that transaction is added to a role menu or the menu is re-read. Roles already built keep their previously generated authorization objects. A fix applied in SU24 with no follow-up in PFCG changes nothing for users already assigned to that role.
- Custom transactions with no SU24 entry: a Z-transaction calling a standard function module or BAPI that performs its own AUTHORITY-CHECK will propose nothing in PFCG if SU24 was never maintained for it. Absence of a proposal is mistaken for absence of a check, and the role is built missing the object entirely.
- Wrong table consulted during troubleshooting: checking USOBX instead of USOBX_C, or vice versa, gives the wrong picture, since one is SAP standard and the other holds local overrides that actually govern what PFCG does.
Whose problem this is
Functional ownership sits with the security or role design team, since SU24 decisions drive what a role actually contains. ABAP development flags new or changed authorization objects introduced in custom code so security can register them. A clean handover states the transaction code, the object and field values expected, and trace evidence from SU53 or ST01 showing the actual runtime check, not just a description of the symptom.
Related SAP objects
Reviewed pages this object connects to in the ERPClimb knowledge graph.
Source: ERPClimb — https://erpclimb.com/sap-tcodes/su24ERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.