SAP Abap Consultant

100+ SAP Abap Consultant Interview Questions and Answers

Updated 19 Apr 2025
search-icon

Q1. 1.what is ddic T-code 2. what is package 3.what are objects in se11 3.what is domain and data element 4.steps to create table 5.what are different types of views 5.what is lock objects 6.what is TMG and events...

read more
Ans.

SAP ABAP Consultant interview questions

  • 1. DDIC T-code is used to access the Data Dictionary in SAP.

  • 2. A package is a container for development objects in SAP.

  • 3. Objects in SE11 refer to database tables, views, and data types.

  • 4. A domain defines the technical attributes of a field, while a data element defines its semantic attributes.

  • 5. Steps to create a table include defining the table structure, fields, and keys.

  • 6. Different types of views in SAP include database views, proj...read more

Q2. What happens if we don't write the START-OF-SELECTION event?

Ans.

If start of selection event is not written, the program will not execute any code.

  • Start of selection event is the entry point of an ABAP program.

  • If it is not written, the program will not execute any code.

  • No data will be selected or processed.

  • The program will terminate without any output.

SAP Abap Consultant Interview Questions and Answers for Freshers

illustration image

Q3. Why do we write the IF GT_VBAK IS INITIAL statement in for all entries?

Ans.

The IF GT_VBAK IS INITIAL statement is used to check if the internal table GT_VBAK is empty.

  • The statement is used to avoid processing an empty internal table.

  • It helps in preventing runtime errors when accessing the table.

  • By checking if the internal table is initial, we can handle the empty table scenario gracefully.

  • It is a good practice to use this statement before accessing the internal table.

Q4. What is the difference between include and append structures?

Ans.

Include and append structures are used in SAP ABAP to enhance existing data structures.

  • Include structure is used to add fields from a transparent table or structure to another structure.

  • Append structure is used to add fields to the end of a transparent table or structure.

  • Include structure is used when the added fields are already present in the database table or structure.

  • Append structure is used when the added fields are not present in the database table or structure.

  • Include...read more

Are these interview questions helpful?

Q5. How many pages can be added within an Interactive report?

Ans.

There is no limit to the number of pages that can be added within an interactive report.

  • Interactive reports can have multiple pages based on the user's input.

  • The number of pages is determined by the data being displayed and the user's selection criteria.

  • The report can be designed to display a certain number of records per page.

  • The user can navigate between pages using the page navigation buttons.

  • The number of pages can be displayed on the screen for the user's reference.

Q6. What is the difference between a JOIN statement and SELECT FOR ALL ENTRIES?

Ans.

Join statement is used to combine data from multiple tables based on a common field, while select for all entries is used to retrieve data from multiple tables based on a list of entries.

  • Join statement is used when we want to fetch data from multiple tables based on a common field.

  • Select for all entries is used when we want to retrieve data from multiple tables based on a list of entries.

  • Join statement can be used with inner join, left outer join, right outer join, and full o...read more

Share interview questions and help millions of jobseekers 🌟

man-with-laptop

Q7. While creating BADI implementation, what will get created Class method or interface explain? steps to implement BADI . name the BADI you have implemented.

Ans.

When creating BADI implementation, a class method is created. Steps include creating a class implementing the BADI interface and implementing the required methods.

  • Create a class implementing the BADI interface

  • Implement the required methods in the class

  • Activate the BADI implementation in the system

Q8. How to find badis, different between user exit and customer exit

Ans.

Badis can be found using transaction code SE18. User exits are older and customer exits are newer enhancements in SAP.

  • Badis can be found using transaction code SE18.

  • User exits are older enhancements in SAP.

  • Customer exits are newer enhancements in SAP.

  • Badis provide a more flexible and object-oriented approach compared to user exits and customer exits.

  • Badis can be implemented multiple times, while user exits and customer exits can only be implemented once.

  • Badis are implemented ...read more

SAP Abap Consultant Jobs

