Most frequently asked Differences in ABAP interview
1.sapscript and smartforms
Sap script is client dependent and smart form is client independent.
Smartforms has Only 1 main window while Sap script has 99 main windows
You can not print labels using smart forms
2.BDC and LSMW
In BDC we have to take care of field mapping whereas field mapping is taken care by sap in lsmw.
BDC is mostly used for customised data upload while LSMW is used for uploading Master data.
In BDC we need to write large code but in LSMW small coding is needed.
3. BADI and BAPI
BADI is business add ins, it is used to customize the standard business flow
BAPI is Business application programming interface. It is nothing but Remote enabled function module which can be called from outside the SAP System.
4.user exit and customer exit
User exit is an include program given by SAP in that you can write your code , It needs Access key from SAP while key is not required in case of customer exit
5. Select single and select up to one row
Select single will fetch only one record while select up to n row. Will fetch n rows from database
6. Normal (Classical) report and ALV report
To display the output in classical report you use WRITE Statement.
To display the output in ALV we have different function modules and class like REUSE_ALV_GRID_DISPLAY , REUSE_ALV_LIST_DISPLAY and CL_SALV_TABLE.
If you run the classical report in background after JOB finished you can see it’s output which stored in spool, While in case of ALV you need code extra to store the output as it will not generate the spool.
7. ALV list display and ALV grid display
You cannot retrieve the output for the report which is displayed using ALV GRID Display.As spool Request will not be created for the same. While in case of list display Report out put will be there in spool request.
8. Classical and drill down report
In classical report user cannot interact with report whereas in drill down report user can interact with report.
Drill down facility is not provided in classical report while in drill down it is provided.
If they ask you in detail then tell the interviewer that interact with the report means in drill down report we have one basic list and 20 secondary lists so we can directly go to 5th list or 10th list as per our requirement similarly we can come back to any list. Drill down means showing data in basic list first and when we double click on any field we get summarised list. NOTE:- to go to next list in drill down report use following syntax SY-LSIND = < list number> example: to go to 15th list SY-LSIND = 15 to come to 5th list from 15th list use F3 KEY OR PRESS BACK BUTTON
9. BAPI and RFC function module
BAPI is nothing but remote enabled function module
BAPI is provided as a method of business objects
10.sap 4.7 and ECC 6.0
SAP 4.7 is based on Web AS
ECC 6.0 is based of Netweaver 7.0.
11. get cursor and hide in interactive report
Get cursor will provide the location cursor position in the report
While hide is use to pass the data from basic list to secondary list
12.normal function module and RFC
You cannot call normal function module from outside the current system while RFC function module can be called from outside the SAP system.
13. Subroutine and function modules.
Subroutine is local to the program while function module is global.
To call subroutine from outside its main program you need to write its main program name in the bracket
14.At selection screen and At selection screen output.
At selection screen output is called first
All dynamic commands and screen modification is done in AT selection screen output.
15.direct input and batch input
The basic difference is validation is not done in direct input by pre defined function while in batch input it is coved.
16.synchronous and asynchronous in BDC
Synchronous mode will wait until the BDC session gets over while asynchronous mode will not wait for that
17.at selection screen and at selection on field name
At selection screen is used to validate the whole screen elements while at selection field is used to validate the particular field.
When you display the error message in at selection on field the focus will be on that particular field while in case of At selection screen the focus will not be on any particular field.
18. PBO and PAI event in module pool
Process Before Output and Process after input.
PBO will be called before the screen is displayed to the user while process after input is called once user interact with screen.
19. Stop , check and exit
If you use the STOP statement within an event block, the system stops processing the block Immediately.
If you use the EXIT statement within an event block but not in a loop, the system stops Processing the block immediately
If you use the CHECK <expr> statement within an event block but not within a loop, and the Condition <expr> is not fulfilled, the system exits the processing block immediately. <expr> can be any logical expression or the name of a selection table. If you specify a selection table and the contents of the corresponding table work are do.
20.free and refresh in internal table
You can use FREE to initialize an internal table (along with header line ) and release its memory space.
REFRESH will only initialize an internal table (along with header line)
21.clear and delete.
The major difference is clear is used with internal table while delete is used with database table.
22. collect and sum
COLLECT <line> INTO <itab>. The statement first checks whether the internal table contains an entry with the same key. If not,it acts like INSERT. If there is already a table entry with the same key, COLLECT does not inserta new line. Instead, it adds the values from the numeric fields of the work area <line> to thevalues in the corresponding fields of the existing table entry.
SUM.Can only be used in loops through internal tables. Calculates the sums of the numeric fields in alllines of the current control level and writes the results to the corresponding fields in the workarea.
23. call transaction and session method
Call transaction is Synchronous Processing while session (classical) method is Asynchronous Processing
In call transaction we can update the database both synchronously and asynchronously. We can specify the mode in the program. While in session method it is Synchronous Database update.
In call transaction No batch input processing log is maintained while in session method details log is maintained.
Call Transaction method is faster than the session method.
24. at first and at last control break event
As the name suggest AT FIRST executed for the first time while AT LAST executed in last.
25. Enhancement point and Enhancement Section
Both the enhancement-point and section are available for you to change standard SAP code. Difference is in fact that you use Enhancement-point to add ABAP code to standard SAP and enhancement-section to replace/extend standard SAP code.
26.end of page and top of page
Top of page trigger when report encounter the first write, skip or new-line statements.
End of page trigger when page size is over or report display gets over.
27. Table and structure
Table has physical definition into the underline database while structure does exist physically in the data base.
28. table and views
Table has data init while view does not contain data in it. Both exist in the data base. when u run the view it queries the database and gives the respective data.
29.inner joins and for all entries
Inner join joins the table at database level whereas For..All..Entries joins the table at application level.
In For..All..Entries when the condition gets satisfied data is fetched in one single shot from database table whereas in inner join data is fetched iteration by iteration
It is always good programming practice to join tables at application level because if we join tables at database level then there might be performance issue
30. Transparent table pool table and cluster table
Transparent Table: Exists with the same structure both in the dictionary and database exactly with same data and fields. it’s to store transaction data. It’s one to one Relation table
Pool tables: These are logical tables must be assigned to a table pool when they are defined. Its use to store control data. its many to one relation table
Clustered tables: these also logical tables and must be assigned to table cluster when they are defined. It’s also used to store control data, temporary data or text ex., documentation. It’s also many to one relation table.
31. Top of page and top of page during line selection
Top of page is triggered for the basic list while top of page at line selection triggers at secondary list.
32. Start_form and End_form in sap script
start_form function module is called if we want to use different forms with similar characteristics in a single spool request ,it must be closed by END_FORM function module
33. open dataset and close dataset
Open dataset is use to read / write file into application server while close dataset is use to close that file.
34. data element and domains
Domain gives technical details like length , decimal etc..while data elements gives description and business details
35. set screen and call screen
Set screen <no> set the next screen value and temporarily override the next screen value in screen attribute. While call screen <no> jump to the screen specified in <no>.
36. Internal Session and External Session
External session is nothing but the window you have opened in your screen .By Default you can open 6 external sessions( 6 windows = you can increase it via basis’s setting). Internal session is created when you call any Functional module or any other task in your program. counts for internal sessions are 9.
37. Elementary and collective search help
An Elementary Search help defines the flow of a standard input help. It is composed of a selection method that defines where to get the data that will make up the hit list, An interface consisting of search help parameters that define the exchange of data between the screen and the selection method and a dialog type that controls how the hit list will be displayed.
A Collective Search help is a combination of several elementary search helps giving the user a different search paths. The interface parameters of the elementary search help are assigned to the parameters of the collective search.
38. What is the difference between Clustered Tables and Pooled Tables?
A pooled table is used to combine several logical tables in the ABAP/4 dictionary. Pooled tables are logical tables that must be assigned to a table pool when they are defined.
Cluster table are logical tables that must be assigned to a table cluster when they are defined.
Cluster table can be used to store control data they can also used to store temporary data or text such as documentation.
39. user exits and customer exit.
User exit is sap defined includes so to modify it we need key from SAP.while customer exit like function exit , screen exit we don’t need any key.
40. sapscript smart forms and adobe forms
Sapscript is client dependent whereas smartform is client independent.
Main window is compulsory in scripts whereas main window not compulsory in form.
Smartform output can be seen in web while in scripts it is not possible.
smartform generates function module while scripts dont generate function module.
41. screen and subscreens in module pool.
Screen has it’s own gui status while subscreen does not have any gui status.Subscreens are part of main screen.
42. standard table and hashed tables.
Standard table can be accessed by key as well as index while You can only access hashed tables by specifying the key. The system has its own hash algorithm for managing the table.