SAP SE91 — Message Maintenance
Every message SAP shows you comes from somewhere specific. It is not free text typed into a program. It is an entry in a message class, identified by the class name and a three-digit number between 000 and 999.
That is why messages are quoted in the form "F5 201" or "V1 212": the first part is the message class, the second the number. SE91 is where you look them up.
The value of knowing this is diagnostic. When a message is vague, opening it in SE91 gives you the exact text with its placeholders visible, often a long text explaining the condition, and — through the where-used list — the precise lines of ABAP that raise it. Reading the code around a MESSAGE statement will usually tell you the real condition in a minute, where guessing can take an afternoon.
Developers also use SE91 to create messages in their own Z message classes. Changing an SAP standard message is a different matter: it is a modification, it requires an access key, and it will conflict at the next upgrade.
When you would actually use SE91
- Looking up the exact text and long text behind an error you have been given.
- Finding which program raises a particular message, using the where-used list.
- Creating messages for a custom program in a Z message class.
- Checking what a message looks like in another logon language.
What the screen looks like
| Message | Message short text | Self-explanatory |
|---|---|---|
| 200 | Enter a value in field &1 | X |
| 201 | Posting period &1 &2 is not open | |
| 202 | The entry is not valid for company code &1 | X |
The fields, in plain English
T100-ARBGBThe container a group of related messages lives in. SAP standard classes are short and cryptic — F5 for financial accounting document handling, V1 for sales. Custom classes start with Z or Y.
Watch out: The message class is sometimes labelled "application area" or "message ID" on other screens. All three names mean the same field.
T100-MSGNRThe three-digit number within the class, 000 to 999. Class plus number identifies the message uniquely; the number on its own means nothing.
T100-TEXTThe text the user sees, with placeholders written as &1, &2, &3 and &4. The program supplies the values at runtime, which is why the stored text often reads oddly on its own.
Watch out: Searching the internet for the finished text with real values in it rarely works. Search for the stored text with the placeholders, or for the class and number.
T100-SPRSLMessages are stored per language. A message that appears in English for one user and German for another is one message with two translations, not two messages.
When set, the message has no long text and pressing the help button gives you nothing more than the short text. When clear, there is a long text that usually explains the cause and what to do.
Watch out: The most useful messages are the ones without this flag. If a message has a long text, read it before searching anywhere else.
Finds every ABAP statement that raises this message. This is the feature that turns SE91 from a dictionary into a diagnostic tool.
Step by step
- 1Get the message class and number from the message itself.Double-click the message in the status bar, or use the long text and technical information buttons on the popup.
- 2Enter the class in SE91 and press Display.
- 3Find the number in the Messages tab and read the short text with its placeholders.
- 4Double-click the message for the long text, if it has one.
- 5Use the where-used list to find the program that raises it.
- 6Read the ABAP around the MESSAGE statement to see the actual condition being tested.
Errors you will hit, and what they mean
Message class ZFI does not exist
Why: Typo, or the class has not been created in this system, or it exists only in development and has not been transported.
Fix: Search with a wildcard on the class field. If it genuinely does not exist here, check whether the transport has arrived.
Object can only be changed with an access key
Why: You are trying to change an SAP standard message. Changing SAP objects is a modification and is deliberately gated.
Fix: Do not. A modified standard message will be flagged at every upgrade and its meaning will drift from the code that raises it. If the wording is genuinely wrong for your business, address it in the custom program or through a message control setting instead.
The message text does not match what the user saw
Why: Different logon language, or the program overrode the text at runtime.
Fix: Check the language, and check the where-used list — some programs build their own text and issue it through a generic message number.
Common questions
What is the difference between SE91 and SE80?
SE80 is the Object Navigator and can browse message classes among everything else in a package. SE91 does one job — message classes and their messages — and does it with fewer clicks. Developers with SE80 open all day will use it there; anyone looking a message up will find SE91 faster.
How do I find the message class and number from a message on screen?
Double-click the message in the status bar, or click the message in the popup and choose the technical information. It gives you the class, the number and often the program that raised it.
Can I change the severity of a message from error to warning?
Not in SE91 — the type is set by the ABAP statement that raises it, not by the message definition. Some application areas offer configuration where specific messages can be downgraded, but that is application configuration and it only covers the messages SAP chose to expose.
Transactions that go with SE91
Reading about it only gets you so far
Practise SAP transactions in a safe simulated environment and keep what you learn.
Practise SAP transactions hands-on
Interactive modules, games, and an AI tutor — free to start.
Get started free →