ABAP stands for Advanced Business Application Programming, a 4GL (4th generation) language. Currently it is positioned, along with Java, as the main language for SAP application server programming.
Let’s start with the high level architecture of SAP system. The 3-tier Client/Server architecture of a typical SAP system is depicted as follows.
In the 1980s, ABAP was first developed as a procedural language for reporting purposes into the SAP R/2 system. It developed from a way of implementing object-oriented programming to a basic but very effective means of enterprise-level software development in the SAP R/3 environment.
New vs. Old ABAP
New ABAP is essentially object-oriented and consequently uses modern programming tools, among which is the integration of it with SAP HANA, as well as offering enhanced performance and scalability. Old ABAP which is still relevant today, will mainly be procedural and it might neglect the up-sell capability brought by the recent SAP systems.
When to Use ABAP
ABAP is excellent for the development of programs that need close integration into the SAP System, to transform the SAP standard functionality, and process large amounts of business data. It is mainly meant for use in companies that are already operating in the SAP ERP environment.
The ABAP Workbench
The ABAP Workbench is the SAP development environment for creating, managing, and running ABAP programs. It contains editors used for writing the programs and a compiler and a debugger for testing programs run.
Key Tools In ABAP Development
- ABAP Editor: ABAP Editor is a key component of the ABAP Workbench and provides a full toolset for writing and adjusting ABAP programs. It includes code completion and syntax highlighting that will make the writing of code pleasant and effective.
- ABAP Dictionary: The ABAP Dictionary is a central storage location for controlling the meta-data of all objects used in ABAP programs. It can ensure data consistency and integrity across various applications and modules.
- ABAP Painter: ABAP Painter is a graphic tool to design and change the screen layout for ABAP programs. A developer can use it to design a user-friendly application interface with a minimum amount of coding.
- Function Builder: The Function Builder provides the platform for developers to make and maintain function modules under the ABAP program. These reusable modules are then used as subroutines in these programs, thus the development of modular and easy-to-maintain codes is facilitated.
- Class Builder: The Class Builder is a tool that is used for class and interface definition and management in ABAP. With the help of Object Oriented Programming capabilities, it is possible to create complex, scalable, and maintainable applications.
- Web Application Builder: The Web Application Builder is a tool to develop web-based applications using web technologies like Web Dynpro ABAP and SAPUI5 in ABAP. It offers tools for building UI and integrating web services.
Purpose of SAP ABAP
- ABAP is designed to work with SAP’s software suite, allowing developers to create custom reports, enhancements, and applications that integrate with SAP systems.
- It is used for developing both transactional and analytical applications, enabling businesses to manage their processes, data, and operations effectively.
Features of SAP ABAP
- ABAP is a procedural and object-oriented programming language. It supports structured programming principles and object-oriented programming concepts.
- ABAP provides powerful data manipulation capabilities, allowing you to work with database tables, internal tables, and data structures.
- It offers extensive support for handling and processing large volumes of data and performing complex calculations.
- ABAP provides a rich set of integrated development tools and a comprehensive debugging environment for developers.
Development Environment of SAP ABAP
- ABAP developers use the SAP NetWeaver Application Server (AS ABAP) as the runtime environment and the SAP NetWeaver Development Workbench as the integrated development environment (IDE).
- SAP provides a wide range of tools and technologies to support ABAP development, including the ABAP Development Tools (ABAP in Eclipse) and the SAP Web IDE for SAP HANA, among others.
Application Types of SAP ABAP
- ABAP is used to create various types of applications, such as custom reports, forms, workflow processes, enhancements to existing SAP functionality, and more.
- Developers can also create web-based applications using technologies like Web Dynpro ABAP and SAPUI5.
The Presentation layer consists of any input device that can be used to control SAP system. This could be a web browser, a mobile device and so on. All the central processing takes place in Application server. The Application server is not just one system in itself, but it can be multiple instances of the processing system. The server communicates with the Database layer that is usually kept on a separate server, mainly for performance reasons and also for security. Communication happens between each layer of the system, from the Presentation layer to the Database and then back up the chain.
INTRODUCTION TO SAP AND ABAP/4 LANGUAGE
- Overall introduction to ERP
- Introduction SAP R/3 architecture, Introduction to SAP ABAP/4
- ABAP/4 editor (Focus on the functionalities of new ABAP editor)
- Data types
- Output statements
- Writing small programs
- Arithmetic operations
- String operations
- Control statements
- Parameters
- Open SQL –statements {insert, modify, delete, update}.
- Simple reporting
- Selection screens
- Transaction code creation
- Data Dictionary
- Tables
- Data element
- Domain
- Structures
- Search helps
- Views
- Type Groups
- Table maintenance generator and T-code creation
- Primary and foreign keys.
- Check and value tables.
REPORTING
- Debugging techniques
- Breakpoint creation.
- Watch point creation.
- Emphasize on the usage of New Debugger.
- Modes of Debugging.
- System Debugging.
- Update Debugging.
- Background Debugging.
- Debugging Background Jobs.
- Internal tables
- Declaration
- Type Casting
- Processing.
- Population.
- Control Break Statements.
- Modularization techniques.
- Includes.
- Subroutines.
- Function modules.
- Macros
- Variants.
- Conversion exits.
- For all entries and joins {inner and left outer}.
- Message class creation & message types and handling messages.
- Events for classical reports.
- Events for interactive reports.
- Hide and hotspot.
- Creating and handling buttons.
- Menu painter.
ABAP OOPS
- Fundamentals of OOPS.
- Introduction to Local classes and methods
- Importance of Public, Private and Protected sections.
- Simple reporting using local classes and methods.
- Global classes and interfaces.
- Usage of global classes in the reports.
- Class Based Exception Handling Mechanism – Exception Classes.
- Introduction.
- Types of ALV
- Simple report to display simple ALV List using Function Modules
- Simple report to display simple ALV grid using Function Modules.
- Interactive ALV Reports.
- Working with OOALV using classes (List, Grid).
DIALOG PROGRAMMING
- Introduction to screen painter and dialog programming.
- Flow logic
- PAI.
- PBO.
- POV.
- POH.
- Screen designing.
- Programming in object browser.
- Field validations.
- Creation of
- Table Controls.
- Tab Strips.
- Dynamic Screen.
- Call Screen.
- Set Screen.
- Leave to Screen.
- Leave Screen.
- Processing of list from transaction and vice versa.
- Screen table and its fields.
- Lock objects.
INTERFACE PROGRAMMING
- Why Data Transfers
- Introduction to BDC.
- File Handling.
- Presentation server.
- Application server.
- Recordings.
- Methods in BDC.
- Call transaction.
- Session method.
- Error Handling in Call Transaction.
- Legacy System Migration Workbench (LSMW)
- Different methods.
- Steps to Create an LSMW Project.
- Flat file creation.
- Uploading data.
SAP Scripts
Simple practical examples of SAP Workflow
- Introduction.Layout Sets.SAP Script Elements.Modifying standard layout sets (by using subroutines).Including logo.SAP script Control Commands.SAP Scripts Operations using different standard RSTX* Programs.Multi Language Handling in SAP Scripts.
- Working with smart forms.Standard Texts.Graphics management.Writing print program and designing layouts.Output type configuration to standard orders.
- Concepts of Function Group.Different Types FMs.Concepts of FM interface.Concepts of Update Programs.
- Concepts of IDOCS.Structure of IDOCS and Types.Creation of segmentsCreation of IDOCS.Using standard message types
- Defining logical systems used for ALE interfaces.Outbound / Inbound processing.Transferring of master data from one system to another system.Distribution modal view.IDOC Programming / Custom IDOCS.
- Introduction to BAPIOverview of Business Objects.Step By Step Approach followed to create BAPI.
- Introduction to enhancements.Different Ways of doing Enhancements.User Exits.Introduction to BADIHow to implement BADIEnhancement FrameworkExplicit EnhancementImplicit EnhancementOverview on Enhancement Spots, Enhancement Section, Enhancement Implementations and Class Enhancements
- Introduction of SAP WORKFLOW.
- Introduction of different elements of Workflow.
- Introduction to concepts of Binding.
- Introduction to Business Object Events