0% found this document useful (0 votes)
22 views

SAP ABAP

Uploaded by

Akash Hol
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views

SAP ABAP

Uploaded by

Akash Hol
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 36

Introduction to SAP ABAP

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 ABAP Interview Questions for Freshers

1. What is SAP ABAP?

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.

2. What is meant by data dictionary in ABAP?

 ABAP data dictionary represents metadata(i.e. data about data) that is present inside the SAP database in addition to the
metadata maintained by the database. Data dictionary allows the necessary description of all the data without redundancies
that are used in the system. New or updated information will be provided automatically for all the system components. This
ensures data security, data consistency, and data integrity.
 It is used to describe the logical structures of certain objects that can be used in the development of the ABAP/4 application
and it can also display the underlying relational database in tables.
 The data dictionary is useful in creating and managing data definitions as well as in creating Tables, Domains, Views, Data
Elements, and Types. Also, it supports a few standard functions for editing screen fields like assigning input help to the field
of a screen.
3. Differentiate between transparent and pool tables.

Transparent Table Pool Table

It has one to one relation with the database table It has many to one relationship 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 The database table will have a different name, different
number of fields, and the same field names number of fields, and different field names

You can download a PDF version of Sap Abap Interview Questions.

Download PDF

4. What is Web Dynpro for ABAP?

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.
5. What are smart forms in SAP?

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.

6. What are the different ABAP/4 editors?

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.

7. What is ITS in SAP? What are the merits of ITS?

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:

 It is possible to develop and test the comprehensive web transaction in the R/3 system.
 It acts upon all transaction components, including those components used outside of ITS.
 In the R/3 system, using automatic language processing utilization of language-dependent HTML documents can be done
during runtime.

8. Explain about lock objects in SAP ABAP.

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 ABAP 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.

9. Explain the types of function modules in SAP ABAP.

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:

 Regular function module: It will be executed immediately and synchronously on the current SAP system of the user. It is
the default option.

CALL FUNCTION funcname { parameter_list | parameter_tables }.

 Remote-enabled function module: It is called by remote systems(R/2 or R/3) that utilize the RFC protocol. For example, it
is possible to define a Remote Function Module in an EWM(Extended Warehouse Management) system which will be later
called by your ERP(Enterprise Resource Planning) system for obtaining further information related to stock levels or shipment
details.

CALL FUNCTION funcname DESTINATION dest parameter_list.

The above statement calls the target system mentioned under dest synchronously. The unique name of a
destination should be used for the parameter dest.

 Update function module: This module will not be executed immediately. This update process will be triggered by the
COMMIT WORK statement. The ROLLBACK WORK statement is responsible for deleting all update function module
registrations.

CALL FUNCTION update_function IN UPDATE TASK


[EXPORTING p1 = w1 p2 = w2 ...]
[TABLES tab1 = itab1 tab2 = itab2 ...].

IN UPDATE TASK will bundle database modifications into a single database called LUW. Since the update happens
asynchronously, it is proved beneficial for performance.

 BAPI(Business Application Programming Interface) function module: BAPI is a Function Module that provides a
standard interface for business objects available in SAP. Common usage of BAPI is to create/delete/update/read business
objects such as Business Partners, Purchase Orders, or Sales Orders.

10. What do you mean by the workflow in SAP ABAP?

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.
11. What are Smart forms in SAP ABAP?

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:

 It helps to adapt the forms with the help of a graphical user interface and there is no need for programming knowledge.
 During smart form activation, the system will automatically generate the function module.
 For making any changes we need to use the Cut & Paste, Drag & Drop. These actions do not include the writing of coding
lines or using a scripting language.
 It is possible to insert the static and dynamic tables using smart forms.
 It permits the user to include graphics, that will be shown as a part of the form or as background graphics. It is possible to
suppress the background graphics by the user as and when it is necessary.

12. Explain about interfaces in SAP ABAP.

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:

