Sap Abap Interview Questions And Answers

1). 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).

2). 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

3). 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.

  1. Basic List: For simple reports
  2. Statistics: For Percentage, Average etc.
  3. Ranked List : For analytical reports

4). 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'.

5). 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

6). 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.

7). 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


8). 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.

9). 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

10). What is Smart Forms?

Smart forms allow you to create forms using a graphical design tool.

11). What are the functions of Lock Objects?

Ans) For effective Pay Per Click campaign, you need to do following things

The same data can be accessed by various programs and Lock Objects which is a particular feature of ABAP synchronizes the access to these data. Particular programs help in accessing the data records. Sometimes, inconsistencies appear when data gets inserted into the database and in order to avoid this, Lock Object is used.

12). List out some of the useful online marketing tools?


The message ID gets specified right at the start of the program and this is available in the reported statement. Message command helps in displaying the message ID. Message ID includes a 2-character code which helps in defining a total set of 1000 total messages and message command defines what sets are to be used in the program.

The following are the different kinds of messages which appear in the program system -

E - Error: When this message appears, the current application stops working. The program running in the background mode also gets canceled. The job log records this message.

W - Warming: In order for the application to continue when this message appears, Enter must be pressed by the user. Job log also records this message.

I - Information: When this message appears, Enter must be pressed and this message which appears in the pop-up window also gets recorded by job log.

A -Abend: The current transaction used by the user gets canceled when this messy appears.

S - Success: This message appears mainly in the form of feedback which is given to the users. This appears at the bottom of the screen. This is considered to be a positive message. The program is not disturbed by this message.

X - Abort: Mainly the entire program Gerd aborted by this and generally an ABAP short dump gets created.

13).Why are insert and append statement used in SAP ABAP?

Ans) At the end of the internal table, a record gets added to the specific work area and Append statement helps in adding this record. A record at specific location gets added with the help of Insert Statement.

14).Define the various contents of Technical Specifications ?

Ans) Technical Specifications consists of 5 contents -

  1. Data Class
  2. Buffering Permission
  3. Size Category
  4. Login
  5. Buffering Type

15). Why is pretty printer user in ABAP?

Ans) Pretty printer is used to format the code of ABAP.

16). Differentiate between Table and Template. ?

Ans) The main difference between Template and Table is that the former one is dynamic in nature whereas the latter one is static in nature.

17). What is the meaning of SAP R/3?

Ans) SAP R/3 mainly refers to the processing structure having three types of layers namely, Presentation layer, application layer, and database layer. It is generally considered to be Systems Application for processing of data.

18). Differentiate between OOABAP and ABAP.

Ans) For the development of traditional programs in R/3, ABAP is used. On the other hand, OOABAP is used for the development of BSP/PCUI applications.

19). What is the meaning of table buffer? This buffer is used by which type oftable?

Ans) The word buffer here refers to the memory area. The information about the table is found on the application server and this is the meaning of table buffer. In fact, even the data of the database table actually comes from the application server. Cluster table can't be buffeted but however, transparent and pool tables can be buffered.

20). How can cluster table be created?

Ans) The following steps must be followed to create cluster table -

From the dictionary of ABAP, object type table must be selected. Table name should be entered and then the create option must be chosen.

A maintenance screen gets displayed for the table. Transparent table must be set as default for table type option.

On the page of attributes, changes must be done in the description box or parallel. Next, table fields get defined.

Save the entries for the creation of transparent table.

The category of EXTRAS Change must be chosen.

Pooled or cluster table - any one of the two table types must be selected from the dialogue box.

Next step includes returning to the field maintenance screen for the table.

Lastly, the name of the cluster or pooled table must be selected entered.

21). Define dispatcher.

Ans) The resources of the applications of R/3 are managed with the help of SAP dispatcher which is basically a control agent.

22). How can the standard tables of SAP be modified?

Ans) The standard table of SAP can be modified mainly by two methods -

  1. Customizing includes
  2. Append structures

23). What are the various events associated with Screen Programming?

