SAP SE38 — ABAP Editor
SE38 is the classic ABAP program editor. Developers write here; everyone else mostly uses it to run a program, or to read one.
That second use is underrated. Almost every SAP transaction is a thin wrapper over a program, and the program is readable. When a standard report behaves unexpectedly, opening its source in SE38 and reading the selection logic is frequently faster than searching for documentation that may not exist.
If you only need to execute a program and never to look at its code, SA38 does that and nothing else — a safer authorisation and a common alternative in production.
When you would actually use SE38
- Running a standard SAP report that has no transaction code of its own.
- Reading the source of a standard program to understand its behaviour.
- Executing a program a consultant or SAP support has asked you to run.
- Developing or maintaining custom reports, in a development system.
What the screen looks like
The fields, in plain English
The program name. SAP standard reports conventionally start with R — RFBILA00 produces financial statements, RSUSR002 lists users by criteria. Custom programs start with Y or Z.
Watch out: A Z or Y prefix means somebody at your organisation wrote it. Do not assume it behaves like standard SAP or that it is documented.
Which part of the program to open — source code, variants, attributes, text elements, documentation.
Display opens the source read-only. Change opens it for editing, which should not be possible in production. Execute runs it.
Watch out: Executing an unfamiliar standard program is not automatically safe. Some update data. Read the documentation, or the code, before running something you were told to run.
Saved sets of selection screen values. For a report run regularly with the same parameters, a variant removes the retyping and the typos.
Step by step
- 1Enter the program name.
- 2Choose Display to read it, or Execute to run it.
- 3On the selection screen, fill in the parameters or load a saved variant.
- 4Execute with F8.
- 5Save a variant if you will run this again.
- 6For long-running reports, run in background rather than in the foreground.
Errors you will hit, and what they mean
Program RFBILA00 does not exist
Why: Typo, or the program is not present in this release.
Fix: Search with a wildcard on the program field. Standard report names are stable but not universal across versions.
No authorisation to execute program
Why: Program execution is controlled by authorisation group, separately from the transaction.
Fix: Request execution rights for the specific program. SA38 may be the more appropriate transaction to ask for.
Changes cannot be saved — the system is not modifiable
Why: Production systems are locked against development, which is intended.
Fix: Develop in the development system and transport. Never edit code directly in production.
Common questions
What is the difference between SE38 and SA38?
SA38 only executes programs. SE38 can also display and edit source. If your job is to run a report, SA38 is the correct and safer authorisation.
What is the difference between SE38 and SE80?
SE80 is the Object Navigator — a full development workbench covering programs, function groups, classes and dictionary objects in one tree. SE38 handles programs only. Developers tend to live in SE80.
Can I read standard SAP code?
Yes, standard programs are readable in Display mode, and doing so is often the fastest way to understand exactly how a report selects and calculates.
Transactions that go with SE38
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 →