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

> Source: https://netray.co/tools/sap-ecc-data-dictionary-repository-tables-dd02l-dd03l-t100-reference
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: Free Tools

## Short answer

Which SAP table holds table names, field lists, domain values, messages, transports and transaction codes, with key fields and join paths.

## Category

developer

## Erp

SAP ECC 6.0

## Audience

- ABAP developer
- SAP Basis administrator
- SAP security analyst
- Data migration consultant

## Tool

**Kind:** worksheet

**Mode:** reference

**Columns:**

#### Table

**Key:** tab

**Type:** text

#### Description

**Key:** desc

**Type:** text

#### Key fields

**Key:** keys

**Type:** text

#### Join to

**Key:** join

**Type:** text

#### Typical question it answers

**Key:** q

**Type:** text

**Rows:**

**Tab:** DD02L

**Desc:** SAP tables (dictionary header); TABCLASS = TRANSP, CLUSTER, POOL, VIEW, INTTAB (structure), APPEND

**Keys:** TABNAME, AS4LOCAL, AS4VERS

**Join:** DD02T on TABNAME

**Q:** Does table X exist and is it transparent?

**Tab:** DD02T

**Desc:** Table short texts

**Keys:** TABNAME, DDLANGUAGE, AS4LOCAL, AS4VERS

**Join:** DD02L on TABNAME

**Q:** What is the description of table X? Which tables mention 'shipment'?

**Tab:** DD03L

**Desc:** Table fields

**Keys:** TABNAME, FIELDNAME, AS4LOCAL, AS4VERS, POSITION

**Join:** DD04T on ROLLNAME

**Q:** List the fields of a table with KEYFLAG, ROLLNAME, DATATYPE, LENG

**Tab:** DD03T

**Desc:** Field short texts (only for fields without a data element)

**Keys:** TABNAME, DDLANGUAGE, AS4LOCAL, FIELDNAME

**Join:** DD03L on TABNAME, FIELDNAME

**Q:** Text of a field typed directly with a predefined type

**Tab:** DD04L

**Desc:** Data elements

**Keys:** ROLLNAME, AS4LOCAL, AS4VERS

**Join:** DD01L on DOMNAME

**Q:** Which domain does data element X use?

**Tab:** DD04T

**Desc:** Data element texts (DDTEXT, REPTEXT, SCRTEXT_S, SCRTEXT_M, SCRTEXT_L)

**Keys:** ROLLNAME, DDLANGUAGE, AS4LOCAL, AS4VERS

**Join:** DD03L on ROLLNAME

**Q:** Field labels as shown on screens and in SE16

**Tab:** DD01L

**Desc:** Domains

**Keys:** DOMNAME, AS4LOCAL, AS4VERS

**Join:** DD04L on DOMNAME

**Q:** Data type, length and value table of a domain

**Tab:** DD01T

**Desc:** Domain texts

**Keys:** DOMNAME, DDLANGUAGE, AS4LOCAL, AS4VERS

**Join:** DD01L on DOMNAME

**Q:** Description of a domain

**Tab:** DD07L

**Desc:** Domain fixed values

**Keys:** DOMNAME, AS4LOCAL, VALPOS, AS4VERS

**Join:** DD07T on DOMNAME, VALPOS

**Q:** What are the allowed values of a status field?

**Tab:** DD07T

**Desc:** Domain fixed value texts

**Keys:** DOMNAME, DDLANGUAGE, AS4LOCAL, VALPOS, AS4VERS

**Join:** DD07L on DOMNAME, VALPOS

**Q:** What does value 'R' of TRSTATUS mean?

**Tab:** DD08L

**Desc:** Foreign keys (check table relationships)

**Keys:** TABNAME, FIELDNAME, AS4LOCAL, AS4VERS

**Join:** DD03L on TABNAME, FIELDNAME

**Q:** Which check table validates this field?

**Tab:** DD09L

**Desc:** Technical settings: data class TABART, size category TABKAT, logging flag PROTOKOLL

**Keys:** TABNAME, AS4LOCAL, AS4VERS

**Join:** DD02L on TABNAME

**Q:** Is change logging switched on for this table?

**Tab:** DD12L

**Desc:** Secondary indexes, header

**Keys:** SQLTAB, INDEXNAME, AS4LOCAL, AS4VERS

**Join:** DD17S on SQLTAB, INDEXNAME

**Q:** Which secondary indexes exist on a table, and are they unique?

