1. The ABAP data dictionary
The data dictionary (transaction SE11) is where every table, view, structure, data element and domain is defined once and reused everywhere. A domain holds the technical definition (type, length, allowed values), a data element adds business meaning and field labels, and a table field uses a data element. Learn to read an existing standard table such as a customer or material master before you create your own. Lock objects, search helps and views also live here.
2. Data types and internal tables
ABAP programs hold data in variables, structures and, above all, internal tables: in-memory tables that you fill from the database and then sort, loop over and aggregate. There are three kinds:
- Standard tables for general use, accessed by index or a linear key search.
- Sorted tables that stay in key order and allow fast binary search.
- Hashed tables for very fast access by a unique key.
Choosing the right table type is often the difference between a report that runs in seconds and one that times out.
3. Open SQL and working with the database
ABAP reads and writes the database through Open SQL (now called ABAP SQL), which works the same on every database SAP supports. The habits that matter early: select only the fields you need, use a proper WHERE clause, never put a SELECT inside a loop, and use joins or FOR ALL ENTRIES instead. Modern syntax adds inline declarations, string templates and expressions that make code shorter and easier to read.
4. Reports and ALV output
Reports are the first real programs most developers write: a selection screen, a database read, some processing and a list. Classical reports teach the event model (INITIALIZATION, AT SELECTION-SCREEN, START-OF-SELECTION, TOP-OF-PAGE). ALV (ABAP List Viewer) gives users sorting, filtering, totals and layouts without extra code, and in current practice is built with the class CL_SALV_TABLE.
5. Modularisation: function modules and classes
Large programs are split into reusable units. Includes organise code, function modules (SE37) wrap reusable and remote-enabled logic, and methods in global classes (SE24) are the standard for new development. Writing small, single-purpose units is what makes ABAP testable and maintainable.
6. Object-oriented ABAP
Classes, objects, methods, interfaces, inheritance and exceptions are not optional any more. BAdI implementations, ALV with CL_SALV_TABLE, ABAP Unit tests and the RESTful application programming model are all class-based. A beginner should be comfortable creating a class, calling its methods and handling class-based exceptions with TRY and CATCH.
7. Enhancements: user exits, BAdIs and enhancement points
Companies rarely change SAP standard code. Instead they add logic at defined hooks. User exits and customer exits are the older technique. BAdIs (business add-ins) are object-oriented hooks that allow several implementations. Enhancement points let you insert code at explicit or implicit positions in standard programs. Knowing which to use, and that a BAdI is preferred where one exists, is a core interview topic.
8. Integration: BAPIs, RFCs and IDocs
SAP systems talk to each other and to outside applications constantly. RFC (remote function call) runs a function module in another system. BAPIs are stable, remote-enabled interfaces to business objects, for example to create a purchase order. IDocs are structured documents used for asynchronous exchange, such as sending orders or invoices between systems. Support projects spend a lot of time on these, so understanding how to monitor and reprocess them is valuable.
9. Debugging and performance analysis
The debugger is the tool you will use most. Set breakpoints, watch variables, step through standard code and read short dumps in ST22. For performance, the SQL trace (ST05) shows what the database is doing and runtime analysis (SAT) shows where time is spent. Being able to explain how you found and fixed a slow report is worth more than any memorised definition.
10. Modern ABAP on S/4HANA: CDS, AMDP and RAP
S/4HANA runs on the SAP HANA in-memory database, so modern ABAP pushes work down to the database instead of pulling data up:
- CDS views define data models with joins, associations, calculations and annotations, and run in the database.
- AMDP (ABAP managed database procedures) lets you write database procedures for heavy logic while managing them from ABAP.
- RAP (the ABAP RESTful application programming model) builds transactional services on top of CDS, which are exposed as OData for SAP Fiori apps.
These are developed in ABAP Development Tools for Eclipse rather than SE80. Our guide to ABAP and Fiori explains how the pieces fit together.
A practical order to learn them
Follow the numbering above: dictionary, internal tables, SQL, reports, modularisation, OOP, enhancements, integration, debugging, then CDS and RAP. Keep one small project that grows each week, for example a report that becomes an ALV, then gets an enhancement and finally a CDS view behind it. That project is what you will talk about in interviews. For what panels actually ask, see the SAP ABAP interview questions guide, and if you are wondering about difficulty, read is SAP ABAP hard to learn.
Learn SAP ABAP at Cokonet Academy
The SAP ABAP course covers these concepts on a live SAP system, in Trivandrum, Kochi or live online, and SAP ABAP Advanced continues with CDS, OData and RAP. To talk through which course fits you, use the contact page or call +91 80754 00500 for a free counselling call.