Ans) The following are the events associated with Screen Programming -

  1. Process Before Output (PBO) - This event gets processed long before displaying the screen.
  2. Process After Input (PAI) - This event is processed while the interaction of a user with the screen continues.
  3. Process On Help (POH) - This even gets process on request by a user after pressing F1. The program gets appropriately coded in various event blocks. The present screen gets processed by the system.
  4. Process On Value (POV) - This gets processed by pressing F4 by users. Here also, the coding can be done in the various event blocks.

24).What are the main events of which are used for Logical Database?

Ans) The main events used for Logical Database are as follows -

  1. GET - The programs used for Logical Database ads executed with the help of this event. It mainly takes place when a line from the node was read by the logical database. This has made it very much available towards the program and GET statements determine the depth of the logical database.
  2. PUT - The flow of the program is directed by the PUT event.

25). How can End-of-selection be used?

Ans) While writing the code of HR-ABAP, End of the selection event can be used. Right at the beginning of the skeleton event, the data gets retrieved. Printing of the same data is done at the end of the selection event.

26).Define ALV programming in ABAP?

Ans) ALV is the abbreviation of Application List Viewer. ALV functions are provided by SAP in order for enhancing the report output. These function modules help in improving the readability and the functionality of the output report. Even the columns can be arranged with the help of this tool.

27).Differentiate between report and dialog program

Ans) Dialog program is considered to be a module pool program while a report is considered to be an executable program. The execution is mainly done through a transaction. Screens can be customized with the help of Dialog programming.

28). What are the various types of parameters and how are they distinguished from one another?

Ans)There are mainly two types of parameters -

  1. Formal parameters - This is basically defined when the subroutine gets defined alongside FORM statement.
  2. Actual parameters - This is defined when the subroutine gets defined alongside the PERFORM statement.

These can be distinguished by distinguishing the functionality. The data are passed to the subroutines with the help of the Input parameters and data are passed from the subordinates with the help of output parameters.

29). Mention the various databases integrities?

Ans)The following are the different types of database integrities -

  1. Semantic Integrity
  2. Primary Key Integrity
  3. Relational Integrity
  4. Value Set Integrity
  5. Operational Integrity
  6. Foreign Key Integrity

30). Differentiate between ABAP memory and SAP memory.

Ans) ABAP memory is considered to be the memory area included in the ABAP program available in the internal section or the roll area of the ABAP program. Data is stored in the program calls which allow the data to be passed from one program calls to another.

It is possible for data to be passed from one session to another with the help of using SAP Memory. All the sessions of SAPgui have accused to the memory area known as SAP Memory. Data can be very easily transferred from one session of the programming system to another..

31). What statement will be found in an SAP application program that implements a function module exit?

Ans)Function module exits will exist in some SAP application programs to allow a customer to add some functionality to the SAP program. Search the SAP application program globally looking for the following search string: “CALL CUSTOMER” to determine if an exit exists.

32).What ABAP statement will trigger list generation?

Ans) The first WRITE statement encountered in an ABAP program will trigger list processing. Upon completion of the program, the list is output. The system will generate some standard headings for list output that includes the program name and a page number in the heading.

33). What two statements are required in an ABAP program to output an icon using a write statement?

Ans) There are 2 statements required in the ABAP program:

  1. The INCLUDE or INCLUDE statement is required in the program.
  2. The WRITE statement will have the following syntax: WRITE AS ICON.

34).What is foreign key relationship?

Ans) A relationship which can be defined between

tables and must be explicitly defined at field level. Foreign keys are used to ensure the consistency of data. Data entered should be checked against existing data to ensure that there are now contradiction. While defining foreign key relationship cardinality has to be specified. Cardinality mentions how many dependent records or how referenced records are possible.

35).What are indexes?

Ans)Indexes are described as a copy of a database table reduced to specific fields. This data exists in sorted form. This sorting form ease fast access to the field of the tables. In order that other fields are also read, a pointer to the associated record of the actual table are included in the index. The indexes are activated along with the table and are created automatically with it in the database.

36).What is ITS? What are the merits of ITS?

Ans)ITS is a Internet Transaction Server. ITS forms an interface between HTTP server and R/3 system, which converts screen provided data by the R/3 system into HTML documents and viceversa.