Sap Abap Consultant 1-6 years
Infosys
3.6
Hyderabad / Secunderabad
SAP ABAP Consultant 1-6 years
Infosys
3.6
Bangalore / Bengaluru
SAP ABAP Consultant 1-6 years
Infosys
3.6
Chennai

Q9. What code should be written to display the second field in the selection screen when the first field is filled, and in which event should this code be written?

Ans.

Use AT SELECTION-SCREEN OUTPUT event to display second field based on first field input.

  • Use AT SELECTION-SCREEN OUTPUT event to check if first field is filled.

  • If first field is filled, display the second field using the statement 'SET PF-STATUS'.

  • Example: AT SELECTION-SCREEN OUTPUT. IF sy-abcde = 'X'. SET PF-STATUS 'SECOND_FIELD'. ENDIF.

Q10. 2.what is inheritance and polymorphism and difference between them

Ans.

Inheritance is a mechanism where a new class is derived from an existing class. Polymorphism is the ability of an object to take on many forms.

  • Inheritance allows the new class to inherit properties and methods of the existing class.

  • Polymorphism allows objects of different classes to be treated as if they belong to a common class.

  • Inheritance is a way to achieve code reusability.

  • Polymorphism can be achieved through method overloading and method overriding.

  • Inheritance is a 'is-a...read more

Q11. What is Smartform, and what are the different types of windows in Smartform?

Ans.

Smarform is a tool in SAP ABAP used for creating and formatting printable forms. There are different types of windows in Smartform.

  • Smarform is a form development tool in SAP ABAP.

  • It is used to create and format printable forms like invoices, purchase orders, etc.

  • Smartforms consist of different elements like windows, pages, and nodes.

  • Windows in Smartforms are used to define the layout and structure of the form.

  • There are different types of windows in Smartforms such as main win...read more

Q12. Which function module is used in ALV reports?

Ans.

The function module used in ALV reports is REUSE_ALV_GRID_DISPLAY.

  • REUSE_ALV_GRID_DISPLAY is a function module used to display ALV reports.

  • It takes input parameters like the internal table containing the data to be displayed, field catalog, and layout.

  • It generates a grid display with various features like sorting, filtering, and subtotaling.

  • Example usage: CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING it_fieldcat = lt_fieldcat TABLES t_outtab = lt_data.

  • lt_fieldcat is the fie...read more

Q13. What are the function modules used in the Session method?

Ans.

Function modules used in Session method

  • SESSION_CREATE

  • SESSION_CLOSE

  • SESSION_IMPORT_FROM_MEMORY

  • SESSION_EXPORT_TO_MEMORY

  • SESSION_READ_BUFFER

  • SESSION_WRITE_BUFFER

Q14. What is the difference between the CALL TRANSACTION method and the SESSION method?

Ans.

Call transaction method is synchronous and session method is asynchronous.

  • Call transaction method executes the transaction immediately and waits for the response while session method creates a session and executes the transaction in the background.

  • Call transaction method is suitable for small data sets while session method is suitable for large data sets.

  • Call transaction method is faster than session method but session method provides better error handling and logging.

  • Call tr...read more

Q15. Suppose TMG is generated and you have added one field and that field is not reflecting what will you do? and name the TMG events.

Ans.

If a field added to a TMG is not reflecting, check if the field is properly defined in the TMG structure and events are triggered correctly.

  • Check if the field is properly added to the TMG structure using SE11 or SE54.

  • Ensure that the events like INITIALIZATION, AT SELECTION-SCREEN, AT SELECTION-SCREEN OUTPUT, etc., are triggered correctly.

  • Debug the TMG program to see if the field value is being populated and displayed as expected.

Q16. What is pass by value and pass by reference?

Ans.

Pass by value and pass by reference are two different ways of passing arguments to a function or method.

  • Pass by value means that a copy of the argument is passed to the function, so any changes made to the argument within the function do not affect the original value.

  • Pass by reference means that a reference to the argument is passed to the function, so any changes made to the argument within the function will affect the original value.

  • In pass by value, the function works with...read more

Q17. How do you debug a standard T-code?

Ans.

