SAP tableObjectDD02LModuleABAP

DD02L table — ABAP Dictionary table catalog

DD02L is the ABAP Dictionary's catalog of tables, structures, views, pooled and cluster tables. One row identifies a single dictionary object by name and version state (active or saved/inactive) plus its table class (transparent, pooled, cluster, view, structure). It does not store field lists or descriptions; those live in DD03L and DD02T respectively.

DD02L is the header table of the ABAP Dictionary object catalog, holding one row per table-like definition and its activation state. This page covers how to read the table class and version fields safely, and the recurring mistake of treating an empty or inactive row as proof a table never existed or is currently being edited.

Published 15 Sept 2026· 989 words

What it stores

One row in DD02L represents the header definition of a single ABAP Dictionary table-like object: a transparent table, a pooled table, a cluster table, a database view, or a structure. The row records what kind of object it is and what version state that definition is in, not its fields and not its description text. Every time a table or structure is created or changed in SE11, a row here is written or updated to reflect the new active or inactive version. Standard SAP tables, custom Z/Y tables, and generated structures (for example those behind a BAPI or an IDoc segment) all appear here identically, distinguished only by TABNAME and TABCLASS. This is the table an ABAP developer checks first when asking whether an object exists in the system at all, before looking at its fields.

Key fields

  • TABNAME - name of the table, structure, or view; primary key together with AS4LOCAL
  • AS4LOCAL - version state of the definition, distinguishing the active version from a saved but not yet activated version
  • AS4VERS - version number of the object definition
  • AS4USER - user ID that last changed the definition
  • AS4DATE - date of the last change to the definition
  • TABCLASS - object category: transparent table, pooled table, cluster table, view, or structure
  • CLIDEP - flag indicating whether the table is client-dependent (carries a MANDT field) or client-independent

How it joins the data model

  • DD02L-TABNAME = DD03L-TABNAME, to get the field list, key flags, and data element reference for that object
  • DD02L-TABNAME = TADIR-OBJ_NAME (with TADIR-OBJECT = TABL), to get the development package, original system, and transport layer
  • DD03L-ROLLNAME = DD04T-ROLLNAME, to resolve field-level short texts through the data element attached to each field in DD03L
  • DD02L-TABNAME = E071-OBJ_NAME (with E071-OBJECT = TABL), to find which transport request carried a given version of the object

How to read it safely

DD02L is cross-client Dictionary metadata; there is no MANDT field to restrict on. Always restrict on TABNAME first, ideally with a pattern anchored to a known prefix (Z*, Y*, or a specific module prefix) — the table holds every SAP standard and custom object in the system, easily tens of thousands of rows, and an unrestricted browse in SE16 is slow and unhelpful. If scanning by TABCLASS to find, for example, every custom transparent table, combine it with the TABNAME pattern; TABCLASS alone returns huge result sets dominated by SAP-delivered objects. AS4LOCAL should be checked explicitly if the question is about activation state, not assumed.

How to prove it in the data

Symptom: activation or usage of a table fails with 'table does not exist' or a runtime short dump referencing an unknown object. Select DD02L where TABNAME equals the exact object name. No row at all means the object was never created, or was deleted, in this system. A row with AS4LOCAL showing the inactive/saved state (and no corresponding active version) means someone changed the definition and never activated it — the object exists in the Dictionary but is not usable by programs yet.

ECC vs S/4HANA

DD02L continues to exist unchanged in shape and purpose on S/4HANA; the ABAP Dictionary catalog itself was not restructured by the S/4HANA data model simplifications. The compatibility-view mechanism that replaced many classic application tables (finance and logistics tables in particular) sits one layer above the Dictionary catalog, not inside it — DD02L still describes those compatibility views, the underlying pooled/cluster tables, and every custom table exactly as it did in ECC, and is still browsed the same way in SE11 or SE16.

Common pitfalls

  • Concluding a table never existed because there is no active row, when in fact a saved/inactive version sits underneath — check both AS4LOCAL states before declaring the object missing
  • Trying to read field names or key structure directly from DD02L; this table has no field-level information at all, that is DD03L's job
  • Looking for a table's description or long text in DD02L; short texts live in the corresponding text table, not here, so a text search against DD02L returns nothing by design
  • Treating a row with TABCLASS = VIEW as a physical table when counting custom objects or estimating data volume; views have no storage of their own
  • Assuming an inactive/saved row means active development is happening right now; it may be years-old debris from a failed or abandoned change that nobody ever activated or deleted
  • Assuming package, authorization group, or transport history are stored in DD02L; those belong to TADIR and the transport tables, and inventing a package field on DD02L is a common but wrong shortcut
  • Using DD02L record counts as a proxy for 'how many custom tables we built', without filtering out generated structures and views that inflate the number

Whose problem this is

This is Dictionary metadata, so questions about it belong to the ABAP development team, not to a functional module owner. When a functional consultant hits a missing-table error, the first move is to hand the object name to a developer who can check DD02L and DD03L directly rather than guessing from the application layer.

Related SAP objects

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

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