Merits of ITS: A complete web transaction can be developed and tested in R/3 system. All transaction components, including those used by the ITS outside the R/3 system at runtime, can be stored in the R/3 system. The advantage of automatic language processing in the R/3 system can be utilized to languagedependent HTML documents at runtime.

37).What is a batch input session?

Ans) BATCH INPUT SESSION is an intermediate step between internal table and database table. Data along with the action is stored in session ie data for screen fields, to which screen it is passed, program name behind it, and how next screen is processed.

38). How to upload data using CATT ?

Ans) These are the steps to be followed to Upload data through CATT: Creation of the CATT test case & recording the sample data input. Download of the source file template. Modification of the source file. Upload of the data from the source file.

39). How can I make a differentiation between dependent and independent data?

Ans) Client dependent or independent transfer requirements include client specific or cross client objects in the change requests. Workbench objects like SAPscripts are client specific, some entries in customizing are client independent. If you display the object list for one change request, and then for each object the object attributes, you will find the flag client specific. If one object in the task list has this flag on, then that transport will be client dependent.

40). What is the difference between macro and subroutine?

Ans)Macros can only be used in the program the are defined in and only after the definition are expanded at compilation / generation. Subroutines (FORM) can be called from both the program the are defined in and other programs . A MACRO is more or less an abbreviation for some lines of code that are used more than once or twice. A FORM is a local subroutine (which can be called external). A FUNCTION is (more or less) a subroutine that is called external. Since debugging a MACRO is not really possible, prevent the use of them (I've never used them, but seen them in action). If the subroutine is used only local (called internal) use a FORM. If the subroutine is called external (used by more than one program) use a FUNCTION.

41).Which table stores the Programs created?

Ans) Table: TRDIR

42).what is the difference between synchronous and asynchronous update?

Ans) n synchronous updated the parent table is updated along with the child tables and then a sy-subrc is returned. 0 fior sucessful and 4 or 8 for not sucessful. While in asynchronous updatetion after the updation of the parent table we get a sy-subrc return. The system is not bothered if the child tables are updated or not.

43).Workbench request are client dependent or client independent

Ans) Workbench request are client independent

44). When u prefer LSMW?

Ans)When we need to update medium amount of data we use LSMW. LSMW is also used when the person like functional consultant has less programming language.

45).How to debug sapscripts ?

Ans)Two ways to debug sapscript . first way is goto SE 71 and from menu bar select Utilities->activate debugger .then goto SE38 execute the print program ,it automatically goes to debugging mode …..the other way is , run the program RSTXDBUG in se 38 . execute it . a message will show that debugger is activated .now open the print program in se 38 …u vll notice that the print prgm is automatically diverted to debugging mode.

46).What is partner selection?

Ans)This concept is mainly used in IDOC where u select the partner profile using Tcode SM59 .with this Tcode u create RFC(remote function call) to create communication link to a remote system.

47).What is occurs in internal table?

Ans)occur statement allocates 8kb of memory to the internal table …but generally we dont use it because of performance issue …if we don’t use occur then the internal table will act as a structure .

48).What is page window?

Ans) page window is nothing but a container of a page ,which uniquely identifies a set of data …for example while creating invoice …we create logo window , billing document header window , customer window , terms and condition window etc …

49).What is the difference between scrolling a table horizontally and vertically..?

Ans)In table control when you scroll a table vertically presentation server needs to call application server to fetch the next record and display in the table while in case of horizontal scroll there is no need to call application server.

50).What are Field Groups?

Ans)A group that combines several fields fewer than one name, at runtime, the INSERT command is used to define which data fields are assigned to which field group are called Field Groups. It should always be a HEADER field group that defines how the extracted data will be sorted; the fields grouped under the HEADER field group sort the data.

51).List the events in ABAP/4 Language?

Ans)The events in ABAP/4 are load of program ,Initialization, Selection Screen, Start of Selection, End of Selection, Top of page, Line selection, User command, End, First.

