SAP ABAP Interview Questions


  1. What is the use of MANDT ? 
  2. What are the types of events in Report Programming ? 
  3. What are the types of  Messages in SAP ? Difference between them ? 
  4. What are the types of BDC ? 
  5. What are the possible methods to provide F4 help ? 
  6. Types of Report ? 
  7. What is the difference between Classical and Interactive report ? 
  8. How many list can be drilled in Interactive report ? 
  9. Is there any Tcode for SMARTSTYLE ? 
  10. Difference between BDC and LSMW ? 
  11. Difference between SAP Script and Smartform ? 
  12. Difference between RFC and BAPI ? 
  13. How can we provide symbol in SAP Script ? 
  14. How can we add values in Standard Domains ? 
  15. What is the structure of BDC data ? 
  16. What are the modes in BDC ? 
  17. What is SAP Query ? 
  18. Difference between Synchronous and Asynchronous ? 
  19. Difference between Commit Work and Commit Work And Wait ? 
  20. Types of Modularization technique ? Difference between them ? 
  21. Name the function modules which are used for ALVs ? 
  22. Can we convert Smartform to Excel ? How ?  
  23. What are the event key words in interactive reporting ? 
  24. What is secondary list ? 
  25. How to select valid lines for secondary list ? 
  26. How to create user interfaces for lists ? 
  27. How to maintain lists ? 
  28. What are the page headers for secondary lists? 
  29. What is meant by hotspots ? 
  30. What is meant by hide area ? 
  31. When the get cursor command used in interactive lists ? 
  32. How to pass data from list to report ? 
  33. How to call other programs ? 
  34. What are the System field ? 
  35. What is sap script and layout set ? 
  36. What is layout set ? 
  37. What is SAPscript and explain its purpose ? 
  38. What are components of SAPscript ? 
  39. In what format does SAP Script store text ? 
  40. Our ABAP program is working properly in Foreground. Can I schedule it for background processing on the weekend ? 
  41. How can we send a mail to the user intimating him that his report/BDC is completed in background ?
  42. Difference between check table and value table ?
  43. Types of Internal table ?
  44. Difference between Work Area and Header Line ?
  45. Types of View and it’s difference ?
  46. Types of Search help and it’s difference ?
  47. Syntax for Call Transaction in BDC ?
  48. What are the Control Break Statement ?
  49. What are the conditions for Control Break Statement ?
  50. Difference between SY-INDEX v/s SY_TABIX ?
  51. How to provide F4 help in Module pool program ?
  52. How many maximum fields can constitute a Primary key in a table ?
  53. What are primary and Composite key ?
  54. What is Secondary Index ?
  55. How to create Secondary Index ?
  56. Events in Module Pool Program ?
  57. What is the use of Chain … End Chain ?
  58. Difference between Macro and Sub routine ?
  59. How to upload an Image in SAP ?
  60. How to upload an Image in Module Pool screen ?
  61. What is the use of Data Class ?
  62. How to call one program from another program ?
  63. Difference between Leave Screen, Leave to Screen and Set Screen ?
  64. What is an RFC ?
  65. Difference between Include v/s Append ?
  66. How to create event for a Table ? What is the use of it ?
  67. Number of Include and Append that can be added in a Structure ?
  68. Difference between Cluster table v/s Pool table ?
  69. What are the types of Locks ?
  70. What is a Matchcode Object ?
  71. Can BDC be called from a Report Program ?
  72. What is the use of Occurs 0 ?
  73. What is the difference between Inner Join v/s Outer Join ?
  74. What is the difference between Primary Index v/s Secondary Index ?
  75. Difference between Open SQL v/s Native SQL ?
  76. What is the use of Buffer ?
  77. Difference between Move and Move Corresponding ?
  78. What is Partners in IDOC ?
SAP ABAP Interview Questions with Answers


1. What is the typical structure of an ABAP/4 program? 
ANS -    HEADER ,BODY,FOOTER.



2. What are field symbols and field groups.? 
    Have you used "component idx of structure" clause with field groups?     
ANS:-     Field symbols:- 

               Field groups :-
Can any body explain me what is field group?
Field groups are groups similar fields together into one name. Field group works in conjuction with    
INSERT f1 f2 INTO fg
EXTRACT fg
SORT BY fg
LOOP ... ENDLOOP

INSERT f1 f2 INTO fg
---------------------

The insert statement is used to create a field group dynamically by inserting the field into it. Only global data fields can be inserted and not local data fields eg : in form modules.
EXTRACT fg
----------  

This will combine all the fields in the fieldgroup and write them to a sequential dataset as a single record.
SORT BY fg
----------

Sorting of sequential dataset by field group.
LOOP AND ENDLOOP
---------------

LOOP.
  AT ***
......
....
ENDAT.
  AT ***
.....
....
ENDAT.
ENDLOOP.                      

3. What should be the approach for writing a BDC program? 
ANS:-
STEP 1: CONVERTING THE LEGACY SYSTEM DATA TO A FLAT FILE to internal table CALLED "CONVERSION".
STEP 2: TRANSFERING THE FLAT FILE INTO SAP SYSTEM CALLED "SAP DATA TRANSFER".
STEP 3: DEPENDING UPON THE BDC TYPE i)call transaction(Write the program explicity)
         ii) create sessions (sessions are created and processed.if success data will transfer).

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

5. What is the alternative to batch input session? 
ANS:-
Call transaction.

6. A situation: An ABAP program creates a batch input session. 
    We need to submit the program and the batch session in back ground. How to do it? 
ANS:-
     go to SM36 and create background job by giving 
     job name,job class and job steps (JOB SCHEDULING) 

8. What are the problems in processing batch input sessions? 
    How is batch input process different from processing online? 
ANS:-
PROBLEMS:-
 i) If the user forgets to opt for keep session then the session will be automatically removed from the session queue(log remains).  However if session is processed we may delete it manually.
ii)if session processing fails data will not be transferred to SAP database table.

10. What are the different types of data dictionary objects? 
ans:-
tables, structures, views, domains, data elements, lock objects, Matchcode objects.

11. How many types of tables exists and what are they in data dictionary? 
ans :-
4 types of tables
i)Transparent tables - Exists with the same structure both in dictionary as well as in database exactly with the same data and fields.   Both Opensql and Nativesql can be used.

ii)Pool tables & iii)Cluster tables - 
These are logical tables that are arranged as records of transparent tables.one cannot use native sql on these tables
(only opensql).They are not managable directly using database system tools.

iv)Internal tables - .
12. What is the step by step process to create a table in data dictionary? 
ans:-
   step 1: creating domains(data type,field length,range).
   step 2: creating data elements(properties and type for a table 
field).
   step 3: creating tables(SE11).

13. Can a transparent table exist in data dictionary but not in the data base physically?
ANS:- NO.
TRANSPARENT TABLE DO EXIST WITH THE SAME STRUCTURE BOTH IN THE DICTIONARY AS WELL AS IN THE DATABASE,EXACTLY WITH THE SAME DATA AND FIELDS.

14. What are the domains and data elements? 
ANS:-
DOMAINS : FORMAL DEFINITION OF THE DATA TYPES.THEY SET ATTRIBUTES SUCH  AS DATA TYPE,LENGTH,RANGE.
DATA ELEMENT : A FIELD IN R/3 SYSTEM IS A DATA ELEMENT.

15. Can you create a table with fields not referring to data elements? 
ANS:- 
YES.  eg:- ITAB LIKE SPFLI.here we are referening to a data object(SPFLI) not data element.

16. What is the advantage of structures? How do you use them in the ABAP programs? 
ANS:-
Adv:- GLOBAL EXISTANCE(these could be used by any other program without creating it again). 

