SAP - ABAP Interview Questions and Answers
by sonia, on Jun 3, 2017 4:11:02 PM
Q1. What is SAP ABAP?
Ans: SAP is a type of software known as ERP (Enterprise Resource Planning) that large company use to manage their day to day affairs. ABAP (Advanced Business Application Programming) is the coding language for SAP to develop RICEFW objects. (Reports, Interfaces, Extensions, Forms and Workflows).
Q2. What do you mean by an ABAP data dictionary?
Ans: To describe the logical structures of the objects that are used in application development ABAP 4 data dictionary is used. It is also used to show the underlying relational database in tables.
Q3. Explain the difference between pool tables and transparent tables?
Ans: Transparent tables: It has one to one relation with the table in the database. Its structure corresponds to single database field.
Pooled tables: It has many to one relation with the table in the database. Pooled tables are stored at the database level.
- Basic List: For simple reports
- Statistics: For Percentage, Average etc.
- Ranked List : For analytical reports
Q4. What do you mean by BDC (Batch Data Communications) programming?
Ans: It is an automatic procedure to transfer large or external data into SAP system. 'Queue file' is the central component of the transfer, which receives the data through batch input programs and groups that are associated into 'sessions'.
Q5. Describe the data classes?
Ans: The data classes are classified into following classes
Master Data: The data in this class seldom change
Transaction Data: The data can be changed often in this class
Organization Data: This data is a customized data and is entered in the system when the system is configured. It is rarely changed.
System Data: This data is used by R/3 system itself
Q6. What are the internal tables?
Ans: Internal table exists only when the program is run. It is used for performing table calculations on subset of database tables and also for re-organizing the content of database tables as per the users need.
Q7. List down the functional modules used in sequence in BDC?
Ans: There are 3 functional modules which are used in sequence to perform data transfer successfully using BDC programming. They are
Q8. What is a foreign key relationship?
Ans: To ensure the consistency of data, foreign keys are used. The relationship established between the tables and must be explicitly defined at field level. Data entered should be checked against the existing data to ensure that there is no contradiction. Cardinality has to be specified while defining foreign key relationship.
Q9. In ABAP what are the differences between table and structure in data dictionary?
Ans: The difference between structure and table is
- Data can be stored physically in Table, but a structure cannot
- Structure does not have primary key but table can have
- Table can have the technical attribute but the structure does not have
Q10. What is Smart Forms?
Ans: Smart forms allow you to create forms using a graphical design tool.
Q11. What are the components of SAP scripts?
Ans: For SAP, SAP scripts are a word processing tool. It has a function like standard text and layout sets. Its layout set consists of: Windows and pages, Character formats, Paragraph formats etc.
Q12. How to create 'table cluster'?
- In ABAP dictionary, select object type Table, enter a table name and choose create
- A field maintenance screen for the table is displayed. Table type Transparent table, set it as a default
- Make the necessary entries in the short description and delivery classified on the Attributes page. Then define the fields of the table.
- Proceed as when creating a transparent table. Now save your entries
- Now choose EXTRASàChange table category
- When a dialogue box appears you have to select the table type 'Pooled table' or 'Cluster table'
- After selecting the table, return to the field maintenance screen for the table. Field pool or cluster name is displayed on the Attributes tab page in addition to the standard fields.
- Now enter the name of the table cluster or table pool to which you want to assign the cluster table.
Q13. How can you format the data before write statement in the report?
Ans: By using the loop event the reports output can be formatted
- .at first
- .at new
- .at last
Q14. Explain the difference between Template and Table?
Ans: The difference between the table and template is that, table is a dynamic and template is a static.
Q15. Mention what is ALV programming in ABAP? When is this grid used in ABAP?
Ans: ALV stands for Application List Viewer. To enhance the output of the report, SAP provides a set of ALV function modules which can be used, and it also improves the functionality and readability of any report output. It is an efficient tool used for arranging the columns in a report output.
Q16. When do we use End-of-selection?
Ans: End of the selection event is mostly used when we are writing HR-ABAP code. In the HR-ABAP code, data is retrieved in the start of selection event and printing on the list and all will be done at the end of the selection event.
Q17. Mention the difference between ABAP and OOABAP? In what situation do you use OOABAP?
Ans: ABAP is used to develop traditional programs in R/3, while OOABAP is used to develop BSP/ PCUI applications and also anything that an involved object oriented like BADI's and SmartForms etc.
Q18. What is table buffer? Which type of tables used this buffer?
Ans: Over here, buffer means memory area, table buffer means the table information is available on the application server. When you call data from database table, it will come from application server. Transparent tables and pool tables are buffered, while cluster table cannot be buffered.
Q19. What is the use of 'pretty printer'?
Ans: To format the ABAP code 'pretty printer' is used.
Q20. What is the difference between 'Type' and 'Like'?
Ans: 'Type': You assign data type directly to the data object while declaring.
'Like': You assign the data type of another object to the declaring data object.
'Type' refers the existing data type while 'Like' refers to the existing data object.
Q21. What are the different ABAP/4 editors? What are the differences?
Ans: The 2 editors are SE38 and SE80 and both have the ABAP editor in place. In SE38 , you can create programs and view online reports and basically do all the development of objects in this editor. In SE80, there are additional features such as creating packages, function group, module pool, classes, programs and BSP applications.
Q22. Explain the difference between dialog program and a report?
Ans: A report is an executable program; dialog is a module pool program. It has to be executed via a transaction only. Dialog programming is used for customizations of screens.
Q23. What is lock object?
Ans: To synchronize access of several users using same data Lock objects are used.
Q24. How data is stored in cluster table?
Ans: A cluster table contains data from multiple DDIC tables. It stores data as name value pair.
Q25. How can you debug a script form?
Ans: To debug a script form, you have to follow
SE71-->give the form name->utilities->activate debugger
Q26. What are different types of data dictionary objects?
Ans: The different types of data dictionary objects are:
- Data Element
- Type Groups
- Search Helps/Matchcode Objects
- Lock Objects
- Table Types
Q27. What are the ways you can do the tuning? What are the major steps will you use for these?
Ans: Tuning can be done in three ways disk i/o, SQL tunning and memory tunning. Before tunning, you have to get the status of your database using oracle utility called statpack and tkprof .
Q28. In the 'select' statement what is 'group by'?
Ans: To fetch the data from the table by the specified field Group by Clause is used.
Q29. What is dispatcher?
Ans: A control agent referred as SAP dispatcher, manages resources for the R/3 applications.
Q30. Mention what are the two methods of modifying SAP standard tables?
Ans: There are two methods for modifying SAP standard tables
- Append structures
- Customizing includes
Q31. What is the difference between a 'Database index' and a 'Match code'?
Ans: 'Database Index' contains fields from one table while 'Match Code' contain fields from several tables. Match code objects can be built on cluster tables, transparent tables and pooled tables.
Q32. Explain the benefits of modularization technique?
Ans: By using modularization techniques, you can avoid redundancy if the program contains the same or similar blocks of statements or it is required to process the same function several times. By modularizing the ABAP/4 programs, we make them easy to read and improve their structure. Modularized programs are also easier to maintain and update.
Q33. How can you create callable modules of program code within one ABAP/4 program?
- a) By defining Macros
- b) By creating include programs in the library.
Q34. What are different types of parameters? How can you distinguish between different kinds of parameters?
Ans: The different types of parameters are
- a) Formal Parameters: It is defined during the definition of subroutine with the 'FORM' statement
- b) Actual Parameters: It is specified during the call of a subroutine with the 'PERFORM' statement
You can distinguish different kind of parameters by their functionality. Input parameters are used to pass data to subroutines, while output parameters are used to pass data from subroutines.
Q35. What are the different databases Integrities?
- a) Semantic Integrity
- b) Relational Integrity
- c) Primary Key Integrity
- d) Value Set Integrity
- e) Foreign Key Integrity
- f) Operational Integrity