SAP ABAP FAQ's
1) What do you mean by the term 'ABAP data dictionary'?
ABAP data dictionary is used for describing the logical structures of the objects which are utilized in the areas of application development. This is also used for displaying the underlying relational database in tables.
2) What are the various types of data dictionary objects?
Tables, structures, views, domains, data elements, lock objects, Matchcode objects.
3) Define Smartform?
SAP Smartforms can be used for creating and maintaining forms for mass printing in SAP Systems.
Read more Smartform
4) How would you define ABAP BDC?
Batch Data Communication (BDC) is a set of instruction which SAP can follow for executing a transaction without any intervention from the user. The instructions list the sequence in which a transaction's screens are processed and which fields have to be populated with data on which all screens.
5) In BDC, list down all the functional modules which are used in sequence?
By using BDC programming, there are 3 functional modules which are used in sequence for performing data transfer successfully. These are listed below:
6) List all the different the components of SAPscript?
The various components of the SAPScripts are as follows:
- ABAP Print program
- Layout set
- SAPscript Text,
- Function modules such as open_form, close_From, Read_text etc.
7) What is Badi?
Business Add-In or BADI is referred to as a new SAP Object Oriented enhancement technique which is utilized for adding our own business functionality to the already pre- existing SAP standard functionality. BADI can also be inserted into the SAP System meant for accommodating the user requirements and these are very precise to be included in the standard delivery.
Read here about Badi
8) How would you describe the internal tables?
Internal tables are meant for serving the purpose of pulling the data from a fixed structure and preserving it in the working memory in ABAP. The data is preserved line by line in memory, and each line encompasses similar structure, and these data objects are all dynamic.
9) What is a Data Class?
Data classes have been categorized in the following classes:
- System Data: The data is utilized by R/3 system itself
- Master Data: The data here class seldom changes
- Organization Data: The data here is customized and is entered in the system once the system is configured, and is very rarely altered.
- Transaction Data: The data can be changed frequently in this class
10) How can we format the data prior to the write statement in the report?
The user can format the report output by using the loop event.
- .at first
- .at new
- .at last
11) What is OO ABAP?
OO ABAP (ABAP Objects) is a superset of normal ABAP. It support most normal ABAP statements (almost downward compatible) along with adding all object orientation language elements, providing for instance inheritance, class definitions and object instantiation.
12 ) In reports what are benefits of using ABAP objects?
- ABAP objects serve as the root for all your program and reports.
- ABAP Objects advantage are listed below:
- Provide support for numerous instantiation
- Better encapsulation
- ABAP offers better techniques for reusing the code
- The interfaces are better
- The event concept is explicit.
13) Can the user create an ABAP program without using Y or Z?
All non Yor Z programs are standard SAP programs, therefore the the user cannot create an ABAP program without using Y or Z.
14) What is foreign key relationship?
A foreign key relationship can be referred as a relationship that can be defined between tables and should be clearly defined at field level. Foreign keys are utilized for ensuring consistency of data. The Data entered must be verified against existing data in order to clear out any contradiction. It must be ensured that while defining foreign key relationship cardinality should be very clearly specified.
Note: Cardinality lists the number of dependent records or how referenced records are achievable.
15) What are various types of ABAP report in SAP?
There are 7 types ABAP report in SAP are present in reports attributes screen. These are all listed below:
- Executable program.
- Interface pool.
- Function groups.
- Class pool.
- Module pool.
- Subroutine pool.
16) List the various steps involved for adding value help for parameter in ABAP CDS Analytical Query?
- First create an ABAP CDS view for dictionary based on any dummy table
- Then create an ABAP CDS cube with required logic
- Now Creating an ABAP CDS analytical query with the required logic
- At last result query in Analysis for Excel. Value help button exist
17 ) What is Predictive Search Helps?
An ABAP search provides type-ahead functionality primarily for the elementary search helps and are known as Predictive Search Helps
18) How can the user add sub total text in ABAP ALV Grid.
Listed below are the steps for adding he sub total in the ABAP ALV grid:
- By Creating an ABAP Program in SE38 transaction.
- Create and ALV report by using the function module REUSE_ALV_GRID_DISPLAY.
- Populate the SUBTOTAL_EVENT in IT_EVENTS parameter in the REUSE_ALV_GRID_DISPLAY.
19 ) List the benefits of using ABAP in eclipse over ABAP in SAP GUI?
There are various advantages of utilizing ABAP in IDE eclipse over ABAP editor:
- The user can create CDS views and AMDP's which ultimately push down the code to database level and help in speedy access to records.
- All the CDS views created in IDE are available in SE11 and user can utilize them in your programs in SE38.
- User can make modifications in their program while debugging and activating your program while in debug mode and user can then proceed with debug along with the new changes.
- User can create multiple projects and create your stuff inside it.
- In WEB IDE, the User has the advantage of using advance SQL.
20 ) Distinguish between READ TABLE <ITAB> WITH KEY and READ TABLE <ITAB> WITH TABLE KEY in SAP ABAP?
READ TABLE <ITAB> WITH KEY
For all table types, the search is linear. The runtime is in linear relation to the number of table lines.
READ TABLE <ITAB> WITH TABLE KEY
Listed below are the system searches for the relevant table types:
- Standard tables: It is a linear search, where the runtime is in linear relation with the number of table entries.
- Sorted tables: it is binary search where the runtime is in logarithmic relation to the number of table entries.
- Hashed tables: By using the hash algorithm of the internal table, the entry is found. The runtime is completely independent of the number of table entries.
21) Define field symbols in ABAP?
Field symbol are points (known as pointers in C language) to something. That could be table , a field or simply nothing. By nothing I am referring to that structure of a field symbol which can be dynamically determined. A field symbol can be utilized in any operand position in this is visible and also matches the typing defined utilizing typing.
22) How many ABAP report types in SAP are available in reports attributes screen?
There are 7 ABAP report types available in SAP in the reports attributes screen.
- Class pool
- Function group (containing function modules)
- Executable program.
- Interface pool
- Include Interface pool
- Module pool
- Subroutine pool
23) What is an ABAP/4 Query in SAP?
ABAP/4 Query is a very strong tool whivh is used for generating simple reports without any coding. The following 3 simple reports can be generated:
- Basic List: This is the simple reports.
- Statistics: entails reports with statistical functions such as percentages, Averages.
- Ranked Lists: For analytical reports.
24) How can the user create ABAP/4 Query in SAP?
For creating a ABAP/4 Query, programmer should create a user and a functional group. Functional group can be created by using with or without logical database table. Finally, assigning the user group to functional group. Finally, creating a query on the functional group generated.
25) What is the difference between se16 and table maintenance generator?
SE16 is a data browser and it is used to view the contents of the table and we cannot change or append new fields to the existing structure of the table as we cannot view the structure level display using the SE16
Table Maintenance Generator (TMG) is a tool which is created using t-code SM30. TMG is used to create a equipment by which customized tables created by end users can be changed as required, such as making an entry to that table, deleting an entry etc.
26) How should the user tick an option in Standard Tcode like LB10 along with 'Partially Delivered'?
Incase there is no additional condition meant for checking the 'Partially Delivery' checkbox, the user can then selelct the 'Partially Delivery' checkbox by using Transaction variant in SHD0 transaction.
Once the transaction variant has been created, then activating the variant and checking the LB10 transaction.
27) How can the user SUBMIT PROGRAM with Selection Screen For a SLIN T-code?
User can utilize the FM EXTENDED_PROGRAM_CHECK instead of SUBMIT REPORT. This will provide you similar results.
28) I am required to update equipment status as inactive & delete. So I am using function module STATUS_CHANGE_INTERN_VB & this is working fine, however it doesn’t have exceptions for handling the error messages & even sy-subrc getting 0 if it fails also. Would request you to please suggest me how to handle this scenario? Is there any BAPI to update status in IE02?
This FM is an ‘update task’ FM, generally Open-SQL statements, not much check, so no to be called in customer development.
The best solution would be a BAPI (this is easy to find with any search tool) and when none is available or without required parameter some ‘dialog’ FM like STATUS_CHANGE_INTERN/EXTERN after analyzing the application behavior and if BDC is also no longer suitable.
29) In ABAP can the user write select * in loop?
This is not recommended, as it will cause a major performance issue. It will run the query every time it loops and you are using “Select * …” which means you are fetching all fields of that table, assuming if tables have millions of entries then in every iteration, your select query will go around millions of records in table.. Therefore, it could lead to serious performance issues.
Instead of this, it is advised that you use 'For all entries…' statement, it will fulfil your requirement.
30) What is difference between a singleton and a static class ABAP?
A singleton is a design pattern where the class is required to create objects. The class ensures that only one object exists for every internal session which is available to consumers. Therefore, when you create a singleton class it does not allow you to create multiple instances of the class, instead a single instance will be created which behaves as a global access point to reference that class throughout the lifetime of the application component.
A class which only contains static components and no instance components is known as a static class. The user can directly access the components using the “=>” operator. A global static class is loaded once with its class pool into the current internal session. Like every ABAP program, it cannot be clearly deleted from the session. In subclasses, the static methods (declared using CLASS-METHODS) of a class cannot be redefined.