INTERFACE <interfac_name>.
DATA.....
CLASS-DATA.....
METHODS.....
CLASS-METHODS.....
ENDINTERFACE.

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.

13. What is the type group in SAP ABAP?

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.

14. How can we insert a line into ABAP internal tables?

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>.

15. What is SAP Script? Describe its components.

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:

 Editor: It will be used to enter and edit the lines of a text.


 Styles and layout set: It is mainly used for print layout. I will be created using the corresponding maintenance transactions
independent of the individual texts and will be allocated to the texts later.
 Composer: It is a central output module and is invisible to the outside.
 Programming interface: It permits you for adding SAP script components into your application programs and for controlling
the layout set output from within the programs.
 Database tables: It will be used for styles, layout sets, and storing texts.

16. Explain about types of buffering in SAP ABAP.

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:
 SAP Buffer - Single Record Buffering:
In this type of buffering, only actually accessed rows in the table will be buffered. It needs less space in the buffer when
compared to generic or full buffering. But it requires more amount of administration work and direct database access.
If 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.
 SAP Buffer - Generic Buffering:
In this type of buffering, SAP buffer will be loaded with all rows that match a row(on which read is performed) in a left-justified
part of the primary key. The count of key fields covered is mentioned within the definition and will be always less than the
key field’s total count. Altogether, these key fields are considered as the generic key. Each generic area will be managed
similarly as standalone views or tables whose primary key will be the generic key and that are fully buffered.
 SAP Buffer - Full Buffering:
In this buffering, on reading a row, all rows in the view or table will be loaded into the SAP buffer. The buffered view or table
will be either completely in the buffer or not at all. In the buffer, the buffered data records will be sorted on the Key of the
view or table basis. Optimized access needs the left-justified part of the primary key/the secondary index fields to be as large
as possible. If not, the buffer will be scanned in a linear format.
17. Difference between Type and Like in ABAP.

‘Type’ ‘Like’

You can assign the data type directly during You can assign the data type of one object to another during the declaration of
the declaration of the data object the data object. The datatype will be indirectly referenced here.

It is used when user-defined objects connect


It is used when data objects connect with the other data object
with SAP system data type

Type keyword is useful in referring to the


Like keyword is useful in copying the existing data object properties
data type

18. What is meant by ALV(Application List Viewer) programming in SAP ABAP?

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 displays 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:

 An object-oriented API for all ALV tools.


 The API which is coherent.
 Detecting the error during programming as early as possible.
 Functions for accessibility will be in integration with ALV, which implies that no need of providing these functions yourself
while using your application.

19. What are internal tables in SAP ABAP?


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.

20. Explain the advantages of the modularization technique.

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:

 Modularization will eliminate redundancy if the program is having similar statement blocks or it needs to process the same
function multiple times. Thus it increases the code reusability.
 Using this modularization technique, we can make the program easier to read and improve the program structure.
 Modularized programs will be easier to maintain, update, and debug.

SAP ABAP Interview Questions for Experienced

21. Explain the 3-tier SAP ABAP architecture.

The SAP ABAP 3-tier architecture has 3 major layers. They are:
 Presentation Layer: It is an interface or program known as “sapgui.exe” installed on a PC or Workstation of a user. This
interface will accept user inputs in the form of mouse clicks, function keys, or keystrokes and will send the request that needs
to be processed by the application server. The application server will send the result back to the interface and output
formatting will be done in order to display it to the user.
 Application Layer: This is an executable set that togetherly does ABAP/4 program interpretation and will also be able to do
input/output management for them. When the application server gets started each and every executable will get started at
the same time and when the application server stops, they shut down together. The details about the number of the process
that began during the starting of the application server will be specified in a single configuration file known as Application
Server Profile. The application server is in existence for interpreting and running the ABAP/4 programs. It is possible for an
ABAP/4 program to start an executable on the presentation server but the execution of them is not possible. When an ABAP/4
program makes a request for the data from the database, then that request will be formatted by the application server, and
finally, the formatted request will be sent to the database server.
 Database Layer: This is an executable set that will accept requests for the database that came from the application server.
The requests will be passed on to the database, it will be processed and information will be sent back to the database server,
from there it will be later passed on to the application server. The application server will pass on this database retrieved
information to the ABAP/4 program.

22. What is Transport Request in SAP?

 Transport Requests(TRs) are a ‘Container or Collection’ type of change that can be done in the development system. Also,
the information related to the requested category, type of change, the target system, and the purpose of transport will be
recorded. Transport requests are also called Change Requests.
 Every transport request will have multiple(one or more) change jobs(change Tasks). Tasks will be stored inside a TR, in the
same way as multiple files will be stored in some folder. TR will be released only once after the completion/release/deletion of
all the tasks inside a TR.
 Change Task is an object list that has gone through a modification by a specific user. Each task must be assigned to(and
released by) a single user only. Anyways, multiple users will be assigned with each Transport Request. Tasks cannot be
transportable by themselves, it can be done only as a part of TR.

23. What are OSS notes in SAP ABAP?

 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.

24. Explain about Adobe forms in SAP ABAP.

 Adobe forms is a technology used for developing the forms and now it has become the current standard in SAP for form
development. To use these forms, a Java stack must be first installed in SAP Basis. Along with that, developers need to
configure the Adobe Document Service(ADS). Adobe LiveCycle Designer(LCD), GUI(graphical user interface) for Adobe Forms-
must also require to be installed separately as the application will run on Windows.
 Using Adobe Forms, we can create the forms in companies, fill out the form, output as a print form, show it as a PDF file on
screen, or even it can be sent. Such forms will include purchase orders, orders, and invoices.
 From the SAP system, it reads the associated master data and transaction data. The data will be displayed by the application
in the predefined and desired form, for example, as a print form. Entering data in forms is also allowed.
 Adobe has become the successor to SAPscript and SmartForms. This technology has surpassed its two predecessors
SAPscript and SmartForms in various areas like performance and design.
 We can separate design and programming by using Adobe forms in SAP. Also, Interactive Forms by Adobe in SAP provides
different suitable tools and functions for the easier design of a form.
 It is possible to customize the forms by form developers with the help of their own programming by using two script
languages Adobe FormCalc or JavaScript. The developer tool for Adobe Forms will be accessed through SFP(SAP tcode-Form
Builder) transaction.

25. Does the ABAP object support multiple inheritances?

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.
26. Mention the Differences between BAPI and RFC in SAP ABAP.

BAPI(Business Application Programming Interface) RFC(Remote Function Call)

It is a standard SAP interface for


It is a standard programming interface that allows accessing business processes
communicating between various SAP
as well as data for external applications in the R/3 system
systems

It is used to call the function modules that


Used to access SAP functions across stable, formal, and dialogue-free interfaces
reside on various machines

Success or error message will be returned on a RETURN table It does not have a RETURN table

It allows connecting with the SAP for the outside world(VB, .NET, Java, or any It does not allow the Non-SAP world to be
Non-SAP system) connected to SAP

A business object is associated with it No business object is associated with it

27. Explain the sequence of events firing in report programming.

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:

 Top of page: This event will be triggered by the first ‘write’ statement written in the report. It acts as a page header. By
default, the first event triggered will be the ‘load-of-program’, if the ‘write’ statement is not included in the report.
 Load-of-program: This event will be triggered when the program of type E(Executable program), M(Module pool), F(Function
pool), or S(Subroutine pool) gets loaded. It will be in existence only once per program.
 Initialization: This event is used for initializing the values. This event will be triggered after the ‘load-of-program’ event and
before the display of the selection screen.
 At selection-screen output: This event will be triggered just before the display of the selection screen. It is used if you
wish to change the screen fields during runtime. It will hide the fields or make them invisible/visible or make them intensified.
 At selection-screen: This event will be triggered processing of selection-screen by the user. It will be used for checking and
validating the inputted values.
 At selection-screen on field: This event will be triggered in the PAI(Process After Input) when data is transferred from
PARAMETERS or SELECT-OPTIONS to ABAP. It can be used for validating the user input.
 At selection-screen on value-request: Using this, if a program field is defined with ABAP Dictionary field reference for
which possible entries help has been defined, the values from the ABAP Dictionary help will be displayed automatically on
calling F4 help for that field by the user.
 Start-of-selection: This event will be triggered on execute button click or F8 button press by the user.
 End-of-selection: This event will be triggered on the execution of the last statement of the start-of-selection event.
 End of page: This event will be triggered each time when the list data reaches the page footer region.

28. What is IDoc in SAP ABAP?


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.

29. Explain different types of views in SAP ABAP.

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:

 Projection View: It is used to hide specific fields in a given table and can also be used to gain access to the cluster, pooled,
and transparent tables. Selection conditions are not available in a projection view. The projection view access will be through
an Open SQL, not Native SQL.
 Help View: It is used in the search helps. The search help is able to select database views, database tables, and special help
views. For database views, the search help is restricted to the inner joins and for database tables, it is restricted to a single
table. It is not possible to define a help view in the database.
 Database View: It is a general view used for single or multiple basis tables. Once the database view is activated, multiple
basis tables can be joined with an inner join by creating a matching SQL view. It is possible to access database views using
both Open SQL and Native SQL.
 Maintenance View: It performs writes on different tables using extended table maintenance. One maintenance view is
capable of changing the contents of many related database tables unfailingly. The maintenance view cannot be accessed
using Open SQL.

30. Differentiate between ALE and EDI.

ALE(Application Link Enabling) EDI(Electronic Data Interchange)

It is an independent technology used for transferring data


It is an SAP technology used for transferring data between SAP
between two systems, either between SAP systems or non
systems
SAP systems

Useful in internal communications Useful in external communications


ALE(Application Link Enabling) EDI(Electronic Data Interchange)

It is used for distributing the master data(such as Vendor Master,


It is used for exchanging transaction data(such as Delivery,
Material Master) within a company when a distributed
Purchase order) among two different business partners
environment has been maintained

Technically, data transfer is done using memory buffer Technically, data transfer is done using a file port

Translator is required for converting the X12 to


A translator is not required here
IDoc(Inbound) and IDoc to X12(Outbound)

31. Explain about Enhancement framework in SAP ABAP.

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:

 IMPLICIT Enhancements: In the ABAP report, enhancements are possible by default at two places, the start of the report
and the end of the report. So, customers are able to do enhancements at the beginning and end by creating enhancement
implementations by default in all the reports.
 EXPLICIT Enhancements: The places in the report will be explicitly provided by the SAP where exactly it can be enhanced.
There are three options available under these explicit enhancements:
o Enhancement Point: It will be created in the report where exactly the customer can enhance so that the expected results at
that point can be modified using enhancement implementations.
o Enhancement Section: It will be created in the report by selecting the code section that can be enhanced using customer
implementation.
o BAdi: It is mainly used for ABAP Objects where a BAdi definition creation can be done using an interface with a fixed signature
which can be implemented by the customer using the BAdi implementation.

32. How many functional modules will be used in sequence in BDC(Batch Data
Communication)?

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.

33. Give some SAP ABAP real-time scenarios.

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.

ABAP Programming Examples

34. Write an ABAP program to display username, date, time, and sum by providing two
inputs.
DATA: lv_result TYPE i.
SELECTION-SCREEN BEGIN OF BLOCK bl WITH FRAME TITLE TEXT-001. "Please enter two numbers for calculating the sum
PARAMETERS: p_num1 TYPE i,
p_num2 TYPE i. "Variable declaration
SELECTION-SCREEN END OF BLOCK b1.
INITIALIZATION.
CLEAR: lv_result. "To clear variables
START-OF-SELECTION. "To perform business logic
IF p_num1 IS NOT INITIAL AND p_num2 IS NOT INITIAL. "Checking whether values for the variables has been entered or
not
lv_result= p_num1+p_num2.
ELSE.
MESSAGE 'Please enter two numbers to perform addition' TYPE 'E'.
END IF.

