You are on page 1of 8


sapscript and smartforms

• Sap script is client dependent and smart form is client independent.

• Sap script has Only 1 main window while smartforms 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
• 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
• 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

9. BAPI and RFC function module

• BAPI is nothing but remote enabled function module

• BAPI is provided as a method of business objects 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. 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 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. 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

26.end of page and top of page

• Top of page trigger when report encounter the first write, skip or new-line
• 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

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
• Smartform output can be seen in web while in scripts it is not possible.
• smartform generates function module while scripts dont generate function
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.