When independent analysts are asked to perform data analytics in a SAP environment, the most common questions that they ask are:
- How do I get access to SAP data?
- How can I get data out of SAP?
- Which SAP tables do I need?
- How do I prepare SAP tables for analysis?
Beta Software consultants have been analyzing data in SAP environments for more than 20 years. We have put together top 5 tips to help you to analyse SAP data in no time:
Tip 1: Transaction SE16N
When requesting access to SAP, ensure that SAP transaction SE16N – General Data Display, is specifically included in your request. With this transaction, you are able to view the contents of SAP tables, count the number of records in a table and verify the completeness of your data downloads. Without access to this transaction, you will be analyzing in the blind.
Tip 2: Remote Function Call (RFC)
Remote Function Call (RFC) is a SAP protocol that handles communications between SAP and external systems to simplify the related programming.
Although transaction SE16N can certainly extract SAP tables to text files, extracting large tables will fail due to SAP’s timeout limitation settings.
Some of the SAP tables typically required by analysts are notoriously large, due not only to the number of records, but also the number of fields in those tables. This is where RFC becomes your friend.
We use Arbutus Software which has a SAP connector called Smart Link. This connector connects to SAP using RFC protocol. RFC downloads are not restricted by timeouts and have very little impact on the SAP infrastructure. An additional but massive benefit is that Smart Link imports the SAP data directly into Arbutus Analyzer, ensuring that we can start analyzing immediately after the download completes.
Tip 3: Joining tables before download
Most of SAP’s transactional data tables like the General Ledger and sub-ledgers consists of a header and a detail table. The header table contains static data while the detail table contains variable data about individual transactions or postings.
Although this is a very efficient way of designing databases, it poses certain problems for analysts. One of the best examples is that SAP’s General Ledger detail table (BSEG) does not contain the fiscal month (MONAT) in which the transaction was posted. This field is stored in the header table (BKPF). Downloading BSEG can therefore only be filtered for an entire year which makes the size and time required excessively large. There are various examples such as this.
Ensure that your data analytical software and SAP connector can join tables in SAP before the download is executed. In the example above, you would join BSEG and BKPF and be able to download 1-month of data only.
Arbutus Smart Link facilitates this process as depicted below:
Tip 4: Tables DD02T contains table names
Once you have access to SAP you will want to know which tables contain information that you need. The problem that you face is that SAP table names are all acronyms with German references. The same applies to field names
To get a list of all SAP table names and fields, as well as English descriptive names, download tables DD02T and DD02T.
With this information, you will be able to search for specific words and find tables that contain those words. For example: search for “Purchase Order” and tables EKKO and EKBE will be found. These are the main PO tables in SAP.
Our SAP connector, Arbutus Smart Link (https://www.arbutussoftware.com/products-solutions/smartlink) refers to these tables and presents the user with both the German names and English descriptions. (See picture under Tip 3).
A list of all S/4HANA tables can be obtained at: https://www.michaelmanagement.com/download/how-to-download-all-sap-tables
Tip 5: A SAP database contains close to a million tables. You seldom need more than 20!
It is essential for a SAP data analyst not to become overwhelmed by the sheer number of tables in SAP. Stay focused and find the tables that you need for your analysis. I’ve experienced that I can do most, if not all my analytics after downloading maximum 20 tables. Once you become familiar with these tables, the SAP world becomes your oyster.
Here is a list of the most important transactional tables I usually download:
- BKPF – General Ledger header
- BSEG – General Ledger detail
- BSAK – Accounts Payable Cleared items
- BSIK – Accounts Payable UnCleared items
- BSAD – Accounts Receivable Cleared items
- BSID – Accounts Receivable UnCleared items
- MKPF – Inventory transactions header
- MSEG – Inventory transactions detail
- MBEW – Inventory on hand
- MBEWH – Inventory on hand history
- ANLB – Assets depreciation
- ANLC – Assets transactions
- SKAT – General Ledger codes descriptions
- LFA1 – Vendor master
- KNA1 – Customer master
- T003T – Document types descriptions
- TSTCT – Transaction codes descriptions
- ANLA – Assets master
BONUS TIP: With SAP, Google is REALLY your friend!
There is no other system that has more accessible information on the internet than SAP. No other system comes even close. In addition, I found the SAP community extremely engaging and willing to share learnings to analysts that are new to the game.
Some of my favorite Google searches include:
- SAP Table xxxxxxxx
- SAP field xxxxxxxx
- SAP table text for xxxxxxxx (eg. Assets, Invoices etc.)
- SAP table key fields xxxxxxx (eg. BKPF)
Here are some links that I found very helpful when researching SAP data:
I hope you find these tips helpful. Get in touch if you need assistance you with your specific SAP data analytical needs. I’m always looking for a new SAP data challenge 🙂
Anton Bouwer has been working as an auditor and data analyst for the past 30 years. A large number of his clients are on SAP ERP or SAP/4HANA and he has extensive experience extracting and analysing SAP data.
He holds a Master’s degree in Computer Auditing and is Regional Director: Data Analytics at RSM South Africa and CEO of RSM subsidiary, Beta Software, an authorised partner of Arbutus Software in Southern Africa.