Register Login

ABAP Interview Questions and Answers for Experienced

Very Very Important ABAP FAQ

1. What is the typical structure of an ABAP/4 program?


2. What are field symbols and field groups.?

Ans: Field symbols: Field symbols are like pointers. Placeholders for fields or arbitrary data objects.

Field group: A field group combines several fields under one name.

****      Have you used "component idx of structure" clause with field groups?

3. What should be the approach for writing a BDC program?


·         Analyzing data from local file.

·         Analyzing transaction

·         Declaring internal table

        Similar to local file.

        Similar to BDCDATA.

·         Transferring data from local file to internal table.

·         Population of BDCDATA. using call transaction/session method)

 4. What is a batch input session?

Ans. In this method transfer data from internal table to database table through sessions. Session is intermediate step between internal table & database table. Unless session is processed, the data is not transferred to the database table.

5. What is the alternative to batch input session?

Ans. Call transaction method.

 6. A situation: An ABAP program creates a batch-input session. We need to submit the program and the batch session in background. How to do it?

Ans. You should process batch-input sessions in the foreground or using the error display if you want to test the data transfer. If you want to execute the data transfer or test its performance, you should process the sessions in the background. To process the sessions in the background, Set the Run mode to Background.

 7. What z the diff b/n a pool table and a transparent table and how they are stored at the database level ?

Ans. From user point of view all tables are used to store data. From administrator point of view Transparent tables do exists with the same structure both in the dictionary as well as in the database.

Pool & Clustered tables are Logical tables, which are arranged as records of transparent table. These are not manageable directly by using database system tools. 

8. What are the problems in processing batch input sessions?


9. How is batch input process different from processing online?

Ans. For online (Session method) external data is deposited in a session for later processing.

For inline (call transaction method) the entire batch input process takes place inline in your program.

 10. What do you define in the domain and data element ?

Ans. Domain is formal definition of data types from a technical point of view. Sets attributes i.e., type, range, length . . .

        DataElements are definition of the properties and type for a table field. It is an intermediate between the object type domain & table filed.

 11. What are the different types of data dictionary objects?


·         Table.

·         Structures.

·         Views.

·         Dataelement.

·         Domains.

·         Lock Objects.

·         Match code objects.

 12. How many types of tables exists and what are they in data dictionary ?

To view the answer click the following link:

 13. What is the step by step process to create a table in data dictionary?


·         Create Domain.

·         Create Data Element.

·         Create Actual Table.

14. Can a transparent table exist in data dictionary but not in the data base physically?

 Ans. NO

15. What are the domains and data elements?

Ans.   Same as Answer no.10

16. Can you create a table with fields not referring to data elements?

Ans. NO.

17. What is the advantage of structures? How do you use them in the ABAP programs?


18. What does an extract statement do in the ABAP program?

Ans. An extract dataset consists of a sequence of records. These records may have different structures. All records with the same structure form a record type. You must define each record type of an extract dataset as a field group, using the FIELD-GROUPS statement.

 When the first EXTRACT statement occurs in a program, the system creates the extract dataset and adds the first extract record to it. In each subsequent EXTRACT statement, the new extract record is added to the dataset.

 19. What is a collect statement? How is it different from append?

Ans. COLLECT: When the line is inserted, the system checks whether there is already a table entry that matches the key. If there is no corresponding entry already in the table, the COLLECT statement has the same effect as inserting the new line. If an entry with the same key already exists, the COLLECT statement does not append a new line, but adds the contents of the numeric fields in the work area to the contents of the numeric fields in the existing entry.

 20. What is Open SQL Vs Native SQL?

Ans. Open SQL allows you to access database tables declared in the ABAP Dictionary regardless of the database platform that your R/3 System is using.

         Native SQL allows you to use database-specific SQL statements in an ABAP program. This means that you can use database tables that are not administered by the ABAP Dictionary, and therefore integrate data that is not part of the R/3 System.

 21 (a). What does an EXEC SQL stmt do in ABAP?

Ans. To use a Native SQL statement, you must precede it with the EXEC SQL statement, and follow it with the ENDEXEC statement as follows: 



 21 (b). What is the disadvantage of using EXEC SQL stmt do in ABAP?