52).Different types of locks?


  • Read lock (shared lock)
  • Protects read access to an object. The read lock allows other transactions read access but not write access to the locked area of the table.

  • Write lock (exclusive lock)
  • Protects write access to an object. The write lock allows other transactions neither read nor write access to the locked area of the table.

  • Enhanced write lock (exclusive lock without cumulation)
  • Works like a write lock except that the enhanced write lock also protects from further accesses from the same transaction.


Ans)Chain and end chain are used for multiple field validation in Module pool programming .It is written inside the screen flow logic.

54).How to Debug RFC Function module?


SE38 –> Utilities –> Settings –> ABAP Editor –> Debugging

Activate the external debugging and choose the New Debugger option in ABAP debugger.

Go to the particular place in the code and put break point, pop will appear then choose the HTTP break point.

If you are triggering the RFC from SAP portal make sure that both the user ID should be same

If the users are different then provide the XI/Portal User ID in the users field.

55). Difference between user exit and BADIs?

Ans)user exit is for single implementation and it is procedural approach while BADIs are for multiple implementation and object oriented approach.

Multiple implementation means Reusability… because we use OOps Concepts for BADI.

56). What is TMG?

Ans)TMG stands for Table Maintenance generator. It is a tool available in abap by which we can add or delete multiple records at a time and it is executed or triggered by the transaction code SM30

57). Difference between select option and ranges ?

Ans)The main difference between select option and ranges is that ranges implicitly or automatically creates internal table with fields like OPTION,LOW,HIGH,SIGN,etc . Where as in case of select option we have to explicitly create internal table. When u declares a select options it will implicitly declare an internal table (ranges) for you. While using RANGES syntax u can declare internal table explicitly. The only need of declaring ranges is when you r not taking input from the user but you want make limit based selection at that time it will be use full e.g. SELECT ** from ** where MATNR in val_range. here u can use select-option or ranges: val_range.

58).What is the land scape in sap?

Ans) In every organisation sap landscape involves three servers viz, Development server, Quality server and Production server. Whatever new development we do as per clients requirement is done in development server. Later to test the developed object we move it to quality server for testing and finally once everything goes clear then the object is moved to production server ,production server data is ready for final business use.

59). Workbench request are client dependent or client independent

Ans) Workbench request are client independent

60).How can you format the data before write statement in the report?

Ans)By using the loop event the reports output can be formatted

  1. .at first
  2. .at new
  3. .at last

61). 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.

62).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.

63).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.

64).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.

65). 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.

66).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.

67). What is dispatcher?

Ans)A control agent referred as SAP dispatcher, manages resources for the R/3 applications.

68).Mention what are the two methods of modifying SAP standard tables?

Ans)There are two methods for modifying SAP standard tables a) Append structures b) Customizing includes

69) What Is Read Line In Abap?

READ LINE and READ CURRENT LINE – These statements are used to read data from the lines of existing list levels. These statements are closely connected to the HIDE technique.

70).What are the different databases Integrities?


  1. Semantic Integrity
  2. Relational Integrity
  3. Primary Key Integrity
  4. Value Set Integrity
  5. Foreign Key Integrity
  6. Operational Integrity

71).What are indexes?

Ans)Indexes are described as a copy of a database table reduced to specific fields. This data exists in sorted form. This sorting form ease fast access to the field of the tables. In order that other fields are also read, a pointer to the associated record of the actual table are included in the index. The indexes are activated along with the table and are created automatically with it in the database.

72). What are the merits of ITS?-

Ans)S is a Internet Transaction Server. ITS forms an interface between HTTP server and R/3 system, which converts screen provided data by the R/3 system into HTML documents and vice-versa. Merits of ITS: A complete web transaction can be developed and tested in R/3 system. All transaction components, including those used by the ITS outside the R/3 system at runtime, can be stored in the R/3 system. The advantage of automatic language processing in the R/3 system can be utilized to language-dependent HTML documents at runtime.

73).What is DynPro?

Ans) DynPro is a Dynamic Programming which is a combination of screen and the associated flow logic Screen is also called as DynPro.

74)What are screen painter and menu painter?