To debug standard t-code, use transaction code 'SAT' or 'ABAP Debugger'.

  • Open the transaction code to be debugged

  • Enter 'SAT' or 'ABAP Debugger' in the command field

  • Set breakpoints at desired points in the code

  • Execute the transaction and the debugger will stop at the breakpoints

  • Analyze the variables and step through the code to identify issues

Q18. What are implicit and explicit enhancements?

Ans.

Implicit enhancements are modifications to standard SAP code without changing the original code. Explicit enhancements are modifications to standard SAP code by adding new code.

  • Implicit enhancements are done using the Enhancement Framework and are implemented using Enhancement Spots and Enhancement Sections.

  • Explicit enhancements are done using the Enhancement Framework and are implemented using Enhancement Points and Enhancement Sections.

  • Implicit enhancements are used when th...read more

Q19. 1.what is data elements and Domains. 2.what is secondary index and why we useit. 3. buffering and TMG and how to create TMG derive the process t-code of it. 4.Transparent and pooled table and search help? 5.mai...

read more
Ans.

Answers to various questions related to SAP ABAP concepts.

  • Data elements define the structure and type of a field, while domains define the technical attributes of a field.

  • Secondary indexes are used to improve the performance of database queries by allowing faster access to specific data.

  • Buffering is a technique used to store frequently accessed data in memory for faster retrieval, while TMG (Table Maintenance Generator) is used to create custom maintenance screens for tables....read more

Q20. Can a single BADI be used for multiple implementations?

Ans.

Yes, a single BAdI can have multiple implementations.

  • A BAdI (Business Add-In) is a mechanism in SAP ABAP that allows you to add custom functionality to standard SAP programs.

  • A BAdI can have multiple implementations, which are separate pieces of code that enhance or modify the behavior of the standard program.

  • Each implementation is assigned a unique filter value, which determines when it is called during program execution.

  • Multiple implementations can be active at the same time...read more

Q21. What is a constructor, and what is a destructor?

Ans.

Constructor is a method that is called when an object is created. Destructor is a method that is called when an object is destroyed.

  • Constructor initializes the object's data members and allocates memory for the object.

  • Destructor frees the memory allocated to the object and cleans up any resources used by the object.

  • In ABAP, constructors and destructors are defined using the methods CONSTRUCTOR and DESTRUCTOR respectively.

  • Example: CONSTRUCTOR method can be used to set default ...read more

Q22. Have you worked on indexes, i.e., secondary indexes? How would you fetch values using a secondary index in a SELECT query?

Ans.

Yes, I have worked on secondary indexes in SAP ABAP.

  • Secondary indexes are created to improve the performance of select queries by allowing faster access to data.

  • To fetch values using a secondary index in a select query, you can use the addition 'USING INDEX' followed by the name of the secondary index.

  • For example, SELECT * FROM table_name USING INDEX index_name WHERE condition.

Q23. How would you create a custom Adobe Form and assign it to an output type?

Ans.

To create a custom Adobe Form and assign it to an output type in SAP ABAP, you can use transaction code SFP.

  • Create a custom Adobe Form using transaction code SFP

  • Assign the Adobe Form to an output type in transaction code NACE

  • Configure the output type to use the custom Adobe Form

  • Test the output type to ensure the custom Adobe Form is being used

Q24. What is polymorphism? What is BDC ? Types of BDC and difference between them?

Ans.

Polymorphism is the ability of an object to take on many forms. BDC is a batch input technique used to transfer data from legacy systems to SAP.

  • Polymorphism allows objects of different classes to be treated as if they are objects of the same class.

  • BDC stands for Batch Data Communication and is used to transfer data from legacy systems to SAP.

  • There are two types of BDC: Call Transaction and Session Method.

  • Call Transaction method is used for single transaction processing while ...read more

Q25. What is data class? what is TMG ? What are events of TMG?

Ans.

Data class is a classification of data objects based on their usage and storage requirements. TMG is a tool used to create and manage table maintenance screens. TMG events are predefined functions that are triggered during table maintenance operations.

  • Data class is used to define the storage and usage requirements of data objects

  • It helps in optimizing the database performance by grouping similar data objects together

  • TMG is a tool used to create and manage table maintenance sc...read more