Ans. Using inverted commas (") or an asterisk (*) at the beginning of a line in a native SQL statement does not introduce a comment as it would in normal ABAP syntax

 22. What is the meaning of ABAP editor integrated with ABAP data dictionary?

Ans.  Area menu.

 23. What are the events in ABAP language?


 Example for the structure of an ABAP program:





24. What is an interactive report? What is the obvious differences of such report compared with classical type reports?

Ans. Interactive reporting:

Allows the user to participate in retrieving and presenting data at each level during the session. Gives a basic list form which the user can call detailed information by positioning the cursor and entering the commands.

Classical reports:

Consists of one program the creates a single list which contains  clustered data requested, regardless of the details the user wants to see.

 25. What is a drill down report?

Ans. A drilldown report is a report used for the interactive evaluation of data.  (Interactive reports)

 26. How do you write a function module in SAP? describe ?


·    create funtion group.

·    create funtion module program in se37.

    specify the parameters for passing data to and from the module and the exceptions.

    write source code.

·    write exe program calling the funtional program.

 27. What are the exceptions in function module?

 Ans. Exceptions are used to handle errors. The Funtion module checks for any type of error & raise exception & returns SY-SUBRC to the calling program. Main program checks for SY-SUBRC for any errors and then takes action accordingly.

 28. What is a function group?

Ans. Funtion Modules that operate with same data can be grouped in one known as funtion group.

 29. How are the date and time field values stored in SAP? 


 30. What are the fields in a BDCTab Table?

Ans.       PROGRAM





 31. Name a few data dictionary objects?

32. What happens when a table is activated in DD?

Ans. To be able to accessed by other objects like programs.

 33. What is a check table and what is a value table?

Ans. A foreign key links two tables T1 and T2 by assigning fields of table T1 to the primary key fields of table T2. Table T2 is then known as the check table of the foreign key.

value table : when you define a domain, you already know that all fields that use the domain will need to be checked against a particular table. You can store this information in the domain definition by specifying a value table.

If you try to define a foreign key for a field that points to this domain, the value table of the domain is proposed as the check table for the foreign key.

 34. What are match codes? describe?


 35. What transactions do you use for data analysis?


36. What is table maintenance generator?


 37. What are ranges? What are number ranges?


 38. What are select options and what is the diff from parameters?

Ans. Select options are for range of values.

        Parameters are used for simple queries of single values.

 39. How do you validate the selection criteria of a report?


        IF carrid = '11000'.

                  error message.


 40.  And how do you  display initial  values in a selection screen?

 Ans.  Using VARIANTS.

 41. What are selection texts?

Ans.  Long text for select option / parameters . Selection text (SELECT-OPTION, PARAMETER). This description appears on the selection screen.

 42. What is CTS and what do you know about it?

Ans.  It  intended for the system administrator who sets up the Change and Transport System (CTS).

43. When a program is created and need to be transported to production does selection texts always go with it? if not how do you make sure? Can you change the CTS entries? How do you do it?


44. What is the client concept in SAP? What is the meaning of client  independent? 

Ans. Sets of software component which acts as service requester are called as client.

45. Are programs client dependent?


46. Name a few system global variables you can use in ABAP programs?


 47. What are internal tables?

      How do you get the number of lines in an internal  table?

      How to use a specific number occurs statement?

Ans. Internal tables provide a means of taking data from a fixed structure and storing it in working memory in ABAP. The data is stored line by line in memory, and each line has the same structure, they are dynamic data objects.



                 A1 TYPE I,

               C1 TYPE C,

              END OF ITAB.

48. How do you take care of performance issues in your ABAP programs?


49. What are datasets?

 Ans. Sequential files in application server.

50. How to find the return code of a stmt in ABAP programs?

Ans.  SY-SUBRC (except for transfer stmt).

51. What are interface/conversion programs in SAP?


 52. Have you used SAP supplied programs to load master data?

 Ans. BDC

 53. What are the techniques involved in using SAP supplied programs? Do you  prefer to write your own programs to load master data? Why?


54. What are logical databases? What are the advantages/disadvantages of  logical databases?

Ans. Logical database are special ABAP programs that retrive data & make it  available  to application programs.

Advantages of Logical database.

·                      No need of taking care of the key field and the foreign key realtionship between the tables in question.(relationship between diff tables are reflected in tree structure of Logical database).

·                     A selection screen with appropriate selection criteria is automatically created.

·                     Program standard authority checks are executed by Logical database itself in reports.

·                     Logical database  improves the performance of reports at runtime.

55. What specific statements do you using when writing a drill down report?

 Ans.  Hide stmt.

56. What are different tools to report data in SAP? What all have you used?

  Ans. ABAP query tool,

57. What are the advantages and disadvantages of ABAP query tool?


58. What are the functional areas? User groups? and how does ABAP query work in relation to these?


59. Is a logical database a requirement/must to write an ABAP query?

 Ans. No.

60. What is the structure of a BDC sessions.


  • Declare internal tables for upload.
  • Declare another internal table with same structure of BDCDATA.
  • Call function BDC_Open _group.
  • Call function BDC_insert.
  • Call function BDC_close_group.

61. What are Change header/detail tables? Have you used them?

Ans. The change header contains both fields that define and describe the change and administrative data on the change master. The administrative data is updated by the system.

62. What do you do when the system crashes in the middle of a BDC  batch  session?


63. What do you do with errors in BDC batch sessions?

  Ans. BDC session with errors appears in INCORRECT session & it can be processed again. to correct the errors , first you can analyze the session  to  determine which screen & value produced the error, if there r small errors, correct them else modify the BDC pgm which generates session or the flat file  itself.

64. How do u set up background jobs in SAP? What r the steps? What are the event driven batch jobs?


65. Is it possible to run host command from SAP environment? How do you run?


66. What kind of financial periods exist in SAP? What is the relevant table for that?


67. Does SAP handle multiple currencies? Multiple languages?

  Ans. YES

68. What is a currency factoring technique?


69. How do you document ABAP programs? Do you use program documentation menu option?


70. What is SAPscript and layout set?

Ans. Printable document such as invoices, purchase order  are printed with the use of forms, SAP allows the user to define these forms by using layout sets         is  SAP scripts.

 Layout set is used to design a document. Layout set on its own does not contain any data. Selection of data for the document is done through the print  program.

71. What r the ABAP commands that link to a layout set?

  Ans. dataelement    ... like ( /E        ELE1)

72. What is output determination?


73. What are IDOCs?

 Ans. Intermediate document (IDoc) container for exchanging data between R/3, R/2 and non-SAP systems. ALE uses IDocs to exchange data between  logical systems. Non-SAP systems can use IDocs as the standard interfacefor data transfer.

 IDocs are created when message types and (object) methods are distributed. The message type is the format in which the data for a specific business  process is transferred.

74. What are screen painter? menu painter? Gui status? ..etc.

 Ans. Screen painter: Tool for creating the screens of a dialog transaction.

           Menu painter: Tool for creating and designing the graphical user interface of an ABAP program.

           GUI Status : Main element of the graphical user interface.A GUI status usually consists of a menu bar with menus, a standard toolbar, an            application toolbar, and functions with function key settings.

Together with the GUI title, the GUI status defines the actual state of the user interface of an ABAP program.

75. What is screen flow logic? What are the sections in it? Explain PAI and PBO.


Flow logic : Code that processes a particular screen in the R/3 System.Flow logic statements are syntactically similar to ABAP statements, but you cannot use flow logic keywords in ABAP.

You define flow logic in the flow logic editor of the Screen Painter. Flow logic comprises four modules:

·         PBO (Process Before Output)

·         PAI (Process After Input)

·         POV(Process On value request)

·         POH(Process On Help request)

PBO  : The processing of screen before the screen is displayed is done in this event. (event is triggered before the screen is displayed).

PAI  : This event is responsible for processing of screen after the user enters the data and clicks the pushbutton.

POV : This is triggered when user clicks F4 function key (for listing all possible values for the field).

POH : This event is triggred when user places the cursor on field and press F1 , by default system displays its own HELP for that particular field one can add his own HELP by writting in POH.

76. Overall how do you write transaction programs in SAP?


  •  Create a module program.
  •  Goto Screen painter in SE51. create & add all your elements.
  •  Write flow logic in screen painter
  • ·Save & activate.
  • ·Attach a transaction code in SE93.

77. Does SAP has a GUI screen painter or not? If yes what operating systems is  it available on? What is the other type of screen painter called?


78. What are step loops? How do you program pagedown/pageup in step loops?

  Ans. Step Loops:  these are repeated blocks of fields in a screen.

79. Is ABAP a GUI language?

Ans. YES

80. Normally how many and what files get created when a transaction program is  written? what is the XXXXXTOP program?


81. What are the include programs?

Ans. Self-contained program that executes a particular task.

An include program has two main functions:

·         It contains code which can be used by several different programs.

·         It helps you to modularize programs, which consist of many different logically related parts. Each of these parts is stored as a separate include program.

Include programs improve the readability of programs and make maintenance easier.

82. Can you call a subroutine of one program from another program?

 Ans. yes (using PERFORM)

83. What are user exits? What is involved in writing them? What precautions are needed?

  Ans. User Exits are used for enhancement of SAP Objects. Point in an SAP program where a customer's own program can be called.

84. What are RFCs? How do you write RFCs on SAP side?

 Ans. Remote Function Call. RFCs enable you to call and execute predefined functions in a remote system - or even in the same system.RFCs manage    the communication process, parameter transfer and error handling.

85. What are the general naming conventions of ABAP programs?

 Ans.Starting with Z or Y

86. How do you find if a logical database exists for your program requirements?


87. How do you find the tables to report from when the user just tell you the transaction he uses? And all the underlying data is from SAP structures?


88. How do you find the menu path for a given transaction in SAP?

Ans.   From the main R/3 menu choose:

          Tools -->  Administration  ---> Data Retention Tool

89. What are the different modules of SAP?


90. What is IMG in SAP?


91. How do you get help in ABAP?   

 Ans. Place the cursor on the filed & press F1.

92. What are different ABAP editors? What are the differences?


93. What are the different elements in layout sets?

  Ans. Header, Page, Pagewindows, Windows, Paragraph Format, Character String.

94. Can you use if then else, perform ..etc statements in sap script?    

 Ans.  Yes

95. What type of variables normally used in sap script to output data?

 Ans.  system defined & user define in program

96. How do you number pages in Sapscript layout outputs?          

  Ans. &SY-PAGNO&

97. What takes most time in SAP script programming?


98. How do you use tab sets in layout sets?


99. How do you backup Sapscript layout sets? Can you download and upload? How?


100. What are presentation and application servers in SAP?

 Ans. Presentation server: Software layer in the R/3 System that accepts input from users and returns the results.  Application Server :Server that  provides a range of services to run the R/3 System. An application server consists of a dispatcher and one or more work processes for each service. The  dispatcher manages processing requests, and work processes execute them.

Each application server provides at least one dialog service and one gateway.

101. In an ABAP program how do you access data that exists on a presentation server vs on an application server?   

 Ans. using dataset

102. What are different data types in ABAP?

  Ans.  There are eight predefined types in ABAP with fixed length:

Four character types: Character (C), Numeric character (N), Date (D), and Time (T).

One hexadecimal type:  Byte field (X).

Three numeric types: Integer (I), Floating-point number (F) and Packed number (P).

There are two predefined types in ABAP with variable length:

STRING for character strings , XSTRING for byte strings

Complex type.

             structure type.                  table type.

Reference type.

             Data reference

             Object Reference

                          class reference    interface reference

103. What is difference between BDC and Call Transaction?

  Ans.     BDC Session Method

·                     Data is not updated in database tables unless session is processed.

·                     No SY-SUBRC returned.

·                     Error log is created for error records.

·                     Updation in database table is always synchronous

          Call Transaction Method.

·                     Immediate Updation in database table.

·                     SY-SUBRC retuned.

·                     Errors need to be handled explicitly.

·                     Updation in database in database table can be Synchronous or Asynchronous

104. Setting up a BDC program where you find information from?


105. What has to be done to the packed fields before submitting to a BDC session ?



  • 30 Jul 2017 3:19 pm

    what are different ABAP EDITORS AND what are their differences :-

    The ABAP Editor is a new dedicated tool, specialized on writing and analyzing source code. It is a new ActiveX control written in C++ which offers all modern code editing features.The control can be used instead of the old editor in all standard transactions as SE80, SE38, SE24 etc. and in the new ABAP debugger from SAP_BASIS 7.0 on.

    Editor's features The ABAP objects Editor is generic and works with most programming language with defined syntax schemas, such as ABAP, eCATT, BSP etc.

    The editor has customizable syntax highlighting, outlining of code (folding of blocks), highlighting of the current scope (current block), code templates (user and language dependant), a clipboard ring (clipboard for more then one item), incremental search, block selection, extended pretty print functionality, embedded print preview, customizable keyboard shortcuts etc.

    The ABAP Editor has three different modes:

    · Front-End Editor (source code mode - new)

    · Front-End Editor (plain text mode - old)

    · Back-End Editor (line-based mode)

    The three editor modes are fully compatible and interchangeable. Source code created using one mode is properly displayed by the system in all other modes.

    The Source Code Mode of the Front-End Editor offers enhanced functionality over the Plain Text Mode by allowing syntax highlighting, collapsing and expanding language blocks, code templates, code completion and so on.



  • 30 Jul 2017 3:29 pm

    57. What are the advantages and disadvantages of ABAP query tool?

    well, in my opinion, the SAP QUERY tool is a nice/fast tool to create BASIC queries, thought for non ABAPERs. 
    If your query is more complex, you can still try to do it with SAP QUERIES but it becomes far more difficult than a few select statements and an ALV presentation. 
    hope this helps, 

  • 30 Jul 2017 3:32 pm

    86. How do you find if a logical database exists for your program requirements?

    1. open your program.

    2. from menu bar select GOTO

    3. from GOTO menu select ATTRIBUTES.

    4. check for LOGICAL DATABASE name has given or not, If give that is your logical database name.

    reward if useful.




  • 30 Jul 2017 3:36 pm

    69. How do you document ABAP programs? Do you use program documentation menu option?

    Either you can document using the INLINE comments, BLOCK comments that we generally put in.

    If you want a langauge dependant documentation then use the menu option Goto->Documentation.

    Using this option we can maintain the documentaiton in multiple langauges.


  • 30 Jul 2017 3:51 pm

    97. What takes most time in SAP script programming?


    For form development for an invoice list. The  form for this is SD_INVOICE_LIST. However, our customer wanted to develop the requirement in Smart Forms. There is no standard Smart Form available for invoice and hence the option is to migrate the SAPscript to Smart Form.

    However, migrating the SAPscript to Smart Form (I think we need to change the driver program by copying it to a custom driver program) will require more time when compared to developing the same in SAPscript.


  • 30 Jul 2017 3:54 pm

    68. What is a currency factoring technique?

    READ table ITAB index <index No> (index = 1, 2, 3 etc)

    Check the table TCURR, TCURC etc for currecy related.

    Also we can use CONVERT_TO_LOCAL_CURRENCY and


    Reward if useful

  • 30 Jul 2017 3:58 pm

     31. Name a few data dictionary objects?


    1.Tables 2.Domains 3.Data elements 4.Structures 5.Foreign keys


    1.Views 2.Matchcodes 3.Lock objects



  • 30 Jul 2017 4:08 pm

    90. what is IMG IN SAP

    In general there is no such Transaction code, which inturn will tell you the Transaction codes for other IMG nodes..

    Now below method will give you upto 90% result as far as the IMG Node Transaction code..

    Now with SPRO go inside the IMG..

    Additinoal data --> additional data --> Display key --> IMG activity

    Now you can observe another column besides your IMG Nodes..

    The lst 4 digits of the new cloun details is the Transaction Code of that node..

    This is applicable for +90% cases in the IMG..

    Test this..

    if you have authorization use SPRO , there you will find , all the settings for all the module.

    for production order go to production -

    shop floor control--- master data -


    under thsi you have all the related things like , order , order tyep dependent parameters etc.

    check out and revert back

    hope it helps you



  • 30 Jul 2017 4:10 pm

    89. What are the different modules of SAP?

    SAP R/3 Technical – ABAP, HANA2.0, and FIORI.

    functional modules - SD, MM, FI, CRM 7.0, MII, GRC10.1, BPC10.1, HCI,PMO,PI/PO 7.4, IDM 8.0, BOBJ 4.1, BODS 4.2, TM 9.0, EWM 9.0, MDG 6.4/7.4, CPM 2.0, EHSM 3.0/5.0, DBM, VIM 7.0, MRS10.0, SOLMAN 7.1, SRM 7.0, SCM/APO 7.0, FSCM, HYBRIS and HR.SAP IS UTILITY, SAP IS RETAIL, SAP IS INSURANCE, SAP IS +OIL & GAS, And SAP IS Auto.



  • 30 Jul 2017 5:37 pm

    what is output determination

    Output determination is the process to determine the "media” such as printouts, telexes, faxes, e-mails, or EDI that are sent from one business to any of its business partners.


  • 30 Jul 2017 5:45 pm

    80. Normally how many and what files get created when a transaction program is  written? what is the XXXXXTOP program?


    ABAP/4 program.


  • 30 Jul 2017 5:50 pm

    97. What takes most time in SAP script programming?