END-OF-SELECTION. "To display the output


WRITE :/ 'Hello', sy-uname.
WRITE :/ 'Date :', sy-datnum, 'Time :', sy-uzeit.
WRITE :/ 'Result : Sum of two numbers is :', lv_result.

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.
35. Write an ABAP sample program for ALV display.
TABLES: pa002.
*Type Declarartion
TYPES : BEGIN OF ty_employee, "Structure declaration
pernr TYPE pa0002-pernr,
subty TYPE pa0002-subty,
nachn TYPE pa0002-nachn,
vorna TYPE pa0002-vorna,
gesch TYPE pa0002-gesch,
END OF ty_employee.

*--Data Declaration
DATA : lt_employee TYPE STANDARD TABLE OF ty_employee, "Internal table
ls_employee TYPE ty_employee, "Work area
lt_fieldcat TYPE slis_t_fieldcat_alv, "Internal table for ALV display
ls_fieldcat TYPE slis_fieldcat_alv,
lv_repid LIKE sy_repid. "Local variable for the program name
*Selection Screen
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001. "Please enter employee number
SELECTION-OPTIONS: so_pernr FOR pa002-pernr. "Selection screen field to enter employee number
SELECTION-SCREEN END OF BLOCK b1.
START-OF-SELECTION.
*Data Fetching "To get the employee details from database
SELECT pernr subty nachn vorna gesch
FROM pa0002
INTO TABLE lt_employee
WHERE pernr IN so_pernr.
IF sy-subrc=0.
SORT lt_employee BY pernr.
ENDIF.

END-OF-SELECTION.
*Field Catalog "Inserting records for ALV display
CLEAR ls_fieldcat.
ls_fieldcat-col_pos = 1. "Column position in output
ls_fieldcat-fieldname = 'PERNR'. "Field name in the output
ls_fieldcat-tabname = 'LT_EMPLOYEE'.
ls_fieldcat-seltext_m = 'Employee number'. "Field description
APPEND ls_fieldcat TO lt_fieldcat.

CLEAR ls_fieldcat.
ls_fieldcat-col_pos = 2.
ls_fieldcat-fieldname = 'SUBTY'.
ls_fieldcat-tabname = 'LT_EMPLOYEE'.
ls_fieldcat-seltext_m = 'Sub type'.
APPEND ls_fieldcat TO lt_fieldcat.

CLEAR ls_fieldcat.
ls_fieldcat-col_pos = 3.
ls_fieldcat-fieldname = 'NACHN'.
ls_fieldcat-tabname = 'LT_EMPLOYEE'.
ls_fieldcat-seltext_m = 'Last name'.
APPEND ls_fieldcat TO lt_fieldcat.

CLEAR ls_fieldcat.
ls_fieldcat-col_pos = 4.
ls_fieldcat-fieldname = 'VORNA'.
ls_fieldcat-tabname = 'LT_EMPLOYEE'.
ls_fieldcat-seltext_m = 'First name'.
APPEND ls_fieldcat TO lt_fieldcat.

CLEAR ls_fieldcat.
ls_fieldcat-col_pos = 5.
ls_fieldcat-fieldname = 'GESCH'.
ls_fieldcat-tabname = 'LT_EMPLOYEE'.
ls_fieldcat-seltext_m = 'Gender'.
APPEND ls_fieldcat TO lt_fieldcat.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' "Function module to display data in ALV format


EXPORTING
it_fieldcat = lt_fieldcat
TABLES
t_outtab = lt_employee
EXCEPTIONS
program_error = 1
OTHERS = 2

The below snapshot represents the selection screen.


Output in an ALV grid:

Conclusion

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 in 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.

References

 “Complete ABAP: The Comprehensive Guide” by Brian O’Neill


 “SAP ABAP/4 Black Book” by Dreamtech Press