Ans)Screen painter: Screen painter is a tool to design and maintain screen and its elements. It allows user to create GUI screens for the transactions. Attributes, layout, filed attributes and flow logic are the elements of Screen painter. Menu painter: Menu painter is a tool to design the interface components. Status, menu bars, menu lists, F-key settings, functions and titles are the components of Menu painters. Screen painter and menu painter both are the graphical interface of an ABAP/4 applications.

75).What are the components of SAP scripts?

Ans)SAP scripts is a word processing tool of SAP which has the following components: Standard text. It is like a standard normal documents. Layout sets. - Layout set consists of the following components: Windows and pages, Paragraph formats, Character formats. Creating forms in the R/3 system. Every layout set consists of Header, paragraph, and character string. ABAP/4 program.

76). What is the differences between structure and table in data dictionary in ABAP?

Ans)Structure and table both are 2/2 matrices but there are many differences between table and structure.

  1. Table can store the data physically but a structure dose not store.
  2. Table can have primary key but a structure dose not have.
  3. Table can have the technical attribute but a structure dose not have.

77). In which table the material master data is stored?

Ans)MARA and MARC are the tables from where you can get the data for Material Master.

78). Which commands are used for interactive reports?

Ans)The following commands can be used in interactive reporting:

HIDE can be used in order to create an array of all hidden variables.



79).When the get cursor command used in interactive lists?

Ans)When the hidden information is not sufficient to uniquely identify the selected line, then the command GET CURSOR is used. The GET CURSOR command returns the name of the field at the cursor position in a field specified after the additional field, and the value of the selected field in a field specified after the value.

80).Do we have to migrate all SAPscript forms to Smart Forms?

Ans)There is no point in migrating all SAPscript forms already in use. Since SAPscript can still be used and will be available in the future, there is no need to. If you plan to migrate a SAPscript form, it is recommended that you check whether the benefit is worth the effort involved

81).How to copy table across clients?

Ans)Use Program RSCLTCOP

82).What is the role of ‘Refresh’ in Internal Table?

Ans)Refresh' is the keyword which is used to clear the contents of a body in an internal table.

83). What is the Function module to popup contents in the internal table?


84). State the system field for the current date?


85).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.

86). How can you create callable modules of program code within one ABAP/4 program?


  1. By defining Macros
  2. By creating include programs in the library.
  3. 87).What Is Sap R/3?

    Ans)SAP R/3 refers to Systems Application and Product for data processing Real-time having a 3 tier architecture i.e. Presentation layer, Application layer and Database layer.

    88). Explain What Are Interactive Reports?

    Ans) An output list which displays just the basic details & allow user to interact, so that a new list is populated based on user-selection. With interactive list, the user can actively control data retrieval and display during the session.

    89). What Are The Commands Used For Interactive Reports?

    Ans)Top-of-Page during line-selection.

    91).What Is The Transaction Code For Table Maintenance?


    92). Explain What Is The Difference Between Primary Key And Unique Key?

    Ans)Primary Key – It can accepts 0 value and cannot be NULL.
    Unique Key – It can be NULL.

    93). What Is An Rfc ?

    Ans) Remote Function Call.

    94).What Is The Significance Of Hide?

    Ans) It stores the click value and display the related record in the secondary list.

    95). Where Do You Code The Hide Statement?

    Ans) In a LOOP statement.

    96). What Are Extracts?

    Ans) Extracts are dynamic sequential datasets in which different lines can have different structures. We can access the individual records in an extract dataset using a LOOP.

    97) How Do You Find Out Whether A File Exits On The Presentation Server?

    Ans) eps_get_directory_listing for directory.

    98).If Internal Table Used In For All Entries In Empty Then What Happens?

    Ans) No, records will be displayed.

    99). If I Forgot Some Command In Sap Script E.g.: Suppress Zero Display - How To Do Find It?

    Ans) Suppressing of entire screens is possible with this command. This command allows us to perform screen processing “in the background”. Suppressing screens is useful when we are branching to list-mode from a transaction dialog step.

    100). What Are The Function Modules Used In F4 Help?

    Ans)There are two types of function modules used in F4 help: