Developer ToolsFree referencePDF, Excel, Word exportSAP ECC 6.0All SAP ECC 6.0 tools

SAP ECC Data Dictionary and Repository Tables (DD02L, DD03L, T100, E070, TSTC)

This reference lists the SAP ECC 6.0 repository and dictionary tables that answer the questions developers and Basis admins ask every week: which table has table names, field lists, domain values, messages, transports and transaction codes. Each row gives key fields and the join you need.

Download:
TableDescriptionKey fieldsJoin toTypical question it answers
DD02L
SAP tables (dictionary header); TABCLASS = TRANSP, CLUSTER, POOL, VIEW, INTTAB (structure), APPEND
TABNAME, AS4LOCAL, AS4VERS
DD02T on TABNAME
Does table X exist and is it transparent?
DD02T
Table short texts
TABNAME, DDLANGUAGE, AS4LOCAL, AS4VERS
DD02L on TABNAME
What is the description of table X? Which tables mention 'shipment'?
DD03L
Table fields
TABNAME, FIELDNAME, AS4LOCAL, AS4VERS, POSITION
DD04T on ROLLNAME
List the fields of a table with KEYFLAG, ROLLNAME, DATATYPE, LENG
DD03T
Field short texts (only for fields without a data element)
TABNAME, DDLANGUAGE, AS4LOCAL, FIELDNAME
DD03L on TABNAME, FIELDNAME
Text of a field typed directly with a predefined type
DD04L
Data elements
ROLLNAME, AS4LOCAL, AS4VERS
DD01L on DOMNAME
Which domain does data element X use?
DD04T
Data element texts (DDTEXT, REPTEXT, SCRTEXT_S, SCRTEXT_M, SCRTEXT_L)
ROLLNAME, DDLANGUAGE, AS4LOCAL, AS4VERS
DD03L on ROLLNAME
Field labels as shown on screens and in SE16
DD01L
Domains
DOMNAME, AS4LOCAL, AS4VERS
DD04L on DOMNAME
Data type, length and value table of a domain
DD01T
Domain texts
DOMNAME, DDLANGUAGE, AS4LOCAL, AS4VERS
DD01L on DOMNAME
Description of a domain
DD07L
Domain fixed values
DOMNAME, AS4LOCAL, VALPOS, AS4VERS
DD07T on DOMNAME, VALPOS
What are the allowed values of a status field?
DD07T
Domain fixed value texts
DOMNAME, DDLANGUAGE, AS4LOCAL, VALPOS, AS4VERS
DD07L on DOMNAME, VALPOS
What does value 'R' of TRSTATUS mean?
DD08L
Foreign keys (check table relationships)
TABNAME, FIELDNAME, AS4LOCAL, AS4VERS
DD03L on TABNAME, FIELDNAME
Which check table validates this field?
DD09L
Technical settings: data class TABART, size category TABKAT, logging flag PROTOKOLL
TABNAME, AS4LOCAL, AS4VERS
DD02L on TABNAME
Is change logging switched on for this table?
DD12L
Secondary indexes, header
SQLTAB, INDEXNAME, AS4LOCAL, AS4VERS
DD17S on SQLTAB, INDEXNAME
Which secondary indexes exist on a table, and are they unique?
DD17S
Secondary index fields
SQLTAB, INDEXNAME, POSITION, AS4LOCAL, AS4VERS
DD12L
Fields of index Z01 in order
TADIR
Object directory
PGMID, OBJECT, OBJ_NAME
TDEVC on DEVCLASS
Which package and original system does an object belong to?
TDEVC
Packages (development classes)
DEVCLASS
TADIR on DEVCLASS
Software component and parent package of a package
TSTC
Transaction codes
TCODE
TSTCT on TCODE; TRDIR on PGMNA
Which program runs transaction X?
TSTCT
Transaction code texts
SPRSL, TCODE
TSTC on TCODE
Find a transaction by its description
TRDIR
Program directory (SUBC program type, CNAM, UNAM)
NAME
TADIR on OBJ_NAME (OBJECT PROG)
Who created or last changed a program?
TFDIR
Function modules (PNAME function pool, FMODE remote flag)
FUNCNAME
TADIR via function group
Which function group holds a function module and is it RFC-enabled?
T100
Messages (TEXT with placeholders &1 to &4)
SPRSL, ARBGB, MSGNR
T100A on ARBGB
What is the text of message M7 021?
T100A
Message classes (message IDs)
ARBGB
T100 on ARBGB
Who owns message class ZSD?
E070
Transport request and task headers (TRFUNCTION K workbench, W customizing; TRSTATUS D modifiable, R released)
TRKORR
E071 on TRKORR; E07T on TRKORR; E070 STRKORR for parent request
Who owns a request, when was it released?
E071
Objects in requests and tasks
TRKORR, AS4POS
E070 on TRKORR
Which transports contain program ZFOO?
E07T
Short texts of requests
TRKORR, LANGU
E070 on TRKORR
Find a transport by its description
DBTABLOG
Table change logs (needs logging flag in DD09L and profile parameter rec/client)
LOGDATE, LOGTIME, LOGID
TABNAME to DD02L
Who changed a customizing table entry? (read through SCU3)
CDHDR
Change document header
MANDANT, OBJECTCLAS, OBJECTID, CHANGENR
CDPOS on same keys
Who changed this material or purchase order, and when?
CDPOS
Change document items (VALUE_OLD, VALUE_NEW)
MANDANT, OBJECTCLAS, OBJECTID, CHANGENR, TABNAME, TABKEY, FNAME, CHNGIND
CDHDR
Old and new value of a changed field
TDDAT
Table authorization groups (CCLASS)
TABNAME
DD02L on TABNAME
Which authorization group (S_TABU_DIS) protects a table in SE16 or SM30?

