ST05 Database Trace: How it is helpful to Functional consultant

You can trace the database using ST05 transaction to find out what tables / structures underlying program is using. It is extremely great tool to have when you want to analyze any transaction and there is just not enough information available over internet.

ST05 is used to analyze performance of programs majorly.

There are five important types of trace we can perform using ST05 and each is very important in specific context.

Note: This blogpost is a piece of eBook: Learn how to debug ABAP Programs. You can get the book by clicking on the link.

So let’s see how to use ST05


This is how ST05 screen looks like.

Here we have multiple options to filter trace of any program:

  • SQL Trace: this trace helps to find out all tables and structures used by any program/transaction for performing statements like select, insert, delete and update
  • Buffer Trace: to check table buffer (helpful to decide performance tuning opportunity area)
  • Enqueue Trace: enqueue function is used to lock object at the time of updating data and then unlocking it after data update is finished. Many times, you receive errors like ‘xyz table is locked by user’ these errors are issued because of this enqueue function.
  • RFC Trace: this is useful to find out if program is making any remote calls to another system. (useful when analyzing interfaces)
  • HTTP Trace: to trace HTTP requests from program/application.
  1. SQL Trace

First we need to activate trace from ST05 transaction

There are two options to activate trace, you can see highlighted in above screenshot

One should always select activate trace with filter option

Get ECC & S4 Server access here.

In the next prompted screen (above) you should enter your username, transaction name and program name if possible for which you want to activate trace. In lower side you also have include and exclude options to narrow down the trace criteria.

Activating trace is a big deal. Because system collects huge data for analysis purpose, so be mindful while activating trace.

Now after entering filter criteria press enter and trace will be activated.

We are trying to trace FB03 transaction

Open FB03 transaction in other screen

Enter document details and press enter. You can keep going on like opening line item of journal entry or exploring various options from menu, system will keep recording trace of each and every activity. For this e.g. to keep it simple, we will just open journal enter and then close FB03 transaction.

Now go back to ST05 screen and deactivate trace

Then click on display trace option and execute report

And here you go, you got list of programs and objects (tables/structures) along with how much time it took.

You can double click on program name and system will take to that program statement.

To simplify this list further and we are also only interested table checked by FB03, hence we will go to aggregate trace option and select access to table (as displayed in below screenshot)

In next screen you will only see the list of tables that are used.

Let’s make it more simpler to understand, as we can see there are multiple tables that we might not be aware of.

Click on component hierarchy and select level 0 (as shown in below screenshot)

Read blogpost: Everything about FEBKO & FEBEP tables in SAP (EBS)

You can double click on table name to check table details.

In next screen you will see tables are segregated based on their modules

You can notice first BASIS tables are displayed under Basis Component head. Next Financial account tables are displayed. This will help you to check on right tables.

This was about SQL Trace.

Similarly you can use other trace to find out is there any RFC calls made or HTTP request in application. Many times you will come across multiple scenarios where you would like to know what this Z transaction do at that time instead of checking program line by line. You can simply activate all trace in ST05 and then analyze each trace separately.

This will save hours of time for you.

As discussed earlier this blogpost is taken from eBook Learn to read ABAP programs for functional consultants. If you found the blogpost useful then you can get your copy of eBook.

Stay tuned and connected with us on below platforms:


LinkedIn FICO Page

LinkedIn ABAP Page

LinkedIn Logistics Page


Thanks for reading.

Read More
SAP College October 28, 2022 0 Comments

Configure company code for all FICO sub modules

In this blogpost we will see how to configure company code in all FICO sub modules. This blog will be a collection of SAP College YouTube videos, where all sub modules configuration steps explained in sequence.

Setup FI-GL module (Create Company code)

Company code configuration step by step guide in 14 steps. Configure usable company code in 15 minutes. Ready to post documents.

Download free document of configuration steps to setup FI GL AP AR AA CO module:

Below is the video content:

00:01 Introduction

00:45 Create company code OX02

01:38 Create company OX15

02:24 Assign company to company code OX16

02:58 Create Chart of Account OB13

04:00 Create Account groups OBD4

05:05 Define posting period variant OBBO and maintain post period OB52

07:08 Define field status variant OBC4

07:39 Set Global Parameter OBY6

09:09 Tolerance group OBA4

10:10 Define tolerance group for GL OBA0

10:52 Define additional currencies for Company code OB22

12:50 Define number range FBN1

15:20 Define retained earning account OB53

17:01 Create GL Master record FS00

19:10 Post Document FB50

24:45 Conclusion

Accounts Payable and APP configuration steps

Complete Accounts Payable and Automatic Payment program setup in SAP. Configure AP & APP setup to successfully post AP Invoice and run Automatic payment program (F110).

Accounts Receivable and Dunning setup

What are the mandatory steps to follow for new company code to extend it in SAP AR Module. A brief overview and to the point action items in 10 minute.

Asset Accounting and Controlling Area Setup

Complete setup of Enterprise Asset Management in SAP. Extend your company code to asset accounting in few steps. In this video we have extended our company code to Asset Accounting and Controlling submodule. To test the configuration, we have created asset master data, acquisition of asset and posted depreciation on same asset.

eBook: Classic vs New Asset accounting

Project System Setup

Coming Soon.. on SAP College YouTube Channel, Subscribe to stay tune

Read More
SAP College April 19, 2022 0 Comments

How to Install SAP GUI in Windows and Mac?

For Windows:

Install SAP GUI from below link


Watch below video for installation guide

For MAC M1

Follow this link guide


Follow this link guide

