Skip to Content
Technical Articles

Finding what tables and fields lie behind an SAP transaction

The question “what is it doing and why ?”is a pretty standard part of the BASIS person / teams day.  It can be in the context of debugging a program or process, or trying to work out what configuration changes are required to make something work. An example of when thius gets escalated to BASIS is when the development or functional team have moved on, leaving someone who knows what to do but not why – usually a user (under pressure from their boss) who just wants to get the system doing what they’ve been told it should be doing….

However, your BASIS team (or person) has to be a jack of all trades,  but also a working knowledge of Networking, Desktop PCs, the Operating System(s) and Databases(s) their SAP systems are running on and so on, as well as being able to answer SAP functional questions.

Early last centrury, when I worked on IBM mainframes, I found that the secret to finding anything in the IBM technical library was knowing the structure of the library.  Nowadays, the best way of dealing with this need to know something about everything is not by trying to know everything, but by knowing how to find out everything.  An example of this is how I track down what tables and fields lie behind an SAP transaction.

PF1 on the field you’re interested in


This is the standard answer.  For simple programs, it works well.  However, very often, it will point to a field or structure that bears no relationship to a database table or field.  In other words, it tells you exactly the source field and structure, but it won’t tell you how that field was derived.

Use a Different Field


If the technical information pop up shows a structure and not a real field, just try another field on the same area of the screen. It is surprising how often this works !!


Use ‘Where Used‘ on the Data Element

From the technical information pop up, select the data element then press Navigate to get to the Data Dictionary.  Once there, press the Where Used button.

Trace Analysis

Transactions SE30 Runtime Analysis and ST05 SQL Tracecan be over-kill for determining what fields and tables are being used, but can be used to see how (for example) configuration data controls how and / or when the fields and tables are updated. It’s also useful when dealing with Z or Y code, structures and tables.

SE80 Object Navigator

This is probably more useful for a functional person, and is not available on the older SAP releases anyway. However, if you know the program behind the transaction, you can use SE80 to find all the Data Dictionary objects (including tables and fields) associated with that program.

Environmental Analysis

This is for when you have the need (or time) to get a much broader understanding of an area of SAP.  The exact method depends on your SAP release.  For example, if I wanted to find a bit more about the 4.6c SAP Office when it handled appointments, I might start off with transaction SSC1 Maintain appointments diary. Using System –> Status, I get the programs name SAPLSCA2 which I copy to the program field of transaction SE38 and select the environmental analysis option, to get a list of objects to analyze for.

You must be Logged on to comment or reply to a post.
  • Most often I use
    Use ‘Where Used’ on the Data Element

    But if all else fails I also have the chance to ask the responsible colleague (which most others don’t).

    Another option is to look for notes that describe technical fixes.

    • Hi Dirk,
        Because I work for a large SAP partner, there’s almost always someone around who knows the particular functional area.  However, there’s two issues –
      1) knowing who to ask, and
      2) their availability to answer the question in a timely manner

      If I can provide someone an answer, while showing them how I got that answer, then I improve their knowledge of the system, provide more time for me to do my job, and can make better use of the functional people.

  • I feel SE84 is much better for a where used list.
    But first preference goes to ST05. 🙂
  • I think you’ve got my steps covered in this blog. 

    However, when all else fails – probably prior to looking thru source code.  I have a list of most of the tables / fields in SAP by area.  I use that.  It’s called SAP table relations compiled by Christopher Solomon.

    There are other versions of this floating around, but I seem to use this one the most.

    Nice blog,


    • Hi Michelle,
        Thanks for that link – I’ve saved a copy on my laptop, and on our corporate site.  Looks very useful.
      While its a little old (2007), since it is showing the major links and relationships, it still appears valid for ECC6 R3.

  • Hello Martin

    I am not sure whether this function module still exists on ERP 6.0. If so it may be another useful source of information about a transaction.


  • Additionally an easy way is to understand how SAP structures applications with reference to packages. Simply look at the package an object belongs to (table, screen field, transaction etc) and ‘Display Object List’.  From here you can see all related dictionary objects/classes/ function groups etc.  Quite often related objects are grouped into the same package.
  • There is also a where-used functionality in transaction SE16N (Global Table Display) of the field, data element, etc.

    SE16N comes with the SAP_APPL component, so exists only on ECC systems.

    Pity.. 🙁


  • Hi

    Another trick: Start debugger (new version), hit F9 and enter SELECT under the ‘ABAP Cmnds’ tab.

    Then the debugger breaks at all SQL SELECT statements.

  • I work for a company that has a product to help in just such a scenario.  You can find which Tables/Views are used by a Program or Function in SAP, and explore relationships between tables, and make ‘Subject Areas’ that can be exported into SAP PowerDesigner to make a data model.  Its call Safyr.