Q26. What is TMG? Why do we use TMG?

Ans.

TMG stands for Table Maintenance Generator. It is used to create a user interface for maintaining table entries in SAP ABAP.

  • TMG is used to generate a maintenance dialog for table entries.

  • It simplifies the process of creating, modifying, and deleting table entries.

  • TMG provides a standardized user interface with input fields, selection screens, and validation checks.

  • It helps in ensuring data integrity and consistency.

  • TMG can be used for both custom tables and SAP standard table...read more

Q27. What are the names of the events used in reports?

Ans.

AT LINE-SELECTION, AT USER-COMMAND, INITIALIZATION, START-OF-SELECTION, END-OF-SELECTION are events used in report.

  • AT LINE-SELECTION - triggered when a line is selected in the report output

  • AT USER-COMMAND - triggered when a user enters a command in the report output

  • INITIALIZATION - triggered when the report is initialized

  • START-OF-SELECTION - triggered when the report starts processing data

  • END-OF-SELECTION - triggered when the report finishes processing data

Q28. How do you add a logo to a SmartForm?

Ans.

To add a logo to a smartform in SAP ABAP, you can follow these steps:

  • Create a graphic object in SE78 transaction with the logo image

  • In the smartform, create a window and specify its size and position

  • Insert a graphic object in the window and link it to the logo image

  • Adjust the properties of the graphic object as needed

  • Activate and test the smartform to see the logo added

Q29. How do you view errors in the Call Transaction method?

Ans.

Errors in Call transaction method can be seen in sy-subrc variable.

  • After calling the call transaction method, check the value of sy-subrc variable.

  • If sy-subrc is not equal to 0, then there is an error in the call transaction method.

  • Use the MESSAGE statement to display the error message.

  • Check the transaction SM21 for system logs to get more information about the error.

Q30. What are value tables and check tables in SAP ABAP? What are the relevant transaction codes?

Ans.

Value table and check table are used in SAP to maintain data consistency and integrity.

  • Value table is used to maintain domain values for a field in a table.

  • Check table is used to maintain the validity of data entered in a field.

  • T-code SE11 is used to create and maintain tables in SAP.

  • Value table can be assigned to a domain in the data dictionary.

  • Check table can be assigned to a foreign key field in a table.

Q31. What is an alternative to the 'FOR ALL ENTRIES' clause in a SELECT query?

Ans.

Alternative for For all entries in Select query

  • Inner join

  • Subquery

  • Using IN operator

  • Using EXISTS operator

Q32. What is the difference between writing rollback and omitting commit work?

Ans.

Rollback cancels the changes made in a transaction, while omitting commit work does not save the changes.

  • Rollback cancels all the changes made in a transaction and reverts the data to its original state.

  • Omitting commit work does not save the changes made in a transaction, but the changes are still visible until the session is closed.

  • Rollback is used when there is an error or issue in the transaction that needs to be undone, while omitting commit work is used when the changes ...read more

Q33. Which events are used in Module Pool Programming?

Ans.

Events used in Module Pool Programming

  • Initialization event (INIT)

  • Process before output event (PBO)

  • Process after input event (PAI)

  • Process on value request event (POV)

  • Process on help request event (POH)

  • At selection screen event (AT SELECTION-SCREEN)

  • At line selection event (AT LINE-SELECTION)

  • At user command event (AT USER-COMMAND)

  • Top-of-page event (TOP-OF-PAGE)

  • End-of-page event (END-OF-PAGE)

Q34. What is IDoc? what are the steps use to create field segment in IDOC? suppose you encountered how will you reprocess?

Ans.

IDoc is a data container used to exchange information between SAP systems or between an SAP system and an external system.

  • IDoc stands for Intermediate Document.

  • To create a field segment in IDoc, you need to define the segment structure in the IDoc definition using transaction WE31.

  • For reprocessing, you can use transaction BD87 to reprocess IDocs that have failed during processing.

