SE91 — Message Maintenance
SE91 is used to display and maintain ABAP message classes and message texts used by application code. It is most useful when tracing a message number from an error back to its message class, long text and usage in custom development. For reliable support work, start with the exact system, client, user and business context, then use the transaction's own logs or status information before changing configuration or data.
This practitioner page covers SE91, Message Maintenance. It focuses on the real operational purpose of the transaction, the evidence to collect before changing anything, the objects and status information that matter, and the failure patterns consultants repeatedly see in production support and project testing.
Published 19 Sept 2026· 755 words
Purpose
Display and maintain ABAP message classes and message texts used by application code. SE91 should be treated as a diagnostic or controlled business tool rather than simply a screen name: the value comes from understanding what evidence it exposes or what state it changes. In support, capture the exact system, client, user, timestamp and affected business object before drawing a conclusion, because the same transaction can show very different results across organizational and execution contexts.
When it is used
SE91 is typically used when tracing a message number from an error back to its message class, long text and usage in custom development. Consultants also reach for it during test cycles and incident reproduction because it gives a direct view of the relevant SAP runtime or configuration state. In production, use the narrowest selection that reproduces the issue, and distinguish a display/analysis action from any action that changes or deletes system state.
How to use it in practice
- Enter the exact message class and number from the application error.
- Read the long text before searching source code; it often contains configuration guidance.
- Use where-used and repository search to identify the code path that raises the message.
- For custom messages, change texts only with semantic and translation impact understood.
- Transport message changes with the corresponding code change.
Key data objects
The following fields, logs or repository objects are the most useful anchors when working in SE91. They are the pieces of context to capture in screenshots, tickets and handovers so another consultant can reproduce the same finding rather than starting from a generic symptom.
- message class — verify the exact value and its relationship to the failing business or technical step.
- message number — verify the exact value and its relationship to the failing business or technical step.
- short text — verify the exact value and its relationship to the failing business or technical step.
- long text — verify the exact value and its relationship to the failing business or technical step.
- where-used references — verify the exact value and its relationship to the failing business or technical step.
How to prove it in the data
Do not stop at the first visible error. Reproduce the issue with the same user, client and input, capture the key values above, and correlate them with the nearest application log, job/update/RFC record or repository object. A good proof shows the before-state, the exact failure or status, and the after-state following a controlled correction; that makes the diagnosis auditable and prevents a coincidental retry from being mistaken for a fix.
ECC vs S/4HANA
SE91 remains relevant on S/4HANA for classic ABAP messages. RAP and newer frameworks also use exception/message models, but legacy and custom ABAP still relies heavily on message classes. The practical rule is to separate “still technically available” from “preferred design for new work.” During an S/4HANA program, keep the transaction as a support/reference tool where valid, but challenge legacy implementation patterns that conflict with released APIs, Fiori-first processes or clean-core principles.
Common pitfalls and how to diagnose them
- Changing a message text to hide a functional error without correcting the cause. Diagnose this by returning to the exact user, timestamp, object and log evidence before changing settings.
- Assuming identical text means identical message class/number. Diagnose this by returning to the exact user, timestamp, object and log evidence before changing settings.
- Editing SAP standard messages directly. Diagnose this by returning to the exact user, timestamp, object and log evidence before changing settings.
Whose problem this is
Primary ownership normally sits with the ABAP functional or technical team, with Basis, Security or development joining only when the evidence crosses into infrastructure, authorization or custom code. A strong escalation includes the transaction, exact selection/input, affected object, timestamp, expected result, actual result and the checks already completed.
Related SAP objects
Reviewed pages this object connects to in the ERPClimb knowledge graph.
Source: ERPClimb — https://erpclimb.com/sap-tcodes/se91ERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.