**Tab:** DD17S

**Desc:** Secondary index fields

**Keys:** SQLTAB, INDEXNAME, POSITION, AS4LOCAL, AS4VERS

**Join:** DD12L

**Q:** Fields of index Z01 in order

**Tab:** TADIR

**Desc:** Object directory

**Keys:** PGMID, OBJECT, OBJ_NAME

**Join:** TDEVC on DEVCLASS

**Q:** Which package and original system does an object belong to?

**Tab:** TDEVC

**Desc:** Packages (development classes)

**Keys:** DEVCLASS

**Join:** TADIR on DEVCLASS

**Q:** Software component and parent package of a package

**Tab:** TSTC

**Desc:** Transaction codes

**Keys:** TCODE

**Join:** TSTCT on TCODE; TRDIR on PGMNA

**Q:** Which program runs transaction X?

**Tab:** TSTCT

**Desc:** Transaction code texts

**Keys:** SPRSL, TCODE

**Join:** TSTC on TCODE

**Q:** Find a transaction by its description

**Tab:** TRDIR

**Desc:** Program directory (SUBC program type, CNAM, UNAM)

**Keys:** NAME

**Join:** TADIR on OBJ_NAME (OBJECT PROG)

**Q:** Who created or last changed a program?

**Tab:** TFDIR

**Desc:** Function modules (PNAME function pool, FMODE remote flag)

**Keys:** FUNCNAME

**Join:** TADIR via function group

**Q:** Which function group holds a function module and is it RFC-enabled?

**Tab:** T100

**Desc:** Messages (TEXT with placeholders &1 to &4)

**Keys:** SPRSL, ARBGB, MSGNR

**Join:** T100A on ARBGB

**Q:** What is the text of message M7 021?

**Tab:** T100A

**Desc:** Message classes (message IDs)

**Keys:** ARBGB

**Join:** T100 on ARBGB

**Q:** Who owns message class ZSD?

**Tab:** E070

**Desc:** Transport request and task headers (TRFUNCTION K workbench, W customizing; TRSTATUS D modifiable, R released)

**Keys:** TRKORR

**Join:** E071 on TRKORR; E07T on TRKORR; E070 STRKORR for parent request

**Q:** Who owns a request, when was it released?

**Tab:** E071

**Desc:** Objects in requests and tasks

**Keys:** TRKORR, AS4POS

**Join:** E070 on TRKORR

**Q:** Which transports contain program ZFOO?

**Tab:** E07T

**Desc:** Short texts of requests

**Keys:** TRKORR, LANGU

**Join:** E070 on TRKORR

**Q:** Find a transport by its description

**Tab:** DBTABLOG

**Desc:** Table change logs (needs logging flag in DD09L and profile parameter rec/client)

**Keys:** LOGDATE, LOGTIME, LOGID

**Join:** TABNAME to DD02L

**Q:** Who changed a customizing table entry? (read through SCU3)

**Tab:** CDHDR

**Desc:** Change document header

**Keys:** MANDANT, OBJECTCLAS, OBJECTID, CHANGENR

**Join:** CDPOS on same keys

**Q:** Who changed this material or purchase order, and when?

**Tab:** CDPOS

**Desc:** Change document items (VALUE_OLD, VALUE_NEW)

**Keys:** MANDANT, OBJECTCLAS, OBJECTID, CHANGENR, TABNAME, TABKEY, FNAME, CHNGIND

**Join:** CDHDR

**Q:** Old and new value of a changed field

**Tab:** TDDAT

**Desc:** Table authorization groups (CCLASS)

**Keys:** TABNAME

**Join:** DD02L on TABNAME

**Q:** Which authorization group (S_TABU_DIS) protects a table in SE16 or SM30?

**Notes:** 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.

## Content

**Intro:** 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.

**Sections:**

#### How to use it

**Body:** 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.

**Bullets:**

- 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

**Body:** 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

**Body:** 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

**Body:** 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.

**Cta:** 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.

**Faq:**

#### Which SAP table stores table names and descriptions?

**Answer:** 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?

**Answer:** 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?

**Answer:** 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?

**Answer:** 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.

## Search terms

sap table for table names, sap table for table name and description, sap table for table fields, sap table for error messages, sap table for transport request, sap transaction code table, dd03l table fields, e070 e071 transport tables

---
Talk to an engineer: https://netray.co/contact?intent=erp_ai | Machine catalog: https://netray.co/agent/catalog.json