17. What does an extract statement do in the ABAP program? 
ANS:-
Once you have declared the possible record types as field groups and defined their structure, you can fill the extract dataset using the following statements: 
EXTRACT <fg>.

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
EXTRACT HEADER.
When you extract the data, the record is filled with the current values of the corresponding fields.
As soon as the system has processed the first EXTRACT statement for a field group <fg>, the structure of the corresponding extract record in the extract dataset is fixed. You can no longer insert new fields into the field groups <fg> and HEADER. If you try to modify one of the field groups afterwards and use it in another EXTRACT statement, a runtime error occurs. 
By processing EXTRACT statements several times using different field groups, you fill the extract dataset with records of different length and structure. Since you can modify field groups dynamically up to their first usage in an EXTRACT statement, extract datasets provide the advantage that you need not determine the structure at the beginning of the program.
18. What is a collect statement? How is it different from append? 
ANS:-
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. 

19. What is open sql vs native sql? 
ANS:- by Madhukar
Open SQL , native SQL are the interfaces to create the database applicatons.
Open SQL is consistant across different types of existing Databases.
Native SQL is the database language specific to database.Its API is specific to the databse.
Open SQL API is consistent across all vendors 

20. What does an EXEC SQL stmt do in ABAP? What is the disadvantage of using it? 
ANS:-

21. What is the meaning of ABAP/4 editor integrated with ABAP/4 data dictionary?
ANS:-

22. What are the events in ABAP/4 language? 
ANS:-
Initialization, At selection-screen,Start-of-selection,end-of-selection,top-of-page,end-of-page, At line-selection,At user-command,At PF,Get,At New,At LAST,AT END, AT FIRST. 

23. What is an interactive report? 
What is the obvious diff of such report compared with classical type reports? 
ANS:- 
An Interactive report is a dynamic drill down report that produces the list on users choice.
diff:-
a)  THE LIST PRODUCED BY CLASSICAL REPORT DOESN'T allow user to interact with the system
    the list produced by interactive report allows the user to interact with the system.
b)  ONCE A CLASSICAL REPORT EXECUTED USER LOOSES CONTROL.IR USER HAS CONTROL.
c)  IN CLASSICAL REPORT DRILLING IS NOT POSSIBLE.IN INTERACTIVE DRILLING IS POSSIBLE.

24. What is a drill down report? 
ANS:-
Its an Interactive report where in the user can get more relavent data by selecting explicitly.

25. How do you write a function module in SAP? describe. 
ANS:-
creating function module:-
called program - se37-creating funcgrp,funcmodule by assigning attributes,importing,exporting,tables,exceptions.
calling program - SE38-in pgm click pattern and write function name- provide export,import,tables,exception values.

26. What are the exceptions in function module? 
ANS:-
COMMUNICATION_FAILURE 
SYSTEM_FAILURE 

27. What is a function group? 
ANS:-
GROUP OF ALL RELATED FUNCTIONS. 

28. How are the date and time field values stored in SAP? 
ANS:-
DD.MM.YYYY.  HH:MM:SS 

30. Name a few data dictionary objects? //rep//
ANS:-
TABLES,VIEWS,STRUCTURES,LOCK OBJECTS,MATCHCODE OBJECTS.

31. What happens when a table is activated in DD? 
ANS:-
It is available for any insertion,modification and updation of records by any user.

32. What is a check table and what is a value table? 
Check table will be at field level checking.
Value table will be at domain level checking ex: scarr table is check table for carrid.

33. What are match codes? describe? 
ans:-
It is a similar to table index that gives list of possible values for either primary keys or non-primary keys.

34. What transactions do you use for data analysis? 
ANS:-

35. What is table maintenance generator? 
ANS:-

36. What are ranges? What are number ranges? 
ANS:-
    max,min values provided in selection screens.

37. What are select options and what is the diff from parameters? 
ANS:-
select options provide ranges where as parameters do not. 

SELECT-OPTIONS declares an internal table which is automatically filled with values or ranges 
of values entered by the end user. For each SELECT-OPTIONS , the system creates a selection table.

