SE95 — Modification Assistant for SAP Repository Objects
SE95 is the Modification Assistant, a browser that lists and logs changes made directly to SAP-delivered repository objects rather than to customer namespace objects. It shows which SAP programs, includes, screens or function modules have been modified, by whom, and in which transport request, and links into version management for the actual diff.
This page covers SE95, the Modification Assistant used to track direct changes to SAP standard repository objects. It focuses on how the modification log is populated, what the transaction actually shows versus what people expect it to do, and the diagnostic steps for confirming a modification in the underlying tables.
Reviewed by an ERPClimb SAP consultant on 15 Sept 2026· 1,113 words
What it does
SE95 opens the Modification Assistant, a browser over the log of direct changes made to objects SAP delivers as part of the standard system - programs, function modules, screens, includes, data elements and similar. It is not an editor. It reads the modification indicator that gets set on an object the moment someone with an access key changes SAP-original code, and it presents those entries as a navigable list. The structural fact that causes most confusion is that SE95 only reports what has already been flagged as modified in the object directory; it does not detect drift on its own, it does not merge anything forward during an upgrade, and it has nothing to say about customer namespace objects, which are never flagged as modifications because they were never SAP originals.
When it is used
A consultant reaches for SE95 in three recurring situations. First, when a program that should behave like vanilla SAP standard is doing something unexpected, and the suspicion is that someone patched it directly instead of using an enhancement point. Second, before a support package or upgrade, to get an inventory of everything touched outside the customer namespace so the basis team can plan the adjustment window. Third, when an access key request or an SSCR registration issue is being investigated and someone needs to see the history of who already registered changes against a given object. It sits upstream of SPDD and SPAU rather than replacing them - those transactions do the forward merge during an upgrade, SE95 is the standing log consulted at any time, not only during an upgrade.
How to use it
- Call SE95 from the command field.
- Choose the selection scope: all modifications, modifications by a specific user, by date range, or restricted to a single development package or object type.
- Execute to get the list of flagged objects with their object type, name, last change user and timestamp.
- Select an entry to see the modification log detail, including the transport request that carried the change.
- Jump from the detail screen into version management to compare the current version against the delivered original, or into SE38/SE80 to open the object itself in its editor.
Key fields
- TADIR - the repository object directory; carries the flag that marks an object as an SAP original that has been modified, which is the entry SE95 actually reads to build its list.
- E071 - the object list of a transport request; records which request captured the modification and when it was released, giving SE95 the trail back to a change document.
- Version management tables underlying SE03/SE01 - store the successive versions of the modified object so the comparison screen reached from SE95 can render a diff against the original SAP delivery.
How to prove it in the data
In SE16 on TADIR, filter by PGMID and OBJECT for the suspect program or function module and check the modification indicator field on that entry; a set flag confirms the object has been changed outside its SAP origin. Cross-reference E071 filtered on the same object name and type to find the transport request and release date. From there open version management for the object to see the actual line-level diff against the delivered version, which is the only place the real content of the change is visible - TADIR and E071 only confirm that a change happened and when.
ECC vs S/4HANA
SE95 exists unchanged on S/4HANA and works the same way as on ECC; there is no Fiori app that replaces it because it is a technical governance tool, not a business transaction. What has shifted is usage volume rather than mechanics: the clean core principle pushes customers toward the extensibility framework, BAdIs and released APIs instead of direct modification, so a well-run S/4HANA landscape should produce a shorter SE95 list than an equivalent ECC system, and a long list is itself a signal worth raising during any conversion project.
Common pitfalls
- Confusing the browser with the key entry screen - SE95 is a read-only log; the access key prompt that appears when someone tries to change an SAP object is a separate dialog triggered from the object editor itself, not something entered through SE95.
- Empty result on a change everyone remembers - if the change was made and tested in a system but never captured in a transport request, or was later reverted without releasing a request, the modification indicator may not be set or may have been cleared, so SE95 shows nothing even though the code once differed.
- Treating every listed entry as a defect - a modification flag only means the object diverges from the pure SAP original; some entries are sanctioned corrections applied ahead of a support package and are expected, so the list needs to be read against the transport history, not assumed to be a problem list.
- Expecting SE95 to perform upgrade adjustment - it lists and logs, it does not merge modifications forward across a release boundary; that work is done in SPDD for dictionary objects and SPAU for everything else, with SE95 acting only as the reference log consulted alongside them.
- Scope blindness on namespace - custom Z or Y objects never appear here because they were never SAP originals; if a Z program is misbehaving, SE95 will never explain it, and the investigation needs to go straight to SE38, SE80 or the transport history instead.
Whose problem this is
This is ABAP and basis territory, not functional. A functional consultant who suspects a modification should hand over the object name, the transaction or program where the odd behavior surfaces, and the business scenario that triggers it; the technical team then runs SE95, pulls the transport request from E071, and produces the version diff before deciding whether the change is defensible or needs reversal.
Related SAP objects
Reviewed pages this object connects to in the ERPClimb knowledge graph.
Source: ERPClimb — https://erpclimb.com/sap-tcodes/se95ERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.