Frequently Asked Questions

36. Is SAP ABAP tough?

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.

37. Is SAP ABAP a good career choice in 2022?

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 a management role after a few years of experience in SAP ABAP. So, SAP ABAP is definitely a
good career choice in 2022.

38. How do I become an SAP ABAP Developer?

Generally, you can follow the following steps to become an SAP ABAP developer:
 Earn a bachelors degree: You can start by completing a bachelor’s degree in computer science, computer engineering,
software engineering or a related field. These degree programs will give you a basic knowledge of SAP ABAP programming
concepts.
 Undergo an internship: During the college study, seek an SAP ABAP developer internship. Finishing an internship allows
you to apply for a relevant job role.
 Take SAP ABAP courses: You can continue the professional training by taking SAP ABAP programming courses from
certified SAP training institutes online. This assists you learn more about ABAP since many college degrees give a basic
overview of a variety of languages.
 Pursue a masters degree: Enhance your efficiency and effectiveness by earning a master’s degree in computer science. In
order to become a manager or IT director, you may need to get an MBA degree.

39. What is the salary of SAP ABAP Developer?

SAP ABAP developers are usually paid well, that too in some of the reputed organisations their payscale is really in
the 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.

40. What are the skills required for SAP ABAP?

The below mentioned are the skills an SAP ABAP developer should have to work effectively in his role:

 Robust command over SAP SD


 Knowledge of SAP systems like FICO and HR
 Analytical & Problem-solving skills
 Communication & Interpersonal skills
 Leadership & Teamwork
 Research skills.

SAP ABAP MCQ


1.

Data element is an example for ______.


Business Object

Technical Domain

Physical Definition

Semantic Domain
2.

______ may not be modified using the ABAP Dictionary transaction.

Type groups

Lock objects

Function groups

Search help
3.

Which syntax is used for writing the identical part in a chained statement on the ABAP program, for separating
variables and for ending the statement?

.,:

:,.

,.:

,:.
4.

______ is used for assigning the data type of another object to the declaring object.

TYPE

SAME

LIKE

SIMILAR
5.

Which of the below statement is NOT a true statement about the INITIALIZATION event?

Possible to assign various values to PARAMETERS and SELECT-OPTIONS here

You need to use SET PF-STATUS here

Executed once when you start the report

Executed before displaying the selection screen


6.

Which Processing blocks are not allowed in an ABAP program?

Program Symbols

Event Block
Subroutine and Function Modules

Methods
7.

Which table type is most suitable for accessing table rows with the help of an index?

Standard table

Hashed table

Sorted table

None of the above


8.

Session method is ______.

Synchronous

Asynchronous

Both Synchronous and Asynchronous

None of the above


9.

Which situation might cause the runtime error DEBUGGINGNOTPOSSIBLE when starting the Debugger?
When the no. of debug session on the server exceeds the profile parameter rdisp/wpdbugmaxno defined value

When greater than five sessions are associated already with this login user.

When non-exclusive mode has been started in a productive system

All of the above


10.

Which data type is used for declaring a visibility attribute in Webdynpro?

ABAP_TRUE

WD_VISIBILITY

BOOLEAN

WDUI_VISIBILITY
11.

Using which attribute access protection is provided in the ABAP program?

Development class

Authorization group

Application

Status
12.
Which of the following statement is true related to ABAP queries?

Created from functional areas which are created from a logical database

Created from user groups linked to the functional areas which are created using a logical database or via a direct read or
retrieval program

Created by associating themselves to a logical database or via a direct read/data retrieval program

Created through the regular report program


13.

Which is not a valid ABAP modularization technique?

External subroutine

Subroutine

Field-group

Function module
14.

Which event is useful for navigating from the basic list to the secondary list?

At line-selection

At user-command

Initialization
None of the above
15.

______ is not a valid Webdynpro UI element.

Message Area

Transparent View

Page Header

Button

You might also like