SELECT-OPTIONS <SEL> FOR <field>.
A selection table is an internal table with fields SIGN, OPTION, LOW and HIGH. 
The type of LOW and HIGH is the same as that of <field>. 
The SIGN field can take the following values: I Inclusive (should apply) E Exclusive (should not apply)
The OPTION field can take the following values: EQ Equal GT Greater than NE Not equal BT Between LE Less 
than or equal NB Not between LT Less than CP Contains pattern GE Greater than or equal NP No pattern.
diff:-
PARAMETERS allow users to enter a single value into an internal field within a report. 
SELECT-OPTIONS allow users to fill an internal table with a range of values.

For each PARAMETERS or SELECT-OPTIONS statement you should define text elements by choosing 
Goto - Text elements - Selection texts - Change. 

Eg:- Parameters name(30).
when the user executes the ABAP/4 program,an input field for 'name' will appear on the selection screen.You can change the comments on the left side of the input fields by using text elements as described in Selection Texts.

38. How do you validate the selection criteria of a report? 
And how do you display initial values in a selection screen? 
ANS:-
validate :- by using match code objects.
display :- Parameters <name> default 'xxx'.
               select-options <name> for spfli-carrid.

39. What are selection texts? 
ANS:-

40. What is CTS and what do you know about it? 
ANS:-

The Change and Transport System (CTS) is a tool that helps you to organize development projects in the ABAP Workbench and in Customizing, and then transport the changes between the SAP Systems and clients in your system landscape.
This documentation provides you with an overview of how to manage changes with the CTS and essential information on setting up your system and client landscape and deciding on a transport strategy. Read and follow this documentation when planning your development project.
For practical information on working with the Change and Transport System, see Change and Transport Organizer and Transport Management System.

41. When a program is created and need to be transported to prodn 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? 
ANS:-

42. What is the client concept in SAP? What is the meaning of client independent? 
ANS:-

43. Are programs client dependent? 
ANS:-
    Yes.Group of users can access these programs with a client no.

44. Name a few system global variables you can use in ABAP programs? 
ANS:-
SY-SUBRC,SY-DBCNT,SY-LILLI,SY-DATUM,SY-UZEIT,SY-UCOMM,SY-TABIX.....
SY-LILLI IS ABSOLUTE NO OF LINES FROM WHICH THE EVENT WAS TRIGGERED.

45. 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:-
 i)It is a standard data type object which exists only during the runtime of the program.
They are used to perform table calculations on subsets of database tables and for re-organising the contents of database tables according to users need.
ii)using SY-DBCNT.
iii)The number of memory allocations the system need to allocate for the next record population.

46. How do you take care of performance issues in your ABAP programs? 
Performance of ABAPs can be improved by minimizing the amount of data to be transferred. 
The data set must be transferred through the network to the applications, so reducing the amount OF time and also reduces the network traffic.

Some measures that can be taken are: 
- Use views defined in the ABAP/4  DDIC (also has the advantage of better reusability).
- Use field list (SELECT clause) rather than SELECT *.
- Range tables should be avoided (IN operator)
- Avoid nested SELECTS. 

i)system tools
ii)field symbols and field groups.
ans:-
Field Symbols : Field symbols are placeholders for existing fields. A Field Symbol does not physically reserve space for a field,but points to a field which is not known until runtime of the program.
eg:-  FIELD-SYMBOL <FS> [<TYPE>]. 

Field groups :  A field group combines several fields under one name.At runtime,the INSERT command is used to define which data fields are assigned to which field group.
There should always be a HEADER field group that defines how the extracted data will be sorted,the data is sorted by the fields grouped under the HEADER field group.

47. What are datasets? 
ANS:-
The sequential files(ON APPLICATION SERVER) are called datasets. They are used for file handling in SAP.

48. How to find the return code of a statement in ABAP programs? 
ANS:-
Using function modules.

49. What are interface/conversion programs in SAP? 
ANS : 
CONVERSION : LEGACY SYSTEM TO FLAT FILE.
INTERFACE  : FLAT FILE TO SAP SYSTEM. 
Key search / Also search for

No comments:

Post a Comment