SAP(Systems, Applications, and Products in Data Processing) is a software type called Enterprise Resource Planning(ERP) that is used by large companies for managing their daily affairs. ABAP in SAP is used for developing RICEFW(Reports, Interfaces, Extensions, Forms, and Workflows) objects. Advanced Business Application Programming is a full form of ABAP in SAP. SAP ABAP is a 4th generation application-specific programming language used for creating an application for the SAP R/3 system. Those applications will run in SAP that has been written with the help of ABAP/4.
It is currently put along with Java as the programming language for SAP NetWeaver Application Server(part of the SAP NetWeaver platform) for developing business applications.
SAP is widely used by plenty of organizations & one of the major reasons behind the popularity of SAP is that it was specially developed for distributed applications. SAP ABAP gives extended versatility to the SAP applications such that varied database systems can be contiguous as per user demands.
The scope of the SAP ABAP career is vast. ABAP can give a prominent career boost for a programmer recognizing their commitment levels. Once you become a member of the SAP community, you can begin your career as a trainee, followed by a junior counselor, then a specialist, afterward a senior specialist, and then finally a lead consultant.
An ABAP consultant’s profession is never going to fade as the business process keeps changing, the technologies also keep getting renewed from time to time which enforces the person to tune into the variations and learn new forthcoming technologies. The career of SAP ABAP consultant is intellectually challenging,along with that it is professionally & financially satisfying.
SAP(Systems, Applications, and Products in data processing) is an ERP(Enterprise Resource Planning) type of software that is used to manage the daily affairs of a large company. Advanced Business Application Programming or ABAP is the fourth-generation programming language and is used to allow the mass-processing of data in SAP business applications. It is possible to build enterprise applications for a larger business and financial institution with the help of the SAP ABAP platform. So, SAP ABAP will protect from organizational data breaches and security threats to information leakage.
SAP ABAP is suitable for integrated applications that a company will use to collect, manage, store, and interpret data from various functional areas. It will act as a single data source and share data within all the units of an organization. It helps the customers for running their business with greater accuracy.
Transparent table | Pool table |
---|---|
It has one to one relation with the database table | It has many to one relationships with the database table |
It contains only a single table | It contains a large number of small tables |
Stores master data | Stores customizing data or system data |
A secondary index can be created | A secondary index cannot be created |
Can be accessed using Open and Native SQL | Can be accessed only using Open SQL |
The database table will have the same name, the same number of fields, and the same field names | The database table will have a different name, different number of fields, and different field names |
Web Dynpro(WD) is an SAP standard user interface technology for ABAP and is used for developing the web-based application in SAP using the development concepts and techniques of SAP. It provides a front-end web user interface for connection with backend SAP R/3 systems to access data and also for reporting. It has a graphical development environment along with a runtime environment that has specific development tools that are combined in the ABAP Workbench.
SAP Smart Forms is a tool used for printing and sending documents. It is useful in the development of forms, e-mails, PDF files, and documents for the Internet. This tool offers an interface for building and maintaining the layout and logic of a form. SAP delivers a form selection for business processes such as those used in Sales and Distribution(SD), Customer Relationship Management(CRM), Human Resources(HR), and Financial Accounting(FI).
This tool permits you for form modification with the help of simple graphical tools rather than using any programming tool. It implies that a user without any programming knowledge will be able to easily configure these smart forms with data for a business process.
The two ABAP/4 editors are:
SE38: It allows you for the program creation and to view the online reports and essentially performs all the object development in ABAP/4 editor.
SE80: It supports additional features like the creation of packages, module pool, function group, programs, classes, and BSP(Business Server Page) applications.
ITS(Internet Transaction Server) in SAP is the necessary link between the internet and the SAP R/3 system. It is integrated into the kernel that belongs to SAP Netweaver Application Server. ITS creates an interface between the R/3 system and HTTP server for converting screen-provided data by the R/3 system into HTML files and vice versa. Because of integration with ITS, a web browser is able to do direct communication with an SAP System. ITS is accessed with the help of “Internet Communication Manager”.
Merits of ITS are:
Lock Object is an ABAP Dictionary provided feature used for synchronizing the access to the same data by multiple users or programs. Lock Objects in SAP are used for avoiding inconsistency during data insertion or modification in the database. Tables whose data records are gonna locked must be defined with their key fields in a Lock Object.
Consider an example for the usage of Lock Object, suppose a travel agent wants to book a place in flight. Also, the customer wishes to fly to a particular city on a particular day with a particular airline. The booking will be possible only if there exists a free place on the flight. The database entry for the flight must be locked through access prevention for other transactions to avoid the possibility of overbooking. This will make sure that a user can find out the number of free places, do the booking, and change the available number of free places without the data being changed at the same time by another transaction.
Function Modules are encapsulated procedures in ABAP and are grouped in Function Groups. Function modules are created with the help of Function Builder(transaction SE37). The type of function module relies on the type of processing.
Function module types are:
CALL FUNCTION funcname { parameter_list | parameter_tables }.
CALL FUNCTION funcname DESTINATION dest parameter_list.
In the SAP system, workflows in business are used for executing business processes in applications. Workflows are the SAP system's essential component that helps in business process design, it can be either a simple process or a complex repeated business process. These are predefined in the SAP R/3 system and the user is allowed to create their new workflows. It also permits the users for managing business processes in the most efficient manner.
Workflows will make sure that the correct information will be sent to the right person at the right time in a proper sequence. It is a tool for business process automation and will uniformly work across all the applications. It is suitable for business processes that involve multiple people or a group of people.
The smart form allows to create, design, and maintain forms for bulk printing in SAP Systems. SAP smart forms will support printers, e-mail, fax, or the Internet as an output medium. We can embed images, texts, barcodes, tables, and ABAP codes with smart forms. On smart form activation, a function module will be generated that an ABAP program needs to call. SMART STYLES transaction is helpful in defining the paragraph and character formats(barcodes, fonts, etc).
Advantages of smart forms are:
Interface in SAP ABAP is an independent structure that is used when two similar classes have the same method name, but the functionalities of each will be different from each other. It looks similar to classes, but the method defined in an interface needs implementation in a class for extending the scope of that class. Interfaces, as well as inheritance features, will provide a base for polymorphism, because a function defined in an interface may act differently in various classes.
Following is the syntax for the creation of an interface:
In the above given syntax, <interfac_name> stands for the interface name. The DATA and CLASS-DATA statements are used for instance and static interface attributes definition respectively. The METHODS and CLASS-METHODS statements are used for instance and static interface methods definition respectively. Here, the interface definition will not include the implementation class, so adding the DEFINITION clause in the interface declaration is not mandatory.
A type group is an ABAP Dictionary-managed ABAP program that is initiated by the TYPE-POOL statement and that consists of ABAP statements that define globally visible constants, data types, and macros. A type group and its constants, data types, and macros do not have semantic attributes excluding short text and any comments in the source code. The type group name can have only five characters, must begin with a letter, and can have numbers or letters or underscores.
For example, one type group frequently used in the ABAP program is ABAP itself, which consists of multiple low-level constants and types. The disadvantage of this group is loading the entire type group is necessary, even if only a few constants and types are required.
With the help of the INSERT statement, it is possible to insert a line or lines into internal tables of ABAP. For inserting a line, you need to put the values which we wish to insert in a work area, then later you can use the INSERT statement for inserting the values in the work area then into the internal table.
The general format for a line insertion into an internal table is:
INSERT <work area> INTO TABLE <internal table>.
OR
INSERT <work area> INTO <internal table> INDEX <index>.
SAP script is a text-processing system that belongs to the SAP System. It is used for printing pre-formatted text in the corresponding forms.
SAP Script has the following components:
Three types of buffering can be found in SAP ABAP, that can be configured for a database view or database table in ABAP Dictionary. They are:
SELECT SINGLE
is used for accessing a non-buffered row, it tries to load the row. If the row is not available, this will be noted in the buffer and the database will not again access the next time SELECT SINGLE
has been used.‘Type’ | ‘Like’ |
---|---|
You can assign the data type directly during the declaration of the data object | You can assign the data type of one object to another during the declaration of the data object. The datatype will be indirectly referenced here. |
It is used when user-defined objects connect with SAP system data type | It is used when data objects connect with the other data object |
Type keyword is useful in referring to the data type | Like keyword is useful in copying the existing data object properties |
The ALV or Application List Viewer is used for improving the report output. We can avail the set of ALV function modules with the help of SAP and those will be used to improve the functionality or readability of any output of the report. It is a relevant tool used for arranging the columns in the output of a report.
Application developers can quickly implement structured dataset display with the help of ALV, by providing three different tools of ALV, one each for the display of: Tree structures, Simple and two-dimensional tables, and Hierarchical-sequential lists.
The SAP ALV provides application developers with:
Internal tables are temporary memory areas that exist only during run-time for storing data at run-time. It can be used only on a subset of database tables for performing calculations related to the table. It re-organizes the content of the database according to the requirement of the user.
Modularization is breaking the application code into smaller parts, so that maintenance will be easier. Consider an example where you want to implement the same logic like the addition of two numbers in multiple parts of the same program, then put the logic within a modularization unit and this modularization unit can be called wherever you want to add two numbers.
Advantages of modularization techniques are:
The SAP ABAP 3-tier architecture has 3 major layers. They are:
OSS(Online Service System) notes are a part of an online SAP service portal that gives up-to-date information about SAP notes. It is the Knowledge Base of SAP that will address the known issues specifically in the SAP system. It frequently releases patches, new program developments, bug fixes, and other various updates by SAP. This will provide a list of correction notes for SAP objects.
OSS Notes will be continuously updated as customers report issues in the SAP system and SAP will release a note that includes detailed instructions about fixing or addressing the issue. Most of the issues get addressed or fixed when the next version of the same component gets released by SAP and hence it is very important to see note applicability related to the version where an issue is being addressed. Each note will be applied to a version and almost all its predecessor versions. Before you start with your work, it is necessary to check for the presence of a particular in your SAP system.
Multiple inheritances mean where multiple classes can be a superclass of a single class. ABAP objects don’t support multiple inheritances as we can’t inherit a class from more than one class. It allows defining a class inheriting from only a single class in ABAP objects. If you are trying to define multiple superclasses during class definition, an error message will be prompted by the compiler. But still, you can accomplish a similar functionality like multiple inheritances by using Interfaces in SAP ABAP.
BAPI(Business Application Programming Interface) | RFC(Remote Function Call) |
---|---|
It is a standard programming interface that allows accessing business processes as well as data for external applications in the R/3 system | It is a standard SAP interface for communicating between various SAP systems |
Used to access SAP functions across stable, formal, and dialogue-free interfaces | It is used to call the function modules that reside on various machines |
Success or error message will be returned on a RETURN table | It does not have a RETURN table |
It allows to connect with the SAP for the outside world(VB, .NET, Java, or any Non-SAP system) | It does not allow the Non-SAP world to be connected to SAP |
A business object is associated with it | No business object is associated with it |
Report Programs in ABAP are event-driven programs that are used for displaying a large amount of data. The various events firing will take place in a particular order within a report program. That is:
IDoc(Intermediate Document) is an SAP object that carries business transaction data in the form of electronic messages from one system to another. The IDoc helps for transferring data/information from the SAP system to other systems and vice versa. The data transfer between two SAP systems is accomplished by using ALE(Application Link Enabling) and data transfer from SAP system to non-SAP system is accomplished using EDI(Electronic Data Interchange) subsystems.
A view is a virtual table that consists of fields from one or more tables. There are 4 types of views in SAP ABAP. They are:
ALE(Application Link Enabling) | EDI(Electronic Data Interchange) |
---|---|
It is an SAP technology used for transferring data between SAP systems | It is an independent technology used for transferring data between two systems, either between SAP systems or non SAP systems |
Useful in internal communications | Useful in external communications |
It is used for distributing the master data(such as Vendor Master, Material Master) within a company when a distributed environment has been maintained | It is used for exchanging transaction data(such as Delivery, Purchase order) among two different business partners |
Technically, data transfer is done using memory buffer | Technically, data transfer is done using a file port |
A translator is not required here | Translator is required for converting the X12 to IDoc(Inbound) and IDoc to X12(Outbound) |
Enhancement framework in SAP ABAP is the new modification-free enhancement concept that allows you for adding functionalities to standard SAP software without modification of original repository objects. It also helps the consultants, customers, and third parties by providing an option of enhancing the standard code with custom code that they wish to add.
The below diagram shows the enhancement framework options.
The enhancement framework is divided into two parts. They are:
There are 3 functional modules used in a sequence for successfully performing the transfer of data in BDC(Batch Data Communication) programming. They are:
BDC_OPEN_GROUP
: Parameters such as client name, user name, sessions, etc., will be specified in this functional module.BDC_INSERT
: It is used for inserting the data for a single transaction into a session.BDC_CLOSE_GROUP
: It is used for closing the batch input session.SCENARIO 1:
Consider that you have got a Business Requirement that says, “It requires a control at the Production Order level”, which implies that when a sales order has been created, the creation of a production order will also take place based on the sales order values. This needs to be stopped for various business reasons. There is no standard functionality available where the functional user will be able to configure this in SAP.
The current open sales order at the production level should not be hot by the process. ABAPer has to make a checkpoint creation for the business where the quantity will be approved by the Manager, which needs to be produced based on the sales order.
You need to code at numerous user exits and a custom table should be created that populates all the details of sales orders and restricts the user authority only for the approval authority like Manager. It has to perform the quality checks multiple times before we finally decide for moving the code into production.
SCENARIO 2:
Generally, when the creation of a sales order takes place, the sales order gets blocked based on the credit check or credit limit(if activation was done by the functional consultants) of the customer. So, you need to ‘unblock’ the sales order even if the customer has been exceeded the credit limit depending on certain conditions.
For this scenario, you need to write code at numerous places, during the time of the creation of sales orders and also during the delivery time. This process is known as enhancements.
So, for ABAPers the constant evolution of SAP coding standards for core ABAP must be the same, but the methodologies and techniques of implementation or workarounds will be evolving.
In the above program code, you need to enter values for two numbers using SELECTION_SCREEN. In START-OF-SELECTION by using the if condition, it will check whether variables are having the values, if it returns true then it will perform the sum, else it will display a message for entering the numbers.
In END-OF-SELECTION, the user name, date, time, and sum values are displayed.
The below snapshot represents the selection screen.
Output in an ALV grid:
To obtain any technical position, theory and basic concepts are necessary for any fresher who is applying for the SAP ABAP job role, but for an experienced candidate both practical and applied concepts are mandatory. Usually, for an experienced candidate, a lot of SAP ABAP interview questions will be related to your previous project and roles.
This article essentially covered a list of frequently asked SAP ABAP related questions that fits the interview requirements. A candidate who wants to get a job as an SAP ABAP role should glance through these questions once before heading towards the SAP ABAP Interview round. You can prepare well and give your best in the next interview.
SAP ABAP is not a so tough language to learn compared to C++, C#, Java. The difficulty level lies more in being able to convert a business requirement to a technical solution– it is more in the nature of the program/application you are writing rather than in the programming language itself.
Actually, compared to SAP BI, FICO, Sales and distribution, Material management, Production and planning, Quality Management, and Human Capital Management, SAP ABAP is highly in demand with several job opportunities along with high salary packages. You can excel as an SAP ABAP developer, ABAP Consultant, Business Analyst and you can also move into management role after few years of experience in SAP ABAP. So, SAP ABAP is definitely a good career choice in 2021.
Generally, you can follow the following steps to become an SAP ABAP developer:
SAP ABAP developers are usually paid well, that too in some of the reputed organisations their payscale is really in higher range. As per the data from ambitionbox, SAP ABAP developer salary in India for a fresher candidate ranges between ₹2.5 Lakhs to ₹10.8 Lakhs with an average annual salary of ₹4.7 Lakhs.
The below mentioned are the skills a SAP ABAP developer should have to work effectively in his role:
. , :
: , .
, . :
, : .
: , .
DEBUGGINGNOTPOSSIBLE
when starting the Debugger?rdisp/wpdbugmaxno
defined valueABAP_TRUE
WD_VISIBILITY
BOOLEAN
WDUI_VISIBILITY
WDUI_VISIBILITY