SAP tableObjectUSOBT_CModuleSECURITY_GRC

USOBT_C table — Customer Table of SU24 Authorization Default Values

USOBT_C holds the customer-maintained SU24 proposal values: for a given transaction code and authorization object, which field values PFCG should suggest when that transaction is added to a role. It is the table PFCG actually reads to prefill authorizations. It does not store what a role finally contains, only what gets proposed before someone accepts, changes or removes the values.

This page covers USOBT_C, the table behind SU24 proposal values that PFCG uses to prefill authorization fields when a transaction is assigned to a role. It focuses on how the table relates to USOBX_C and AGR_1251, how to trace a missing or wrong default value back to a specific tcode/object/field combination, and the recurring mistake of treating proposal data as if it were the role's actual authorization.

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

What it stores

One row in USOBT_C represents a single proposed authorization field value for a specific combination of transaction code and authorization object, as maintained through SU24. When a security consultant runs SU24 against a transaction and decides that field ACTVT should default to activity 03 for object S_TABU_DIS, that decision is written here as a row (or several rows, one per field value range). PFCG reads this table when a transaction is added to a role's menu, using it to prefill the authorization tree with suggested values before the role is generated. USOBT_C is the customer version; USOBT is the SAP-delivered default shipped with the system and untouched by local Customizing. Anything a security team has changed, added or deleted in SU24 lives in USOBT_C, not USOBT.

Key fields

  • MANDT - client the proposal record belongs to
  • TCODE - transaction code the proposal applies to
  • OBJCT - authorization object for which a default is proposed
  • FIELD - authorization field within that object, for example ACTVT or BUKRS
  • LOW - proposed single value or lower bound of a proposed range for the field
  • HIGH - upper bound of the proposed range, blank for a single value
  • MODIFIED - flag showing the row was changed manually in SU24 rather than left at the SAP-delivered default

How it joins the data model

  • USOBT_C-TCODE = TSTC-TCODE, to resolve the transaction text and confirm the tcode is a real dialog transaction
  • USOBT_C-TCODE = AGR_TCODES-TCODE, linking proposals to the roles that actually carry that transaction
  • USOBT_C-TCODE = USOBX_C-TCODE and USOBT_C-OBJCT = USOBX_C-OBJCT, joining a proposed value to its check indicator (checked, not checked, no check)
  • USOBT_C-OBJCT and USOBT_C-FIELD compared against AGR_1251 rows for the same role and object, to see whether the proposal was actually pulled into the generated authorization

How to read it safely

The table is client-dependent Customizing, so always start with the client and then restrict on TCODE before touching OBJCT, since the same object appears under hundreds of transactions and a scan on OBJCT alone is expensive. Selection by TCODE plus OBJCT is the practical minimum for anything usable. FIELD narrows further when the question is about one specific authorization field such as ACTVT. Do not attempt to read this table to answer what a role currently grants; it only answers what SU24 proposes, which is a different question from what PFCG generated into the role's profile.

How to prove it in the data

Symptom: a transaction was added to a role in PFCG but the expected authorization field never appears with a default value in the authorization tree. Select USOBT_C for TCODE equal to that transaction and OBJCT equal to the object in question. If no row exists, SU24 was never maintained for that combination, which is why nothing was proposed and the object has to be added manually. If a row exists but with an unexpected LOW or HIGH, someone changed the default in SU24 and MODIFIED will show it.

ECC vs S/4HANA

USOBT_C still exists in S/4HANA and the SU24 to PFCG mechanism it supports is unchanged for classic transaction-based roles. There is no CDS compatibility view replacing it; it remains a straightforward Customizing table maintained via SU24 and read by PFCG. For Fiori app authorizations built on catalogs and groups rather than direct transaction codes, this table plays a smaller role, since those objects are typically not driven by classic SU24 tcode checks in the same way, but the table itself has not been deprecated or restructured.

Common pitfalls

  • Treating a value in USOBT_C as what a role actually grants: it is only a proposal read at the moment a transaction is added, not a live authorization; the role's real authorizations sit in AGR_1251 after generation.
  • Editing rows directly with a table maintenance tool instead of through SU24: this bypasses the transport mechanism SAP built for SU24 data and produces inconsistencies between systems that are hard to diagnose later.
  • Assuming a missing row means the object is not checked at runtime: whether an object is checked at all is controlled by USOBX_C, not USOBT_C; USOBT_C only supplies values for objects that are already flagged as checked.
  • Believing a change made here retroactively fixes existing roles: existing roles keep whatever was pulled in at the time the transaction was added or last merged; only re-running the SU24 merge step in PFCG for that role picks up the new proposal.
  • Confusing USOBT_C with USOBT: USOBT is the SAP shipped default and is overwritten on upgrade; USOBT_C is the customer layer PFCG actually consults, and it is USOBT_C that must be checked and adjusted after an upgrade reconciliation.
  • Expecting the MODIFIED flag to reliably reconstruct a full change history: it indicates the row has been touched, not who changed it or when, and does not substitute for change documents or transport analysis.

Whose problem this is

This is squarely a security or authorizations consultant's table, maintained through SU24 during role build or after an upgrade reconciliation step. Functional consultants raising a missing-authorization ticket should describe the transaction, object and expected behavior; deciding what belongs in USOBT_C and generating the affected roles afterward is the security team's task, not something to be patched by a functional or basis team member directly in the table.

Related SAP objects

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

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