T100 table — SAP Message Texts
T100 stores language-dependent SAP message texts by message class, message number, and language. It is the table behind messages raised with MESSAGE ID/TYPE/NUMBER and contains the text template, including placeholders such as & for runtime variables. T100A holds message-class attributes; it does not contain the individual message texts.
Verified practitioner reference for T100 — SAP Message Texts, covering its real SAP role, keys and joins, diagnostic proof, S/4HANA context, common pitfalls, ownership, and related objects.
Published 20 Sept 2026· 640 words
Purpose
T100 is the central repository table for classic ABAP message texts. A message is identified by message class and number, with one text row per language. ABAP programs, function modules, classes, and framework code raise these messages at runtime, substituting variables into placeholders. The table is repository/translation content rather than application transaction data.
Key fields
Message identity requires class, number, and language.
- SPRSL — language key.
- ARBGB — message class.
- MSGNR — message number within the class.
- TEXT — translated message text template.
- Placeholders — runtime message variables are substituted into the template and are not separate persistent application data.
How it joins the data model
T100A provides message-class-level attributes. SE91 maintains message classes and messages. Application logs, dumps, IDoc statuses, and business transactions may store or display a message class/number plus variables, which can then be resolved to T100 text for the user's language.
How to read it safely
Always filter by language, message class, and message number. Do not search only by message number because each class has its own numbering. Text can differ by language and placeholders can make the displayed runtime message look different from the stored template. Use the class/number from the technical message details whenever possible.
How to prove it in the data
For an error whose wording differs between users, capture the technical message class and number plus runtime variables, then compare T100 rows for the relevant languages. If one translation is missing, determine the fallback or translation process. If the T100 text is correct but the displayed values are wrong, debug the code that supplies message variables rather than changing the message text.
Trace the reported error to message ID and number using the exception or technical details. Inspect the corresponding T100 rows in the affected languages and compare the text placeholders with the actual variables passed by the caller. If a message exists but seems wrong, look at the MESSAGE statement or application layer, not only the text table. Never edit translated text with direct SQL.
ECC vs S/4HANA
T100 remains a core ABAP repository message table in S/4HANA and is not part of business-data simplification. Fiori or OData applications can surface backend T100 messages through service error handling, but UI5 applications may also have their own i18n resources. Distinguish an ABAP backend message from a frontend text resource before editing translations.
Common pitfalls
Production incident: an error appears in English for one user but a different message is displayed in German, even though both users execute the same ABAP path. Check message class, message number, language key and the runtime substitution variables separately. T100 is a template repository; the application chooses variables and can format or supplement the final error. Changing an English text will not necessarily fix a missing translation or a message raised by the wrong class.
- Searching by message number without message class.
- Ignoring language and concluding the message is missing.
- Editing SAP standard message text to solve an application error.
- Confusing placeholders in the stored template with the final runtime message.
- Assuming every Fiori message comes from T100 rather than frontend i18n or service-specific error handling.
Whose problem this is
ABAP/application teams own custom message classes and the code that raises them. Translation teams own language versions. Functional teams own the business cause of standard application messages; changing T100 text should not be used to hide the underlying process or configuration error.
Related SAP objects
Reviewed pages this object connects to in the ERPClimb knowledge graph.
Learn this properly
Lessons and topics
Source: ERPClimb — https://erpclimb.com/sap-tables/t100ERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.