SE38ABAP

SAP SE38ABAP 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

What the screen looks like

ABAP Editor: Initial Screen
SE38
ProgramRFBILA00
SubobjectSource Code
Display reads the code. Execute (F8) runs the program.
Client 100 | S/4HANA | Company Code 1000
Illustrative recreation.RFBILA00 is the financial statement program behind S_ALR_87012284 — Drawn for training with invented data; not a capture of a real SAP system. Fields with a blue border are required. SAP is a trademark of SAP SE.

The fields, in plain English

Program

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.

Subobject

Which part of the program to open — source code, variants, attributes, text elements, documentation.

Display vs Change vs Execute

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.

Variants

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

  1. 1Enter the program name.
  2. 2Choose Display to read it, or Execute to run it.
  3. 3On the selection screen, fill in the parameters or load a saved variant.
  4. 4Execute with F8.
  5. 5Save a variant if you will run this again.
  6. 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 →