SAP ABAP TECHNICAL Interview Questions and Answers
by sonia, on Jan 11, 2018 6:02:42 PM
Q1. Explain SAP ABAP 3-tier architecture?
Ans: 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.
Q2. What do you understand by work area and internal tables in ABAP? Why do we use it?
Ans: 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.
Q3. What is use of transparent table in ABAP? How it is different from Pool tables?
Ans: Transparent table has one to one relation with the table in the database however Pool table has many to one relationship with database tables.
Q4. Explain the use of insert and append statement in SAP ABAP?
Ans: 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.
Q5. How memory management happens for internal tables and work areas in ABAP?
Ans: 8KB memory is allocated to internal table and work areas and it increases dynamically.
Q6. Why do we use TYPES statement in ABAP programming?
Ans: TYPES is used to pass user defined structure in an ABAP program.
Q7. What is the use of message command in a report? What are the different message types?
Ans: 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.
Message | Type | Consequences |
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. |
Q8. What is the use of lock objects?
Ans: 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.
Q9. What is lock mechanism? How do we create lock objects in ABAP?
Ans: 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.
Q10. Why do we use logical blocks in ABAP program?
Ans: 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.
Q11. What are the different types of ABAP reports in SAP?
Ans: There are 7 ABAP report types in SAP and are available in reports attributes screen.
- Executable program
- Interface pool
- Function groups
- Include
- Class pool
- Module pool
- Subroutine pool
Q12. What is a subroutine?
Ans: 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.
Q13. What is the different between template and a table?
Ans: You can define table as dynamic and template as static.
Q14. What are the data classes in ABAP?
Ans: 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.
Q15. Which function modules can be used to transfer the data using BDC programming?
Ans:
- BDC_OPEN_GROUP
- BDC_INSERT
- BDC_CLOSE_GROUP
Q16. What is the use of ABAP data dictionary?
Ans: ABAP data dictionary defines logical structures of the objects in application development and also tells mapping to the underlying relational database in tables/views.
Q17. What is the different between ABAP and OOABAP? Why do we use OOABAP?
Ans: 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.
Q18. What are the different ABAP editors? What is the used of different editors in ABAP?
Ans:
- 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.
Q19. What is pretty printer?
Ans: It is used to format ABAP code.
Q20. Explain the difference between cluster tables and Pool table?
Ans: 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.
Q21. What is smart forms in SAP?
Ans: 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.
Q22. What is match code? How it is different from database index?
Ans: Match code objects can be built on cluster tables, transparent tables and pooled tables however a Database Index contains fields only from one table.
Q23. What is Change and Transport management system in SAP?
Ans: 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.
Q24. What is SAP memory and ABAP memory?
Ans: SAP memory is a global memory whereas ABAP memory is local memory.
Q25. What is Web Dynpro and why it is used?
Ans: 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).
Q26. What are the benefits of using Web Dynpro?
Ans: 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.
Q27. In an ABAP program, to leave a program that you call?
Ans: LEAVE PROGRAM
Q28. What are data dictionary objects?
Ans:
- TABLES
- VIEWS
- DATA
- TYPES DOMAINS
- TYPE GROUPS
- SEARCH HELPS
- LOCK OBJECTS
Q29. Where do you find data dictionary in SAP menu tree?
Ans: 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.
Q30. To create a transparent table, which data dictionary object is selected?
Ans: Database table.
Q31. To avoid writing duplicate write statement and to save time what can be done?
Ans: You can use concept of chaining statements
Q32. When you declare a variable in an ABAP program, what are the key points you should consider?
Ans: 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.
You want to insert an integer field containing value 1 to a character field, how this can be done?
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.
Q33. What is the use of data type C?
Ans: 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.
Q34. What is the use of CONDENSE statement in ABAP programming?
Ans: CONDENSE statement is used to remove blank characters.
Q35. What is the use of breakpoints table in ABAP programming?
Ans: 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.
Q36. What is ABAP Web Dynpro? Why it is used?
Ans: 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.
Q37. How do you access ABAP Web Dynpro workbench? What is object list and its component?
Ans: To access Web Dynpro runtime environment and graphical tools in ABAP workbench, you can use Transaction code: SE80
Object list contains −
- Dynpro Component
- Controller
- Interface
- View
- Web Dynpro application
Q38. What are the benefits of using Web Dynpro?
Ans: 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.
Q39. What is MVC programming model in Web Dynpro?
Ans: Web Dynpro applications are based on MVC model, whereas −
Model
This allows the access to back end data in a Web Dynpro application.
View
This is used to ensure the representation of data in a web browser.
Controller
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.
Q40. What is a view in Web Dynpro component?
Ans: 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.
Q41. What is the use of inbound and outbound plug in Dynpro component?
Ans: 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.
Q42. Why do we use window in Web Dynpro application development?
Ans: 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.
Q43. Why do we use events and actions in Web Dynpro?
Ans: 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.
Q44. What is the URL of Web Dynpro application? How it is generated?
Ans: 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 −
- SAP namespace
<schema>://<host>.<domain>.<extension>:<port>/sap/bc/webdynpro/<namespace>/<application name> - Custom namespace
<schema>://<host>.<domain>.<extension>:<port>/abc/klm/xyz/<namespace>/webdynpro/<application name>
Q45. How do you manage different object versions in a Web Dynpro application?
Ans: 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 −
- Views
- Windows
- Controllers
Q46. Can we store a version of abject without releasing it?
Ans: Yes
Q47. What is the use of messages in Web Dynpro?
Ans: 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.
Q48. What are the different scenarios that can be used to create interactive forms in Web Dynpro?
Ans:
- Interactive Scenario
- Print Scenario
- Offline Scenario
- Using digital signature
Q49. What is SAP list viewer in Web Dynpro application development?
Ans: 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.
You may also interested in...