Key fields shown exclude the client field where a table is client-dependent (CDHDR and CDPOS keep MANDANT because it is part of the documented key). Most DD tables are cross-client. Read them with SE16N or SE11; avoid direct database selects on CDPOS without OBJECTCLAS and OBJECTID because the table is large.

Want these questions answered by query, not by hand?

We can set up read-only queries over your ECC repository tables so developers get transport, object and change history answers in one step.

Optional. The tool and every export work without this. No spam.

Was this tool useful?

How to use it

Search the table for the question you have, for example "transport" or "message". Then open the table in SE16N with the key fields shown. Dictionary tables keep several versions of each object, so filter AS4LOCAL = A to get only the active version, otherwise you see inactive and backup rows too. For texts, always filter the language field (DDLANGUAGE, SPRSL or LANGU). If you need the full field list of a table including descriptions, join DD03L to DD04T on ROLLNAME rather than reading DD03T, because most fields take their text from the data element.

  • SE11: dictionary display, the safe way to read structure
  • SE16N: data browser for these tables
  • SE91: maintain messages in T100
  • SE09 / SE10: transport organizer over E070 and E071

Worked example: all fields of VBAK with labels

In SE16N, read DD03L with TABNAME = VBAK and AS4LOCAL = A, sorted by POSITION. Rows with FIELDNAME starting with .INCLUDE or .APPEND are include markers, not fields; skip them or follow their PRECFIELD. For each remaining row, ROLLNAME is the data element: read DD04T with that ROLLNAME, DDLANGUAGE = E and AS4LOCAL = A to get SCRTEXT_M as the label. KEYFLAG = X marks primary key fields (MANDT and VBELN for VBAK). In ABAP, function module DDIF_FIELDINFO_GET returns the same result in one call and handles includes for you, which is the better choice inside programs.

Gotchas

DD03T only holds texts for fields without a data element, so an empty result there is normal. Pooled and cluster tables appear in DD02L but cannot be joined in Open SQL in ECC. E071 lists objects at the level they were recorded: a single changed function module shows as LIMU FUNC and a changed report or include source as LIMU REPS, not R3TR PROG, so search both PGMID R3TR and LIMU entries. DBTABLOG is filled only if DD09L-PROTOKOLL is set for the table and rec/client includes the client; many customizing tables are logged, application tables are not. T100 texts use &1 to &4 or & placeholders filled at runtime.

How to check the result in the system

Compare your SE16N result with SE11 for the same object: field count and keys should match the active version. For transports, SE09 or SE01 with the request number shows the same objects as E071. For messages, SE91 with the message class and number shows the T100 text in each language. For transaction codes, SE93 shows the TSTC program and screen.

Frequently Asked Questions

Which SAP table stores table names and descriptions?

DD02L holds the list of tables with their class (transparent, cluster, pool, view, structure), and DD02T holds the description per language. Read DD02T with DDLANGUAGE = E and AS4LOCAL = A, and search DDTEXT with wildcards to find tables by description.

Which SAP table stores table fields?

DD03L lists every field of a table with position, key flag, data element (ROLLNAME), data type and length. Field labels come from DD04T through the data element. Filter AS4LOCAL = A for the active version, and use DDIF_FIELDINFO_GET in ABAP when you need the resolved list including includes.

Which SAP table stores error messages?

T100 stores message texts by language (SPRSL), message class (ARBGB) and number (MSGNR). T100A holds the message classes. Long texts for messages are stored as documentation, not in T100; display them in SE91 or through the message long text button.

Which table stores transport requests and transaction codes?

E070 holds transport request and task headers (owner, type, status, date), E071 the objects in each request and E07T the descriptions. Transaction codes are in TSTC with the program and screen, and TSTCT holds their texts. SE93 is the maintenance transaction for TSTC.

If you want developers and support staff to ask your SAP ECC repository questions such as "which transports touched this table" in plain English on your own servers, we can set that up.