Important ABAP Interview
Questions and Answers
Q.1. What is an ABAP data dictionary?
Ans. ABAP 4 data dictionary describes the logical structures of
the objects used in application development and shows how they are
mapped to the underlying relational database in tables/views.
Q.2. What are domains and data element?
Ans. Domains: Domain is the central object for describing
the technical characteristics of an attribute of an business objects. It
describes the value range of the field. Data Element: It is used to
describe the semantic definition of the table fields like description
the field. Data element describes how a field can be displayed to
Q.3. What is foreign key relationship?
Ans. A relationship which can be defined between tables and
must be explicitly defined at field level. Foreign keys are used to
ensure the consistency of data. Data entered should be checked against
existing data to ensure that there are now contradiction. While defining
foreign key relationship cardinality has to be specified. Cardinality
mentions how many dependent records or how referenced records are
Q.4. Describe data classes.
Ans. Master data: It is the data which is seldomly changed.
Transaction data: It is the data which is often changed. Organization
data: It is a customizing data which is entered in the system when the
system is configured and is then rarely changed. System data: It is the
data which R/3 system needs for itself.
Q.5. What are indexes?
Ans. Indexes are described as a copy of a database table
reduced to specific fields. This data exists in sorted form. This
sorting form ease fast access to the field of the tables. In order that
other fields are also read, a pointer to the associated record of the
actual table are included in the index. The indexes are activated along
with the table and are created automatically with it in the database.
Q.6. Difference between transparent tables and pooled
Ans. Transparent tables: Transparent tables in the dictionary
has a one-to-one relation with the table in database. Its structure
corresponds to single database field. Table in the database has the same
name as in the dictionary. Transparent table holds application data.
Pooled tables. Pooled tables in the dictionary has a many-to-one
relation with the table in database. Table in the database has the
different name as in the dictionary. Pooled table are stored in table
pool at the database level.
Q.7. What is an ABAP/4 Query?
Ans. ABAP/4 Query is a powerful tool to generate simple reports
without any coding. ABAP/4 Query can generate the following 3 simple
reports: Basic List: It is the simple reports. Statistics: Reports with
statistical functions like Average, Percentages. Ranked Lists: For
analytical reports. – For creating a ABAP/4 Query, programmer has to
create user group and a functional group. Functional group can be
created using with or without logical database table. Finally, assign
user group to functional group. Finally, create a query on the
functional group generated.
Q.8. What is BDC programming?
Ans. Transferring of large/external/legacy data into SAP system
using Batch Input programming. Batch input is a automatic procedure
referred to as BDC(Batch Data Communications). The central component of
the transfer is a queue file which receives the data vie a batch input
programs and groups associated data into “sessions”.
Q.9. What are the functional modules used in sequence
Ans. These are the 3 functional modules which are used in a
sequence to perform a data transfer successfully using BDC programming:
BDC_OPEN_GROUP – Parameters like Name of the client, sessions and user
name are specified in this functional modules. BDC_INSERT – It is used
to insert the data for one transaction into a session. BDC_CLOSE_GROUP –
This is used to close the batch input session.
Q.10. What are internal tables?
Ans. Internal tables are a standard data type object which
exists only during the runtime of the program. They are used to perform
table calculations on subsets of database tables and for re-organising
the contents of database tables according to users need.
Q.11. What is ITS? What are the merits of ITS?
Ans. ITS is a Internet Transaction Server. ITS forms an
interface between HTTP server and R/3 system, which converts screen
provided data by the R/3 system into HTML documents and vice-versa.
Merits of ITS: A complete web transaction can be developed and tested in
R/3 system. All transaction components, including those used by the ITS
outside the R/3 system at runtime, can be stored in the R/3 system. The
advantage of automatic language processing in the R/3 system can be
utilized to language-dependent HTML documents at runtime.
Q.12. What is DynPro?
Ans. DynPro is a Dynamic Programming which is a combination of
screen and the associated flow logic Screen is also called as DynPro.
Q.13. What are screen painter and menu painter?
Ans. Screen painter: Screen painter is a tool to design and
maintain screen and its elements. It allows user to create GUI screens
for the transactions. Attributes, layout, filed attributes and flow
logic are the elements of Screen painter. Menu painter: Menu painter is
a tool to design the interface components. Status, menu bars, menu
lists, F-key settings, functions and titles are the components of Menu
painters. Screen painter and menu painter both are the graphical
interface of an ABAP/4 applications.
Q.14. What are the components of SAP scripts?
Ans. SAP scripts is a word processing tool of SAP which has the
following components: Standard text. It is like a standard normal
documents. Layout sets. – Layout set consists of the following
components: Windows and pages, Paragraph formats, Character formats.
Creating forms in the R/3 system. Every layout set consists of Header,
paragraph, and character string. ABAP/4 program.
Q.15. What is ALV programming in ABAP?
Ans. When is this grid used in ABAP?- ALV is
Application List viewer. Sap provides a set of ALV (ABAP LIST VIEWER)
function modules which can be put into use to embellish the output of a
report. This set of ALV functions is used to enhance the readability and
functionality of any report output. Cases arise in sap when the output
of a report contains columns extending more than 255 characters in
length. In such cases, this set of ALV functions can help choose
selected columns and arrange the different columns from a report output
and also save different variants for report display. This is a very
efficient tool for dynamically sorting and arranging the columns from a
report output. The report output can contain up to 90 columns in the
display with the wide array of display options.
Q.16. What are the events in ABAP/4 language?
Ans. Initialization, At selection-screen, Start-of-selection,
end-of-selection, top-of-page, end-of-page, At line-selection, At
user-command, At PF, Get, At New, At LAST, AT END, AT FIRST.
Q.17. What is CTS and what do you know about it?
Ans. The Change and Transport System (CTS) is a tool that helps
you to organize development projects in the ABAP Workbench and in
Customizing, and then transport the changes between the SAP Systems and
clients in your system landscape. This documentation provides you with
an overview of how to manage changes with the CTS and essential
information on setting up your system and client landscape and deciding
on a transport strategy. Read and follow this documentation when
planning your development project.
Q.18. What are logical databases?
Ans. What are the advantages/ Disadvantages of logical
databases?- To read data from a database tables we use logical database.
A logical database provides read-only access to a group of related
tables to an ABAP/4 program. Advantages:(i) check functions which check
that user input is complete, correct, and plausible. (ii) Meaningful data
selection. (iii) central authorization checks for database accesses.
(iv) good read access performance while retaining the hierarchical data
view determined by the application logic. Disadvantages: (i) If you do not
specify a logical database in the program attributes, the GET events
never occur. (ii) There is no ENDGET command, so the code block associated
with an event ends with the next event statement (such as another GET or
Q.19. What is a batch input session?
Ans. BATCH INPUT SESSION is an intermediate step between
internal table and database table. Data along with the action is stored
in session ie data for screen fields, to which screen it is passed,
program name behind it, and how next screen is processed.
Q.20. How to upload data using CATT ?
Ans. These are the steps to be followed to Upload data through CATT: Creation of the CATT test case & recording the sample data input.
Download of the source file template. Modification of the source file.
Upload of the data from the source file.
Q.21. What is Smart Forms?
Ans. Smart Forms allows you to create forms using a graphical
design tool with robust functionality, color, and more. Additionally,
all new forms developed at SAP will be created with the new Smart Form
Q.22. How can I make a differentiation between dependent and
Ans. Client dependent or independent transfer requirements
include client specific or cross client objects in the change requests.
Workbench objects like SAP scripts are client specific, some entries in
customizing are client independent. If you display the object list for
one change request, and then for each object the object attributes, you
will find the flag client specific. If one object in the task list has
this flag on, then that transport will be client dependent.
Q.23. What is the difference between macro and
Ans. Macros can only be used in the program the are defined in
and only after the definition are expanded at compilation / generation.
Subroutines (FORM) can be called from both the program the are defined
in and other programs . A MACRO is more or less an abbreviation for some
lines of code that are used more than once or twice. A FORM is a local
subroutine (which can be called external). A FUNCTION is (more or less)
a subroutine that is called external. Since debugging a MACRO is not
really possible, prevent the use of them (I’ve never used them, but seen
them in action). If the subroutine is used only local (called internal)
use a FORM. If the subroutine is called external (used by more than one
program) use a FUNCTION.