SAP ABAP Interview Questions
Dear readers, these SAP ABAP Interview Questions have been designed specially to get you acquainted with the nature of questions you may encounter during your interview for the subject of SAP ABAP. As per my experience good interviewers hardly plan to ask any particular question during your interview, normally questions start with some basic concept of the subject and later they continue based on further discussion and what you answer:
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.
They are temporary memory areas that are used to store the data at run-time. Internal tables and work areas represents the instances of database tables.
Transparent table has one to one relation with the table in the database however Pool table has many to one relationship with database tables.
Append statement is used to add a record at the end of internal table in work area.
Insert statement is used to add a record at specified location.
8KB memory is allocated to internal table and work areas and it increases dynamically.
TYPES is used to pass user defined structure in an ABAP program.
MESSAGE command displays messages defined by a message ID specified in the REPORT statement at the beginning of the program. The message ID is a 2 character code that defines which set of 1,000 messages the program will access when the MESSAGE command is used.
|E||Error||The message appears and the application halts at its current point. If the program is running in background mode, the job is canceled and the message is recorded in the job log.|
|W||Warning||The message appears and the user must press Enter for the application to continue. In background mode, the message is recorded in the job log.|
|I||Information||A pop-up window opens with the message text and the user must press Enter to continue. In background mode, the message is recorded in the job log.|
|A||Abend||This message class cancels the transaction that the user is currently using.|
|S||Success||This provides an informational message at the bottom of the screen. The information displayed is positive in nature and it is just meant for user feedback. The message does not impede the program in any way.|
|X||Abort||This message aborts the program and generates an ABAP short dump.|
Lock Object is a feature offered by ABAP Dictionary that is used to synchronize access to the same data by more than one program. Data records are accessed with the help of specific programs. Lock objects are used in SAP to avoid the inconsistency when data is inserted into or changed in the database. Tables whose data records are to be locked must be defined in a Lock Object, along with their key fields.
Following are the two main functions accomplished with the lock mechanism −
A program can communicate with other programs about data records that it is just reading or changing.
A program can prevent itself from reading data that has just been changed by another program.
A lock request is first generated by the program. Then this request goes to the Enqueue server and the lock is created in the lock table. The Enqueue server sets the lock and the program is finally ready to access data.
Go to transaction SE11 to create lock objects.
In SAP ABAP environment, modularization involves the organization of programs into modular units, also known as logical blocks. It reduces redundancy and increases program readability even as you are creating it and subsequently during the maintenance cycle. Modularization also enables reusability of the same code again.
There are 7 ABAP report types in SAP and are available in reports attributes screen.
- Executable program
- Interface pool
- Function groups
- Class pool
- Module pool
- Subroutine pool
A subroutine is a reusable section of code. It is a modularization unit within the program where a function is encapsulated in the form of source code. You page out a part of a program to a subroutine to get a better overview of the main program, and to use the corresponding sequence of statements many times.
You can define table as dynamic and template as static.
Below data classes exists in ABAP programming as per data type −
Master data: It is the data which is slowly 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.
ABAP data dictionary defines logical structures of the objects in application development and also tells mapping to the underlying relational database in tables/views.
OOABAP involves object oritented programming concepts. ABAP is used to develop traditional programs in R/3, while OOABAP is used to develop smart forms, BADI’s, etc.
In SE38 − This allows you to create programs and view online reports and basically to perform all the development of objects in this editor.
In SE80 − It supports additional features such as creating packages, function group, module pool, classes, and programs.
It is used to format ABAP code.
The data of several cluster tables is stored together in a single table cluster in the database. A cluster table is thus known only in the ABAP Dictionary, not in the database.
The data of several pooled tables are stored together as a table pool in the database.
SAP Smart Forms tool can be used to print and send documents. This tool is useful in developing forms, PDF files, e-mails and documents for the Internet. The tool provides an interface to build and maintain the layout and logic of a form. SAP also delivers a selection of forms for business processes such as those used in Customer Relationship Management (CRM), Sales and Distribution (SD), Financial Accounting (FI) and Human Resources (HR).
The tool allows you to modify forms by using simple graphical tools instead of using any programming tool. It means that a user with no programming knowledge can configure these forms with data for a business process effortlessly.
Match code objects can be built on cluster tables, transparent tables and pooled tables however a Database Index contains fields only from one table.
The Change and Transport System (CTS) is a tool that helps you to organize development projects in ABAP Workbench and in Customizing, and then transport the changes between SAP Systems and clients in your system landscape.
SAP memory is a global memory whereas ABAP memory is local memory.
Web Dynpro (WD) for ABAP is the SAP standard user interface technology developed by SAP AG. It can be used in the development of web-based applications in the SAP ABAP environment that utilizes SAP development tools and concepts. It provides a front-end web user interface to connect directly to backend SAP R/3 systems to access data and functions for reporting.
Web Dynpro for ABAP consists of a run-time environment and a graphical development environment with specific development tools that are integrated in the ABAP Workbench (transaction: SE80).
The use of graphical tools significantly reduces the implementation effort.
Reuse and better maintainability by using components.
The layout and navigation is easily changed using the Web Dynpro tools.
User interface accessibility is supported.
Full integration in the ABAP development environment.
- TYPES DOMAINS
- TYPE GROUPS
- SEARCH HELPS
- LOCK OBJECTS
With SAP GUI open, you will be able find Data Dictionary in the SAP menu tree. This is done via the Tools menu. Open the ABAP Workbench and click the 'Development' folder, where the ABAP Dictionary can be found and double clicked. Alternatively, use the transaction code SE11.
You can use concept of chaining statements
They must begin with a letter.
Can be a maximum size of 30 characters.
Cannot include + , : or ( ) in the name.
Cannot use a reserved word.
Conversion rules are predefined logic that determine how the contents of the source field can be entered into a target field. If one attempts to insert an integer field containing the value of 1 to a character string. The built in conversion rules will determine exactly how this should be done without any syntax or runtime errors.
Data type C variables are used for holding alphanumeric characters, with a minimum of 1 character and a maximum of 65,535 characters. By default, these are aligned to the left.
CONDENSE statement is used to remove blank characters.
This breakpoint table can be very useful when one is in a large program with many break points set. It allows one to review the breakpoint and allows for the removal of breakpoints which are no longer desired.
Web Dynpro is standard SAP UI technology that allows you to develop web applications using graphical tools and development environment integrated with ABAP workbench. Using graphical tools reduce the implementation effort and you can better reuse and maintain components in ABAP workbench.
To access Web Dynpro runtime environment and graphical tools in ABAP workbench, you can use Transaction code: SE80
Object list contains −
- Dynpro Component
- Web Dynpro application
You can easily maintain and reuse components for development.
Less implementation time as use of graphical tools.
You can easily change layout and navigation using graphical tools.
Easy structure changes.
With use of data binding, you can use automatic data transport.
Ease of integration in ABAP environment.
Web Dynpro applications are based on MVC model, whereas −
This allows the access to back end data in a Web Dynpro application.
This is used to ensure the representation of data in a web browser.
This is used to control communication between Model and view where it takes input from users and get the processes data from model and displays the data in browser.
Each Web Dynpro application contains at least one view and it is used to define layout of a user interface. Each view consists of multiple user element and a controller and context.
The controller is used to process user request and processing of data and context contains data to which elements of view are bound.
The inbound and outbound plugs are part of view controller and inbound plug defines the starting point of view and outbound plug tells the subsequent view to be called.
In Web Dynpro, window is used to use multiple views or view sets. A view can only be displayed when it is embed in a view and a window always contain one or more views which are connected by navigation links.
You can create events to enable communication between controllers. You can allow one controller to trigger events in different controller. All events that you create in component controller they are available in component.
In a Web Dynpro application, url is automatically generate. You can find the URL of application in Properties tab. URL structure can be of two types −
You can use version management to manage older version of an object, compare versions or you can also reset them. In version management, you can store different versions of ABAP development objects.
In an ABAP workbench, you can compare different versions of −
In ABAP Workbench, you can also create and show messages that contain information for end users of Dynpro application. These messages are displayed on the screen. These are user interactive messages that displays important information about Web Dynpro application.
- Interactive Scenario
- Print Scenario
- Offline Scenario
- Using digital signature
SAP List viewer is used to add ALV component and provides a flexible environment to display lists and tabular structure. A standard output consist of header, tool bar and an output table and user can make the settings to add column display, aggregations, sorting options using additional dialog boxes.
What is Next ?
Further you can go through your past assignments you have done with the subject and make sure you are able to speak confidently on them. If you are fresher then interviewer does not expect you will answer very complex questions, rather you have to make your basics concepts very strong.
Second it really doesn't matter much if you could not answer few questions but it matters that whatever you answered, you must have answered with confidence. So just feel confident during your interview. We at tutorialspoint wish you best luck to have a good interviewer and all the very best for your future endeavor. Cheers :-)