Q35. What is call by reference and call by value?

Ans.

Call by reference and call by value are two ways of passing arguments to a function.

  • Call by value passes a copy of the argument to the function, while call by reference passes a reference to the original argument.

  • In call by value, any changes made to the argument inside the function do not affect the original value outside the function.

  • In call by reference, any changes made to the argument inside the function affect the original value outside the function.

  • Call by value is use...read more

Q36. How many WRICEF objects you have developed? and on which object you have strong command?

Ans.

I have developed 50+ WRICEF objects. I have strong command on custom reports and enhancements.

  • Developed over 50 WRICEF objects

  • Strong command on custom reports and enhancements

  • Examples include custom reports for sales and inventory, enhancements for purchase order processing

Q37. Which class is used in the Factory method?

Ans.

The class used in Factory method is the Factory class.

  • The Factory class is responsible for creating objects of different classes based on the input parameters.

  • It is a creational design pattern.

  • The Factory method is a static method that returns an object of the class that it belongs to.

  • Example: Class CarFactory has a static method createCar() that returns an object of Car class.

  • The Factory method is used to encapsulate object creation logic and make it more flexible and reusab...read more

Q38. How may types of Transport request are there in SAP? which will be created during report creation? How SO10 objects are transported?

Ans.

There are three types of transport requests in SAP: Workbench request, Customizing request, and Transport of Copies.

  • Workbench request is created for ABAP development objects like programs, function modules, etc.

  • Customizing request is created for customizing objects like table entries, screen modifications, etc.

  • Transport of Copies request is created for transporting copies of objects from one system to another.

  • SO10 objects are transported using the Transport of Copies request ...read more

Q39. How will you load image in Adobe form? How will you convert and Adobe form into Spanish or any other language?

Ans.

To load an image in Adobe form, use the 'Graphic' UI element. To convert an Adobe form into another language, use translation tools like SE63.

  • To load an image in Adobe form, use the 'Graphic' UI element and specify the image path.

  • For language conversion, use translation tools like SE63 to translate the text elements of the form into the desired language.

  • Make sure to maintain language-specific text elements for different languages in the Adobe form template.

Q40. What is a lock object?

Ans.

A lock object is used in SAP ABAP to control access to shared resources and prevent conflicts.

  • Lock objects are used to ensure data consistency in multi-user environments.

  • They are used to prevent multiple users from simultaneously accessing and modifying the same data.

  • Lock objects can be defined and used in ABAP programs using the ENQUEUE and DEQUEUE statements.

  • They can be used to lock entire tables, specific rows, or even individual fields.

  • Lock objects can be used to implemen...read more

Q41. What is CDS view, step to create, how CDS views can be used to display ALV ?

Ans.

CDS view is a virtual database table in SAP ABAP used for defining complex views. It can be used to display ALV.

  • CDS view is defined using ABAP Development Tools (ADT) in Eclipse.

  • Steps to create CDS view: Define view, define associations, define annotations.

  • CDS views can be used to display ALV by creating a custom ALV grid using the CDS view as the data source.

Q42. What is a hotspot in a report?

Ans.

Hotspot is a clickable area in a report output that triggers an event or action.

  • Hotspot is defined using the keyword HOTSPOT in the ABAP code.

  • It is used to create interactive reports.

  • When a user clicks on a hotspot, it triggers an event or action.

  • Hotspots can be used to navigate to another report or to display additional information.

  • Example: A report showing a list of orders can have hotspots on the order numbers that, when clicked, display the details of that order.

Q43. What is the difference between session method and call transaction?

Ans.

Session method and call transaction are two different ways of executing SAP transactions.

  • Session method executes a transaction in the same session as the calling program.

  • Call transaction executes a transaction in a separate session.

  • Session method is faster and more efficient as it does not require opening a new session.

  • Call transaction is useful when the transaction being executed has its own set of screens and requires user input.

  • Session method is used when the transaction b...read more

Q44. What are the steps to add fields in XML forms?