Read More
SAP College April 19, 2022 0 Comments

Characteristics in SAP CO-PA & How to maintain Characteristics?

In this blogpost we will see the use cases of characteristics in SAP COPA. It is essential to understand the importance of characteristics because this is a first building block of Profitability Analysis.

If you are setting up profitability analysis, then as initial steps you have to sit down with client to point out required characteristics based on which profitability reports will be extracted.

Characteristics are also important from database point of view, as the number of characteristics impacts the size and complexity of data.

Before we get into more details, as disclaimer this blogpost is a piece of eBook – Controlling Profitability Analysis in SAP. If you want to learn end to end SAP COPA then you can checkout this book, which talks about everything from start to end in simple & plain English.

What are the characteristics?

Characteristics are nothing but those aspects on which we want to break down the profit logically such as a customer, region, product, sales person etc.

Several essential and obvious characteristics are pre-defined automatically for every operating concern; these are known as fixed characteristics.

In addition to fixed characteristics, up to 50 non-fixed characteristics can be added to an operating concern.

Characteristics can be categorised in four types:

  • Fixed characteristics: Some characteristics are automatically pre-defined in every operating concern.
  • Pre-defined characteristics: In addition to fixed characteristics, a number of other pre-defined characteristics are available in the field catalogue and can be added to operating concern.
  • Copying characteristics from reference table: You can create characteristics by coping from table.
  • Characteristics created from scratch: You can create characteristics, by defining own logic to derive values.

To derive values of these characteristics, it is necessary to create derivation rules or table lookup rules unless they are readily available in the sender application (For e.g. in SD data flow to CO-PA, fields on the billing document).

When a value flows from SD, MM, CO, and FI to CO-PA, it will create a line item in the CO-PA tables. The way you customize the master data will directly impact how the characteristics and value fields are populated in the line items. Below is one example of a CO-PA line item.

You can see that the characteristics were populated automatically by the system in above snapshot. You can change the behaviour of the assignments and also complete the missing ones. It’s very important to have all characteristics filled for each posting so that the CO-PA reports you run for any characteristic are complete.

Characteristics derivation makes it possible for the system to automatically derive unknown characteristics value (especially for user defined characteristics) if these are dependent on characteristics whose values are known.

Also read: Everything about derivation rule in SAP Controlling Profitability Analysis


Maintain Characteristics

Access the activity using the following navigation options:

SAP Easy AccessControlling -> Profitability Analysis -> Structures -> Define Operating Concern -> Maintain characteristics
Transaction codeKEA5

Click on display.

Following screen shows available and created CO-PA Characteristics in the system.

The characteristic region is not readily available, so we need to create it.

Click on

Then click on

(Note: We have two options while creating defining characteristics, one is to transfer it from existing SAP table or second is to create user defined characteristics, which will have it’s own SAP table to maintain values)

We are copying region characteristic from table KNA1

Here you can see the field region is added.

Now we will create a user define characteristics.

Note: A user defined characteristics should begin with WW.


Description:        District (we are creating district characteristic)

Data type:           Character

Length:                 18

Check table:       T25** (here system will create table which starts from T25 and the values of this characteristics stored there)

We have created this characteristic from scratch (without any reference), so we need to update it manually at the time of posting.

Click on

After activating characteristics you can see the status of characteristic and generated table.

Characteristic district is created.


In this blogpost we learned why characteristics are needed and how to maintain it.

As said at the start of the blog this blogpost is from this eBook, so if you want to know more about Controlling profitability analysis then you can checkout the book.

If you want to get notified with new blogpost, then do subscribe below

If you enjoy the blogpost then you can stay connected with us on below platforms:


LinkedIn FICO Page

LinkedIn ABAP Page

LinkedIn Logistics Page



Read More
SAP College March 25, 2022 0 Comments

Material price calculation in PO, GR, and Invoice

In this blogpost we will see how material price is calculated in procure to pay process

Price determination at purchase order

At purchase order, material price gets determined automatically. So how does it determine?

Material price is determined in below sequence:

If material is maintained with standard price (S)

  • Then PO will have price from material master

If material is maintained with Moving average price (V), then it will be determined in below sequence:

  • Price from contract
  • From info record
  • Condition record
  • Last PO price (depends on parameter maintained)

Price determination at GR

When goods receipt (GR) is performed, the purchase order price is used in posting corresponding accounting document.

Let’s understand amount calculation in good GR:

When good receipt (GR) is performed, below accounting document gets generated (In case of moving average price):

When good receipt (GR) is performed, below accounting document gets generated (In case of Standard price):

In this case price difference will be posted to transaction key PRD (To assigned GL in OBYC)

Inventory account is always posted with standard price of material maintained in material master.

GR/IR clearing account is always posted with PO price.

When invoice receipt (IR) is performed, below accounting document gets generated (In case of moving average price):

Any price difference will be booked on inventory account (material)

Also Read: Useful reports in Material Management

When invoice receipt (IR) is performed, below accounting document gets generated (In case of standard price):

Any price difference will be booked on PRD transaction key (to GL assigned in OBYC)

So in conclusion, GR/IR prices are always influenced through PO except when material is maintained with standard price control.

When material is maintained with standard price control it causes price difference and then that is posted on price difference account which is maintained in OBYC transaction.

Get SAP Server Access ECC & S4HANA

Read this SAP Help post on same topic for more information.

Hope you enjoy this short post on PO pricing. If so then do sign up with our newsletter below to get notification of new blogposts.

Read More
SAP College March 18, 2022 0 Comments