Ans.

To add fields in XML forms, follow these steps.

  • Open the XML form in the design view

  • Select the field where you want to add a new field

  • Right-click and select 'Insert Field'

  • Enter the field name and data type

  • Save the form

Q45. What is code inspector , what is assistance class

Ans.

Code Inspector is a tool to check code quality. Assistance class is a reusable class to provide common functionality.

  • Code Inspector checks for syntax errors, performance issues, security vulnerabilities, and adherence to coding standards.

  • Assistance class provides reusable code for common functionality like date and time calculations, string operations, and database access.

  • Assistance class can be used in multiple programs, reducing code duplication and improving maintainabilit...read more

Q46. How can we create an editable report?

Ans.

To make a report editable, we can use ALV grid control or create a custom screen with input fields.

  • ALV grid control allows users to edit data directly in the report output.

  • Custom screen with input fields can be used to display and edit data from the report.

  • We can also use function modules like REUSE_ALV_GRID_DISPLAY_EDIT to make the report editable.

  • Authorization checks should be implemented to ensure only authorized users can edit the report data.

Q47. What is the difference between BADI and user exit?

Ans.

BADI is an enhancement technique in SAP ABAP that allows for multiple implementations, while user exits are single-point enhancements.

  • BADI allows for multiple implementations to be active at the same time, while user exits only allow for one at a time.

  • BADI is object-oriented and can be used in multiple applications, while user exits are specific to a particular program or transaction.

  • BADI is implemented using classes and interfaces, while user exits are implemented using func...read more

Q48. How will you integrate S/4 Hana and SAP Ariba? What are the way you can?

Ans.

Integrating S/4 Hana and SAP Ariba involves using SAP Cloud Platform Integration and SAP Ariba Network.

  • Use SAP Cloud Platform Integration to connect S/4 Hana and SAP Ariba

  • Leverage SAP Ariba Network for seamless integration and collaboration

  • Utilize standard integration content provided by SAP for faster implementation

  • Customize integration based on specific business requirements

  • Ensure data consistency and security during integration process

Q49. How can we debug a SmartForm?

Ans.

Debugging smartform can be done using standard debugging techniques.

  • Set a breakpoint in the smartform code

  • Execute the smartform in debug mode

  • Use the debugger to step through the code and analyze variables

  • Use the debugging tools to analyze the form output

  • Check the system log for any errors or warnings

Q50. What are BDC and BAPI?

Ans.

BDC is Batch Data Communication used for mass data input. BAPI is Business Application Programming Interface used for accessing SAP data.

  • BDC is used for uploading data from external systems into SAP

  • BAPI is used for accessing SAP data from external systems

  • BDC uses transaction recording and batch input sessions

  • BAPI uses pre-defined function modules

  • BDC is suitable for simple data uploads

  • BAPI is suitable for complex business processes

  • Example of BDC is LSMW (Legacy System Migratio...read more

1
2
3
4
Next
Interview Tips & Stories
Ace your next interview with expert advice and inspiring stories

Interview experiences of popular companies

3.6
 • 10.9k Interviews
3.8
 • 8.5k Interviews
3.6
 • 7.8k Interviews
3.7
 • 5.9k Interviews
3.7
 • 5k Interviews
3.5
 • 4k Interviews
3.8
 • 2.9k Interviews
4.0
 • 2.4k Interviews
View all

Calculate your in-hand salary

Confused about how your in-hand salary is calculated? Enter your annual salary (CTC) and get your in-hand salary

SAP Abap Consultant Interview Questions
Share an Interview
Stay ahead in your career. Get AmbitionBox app
qr-code
Helping over 1 Crore job seekers every month in choosing their right fit company
65 L+

Reviews

4 L+

Interviews

4 Cr+

Salaries

1 Cr+

Users/Month

Contribute to help millions

Made with ❤️ in India. Trademarks belong to their respective owners. All rights reserved © 2024 Info Edge (India) Ltd.

Follow us
  • Youtube
  • Instagram
  • LinkedIn
  • Facebook
  • Twitter