You are on page 1of 118

1. What is Structure?

Structure is a combination of different fields, Which is having same Data type or Different Data
type fields . This structure is also called as Work area. Structure is a skeletal vie! of a table. "t contains
the definition of columns and dont have any contents.
Whenever you create a structure it !ill be allocate some physical memory. #very structure or !ork
area can be holds only one record in run time of your program
We have t!o type of structures available in S$%, there are &
1. $ppend structures,
'. "nclude structures.
'. What are the differences bet!een $ppend and "nclude structures?
APPEND structure is one !here for a table !e use append structure and !ithin this !e implement
the re(uired fields along !ith its properties.....These are custom defined fields

INCLUDE structure is one !hich is been appended to a table, but already the include structure has
fields !ith its properties....These are S$% defined fields.
). What is an "nternal table?
"nternal table is a combination of different fields !hich is used to holds multiple records at runtime.
"f !e !ant to hold multiple records !e need to have an internal table, internal table is a dynamic
se(uential memory buffer, allocate some memory during the run time.
*. What are the types of internal tables?
+enerally in S$% !e have ) types of "nternal tables available, there are &
a. Standard internal tables,
b. Sorted "nternal tables and
c. ,ashed internal tables.
1
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
1. What is the difference bet!een standard, sorted and hashed table?
Standard "nternal table&
a. Standard internal tables having linear key, !e can access them either the "nde2 or 3ey.
b. The standard internal table key is al!ays 4on/5ni(ue key.
c. To fill the standard internal table records !e can use only $%%#4D statement.
d. We can use 6#$D, 78D"9:, and D#;#T# lines statements for Standard "nternal tables by
referring to the "nde2.
e. Supports ;inear and -inary search for Standard "nternal tables.
Sorted "nternal tables&
a. Sorted internal tables are al!ays saved correctly sorted by 3#:. They also having ;inear 3ey.
b. The key of Sorted internal tables can be either 54".5#/3#: or 484/54".5# 3#: and must
specify any one.
c. To fill sorted internal table lines to 5se "4S#6T statement.
d. Supports -"4$6: Search only for 6#$D statement.
,ashed "nternal tables&
a. ,ashed tables have 4o internal ;inear "nde2.
b. We can access ,ashed tables by specifying key only.
c. The 3#: of ,ashed internal tables must be 54".5# 3#:.
d. Supports ;inear search only.
'
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
<. Which methods use to pass the records from !ork area to internal table body?
We have using three methods to pass the records from !ork area to internal table body. The
methods are&
a. $%%#4D #2& $%%#4D st=tab T8 it=tab.
b. "4S#6T #2& "4S#6T st=tab "4T8 it=tab inde2 '.
c. >8;;#>T #2& >8;;#>T st=tab "4T8 it=tab. ?48T 5S# "4 S86T#D T$-;#S@.
A. What is the difference bet!een $ppend, >ollect and "nsert?
$%%#4D & This command inserts a ne! record at the end of the table.
"4S#6T & This command inserts a ne! record at the given inde2,
>8;;#>T & This is used for summation purpose. it !ill add the numeric values of the new record to the
existing record !ithout changing the non numeric values..
B. What are the types of internal table keys?
+enerally !e have t!o types of internal table keys& There are&
1. "mplicit keys ?all character fields@
-y default, all the records that you append to your internal table have a key. This key is the
combination of all non/numeric fields. This is the implicit ke
'. #2plicit keys ?user defined keys 54".5# C 484/54".5#@
:ou can also define your o!n key for an internal table called as 5ser/defined keys. :ou
!ould add W"T, 3#: 9"#;D1 9"#;D' D etc. to your D$T$ statement.
7ore specifically, you can make your user!defined ke&
a. 54".5#& additional records !ith the same key !ould not be permitted
b. 484/54".5#& additional records !ith the same key !ould be permitted.
)
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
E. ,o! to declare an internal table siFe?
We can use the command "4"T"$; S"G# H for declaration of internal table siFe. "nternal table siFe
means to assign the initial lines to storage memory.
INI"IAL #I$E %n& parameter& With InJ, you specify an initial number of lines for the internal
table..
#2&
DATA: TT_TAB TYPE SORTED TABLE OF TY_TAB WITH UNIQUE KEY NO INITIAL
SIZE 0.
"f you kno! the ma2imum siFe of an internal table and that siFe is less than B3, you can increase
the systems performance by specifying the ma2imum siFe in the INI"IAL #I$E %n& parameter.
1H. What is the difference bet!een 6#$D T$-;# and D#S>6"-# T$-;# in internal tables?
6#$D T$-;# is used to 6#$D ?search@ single record at a time from the internal table.

#K& 6#$D T$-;# it=vbak W"T, 3#: vbeln L M1')*1M.
6#$D T$-;# it=vbak "4T8 !a=vbak "4D#K sy/tabi2.
6#$D T$-;# it=vbak "4T8 !a=vbak W"T, 3#: vbeln L M1')*1M.

So the above statements !ill read the record from the internal table it=vbak and places them in
!ork area !a=vbak.

D#S>6"-# T$-;# is used to find the properties of the internal table like ho! many records the
internal table have.

#K& DESCRIBE TABLE IT_TAB LINES GV_LINES.
WRITE:/ 'TOTAL RECORDS', GV_LINES.
after e2ecuting this GV_LINES !ill contain a value e(ual to number of records in IT_TAB
11. What are the various methods of 6#$D T$-;# command?
6#$D T$-;# command is used s to search for a record of an internal table. "ts 6#$D T$-;#
command !orks on basing t!o methods, there are &

a. ;inear search ?one by one record search@ and
b. -inary search.
1'. What is the difference bet!een ;inear search and -inary search?
;inear search is nothing but processing se(uentially one by one line searching.
#2& There are E numbers , !e have to find A
*
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
1 ' ) * 1 < A B E
;inear search & !e proceed 1 by 1 & it takes A iterations
-inary search& ?total records divide by ' parts@ !e take middle value? 1@ compare !ith A no! !e
are left !ith < A B E
!e compare ?B@ and ?A@ !ith A ... Thus process completed in ' iterations
1). What are the prere(uisites of -inary search?
-inary search is one of the fastest !ay to find the record e2ists in the internal table.
T8 use -"4$6: S#$6>,, you have to S86T the internal table in $S>#4D"4+CD#S>#4D"4+ 86D#6. Then
only you !ill get the e2act results.
Ex' SORT IT_TAB BY KUNNR LAND1 NAME1.
6#$D T$-;# "T=T$- W"T, 3#: 35446 L 1HHH1
;$4D1 L "4
4$7#1 L MN,84M -"4$6: S#$6>,.

1*. Oarious operations of "nternal table as !ell as Database tables?
1. $%%#4D & $%%#4D st=tab T8 it=tab.
'. "4S#6T & "4S#6T st=tab "4T8 it=tab.
). >8;;#>T & >8;;#>T st=tab 9687 it=tab.
*. 6#$D & 6#$D T$-;# it=tab 9687 st=tab W"T, 3#: name L 6$7.
1. D#S>6"-# & D#S>6"-# T$-;# it=tab ;"4#S +O=;"4#S.
<. 78D"9: & 78D"9: T$-;# Femp 9687 st=tab T6$4S%86T"4+ $+# L 'H.
7. 5%D$T# & 5%D$T# Femp S#T #mp=name L %=4$7#
#mp=age L %=$+#
W,#6 #mp=id L %="D.
B. D#;#T# & D#;#T# 9687 Femp W,#6# emp=name L p=emp=name.
11. Which methods to use initialiFe a structure and internal tables?
We have three methods for using Delete internal tables, there are&
1. CLEA( &
The CLEA( %internal ta)le& statement initialiFe all single fields in the header line of an
internal table according to type.
2. (E*(E#+& The (E*(E#+ %internal ta)le& statement deletes all table lines. The table storage
space is not released. The header line remains unchanged.
3. *(EE' The *(EE %internal ta)le& statement releases the storage space re(uired for a table.
The header line remains unchanged.
1
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
1<. What are the $ggregate 9unctions in S#;#>T .uery?
The aggregate functions ,IN- ,A.- A/0- #U,- and C1UN" are a valuable tool for accumulating
values across the entire table or a subset of the table ro!s based on the conditions in the 2+E(E
clause.
a. 4otice there is no #4DS#;#>T because the aggregate S#;#>T statement does not return
multiple records.
1A. ,ave you done performance tuning? What are the things you are going to do in performance
tuning?
:es. #"34 is one of the transaction for check %erformance of your program its called as S.; trace
T. code #E53 is another !ay to check 6un time $nalysis.
#LIN transaction for #2tended program check. ?%rogram J >heck J #2tended %rogram check@
To check >omputer $ided Test Tool ?CA""6 ) transaction #CA".

1B. What is %arallel cursors techni(ue?
The most common performance problem that occurs in $-$% programs is because of huge number
of records in the internal tables.
if a program has huge nested internal ta)les the program has bad performance.
The 2+E(E condition that is used in inner loops e2pend a significant amount of processing time.
The idea is to avoid where conditions in the inner loops by maintaining the loop inde2es ?9rom@
manually.
1E. What is the logic behind parallel cursors techni(ue?
The 2+E(E condition that is used in inner loops e2pend a significant amount of processing time.
The idea is to avoid where conditions in the inner loops by maintaining the loop inde2es ?9rom@
manually.
'H. What are the types of debuggers !e have in S$%?
<
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
"n S$% !e have t!o types of debuggers available&
1. >lassical Debugger ?up to *.A v@
'. 4e! Debugger ?from #>> 1.H to <.H v@
'1. What are the differences bet!een classical and ne! debugger?
The classic $-$% Debugger runs in the same roll area as the analyFed application. "t is therefore
displayed in the same window as the application.
The ne! $-$% Debugger is e2ecuted in its own main mode ?e2ternal mode@, !hile the application
to be analyFed ?debug @ uses a second main mode ?t!o/process architecture@. The ne! Debugger is
therefore displayed in its own window of the S$% +5".
''. What are the types of breakpoints in S$%?
We have t!o types of -reak/points are available in S$%, there are&
1. Static -reak/points ?outdated@
'. Dynamic -reak/points
'). What is the difference bet!een 9or all entries and Noins?
Inner 7oin' 6etrieves data from Data base tables based on the MW"T, 3#:M fields !hich you have
mentioned in your MS#;#>TM (uery. "t also depends on the MW,#6#M condition. "n total the M"nner NoinM is
filtering the data at D$T$-$S# ;#O#;.
*or all entries' ,ere at first you are going to fetch data from Db1 into itab1 for specified condition.
then again you !ill use one more select (uery to fetch the values from D-' for the corresponding
entries in internal table itab1.
'*. What is the difference bet!een "nner Poin and ;eft outer Poin?
$n inner Poin of $ and - gives the result of $ intersect -, i.e. the inner part of a venn diagram
intersection.
$n outer Poin of $ and - gives the results of $ union -, i.e. the outer parts of a venn diagram
union.
A
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
Examples
Suppose you have two Tables, with a single column each, and data as follows:
A B

! "
# $
" %
$ &
Note that (1,2) are uniue to !, (",#) are common, and ($,%) are uniue to &'
Inner join
!n inner (oin using either of the euivalent ueries gives the intersection of the two tables, i'e' the
two rows they have in common'
'()(*+ , -./0 1 INNER 2OIN 3 /4 1.1 5 3.36
'()(*+ 1.,,3., -./0 1,3 78(.( 1.1 5 3.36
1 9 3
:
" 9 "
$ 9 $
Le! o"!er join
! left outer (oin will give all rows in !, plus any common rows in &'
'()(*+ , -./0 1 LEFT OUTER 2OIN 3 /4 1.1 5 3.36
'()(*+ 1.,,3., -./0 1,3 78(.( 1.1 5 3.3;:<6
1 9 3
:
! 9 4=))
# 9 4=))
" 9 "
$ 9 $
'1. >an " !rite Poins for pooled and clustered table?
>lustered and pooled tables are different to transparent tables as they are stored internally by the
6C) system. They cannot be converted to 8penS.; and processed directly as the 6C) system imposes
restrictions.
B
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
Noins that include clustered or pooled tables are decomposed and processed using $-$% nested Poin
logic.
'<. What are the pre re(uisites for 986 $;; #4T6"#S?
?8r@ ,o! to improve the performance of 9or all entries?
%rere(uisite& !hich table is used in 986 $;; #4T6"#S, that is must having records or 48T "4"T"$;
and has some common fields !ith the table you !ant to fetch data into.
'A. What is the difference bet!een Developer access key and 8bPect access key?
1) Developer 3ey / To >reateC>hange any Custom 8bPect you !ill re(uired Developer access key .
System asks Developer key only once, !hen ever login Developer in first time for system
recogniFe as Developer.
2) 8bPect $ccess key / This key !ill be available in service.sap.com . if you change or
modifing the standard #AP Logic system !ill be asks 8bPect access key.
'B. What are the types of data !e have in S$% Q give some e2amples?
The following graphic shows the different data types that are used in !&!)' *ata types form a part of
the !&!) Type +ierarchy'
E
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
Data tpes can )e divided into elementar- reference- and complex tpes8
'E. What are the differences bet!een Transparent , %ooled and >lustered tables?
". Transparent tables &
R Transparent tables allo!s secondary inde2es. ?S#11/JDisplay Table/J"nde2es@
R Transparent tables >an be buffered. ?S#11/JDisplay Table/Jtechnical settings@ 6egularly or heavily
updated tables should not be buffered.
#2& O-$3, O-$%, 34$1, 7$6$ tables
"". %ooled Tables ?match codes, look up tables@
R %ooled tables Should be accessed via primary key or
R %ooled tables Should be buffered ?S#11/JDisplay Table/Jtechnical settings@
R %ooled tables does not have secondary inde2es
R Select S is 8k because all columns retrieved any!ay
#2& 7=7TO7$, 7=7TO7-, 7=7TO7>, 7=7TO7D etc.
""". >luster Tables &
R >luster Tables Should be accessed via primary key / very fast retrieval other!ise very slo!.
1H
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
. >luster tables >annot be buffered
R >luster Tables does not have secondary inde2es
R Select S is 8k because all columns retrieved any!ay. %erforming an operation on multiple ro!s is
more efficient than single ro! operations.
. Statistical S.; functions or $ggregative Statements ?S57, $O+, 7"4, 7$K, etc@ not supported
#2& -S#>, -S#D, -S#+ etc.
)H. What is the difference bet!een Data class and Delivery class?
DA"A CLA##' The data class defines the physical area of the database ?for 86$>;# the T$-;#S%$>#@
in !hich your table is logically stored. "f you choose a data class correctly, your table !ill automatically
be assigned to the correct area !hen it is created on the database.
The most important data classes are ?other than the system data@&

$%%;H / 7aster data
$%%;1 / Transaction data
$%%;' / 8rganiFational and customiFing data.
There are t!o more data classes available, 5S6 and 5S61. These are reserved for user
developments.
DELI/E(9 CLA##' :ou can use the delivery class to control the transport of table data for an
installation, upgrade, or client copy and transports bet!een customer systems. The delivery class is also
used in the e2tended table maintenance.
There are the follo!ing development classes&
$/ $pplication table ?master and transaction data@.
>/ >ustomer table, data is only maintained by the customer.
;/ Table for storing temporary data.
+/ >ustomer table, S$% can insert ne! data records but cannot over!rite or delete e2isting ones.
#/ System table !ith its o!n namespace for customer entries.
S/ System table, data changes have the status of program changes.
W/ System table ?for e2ample table of the development environment@
)1. What is the purpose of Technical settings?
:ou can use the technical settings of a table to define ho! the table is handled !hen it is created in
the database. :ou can specify !hether the table is buffered and !hether changes to data records of the
table are logged.
The most important parameters are&
Data class'
11
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
The data class defines the physical area of the database ?table space@ in !hich the table must be
created.
#i:e categor'
The siFe category defines the siFe of the e2tents created for the table.
When the table is created in the database, the system determines the re(uired information about the
memory area to be selected and the e2tent siFe from the technical settings.
;uffering permission'
The buffering permission defines !hether the table can be buffered.
;uffering tpe'
"f the table can be buffered, you must define a buffering type ?full, generic, single/record@.
The buffering type defines ho! many table records are loaded into the buffer !hen a table entry is
accessed.
Logging'
This parameter defines !hether the system logs changes to the table entries. "f logging is s!itched
on, the system records each change to a table record in a log table.
)'. What is the purpose of Table maintenance generator?
The purpose of the table maintenance generator is maintain the records or entries from the
database table.
Table 7aintenance +enerator is a tool used to customiFe the tables created by end users and can
be changed as re(uired, such as making an entry to that table, deleting an entry etc.
"n other !ords, table maintenance generator is a user interface tool !hich is used to change the
entry of the table or delete an entry from the table or create an entry for the table.
)). Steps to create Table 7aintenance generator?
+o to S#11 /J enter your table name /J click to change button /J go to 5tilities /J select table
maintenance generator.
%rovide 9unction group
%rovide $uthoriFation group
%rovide 7aintenance screen /J single step or t!o step
%rovide maintenance screen no.
Then >reate and Save.
"f you !ant to check the T7+ by the transaction #,53 or #,5<8
1'
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
)*. What are the 7andatory %arameters pass in the ",0=
We have 7ust pass the %arameters in T7+ are&
1. 9unction +roup
'. $uthoriFation group
). 7aintenance type and
*. 7aintenance Screen no.
)1. What is the difference bet!een Single step maintenance and T!o step maintenance?
Single step& 8nly overvie! screen is created i.e. the Table 7aintenance %rogram !ill have only one
screen !here you can add, delete or edit records.
T!o step& T!o screens namely the overvie! screen and Single screen are created. The user can see
the key fields in the first screen and can further go on to edit further details.
)<. ,o! !ill you create a Transaction code for T7+?
+o to transaction S#E) for create Transaction code,.
#nter Transaction code 4ame . ?e2& GT#ST=T=H1@ and click >6#$T# button.
#nter transaction te2t or description.
%ass #,53 for Transaction parameter and select skip initial screen check bo2.
>heck +5" support for !ido!s check bo2.
%ass the default value tab fields&
O"#W4$7# as your Table name and
5%D$T# as K.
1)
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
)A. " have an database table in having t!o fields as >6#$T# D$T# and >6#$T# %#6S84, for those
fields are having +ray out ?4ot %ossible input@ on selection screen..!henever create an entry then
click save the database table records automatically updated !ith >566#4T D$T# and 5S#6 4$7#?
ho! it possible?
:es, it is %ossible. -y using #vents.
+o to 5tilities /J Table maintenance generator
Within T7+ screen !e are going to select #nvironment /J 7odifications /J #vents .
$nd change to #dit modeDand Select an event e2& H1 ?at the time of creating a ne! entry@
Then #nter a form name ?S5- 685T"4#@ e2& D#9$5;T=#4T6:.
>lick #ditor column button ? )
rd
column@Dand !rite the ;ogic !ith in the 9867 / #4D9867.
#2& 9867 default=entry.
GT$-/>=D$T# L S:/D$T57.
GT$-/>=5S#6 L S:/5S#6.
#4D9867.
)B. What is meant by buffering and ho! many types?
Whenever an 8pen S.; statement is used to read a record from the database table, "f the tableMs
attributes indicate that the data should be buffered, the record is saved in 6$7 on the application
server in data buffers.
;ater, if that record is read again, it is read from the buffer instead of the database'
We have ) Types of -uffering options &
1*
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
1. Single record buffered
'. +eneric area buffered
). 9ully buffered.
)E. Difference bet!een Single , +eneric and 9ully -uffering?
Single -uffered / fetch the one by one records from the table
+eneric -uffered / basing on the W,#6# condition of record
9ully -uffered / 9etch the $;; records from the table.
*H. Which data tables !ill go for -uffer?
We can using -uffer for 7aster data tables, because master data tables are 6arely updated and
6egularly used.
-uffer Does not recommended for regularly updated data tables like..Transaction data tables,
because of regularly updated records, buffer ?6$7@ lose of updated records.
*1. ,o! do you #>IP buffering?
-y using -: %$SS -599#6"4+ statement in S#;#>T (uery. "t !ill be go for fetch the records from
directly database tables and S3"% the -599#6.
*'. "n Which S#;#>T .uery the -uffering !ill be "gnored or $void?
-y using T-: %$SS -599#6"4+ Statement .
11
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
8r
"f you have use any $ggregative 9unctions, they are not going to be considered -uffer.
#2& 7$K, 7"4, $O+, S57 and >854T.
*). >an " create database vie!s?
:es.
**. What are the differences bet!een 7aintenance vie! and Database vie!?
Database vie!&
>an be used instead of "nner Noins in $-$% program
>annot update multiple tables at a time.

7aintenance vie!&
>annot be used in $-$% 8pen S.; statements . 8nly thru Table maintenance ?S7)H@ !e can
update the Data.

>an be update multiple tables at a time.
*1. ,ave you created lock obPects and !hat is the purpose of lock obPects?
:es.
;ock obPects are use in S$% to avoid the in consistency at the time of data is being insertCchange
into database.
S$% %rovide three type of ;ock obPects. &
/ 6ead ;ock?Shared ;ocked@
/ Write ;ock?#2clusive lock@
/ #nhanced !rite lock ?#2clusive lock !ithout cumulating@
Technically&
Whenever !e create a lock obPect System is going to create t!o function modules automatically, ;ock
obPect name al!ays starts !ith #G.
1. #4.5#5#=I;ock obPect nameJ. to insert the obPect in a (ueue.
'. D#.5#5#=I;ock obPect nameJ. To remove the obPect is being (ueued through above 97.
1<
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
*<. What are the various types of lock modes?
# ?#hared@ for 6ead ;ock
E ?E2clusive@ for Write ;ock
. ?e.clusive non/cumulative@ for #nhance Write ;ock
1 ?1ptimistic@
*A. What are the differences bet!een Domain and Data element?
Domains'
Domain is the central obPect for describing the technical characteristics of an attribute of an
business obPects. "t describes the value range of the field.

Data Element'
Data element is used to describe the semantic definition of the table fields like Description the
field, $ttributes, Data types and 9ield label.
*B. ,ave you created search help e2it and !hat is the purpose?
:es.
Search help e2its are used to restrict the standard search help returned values according to users
re(uirement.
#2ample& Scenario& When 5ser1 re(uire only 7aterial type as 9inished goods and 5ser' re(uire only
7aterial type as 6a! material, for this scenario !e can use search help e2it.
*E. What all the search help available in S$%?
We have ' types of search helps available in S$%&
There are &
1. #lementary search help,
'. >ollective Search ,elp
1H. What are the different types of function modules in S$%?
"n S$% !e have three type of 9unction 7odules available, There are &
1A
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
1. 4ormal 9unction 7odules
'. 6emote #nabled 9unction modules ?69>@ and
). 5pdate 9unction 7odules.
11. What are the differences bet!een 5pdate function module and 4ormal function module?
1'. What are the differences bet!een 4ormal function module and 69> function module?
1) 4ormal function module only called !ithin the server...but 69> can be called across the server.

2) We can access data from 69> function module from non sap also...but not possible for normal
function modules.

3) We al!ays use pass by value mode in 69>Ms but in 4ormal function module !e can use pass by
value or pass by reference.

4) 9ast accessing using normal function modules...slo! accessing using 69>Ms.
1). What are the differences bet!een synchronous and asynchronous update !ith e2amples?
"n Synchronous process data is updated 6ecord by record, !hile $synchronous process !hole data
of certain transaction is updated in one times means performance degrades..
1*. What is meant by ;5W Q ho! many types?
/ $ T;5WU ? logical unit of !ork @ is the span of time during !hich any database updates must be
performed . #ither they are all performed ? committed @ , or they are all thro!n a!ay ? rolled back @.
We have ' types of ;ogical 5nit of Work ?;5W@ in S$%.
There are&
1. Database ;5W
'. S$% ;5W
11. What are the differences bet!een Database ;5W Q S$% ;5W?
1B
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
D; LU2 '
When it is called it locks the ro!s , 5pdate the ro!s Q commit the ro!s issued by auto >ommit.

#AP LU2 '
>ollection of -usiness reports is called S$%;5W and "ssuing the >ommit like 5%D$T#,"4S#6T,78D"9:
statements are valid >ommit !ork is given by Developer Side.
1<. What is the purpose of >ommit Work and 6ollback Work?
The statement >877"T W863 completes the current ;5W and opens a ne! one. Storing all change
re(uests for the current ;5W in the %rocess.
The statement 68;;-$>3 W863 closes the current ;5W and opens a ne! one. "n doing so, all
change re(uests of the current ;5W are canceled.
1A. What is the bundling techni(ue?
-undling is an $-$% programming techni(ue !hich collects database changes and performs these
together at the end of a transaction.
1B. What are the differences bet!een e2ternal sub routines and "ncludes?
"nclude is a type of program.
Subroutine is a part of program
#2ternal subroutine is perform statement is one program and form routine is in another
program.
include is not e2ecutable program.
both are using reusability..
includes are mainly using for data declaration and subroutines are using for passing values to
form routine.
you can change the value by using subroutine but you can not change the value in include
program.
1E. What are the differences bet!een 7acros and Subroutines?
1E
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
7acros can only be used in the program the are defined in and only after the definition.
7acros can take ma2 E parameters.
7acros are e2panded at compilation C generation.
Subroutines ?9867@ can be called from both the program there defined in and other programs .
Subroutines can take any amount of parameters.
Subroutines are Me2pandedM at runtime.
<H. What are the differences bet!een Data type and reference variable?
:ou create the data type of a data reference variable using&
"9PE#' t?dref "9PE (E* "1 DA"A.
:ou can create a data reference variable either by referring to the above data type or using&
DA"A ' dref "9PE (E* "1 DA"A8
6eference variables are handled in $-$% like other data obPects !ith an elementary data type. This
means that a reference variable can be defined as a component of a comple2 data obPect such as a
structure or internal table as !ell as a single field.
<1. What is the difference bet!een 3ey and "nde2?
key is nothing but primary key. it is uni(ue .
"nde2 is nothing but ro! number of a table .
based on inde2 !e can retrieve the data fastly.
if you mentioned the key field in read statement it !ill fetch the e2act record.

5ni(ue is nothing but it !ont allo! duplicate entries inside the table.
4on/uni(ue allo!s duplicate entries.
<'. "n !hat !ay "nde2 is going to improve performance, "s it recommended?
:es.
"nde2 is nothing but ro! number of a table and it is used to search the data fastly.
'H
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
<). >an " use modify statement inside the loop?
5se modify table inside loop is not good, to avoid it use field symbol for modify table.
<*. Without using modify statement ho! can !e modify the table?
$;T#6 T$-;# & "T=T$- form ST=T$-. 8r use I9SJ 9ield Symbols.
<1. ,o! do " kno! the number of records in a table?
D#S>6"-# T$-;# it=tab ;"4#S +O=;"4#S
or
S:/D->4T
<<. What are the differences bet!een S:/T$-"K and S:/"4D#K?
S:/T$-"K "s a internal table records counter and S:/"4D#K is a ;oop counter.
<A. $fter 6ead statement !hat !ill be the S:/S5-6> value?
"f the Table ro! is 9ound means, S:/S5-6> L H.
it returns the value '. "f the system cannot find an entry, S:/S5-6> is set to *.
<B. What is !atch point?
Watch points allo! you the option of monitoring the content of individual variables.
The Debugger stops as soon as the value of the monitored variable changes.
"n addition, conditions can be specified. The Debugger also checks !hether such a condition is fulfilled.
"n the Watch points area, you !ill see a list of all the !atch points set so far. 9or each !atch point you
!ill see not only the current value but the value before the last changed.
<E. What are the differences bet!een !atch points and breakpoints?
'1
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
$ breakpoint is a signal at a particular point in the program that tells the $-$% runtime processor to
interrupt processing and start the Debugger. The Debugger is activated !hen the program reaches this
point. 7a2 )H breakpoints !e can use.

There is a special kind of breakpoint called a !atchpoint. When you use !atchpoints, the Debugger
is not activated until the contents of a particular field change ie...Watchpoints allo! you the option of
monitoring the content of individual variables.The Debugger stops as soon as the value of the monitored
variable changes.:ou can use ma2 of 1 !atchpoints.
-reak %oint means !hen you !ant to stop the control to the desired statement. then you go for
the break point .
#2ample& "9 you have 1H lines of code and if you put a break point at line number BH. then if the control
comes to the line number BH. then the debugger !ill stop automatically othe!ise it !ill flo! further.

Watch point& !hen you !ant to see if any variable value is chagned to some other value and in that
case you should go for the !atch point..

#2ample& if you variable V9;$+V is value MHM initaily.. no! if you !ant to see the !hen this flag gets
changed to value M1M. Then in that case you should go for the !atch point...
AH. What is system debugging?
#stem De)ugging
"f you set this option, the Debugger is also activated for system programs ?programs !ith status S in
their program attributes@. When you save breakpoints, the System Debugging setting is also saved.

Normal De)ugging
4ormal debugging is the one !e do it by the normal dynamic break points or by C, or by using static
break points.
A1. What are the debugger controls?
We have four types of #2ecution >ontrol -uttons in every debugger tool. There are&
#ingle #tep& ?*46 #2ecutes the report line by line. This is useful if the user !ants to see the
program e2ecute one line at a time.
Execute' @*A6 %rocesses all of the steps associated !ith one line of code. 9or e2ample, one
line of code may be a call to a subroutine. #2ecute !ill process that line !ithout sho!ing all
of the activities inside the subroutine.
(eturn' @*B6 6eturns the user to !here the calling program resumes control after a called
routine.
Continue' @*C6 %rocesses all statements until a breakpoint or the end of the program is
reached. "f no breakpoints e2ist, the system !ill e2ecute the report in its entirety !ithout
stopping.
A'. What are the control level processing events or A" E/EN"#?
''
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
>ontrol level processing events are also called as $T #O#4TS. These events are using !ithin the
;oop statement of an internal table. These control level processing events are categoriFed by four
types, there are&
a. $T 9"6ST
b. $T 4#W
c. $T #4D 89
d. $T ;$ST
A). What are the types of 6eports !e have in S$%?
"n S$%, !e have ) types of 6eports categoriFed, there are&
1. >lassical reports,
'. "nteractive reports and
). $;O reports.
A*. What are the #vents !e have in classical 6eports?
')
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
>lassical reports events&
1. "4"T"$;"G$T"84,
'. $T S#;#>T"84/S>6##4,
a. $T S#;#>T"84/S>6##4 84 field.
b. $T S#;#>T"84/S>6##4 84 -;8>3,
c. $T S#;#>T"84/S>6##4 84 6$D"8/-5TT84,
d. $T S#;#>T"84/S>6##4 84 O$;5# 6#.5#ST 986 %=T#ST,
e. $T S#;#>T"84/S>6##4 84 ,#;% 6#.5#ST 986 %=T#ST,
). ST$6T/89/S#;#>T"84,
*. #4D/89/S#;#>T"84,
1. T8%/89/%$+#,
<. #4D/89/%$+#.
A1. What are the events !e have in "nteractive reports?
#vents of "nteractive reports&
1. $T ;"4#/S#;#>T"84,
'. $T 5S#6 >877$4D,
). T8%/89/%$+# D56"4+ ;"4# S#;#>T"84,
*. $T %9n.
A<. Types of $;O reports in S$%?
Three types of $;O reports !e have in S$%, there are&
1. Simple $;O report / normal $;O list
'*
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
'. -locked $;O report / this is used to display multiple lists continuously
'. $;O ,ierarchical Se(uential 6eport / display in hierarchical
AA. What are the 9unction 7odules !e have in $;O 6eports?
REUSE_AL#_LIST_DIS$LAY % ,utput a simple list (single line or several lines)'
REUSE_AL#_&RID_DIS$LAY % ,utput of a simple list (single-line)'
REUSE_AL#_'OMMENTARY_(RITE : .ist body comment bloc/ output'
REUSE_AL#_E#ENTS_&ET : 0eturns table of possible events for a list type'
REUSE_AL#_E#ENT_NAMES_&ET : 0eturns table of constant names of possible events for a list
type'
REUSE_AL#_)IELD'ATALO&_MER&E : 1reate field catalog from dictionary structure or internal
table'
REUSE_AL#_*IERSE+_LIST_DIS$LAY : +ierarchical seuential list output'
REUSE_AL#_$O$U$_TO_SELE'T : .ist in dialog bo2 to choose one or more entries (or display
only)'
REUSE_AL#_#ARIANT_E,ISTEN'E : 1hec/s whether a display variant e2ists'
REUSE_AL#_LIST_LAYOUT_IN)O_&ET : 0ead current !.3 list information'
REUSE_AL#_LIST_LAYOUT_IN)O_SET : Set current !.3 list information'
045S46!.363!07!NT6!..68!7NT!7N : 8aintain all display variants for one ob(ect'
045S46!.363!07!NT6*49!5.T6:4T : 0ead default layout (description only, w;o field catalog)'
045S46!.363!07!NT69# : *isplay variant selection dialog bo2'
045S46!.363!07!NT68!7NT!7N : *efinition of a layout outside the list conte2t'
045S46!.363!07!NT6S!34 : Save !.3 3ariant'
045S46!.363!07!NT6S4.41T : Select a layout variant'
045S46!.36:07*6.!<,5T67N9,6:4T : 0ead current !.3 grid information'
045S46!.36:07*6.!<,5T67N9,6S4T : Set current !.3 list information'
'1
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
AB. What are the differences bet!een %arameters and Select/options?
$nother difference is that parameter acts as a variable !hereas select option acts as an internal
table !ith a predefined structure.
%arameters takes single value and !e use #. ? L @ in !here condition for that field.
When you declare select/options a selection tables like "nternal table !ith * fields like S"+4, 8%T"84,
;8W and ,"+, gets created to store the multiple values that are entered in the select /options. and !e
use "4 in !here condition for that s select/options field
AE. What are the differences bet!een 6anges and Select/options?
Select/options are the normal select options that you define on Selection screen.
While 6anges are similar to Select options in the !ay it creates a internal table of the same form as that
of Select/options. The internal table that is created has the fields
,"+,
;8W
S"+4
8%T"84.

-ut the difference bet!een Select/options and ranges are that !e donMt need to define the ranges
in Selection screen. "t is created by e2plicitly coding in the %rogram.
BH. What is the difference bet!een $T 4#W and 84 >,$4+# 89?
$T 4#W can only be used inside loop. 8n change of can used outside the loop.
B1. What are the prere(uisites of $T 4#W event?
-efore using control break statement ?$T 4#W @ you need to sort the internal table field on !hich
you are using >ontrol breaks.
B'. ,o! do you debug a background Pob?
:o to the transaction SM-. and select the bac/ground (ob (with (ob status =A/!i0e>) that you want to
debug'
Now select ='ap!"re% a/!i0e jo1> from menu =2o1>
This will open the selected active (ob (program) in the debugger'
'<
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
,0
!lso you can do the same from transaction S8$?'
Select the wor/ process where this (ob is running and then choose the menu path
)rogram;8ode)rogram*ebugging'
B). What are the steps to create a background Pob?
+o to transaction S7)< for Define -ackground Nob
Step/1 J +ive the $-$% program name for Nob name field.
Step/' J click on Step 6adio/buttonDclick on $-$% program buttonDand give your program name and
variant name. ?if you have any parameters or select/options of your program@
Step /) J Then click start condition button //J click you starting condition mode buttons e2& Date C Time.
Step/* J +ive the start date Q time.
Step/1 J if you give any periodic value click on the %eriodic Nob checkbo2
click on the %eriod Oalues pushbutton Q select hourly or M7onthlyM
and Save.
"f you !ant to check the -ackground Pob status go to transaction S7)A. +ive your Pob name and
#2ecute. 8r t code ND-+.
B*. What is the purpose of variants?
Sometimes you may have a re(uirement to schedule a back ground Pobs, based on the current
month in the selection screen. Oariants are client dependent and the variant values are stored in a
cluster table names as O$6".
B1. Oariants are client dependant or independent?
Oariants are client dependent and the variant values are stored in a cluster table names as O$6".
B<. "n my program "m !riting logic, certain logic should be e2ecuted in background Pob Q certain logic
should be e2ecuted in foreground. ,o! do !e differentiate that logic?
We can use 9unction modules
N8-=8%#4
N8-=S5-7T
N8-=>;8S# for e2ecute certain logic in background.
'A
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com

BA. What is S$% memory?
The S$% 7emory is a memory area to !hich all sessions of a S$% logon have common access. "n
$-$% programs, the S#T %$6$7#T#6 and +#T %$6$7#T#6 commands can be used to access the so/
called S%$C+%$ parameters stored in the S$% 7emory
S#T and +#T %$6$7#T#6S are used for S#4D data to S$% memory and 6#T6"O# the data from S$%
memory.
#2 for S#T %$6$7#T#6 synta2&
#E" PA(A,"E( ID DaunE *IELD #?/;ELN!L128
#2 for +#T %$6$7#T#6 Synta2&
0E" PA(A,E"E( ID DaunE *IELD #?/;ELN!L128
BB. What is $-$% memory?
The memory area of each main session has an area called $-$% 7emory, !hich the programs in the
internal session can access !ith E.P1(" "1 ,E,1(9 and I,P1(" *(1, ,E,1(9
#K%86T and "7%86T parameters are used for #K%86T"4+ data into $-$% memory and
"7%86T"4+ data from $-$% memory.
#2 for #K%86T"4+ %$67#T#6 synta2&
E.P1(" P< "1 ,E,1(9 ID DtestE8 Ftest G memor nameH8
#2 for "7%86T"4+ %$6$7#T#6S synta2&
I,P1(" P< *(1, ,E,1(9 ID DtestE *(EE ,E,E1(9 ID DtestE8
BE. Where !e can create 9unction 7odule?
+o to Transaction #E5B for >reate user defined 9unction modulesD !henever you create 9unction
modules are must saved into a 9unction group and its al!ays in active state. 9unction +roups are
created by S#)A as !ell as S#BH.
EH. Within a function group ho! many 9unction 7odules can be created?
'B
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
:ou can add EE function modules to a function group.
E1. Within function modules can " use statements like >all screen, >all Transaction etc?
4o .
E'. What are the differences bet!een %erform and %erform on commit?
The statement of %#69867 subroutine is triggered by condition or directly in your program.
The statement of %#69867 84 >877"T is registers the subroutine directly specified using su)r in
the same program. The subroutine is not e2ecuted immediately, but a flag is set for e2ecution !hen one
of the statements C1,,I" 21(> or (1LL;AC> 21(>.
E). ,o! to upload #2cel file data into an internal table?
5sing a function module AL#,?E.CEL?"1?IN"E(NAL?"A;LE for upload #K>#; file data into an
"nternal table.
"f !e !ant to Do!nload "nternal table data into #2cel file !e can use 9unction module is
0UI?D12NL1AD.
#AP #C(IP"#
E*. Why scripts are client dependent?
'E
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
Scripts are developed in S$% !ill be maintained in a table #".+, !hich has ,AND" field. So, !e
can say scripts are client dependent.
E1. ,o! do you copy a *orm from one client to another client?
We can >opy the 9orm ?S$% Script@ using Transaction code S#A1

5tilities /J >opy from >lient ?or 5sing standard program (#".*CP9@
#nter the
Source 9orm name,
Source >lient and
Target 9orm name.
$nd !e have another approach to copy a 9867 from one client to another client by using
Transaction code #CC<.

-ut to >opy the form from one server to another !e can use the standard program is (#".#C(P.
EH. What is the Transaction for create Standard Te2t?
We are going to create #tandard "ext for S$% scripts by using Transaction code is #1<3.
E<. What are the components of S$% scripts?
Whenever !e create a S$% script, !e are going to create three components, there are&
1. 9orm by using S#A1 transaction,
'. Standard te2t by using S81H transaction and
). $ Driver program by using S#)B transaction.

EA. What are the sub/obPects of S$% script 9orm?
We have A types of Sub W obPects in every S$% script 9orm, there are&
1. ,eader
'. %ages
). Windo!s
*. %age !indo!s
1. %aragraph formats
)H
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
<. >haracter formats
A. Documentation.
EB. ,o! am going to assign Standard Te2t to a 6e(uest or Task?
We are going to use a standard program (#"."(AN for assign Standard te2t to 6e(uest or Task.
EE. Scripts are ;anguage dependent or "ndependent?
S$% scripts are ;anguage dependent, because of a script form is available in multiple languages.
1HH. ,o! do you find re(uest number for a form in S$% scripts?
+o to transaction #E35 and click search for obPects under re(uest, then #nter 9867 and your 9orm
name and e2ecute it. Then !e can find given 9orm re(uest number.
1H1. ,o! to Debug a S$% script form?
We can approach t!o !ays for debug a 9orm&
1. "n S#A1 #nter your 9orm name and go to 5tilities//Jactivate debugger .. then #2ecute the print
program .. it !ill be go to debugging mode..
'.We have an another approach to debug a 9orm by using Standard %rogram (#".D;U0Dand #2ecute
this %rogram for activate DebuggerDthen 6un the print program, it !ill go for debugging mode.
1H'. ,o! you are going to upload a ;ogo in S$% scripts?
We are going to use a standard program (#".LD,C for upload 8"I** format files into S$% scripts.
"f you can use standard program !rite this command for include ."I** file logo into your page !indo! &
C& INCLUDE I$+E.!,AC(1!C?L101I 1;7EC" "E." ID #" LAN0UA0E IEI8
"f you !ant to upload 8;,P ?-"T7$%@ format logo files into S$% !e are going to use the transaction
code #EBC ?;ogo repository@.
"f you can use Logo (epositor - !rite this command for call ;I",AP logo into your page !indo!
J' ;I",AP IC?L101I 1;7EC" 0(AP+IC# ID ;,AP "9PE ;C1L DPI <438
1H). ,o! can " kno! the form is available in multiple languages?
)1
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
+enerally !e are going to kno! the 9orm available languages by using #EB< transaction and +iven
your 9orm name and click Display D+o to 5tilities menu and select Oersions , here !e kno! the 9orm
activate ;anguages.
1H*. What are the types of !indo!s available in S$% scripts?
We have * types of Windo!s available in S$% scripts, there are &
1. 7ain Windo!, &
#ach form must have one !indo! of type 7$"4. Such a !indo! is called the main window of the
form. The te2t in the main !indo! can e2tend over several pages. "f the te2t fills one page, output
continues in the !indo! of the ne2t and subse(uent pages, Dont lose any data.
#very page !e have use ma2 EE 7$"4 !indo!. ?HH/EB@. "t controls the page break.
'. Oariable Windo!,&
Oariable !indo! having fi2ed siFe and its display some fi2ed siFe of data only. "ts not support for
%age break.
). >onstant Windo! &
>onstant !indo! al!ays display at the runtime values only.
*. +raphic Windo!&
We are going to use +raphic !indo! for upload a ;ogo into S$% script form.
1H1. What is the purpose of $DD6#SS W #4D$DD6#SS?
We are going to use command $DD6#SS W #4D$DD6#SS to populate the $ddress for country specific
format .
1H<. What is the purpose of %68T#>T W #4D%68T#>T ?
The purpose of command %68T#>T W #4D%68T#>T is used to prevent the %age/-reak. " have t!o
pages , "f " !ant to display the data in one page.. dont !ant to split the data into t!o pages..in this
scenario " !ill going to use %68T#>T / #4D%68T#>T'
)'
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
1HA. " have t!o pages , " !ould like to print t!o pages data into one page only? What " am do?
We are going to use command %68T#>T W #4D%68T#>T for prevent %age/-reaks.
1HB. Without modifying driver program " have add some fields in a 9orm and ho! to populate values
into that fields ?
We are going to add some fields by using D#9"4# command..for populate the values !e are going to
!rite the logic !ithin the %#69867 W #4D%#69867.
1HE. " !ant to provide a page break forcibly? What " am do?
We can use control command NE2!PA0E for provide %age/-reak 7anually and the ne2t content !ill
be go for print in 4e2t page.
11H. " !ant to Dra! a -o2 on 9orm? What is the synta2?
"f !e !ant to Dra! a -o2 on 9orm, !e are going to use the synta2 is&
J' ;1. F.P1#H F9P1#H F2ID"+H F+EI0+"H F*(A,EH FIN"EN#I"9H
111. What is the purpose of Te2t elements in S$% scripts?
"n simple !ords, Te2t #lements are the only !ay to transfer the data from report program to 9867
using 2(I"E ?*1(, 9unction 7odule.
11'. What is the purpose of >ontrol commands in S$% scripts?
"n S$% scripts the >ontrol commands are helps to 9ormat the final output of your 9orm. These
>ontrol commands are passed to the S$% script composer to process a 9orm. #2& 4#W/%$+#, 4#W/
W"4D8W, $DD6#SS/ #4D$DD6#SS etc.
11). "n S$% scripts ho! can " provide space bet!een Word to Word?
We are going to use T$-S option in paragraph formats.
11*. ,o! do you handle -arcode in S$% scripts?
"f !e !ant create a custom -arcode !ill go to transaction S#A). "f !e !ant to use this -arcode on
your form..!e are going to create an character format type click -arcode check bo2 and use custom
created -arcode name here.
111. "n S$% scripts " !ant one page in ;andscape format and another one is %ortrait format? ,o! can
" achieve?
))
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
To implement this re(uirement " have used the print control commands
VS%86TV // To print in portrait format
VS;$4DV // To print in landscape format.
Synta2 for page1
C& %6"4T/>84T68; S%86T
Synta2 for page'
C& %6"4T/>84T68; S;$4D
11<. "n S$% scripts the -o2 height is automatically adPusted based on the number of records on a
"nternal table? ,o! is it possible?
"n this scenario first !e can describe internal table records and collect into a Oariable.
Synta2 & D#S>6"-# T$-;# "T=T$- ;"4#S "4T8 +O=;"4#S.
$nd !e can use this variable for -o2 height value then automatically adPust the table height basing on
internal table records.
Synta2& J' ;1. .P1# DKE C, 9P1# DKE C, 2ID"+ DK3E C+ +EI0+" L0/?LINE#L LN 8
11A. "s it %ossible to Debug a particular !indo! only or not?
:es, its possible by using transaction S#A1 and go to 5tilities /J $ctivate debugger
Then go to your driver program ?S#)B@ and e2ecute it, !e can debug by pages or !indo!s by using C,.
11B. " have a re(uirement ho! to print ,eader data under the item data and as !ell as item data
under the ,eader data? "s it possible, ho! can do this?
:es, !e can achieve this. Within the driver program !e can !rite the logic as 9irst ;oop the ,eader
data table and !ithin the ;oop !e can !rite another ;oop of "tem data table basing on header field
value and collect the data into a final table Dno! !e can use this final table for W6"T#=9867 function
module.
11E. What are the types of 9unction modules !e have in S$% scripts?
)*
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
8%#4=9867 / 8pens the form output.
ST$6T=9867 / Starts a ne! form.
W6"T#=9867 / >alls a form element.
W6"T#=9867=;"4#S / Writes te2t lines into a form.
#4D=9867 / #nds the current form.
>;8S#=9867 / #nds the form output.
1'H. What is the difference bet!een 8%#4=9867 Q ST$6T=9867?
8%#4=9867 & it opens the form for printing ? called only once@ and should be closed !ith end=form.
ST$6T=9867 & is used !hen u have multiple pages ?forms@ to be printed in one output.? can be
called many times@
1'1. ,o! can " convert script to a %D9 form?
"f !e !ant to convert sap script to a %D9 form, !e are going to !rite the logic !ithin your driver
program !e have use >8;S#=9867 function module.
Within this >8;S#=9867 function module !e have T$-;#S parameter and collect the data into an
"nternal table ?8T9 data@.
Then !e can >onvert 8T9 to %D9 using SK=8-N#>T=>84O#6T=8T9=%D9 function module.
"f !e !ant to do!nload a %D9 file by using +5"=D8W4;8$D function module.
"f you !ant to Send the obPect using S8=D8>57#4T=S#4D=$%"1 function module.
1''. -asing on the form name ho! to " find Driver program?
)1
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
+o to #EB< enter your form name click DisplayDthen +o to *orm !& check ! & "exts . you can
appears a print program name.
We have an another approach to find driver program of your form. +o to table "".*P contents,
enter your form name and #2ecute it.
1'). What are the Standard S$% script forms in S$%?
a. 6O86D#6H1 / Sales order confirmation
b. 6O"4O8">#H1 / "nvoice
c. 7#D65>3 / %urchase order.
)<
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
#,A("*1(,#
1'*. What is the difference bet!een S$% scripts and Smart forms?
1. Scripts are client dependent one !hile Smart form are client independent.
'. "n scripts must have to !rite a print program !hile in Smart forms it is not necessary.
). "n scripts !e cant print background logo, !hile in Smart forms !e can print background logo.
*. "n scripts !e have EE main !indo!s per page , !hile in Smart forms !e have only 1 main !indo!.
?!e have also create !ithout main !indo!@
1. scripts does not have any database connectivity, !hile Smart forms have direct database
connectivity.
<. "n scripts does not support color font, !hile Smart forms support color print .
A. Scripts are not net enable, !hile smart forms are net/enabled.
B. in scripts !e can use Standard te2t , in smart forms !e can use standard test as !e as Te2t
modules.
E. Scripts support ;abels and smart form does not support ;abels.
125. ,o! can " transport a Smart form from one language to another language?
We are going to use transaction #EA5, go to Translation !& A;AP o)Mects !& 1ther Long text
,ere e2pand 9orms and Styles, then Double click on SS9 for smart forms.
#nter your Smart form name and enter your Source and target language.
1'<. What is the difference bet!een Standard te2t and Te2t modules?
a. Standard te2t are client dependent , !hile Te2t modules are client independent.
b. Standard te2t are ;anguage dependent , !hile Te2t modules are language independent.
c. Standard te2t are not transportable, !hile te2t modules are transportable.
d. Standard te2t are stored in STK,, STK; tables, !hile te2t modules are stored in SS9S>6##4
table.
127. ,o! can " find re(uest number for a S7$6T9867?
+o to transaction #E35 and click search for obPects under re(uest, then #nter SS98 and your
S7$6T9867 name and e2ecute it. Then !e can find given 9orm re(uest number.
1'B. What are the various types of !indo!s available in S7$6T9867S?
)A
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
We have * types of !indo!s available "n S7$6T9867S, there are&
1. 7ain !indo!,
'. Secondary !indo!,
). >opy !indo!,
4. 9inal !indo!.
1'E. What is the purpose of >opy !indo!?
The copy window helps to differentiate some particular printouts. 7>d li/e to print three copies of a
particular document and the first copy should mention as 1ustomer copy, second one as &an/ copy and
the third one as 1ollege copy in this scenario we will go for use 1opy window'
130. What is the purpose of $ddress 4ode in S7$6T9867S?
:ou use the address node to insert an address into the form. This guarantees that the address is
formatted according to the postal regulations of the sender country.
8r
We are going to use $DD6#SS 48D# in S7$6T9867S to populate the $ddress for country specific
format .
1)1. "n S7$6T9867S " have a re(uirement %age 1 directly go to %age)? ,o! can " do?
"n S7$6T9867S every page attributes !e have an 4#KT %$+# option..!ithin a page1 attributes !e
pass the 4e2t page as %age).
1)'. What is the difference bet!een Table and Template in S7$6T9867S?
The template is used to hold static data because the number of ro!s and columns are fi2ed.
The tables is used to hold dynamic data and increase the number of ro!s and columns basing on the
run time data.
1)). " have a Template , it is putting in ;oop, !hats happens here?
"f !e can put a template !ithin a ;oopDthe last one record may be displaying by data is over
!rites because of template having 9i2ed ro!s and columns and it holds static data only.
1)*. What is the difference bet!een Table and ;oop in S7$6T9867S?
The basic difference bet!een Table and ;oop is & !ithin a table " cant call another table and !ithin
a ;oop " can call another ;oop.
1)1. What is the purpose of ;ine type in S$7$T9867S?
)B
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
"f :ou !ant to define line types for your template or table to specify the number and siFe of the cells
of a line in S7$69867.
1)<. What is the purpose of $lternative 4ode in S$769867S?
$lternative 4ode is like T65# or 9$;S#.

"f you !ant to print something !hen the condition is T65# then you can !rite it under T65# node.
or if you !ant to print something !hen the condition is 9$;S# then you can !rite it under 9$;S#
node.
1)A. "n S$76T9867S ho! can " achieve %68T#>T W #4D%68T#>T?
The command %68T#>T/4D%68T#>T does not supports in S7$6T9867S. We can achieve the
prevent %age/break in S7$6T9867S by using The 9older option.
1)B. What is the purpose of 9older 4ode in S7$6T9867S?
With the help of 98;D#6 48D# for achieve the %68T#>T/#4D%68T#>T printing the records in same
page !ithout any %age/break.
139. ,o! can " debug a S7$6T9867?
#2ecute ?9B@ your S7$6T9867 / JDisplay 97 /J 97 attribute /J Double click on %rogram name /J
Double click on user defined include program /J%ut the break/point !here !e can debug.
140. What is the %urpose of S7$6T9867 trace?
"f you !ant to debug S7$6T9867 in non/modifiable client, then you can try to using Transaction
S9T6$>#. We can analyFe our Smart 9orms using trace to !atch ho! its !orks and any termination
caused by errors.
1*1. What is the Transaction code for S$76T9867 trace?
We are going to use transaction S9T6$># for trace a S7$6T9867 !orking levels.
S!itch on the T6$># and run the S7$6T9867 and S!itch off Trace and analyFe.
1*'. ,o! do !e handle S$76T9867 from a Driver program?

9irst !e call the system generated S7$6T9867 function module into your Driver program.
)E
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
Then !e can change and collect a 9unction module name into a variable by using
SS9=954>T"84=78D5;#=4$7# function module.
Then !e can use variable name instead of system generated function module.
Then pass the re(uired importing parameters and e2ecute your form directly from your driver
program.

1*). ,o! to capture ;ong te2t in my form?
"f !e !ant to capture long te2t into your form, !e are going to use 6#$D=T#KT function module.
,ere !e can pass "D, ;$4+5$+#, 4$7# and 8-N#>T parameters and collect the captured data into
a table.
1**. ,ave you created any 9orm?
:es, " have created a couple of forms like "4O8"># 9867S, S$;#S 86D#6 9867S, D#;"O#6: 9867S
>6#D"T 9867S etc.
1*1. ,ave you done changes to a standard form?
:es , " have done to changes some standard forms are %urchase order ?7#D65>3@, Sales order
confirmation ?6O86D#6H1@, "nvoice ?6O"4O8">#H1@ and Delivery note etc.
1*<. What kind of "nvoice form you !ork?
" have !orked on various "nvoice forms like %erforma "nvoice, Standard "nvoice, >onsignment
"nvoice and Third party "nvoice.

1*A. S$% provides some standard forms, !hy are u created custom forms?
$s per client re(uirement , "d like to add some more 9ields , Descriptions and >ompany Terms
and conditions as !ell as company ;ogo etc. S$% standard forms does not support for client
re(uirement because of " have created some custom 9orms.
148. ,o! do you find Driver program for a S7$6T9867?
"f !e kno! the S7$6T9867 name D!e can directly go to "NAP( table contents and enter your
S$76T9867 name in the S9867 filed and e2ecute itD!e can find the Driver program for given
S7$6T9867.
149. "f " provide Document number, ho! can " find the 9orm name and Driver program?
"n this situation first !e kno! the output type of the +iven document number.. !ith the help of
NA#" table contents #nter your Document 4umber !ith in the 8bPect key ?8-N3:@ filed and e2ecute itD
and !e can see an output type ?7essage type @ for the given Document number.
*H
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com

"f you !ant to see the program associated to the particular output type, then go to
transaction NACE //J Select the Application area ?O1 / Sales@ //J >lick on Output type //J Select your
output type and click on Processing routine //J ,ere you may find the %rogram and 9orms used in the
output type.
11H. What are the steps to configure output types? ,ave you configure any output type?
:es.. " have done by using transaction 4$>#
8r
4o
111. ,ave you converted S$% scripts to S7$6T9867S?
:es " have converted some standard script forms into S7$6T9867S as !ell as " have created some
custom S7$6T9867S for client re(uirement.
Steps & +o to S7$6T9867S transaction enter your Gform name 5tilities 7igration
"mport S$% script forms +ive your S$% script name and ;anguage ok .
11'. " kno! driver program and 9867 name, ,o! can " find output type?
+o to T4$%6 table contents by using transaction S#11 and #nter your %rint program name or
S7$6T9867 name and #2ecute itDhere !e find the 8utput type ?7essage type@ for +iven print
program or S7$6T9867S.
*1
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
DIAL10 P(10(A,,IN0 @ ,odule Pool Programming6
153. >an " run dialog program in -ackground?
7odule pool programs does not e2ecuted in -ackground mode, -ecause 7odule pool programs
must have a Transaction code for e2ecute in foreground also, does not e2ecute !ithout transaction
code..these transaction codes cannot provide in background mode...this is the one reason.

another one is 7odule pool programs having MnM number of screens as !e as buttons...every screen
must having manual interaction ?click the push buttons or enter field values etc@.. manual interaction
not possible in -ackground mode....so !e canMt run the module pools in -ackground mode...
11*. ,o! can " debug a pop/up !indo!?
"n this scenario " am going to create a ne! .TKT file in my presentation system !ith maintain
follo!ing 9ields&
X954>T"84Y
>877$4D L C,
T"T;# L D#-5++#6
T:%# L S:ST#7>877$4D
Whenever !e !ant to debug a %op/up !indo!, drag this 8txt file on to pop/up !indo! then click okD
it !ill be going to debug mode automatically.
111. What is the purpose of >,$"4 W #4D>,$"4?
"f you !ant to Oalidate a group of fields on a Screen, in this situation !e put those fields in
bet!een >hain and #ndchain statement. "n Screen %rogramming scenario !e !ill use >hain #ndchain
statement.
11<. "n D% or 7% programming ho! you going to validate your screen fields?
"n Dialog programming or 7odule pool programming !e can achieve the Screen 9ields validations
by using >,$"4 W #4D>,$"4 statement. We !ill put the screen fields in bet!een >,$"4 W#4D>,$"4
statement.
11A. What is the purpose of 83=>8D#?
*'
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
83=>8D# is a variable !hich is used to collect the screen attributes related 9unction codes.
Whenever click on %ush buttons or some $ction, the $ction related function code !ill be captured into
83=>8D# variable. 83=>8D# is type of system variable S:/5>877. #very button related action !ill be
!ritten basing on this 83=>8D# value ?9unction code@.
158. What is the purpose of 78D5;# $T #K"T/>877$4D?

$utomatic field checks can be avoided by $T #K"T/>877$4D, Which !orks e2actly the same !ay as
cancel !orks on application tools bar.
SSS%rocess $fter "nput.
7odule e2it $T #K"T/>877$4D.

SSS"n module pool program.

7odule e2it.

>ase 83=>8D#.
When M#2itM.
leave to screen ?'
11E. What are the events in D% or 7odule pool programming?
"n 7odule %ool programming !e have 9our types of events available, there are&
1. %rocess -efore 8utput ?%-8@
'. %rocess $fter "nput ?%$"@
). %rocess on ,elp 6e(uest ?%8,@
4. %rocess on Oalue 6e(uest ?%8O@
1<H. What are the default events in 7% programming?
We have t!o default events available in 7odule pool programming , there are&
a. %rocess -efore 8utput ?%-8@ and
b. %rocess $fter "nput ?%$"@
a. Process ;efore 1utput@P;16'
%rocessing before the screen is displayed ?%-8@.

#2amples
"nitialiFing screen fields, inserting default values, positioning the cursor, sho!ing and hiding fields and
changing field attributes dynamically.

*)
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
b. Process After Input@PAI6'
%rocessing after user input.

#2amples
>hecking values !here there is no automatic check, processing the cursor position, processing correct
entries or triggering an error dialog.
1<1. >an " call %8O and %8, events before calling %$" event?
%68>#SS 84 ,#;%/6#.5#ST and %68>#SS 84 O$;5#/6#.5#ST are triggered !hen the user re(uests
field help 91? documentation help @ or %rocess values help 9* ? !hich gives a prompt !ith a list of
values @
-oth %8O and %8, events are sub/events of %$" event, so not possible to use !ithout %$" eventD
1<'. " have created custom field in the screen, for that field ho! can " provide value help or 9* help?
"f !e provide 9* help ?Oalue ,elp@ for a field in module pool program, the logic !ill be going to
!rite under the %rocess 8n Oalue/ re(uest ?%8O@ event.
#2& " have a 9ield 68;;=48 on screen.
%rovide 9* help for this field, the ;ogic !ritten in %8O event.
%68>#SS 84 O$;5# W 6#.5#ST.
9"#;D roll=no 78D5;# f*= help.
Within this module Wendmodule !e can use 9*=help function module.
163. What is the difference bet!een >$;; S>6##4 and ;#$O# S>6##4?
CALL #C(EEN ' >alling a single screen is a special case of embedding a screen se(uence. "f you !ant to
prevent the called screen from covering the current screen completely, you can use the >$;; S>6##4
statement !ith the ST$6T"4+ $T and #4D"4+ $T
CALL #C(EEN <3338 @or6
CALL #C(EEN <333 #"A("IN0 A" <3 <3 ENDIN0 A" K3 K38

LEA/E #C(EEN : statement ends the current screen and calls the subse(uent screen.
;#$O# S>6##4.
;#$O# T8 S>6##4 'HHH.
164. What is the difference bet!een >$;; S>6##4 and S#T S>6##4?
**
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
Where !e have !rite the CALL #C(EEN statement , leaving the remaining code in current screen and
!ill be process the called screen immediately. $fter finish the called screen process and come back to
first screen and triggering remaining code.
if !e can use #E" #C(EEN processes the remaining statements of the current screen and then goes to
the called screen.
165. What is the difference bet!een ;#$O# S>6##4 and S#T S>6##4?
if !e can use #E" #C(EEN processes the remaining statements of the current screen and then goes
to the called screen.
S#T S>6##4 'HH. ?in 1HH screen@
"f !e can use ;#$O# S>6##4 statement, ;eaves the current screen and processes the ne2t screen.
;#$O# S>6##4. ?for leaves the current screen %$" and triggers se(uence screen@
;#$O# T8 S>6##4 'HH. ?;eaves 1HH screen %$" and triggers 'HH screen@
166. What is the difference bet!een >$;; S>6##4 and ;#$O# S>6##4 and S#T S>6##4?
CALL #C(EEN ' >alling a single screen is a special case of embedding a screen se(uence.
CALL #C(EEN <3338 @or6
CALL #C(EEN <333 #"A("IN0 A" <3 <3 ENDIN0 A" K3 K38
LEA/E #C(EEN : statement ends the current screen and calls the subse(uent screen.
LEA/E #C(EEN8
LEA/E "1 #C(EEN K3338
#E" #C(EEN ' statement processes the remaining statements of the current screen and then goes to the
called screen.
#E" #C(EEN K338 ?in 1HH screen@
1<A. What is the purpose of S#T S>6##4?
With S#T S>6##4 the current screen simply specifies the ne2t screen in the chain , control branches
to this ne2t screen as soon as the current screen has been processed .6eturn from ne2t screen to
current screen is not automatic ."t does not interrupt processing of the current screen. "f !e !ant to
branch to the ne2t screen !ithout finishing the current one ,use ;#$O# S>6##4.
1<B. What is the difference bet!een 4ormal screen and Sub/screen?
*1
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
1. 4ormal Screen having 83=>8D# , !hile Sub screens does not have 83=>8D#.
'. 4ormal Screen having +5" status , !hile Sub screens does not have +5" status.
3. 9rom 4ormal Screen calls another Screen, !hile from Sub screens does not call another Screen
or Sub screen.
4. 4ormal Screens having 78D5;# #K"T/>877$4D , !hile Sub screens does not have 78D5;#
#K"T/>877$4D.
The main difference bet!een 4ormal screen and Sub Wscreens&
4ormal screen are Directly called by using >$;; S>6##4 statement and Sub/screens does not call
Directly. "f !e !ant to call sub/screens into a screen must declare a S5-/S>6##4 $6#$.
1<E. >an " create Select/options on the screen in Dialog %rogramming?
:es..its possible.
"f you !ant to create Select/options Directly not possible in 7odule pool program.
a. ,ere first !e need to >reate a S5- S>6##4 and Define S#;#>T/8%T"84S !ith in Top
include of your 7odule pool program.
b. Then !e need to have a Screen and Define a S5- S>6##4 $6#$ for calling 5ser defined S5-
S>6##4.
c. Then !e need to call this S5- S>6##4 !ith in the S5- S>6##4 area by define a logic at %$"
and %-8 events of a S>6##4.
CALL #U; #C(EEN %su) screen area name& INCLUDIN0 #9!(EPID Dsu) screen noE8
170. ,o! do you handle 6adio/-uttons in D%?
When you add radio buttons to a screen, the Screen %ainter automatically creates a one/
character screen field for the button. :ou should declare a corresponding one/character variable for the
radio buttons in your $-$% module top/include.
Ex:
DATA: RADIO1, RADIO2, RADIO3.
We are going to define 6adio/buttons !ith the help of Screen painter layout ?S#11@..and
!henever you defined 6adio/buttons must assign to a 6adio -utton group.
Select all 6adio/buttons and +o to 4dit-@:rouping-@0adio button :roup-@*efine'
$nd $ssign the 9unction code for $ll 6adio/buttons as same. We are going to !rite the ;ogic of
your 6adio/buttons in %$" event of your screen by using 9unction codes.
*<
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
1A1. ,o! can " handle >heck bo2es in D%?
When you add >heck bo2es to a screen, the Screen %ainter automatically creates a one/character
screen field for the >heck bo2. :ou should declare a corresponding one/character variable for the >heck
bo2es in your $-$% module top/include.
Ex:
DATA: CB1 TYPE C,
CB2 TYPE C,
CB3 TYPE C.
We are going to define >heck bo2es !ith the help of Screen painter layout ?S#11@.. We are going
to !rite the ;ogic of your >heck bo2es in %$" event of your screen -asing on >heck bo2 9unction code.
172. ,o! do " handle T$-/ST6"%S in D%? What are the steps to create a T$-=ST6"%S in D%?
$ T$- ST6"% control is a screen obPect consisting of t!o or more pages. The T$- ST6"% control is the
set of all the tab pages. When you create a T$- ST6"% control, you must&
A. Define the Tab area on a screen and the Tab titles.
B. $ssign a Subscreen area to each tab title.
>. %rogram the screen flo! logic.
D. %rogram the $-$% processing logic.
E. :ou must then decide !hether you !ant to page through the tabstrip control at the S$%gui or
on the application server. "n the first case, each tab page has its o!n subscreen. "n the second,
there is a single subscreen area that is shared by all tab pages.
Synta2& C1N"(1L# mta) "9PE "A;#"(IP8
173. What is the synta2 for calling S5-/S>6##4 in D%?
The synta2 for calling Sub screens in 7odule pool program !e are going to use &
"n %-8 of main screen
*A
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
CALL #U; #C(EEN %su) screen area name& INCLUDIN0 #9!(EPID Dsu) screen noE8
CALL #U; #C(EEN su)< INCLUDIN0 #9!(EPID D3<33E8
"n %-8 of main screen
CALL #U; #C(EEN %su) screen area name&8
CALL #U; #C(EEN' su)<8

174. What are the controls !e have available in D%?
We have three types of controls available in 7odule pool programming , there are &
1. Table >ontrol,
'. T$- ST6"% >ontrol and
). >ustom control.
175. What are the steps to create a Table control in D%?
1. Define a Table control on a screen area and must define the Table fields.
2. Whenever you define a table control on your screen you must going to Declare table control
name and declare a structure and internal table along !ith using table control fields !ith in the
top include.
). Write the table control logic at Screen %-8 and %$" events of your screen.
4. $nd ;oop the internal table !ith control ImytabJ Table control name at %-8 event of your
screen.
1A<. What is the synta2 for create a Table control?
The synta2 for create a table control is&
CONTROLS: >+13)( */4+./) 410(? TYPE TABLEVIEW USING SCREEN >'*.((4 4/?.
CONTROLS: @YTAB TYPE TABLEVIEW USING SCREEN '#000'.
177. "n my screen " have some fields and t!o push buttons, if " click on one button the fields are gray/
out ?disable@ and click on another button that fields are enable? ,o! can " achieve?
"n this scenario " am going to !rite the logic at %-8 event of Screen. ,ere " !as handle the screen
attributes basing on the Single character 9;$+ variable, its define in top/include.
$t %-8 event !e are going to ;oop the S>6##4 and assign the S>6##4/"4%5T values basing on the
9;$+ value K.
$T %$" event of your Screen, !henever you click a +6$:85T button , the 9;$+ value assign as K.
$t %-8 event !e are going to !rite the logic basing on this 9;$+ L K.
*B
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
"f click 8%#4 button , the 9;$+ value assign as ?S%$>#@, !e are going to !rite the 8%#4 button
logic at %-8 event basing on 9;$+ value is "4"T"$;.
?8r@
"n this scenario !e are going to !rite the logic at %-8 event of your screen basing on the 9;$+ variable
value.
The logic is&
IF FLAG IS INITIAL.

LOOP AT SCREEN.
IF SCREENNA@E 5 'NA@E'. A'*.((4 -B()C 410(
SCREENINPUT 5 0. AB4D=+ CB'13)(
@ODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSE.
LOOP AT SCREEN.
IF SCREENNA@E 5 'NA@E'.
SCREENINPUT 5 !. AB4D=+ (413)(
@ODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
END@ODULE.
178. ,ave you created any >ustom screens? What is the business re(uirement?
:es, " have created some custom screens for using Develop a 7odule pool programming as per
client re(uirement. the business re(uirement is !henever enter a customer details the sales order
data !ill be display in another screen by using table control.
*E
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
;DC @;atch Data Conversion6
1AE. What is the difference bet!een >onversion and "nterface?
1. Data >onversion is a one/time activity, !hile interface is used to communicate data bet!een
t!o systems continuously .
'. "n >onversions possible to upload data from ;egacy system to S$% only , !hile "nterface possible
to upload the data from ;egacy system to S$% as !ell as S$% to ;egacy system.
3. >onversion is 7ainly used for upload 7aster data, !hile "nterface is mainly used for upload
transaction data.
"nterface& it is a program that performs communication !ith #2ternal system from S$%.
There are t!o types of interfaces&
1. "nbound "nterface& #2ternal system sends the data to S$%
'. 8utbound "nterface& S$% sends the data to #2ternal system.
1BH. What are the types of -D>s !e have in S$%?
-atch Data >onversion or >ommunication ?-D>@, !hich is used to collect the data from ;egacy
system ?4on/S$%@ to S$% system.
"n S$% !e have t!o types of -D>s available, there are&
1. Direct "nput method and
'. -atch "nput method.
"n -atch input method !e have t!o methods&
a. Session method and
b. >all transaction method.

181. What is the Difference bet!een Synchronous and $synchronous methods in -D>?

The main difference bet!een Synchronous and $synchronous methods is &
in Synchronous methods processing is !aiting for $ckno!ledgement of record 5pdation, !hile
$synchronous method processing does not !aiting for $ckno!ledgement of record 5pdation.
1H
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
Synchronous 5pdate & This means say if u have 1H records to update and the processing is going on
in a loop the Synchronous update !ill !ait till each update is actually done in the data base and then it
!ill move on the ne2t recordMs updation.
$synchronous & "n This mode, the updates are lined one after the other and the system doesnMt !ait
for the updates to actually happen. These updates are then triggered by an internally scheduled Pob
!hich then actually updates the data in the database.
1B'. Difference bet!een Session method and >all Transaction methods in -D>?
1. "n Session method the processing of records in $synchronous, !hile "n >all transaction method
the processing of records in Synchronous.
2. "n Session method the 5pdation of the records in $synchronous, !hile >all transaction method
the updation of records in both $synchronous and Synchronous.
3. "n Session method #6686 log !ill be generated by System, !hile >all transaction method
#6686 log !ill be handled by 5sers.
4. Whenever !e have ,uge volume of Data, prefer to go for Session method, not recommended
for >all transaction method.
1. Whenever !e have multiple transactions Session method does not supported, !e !ill prefer to
go for >all transaction method.

183. "n !hich scenario !e !ill go for Session method and go for >all transaction method in -D>?
Whenever We have huge volume of data , !e prefer to go for Session method and not
recommended >all transaction method,
Whenever !e need to Data transfer for 7ultiple transactions, !e prefer to go for >all
transaction method, Session method for supports only "ndividual transactions.
1B*. What is the synta2 for >all Transaction method in -D>?
The synta2 for >all transaction method is&
CALL TRANSACTION '>T.14'1*+B/4 */C(?'
USING IT_BDC ABDC I4+(.41) +13)(
@ODE 'A'
UPDATE 'L'
@ESSAGES INTO IT_@ESS. "Handling Error message and collect into a table
@ODE: "A- display all screens, E - error screens only and N - No screens
UPDATE: "L - local update, S - synchronous and A - Asynchronous update
185. What is the purpose of -D>D$T$ structure?
11
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
The purpose of -D>D$T$ structure is !ith the help of ,andling the Screen recordings in -D>
programming. We must define a -D> internal table type of -D>D$T$ structure.
The structure of -D>D$T$ consist five fields&
1. %68+6$7 / -D> %rogram name
2. D:4%68 / -D> Screen 4umber
3. D:4-#+"4 / -D> Screen start
4. 94$7 / 9ield name
5. 9O$; / 9ield value.
1B<. ,o! do you handle the #6686 log in >$;; T6$4S$>T"84 method?
Within the -D> >all transaction method !e are going to collect the #6686 messages into an
I"?,E## "nternal table type of ;DC,#0C1LL structure.
6ead the "T=7#SS internal table !ith #rror 7S+"D and 7S+46. "f you not find this record, collect
the remaining 7essages into a structure.
>lub the all messages into a structure, !e are going to use 9unction module is 9867$T=7#SS$+#.
1BA. ,o! can " handle Table control in -D>?
We can handle table control using line inde2 ,
;ine inde2 indicates !hich line of Table control is to be use for -D> transaction,
#2 / perform bdc=field using M6>'E3/$5S3G?H1@M
indicates 1st line of table control is going to be used for transaction !hich is ;ine inde2 of Table >ontrol .
and !rite a ;oop !ithin a ;oop for capture -D> records.
1BB. What are the dra!backs having in -D>?
1. -D> does not support enPoy Transactions ?7#'14@.
'. "f you have change current screens and 5pdated versions , its not supports current -D>
programs, must re/develop 4e! D> programs.
). "f you have any variations of screen resolutions bet!een system to system, its not supports.
"f you avoid this al!ays maintain Default screen siFe for screen handling.
1BE. Which -D> method does not support by ;S7W?
;S7W does not support call transaction method.
6eason for this is in >all Transaction method you can design the error log file !ith -D>7S+>8;; it
does not e2ist by default....
190. What are the Difference bet!een -D> and -$%"?
1'
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
-atch Data >onversion or >ommunication ?-D>@, !hich is used to collect the data from ;egacy
system ?4on/S$%@ to S$% system.
$ -$%" is a method of a S$% -usiness 8bPect. -$%" enables S$% and third party applications to
interact and integrate !ith each other at the -usiness 8bPect C %rocess level.
1. We preferred to -D>s for 5pdating 7aster data like >ustomer master data, Oendor master
data and $C> Document data etc.
2. We preferred to -$%"s for 5pdating Transactional data like Sales order ?O$H1@, %urchase order
?7#'1@ etc.
-D> !ill process a Transaction to 5pdate the Data using Session or >all transaction 7ethod.

-$%" !ill not process screens to update the data. "t !ill update the Tables directly.
So it is al!ays fast. $nd to >all a -$%" !e must fill the 7andatory fields.
191. What are the Difference bet!een -D> and ;S7W?
-atch Data >onversion or >ommunication ?-D>@, !hich is used to collect the data from
;egacy system ?4on/S$%@ to S$% system.
The ;egacy System 7igration Workbench is an 6C)/based tool, !hich is used to transferring
data from non/S$% systems ?V;egacy SystemsV@ to 6C) once or periodically.
"n -D>s The data can be converted into the S$% system via Direct input, Session input and
>all transaction methods.
"n ;S7W The data can be imported ?7igrated@ into the S$% 6C) system via batch input,
direct input, -$%"s or "Docs.
;S7W is basically for standard S$% application !hile -D> basically for customiFed application
;S7W mapping is done by S$% !hile in -D> !e have to do it e2plicitly .
>oding can be done fle2ibly in -D> !hen compared to ;S7W.
192. ,ave you done any -D> program ? !hat is the business re(uirement?
:es, " have done -D> call transaction program for 5pdating Oendor master data ?K3H1@ at the
time of "mplementation.
193. ,o! to pass the screen capture siFe as D#9$5;T in -D> >all transaction method?
"n this scenario !e are going to pass the value for >T5=%$6$7S/ D#9S"G# L K.
1E*. >an " run >all transaction program in -ack ground?
:es, !e can run the >all transaction program in -ackground by using the 78D# as 4. ?4o screens
display@.
1)
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
L#,2 @Legac #stem migration 2ork)ench6
195. >an " put a -reak/point in ;S7W ? if " put a break/point in !hich Step it !ill be triggered?
in the Step 1 ? 7aintain 9ield 7apping and >onversion 6ules@ after field mapping , go to change
mode and double click that filed, its opened te2t editor there you can put -6#$3 %8"4T.

$fter that you can read the data and display the read data, !hen you press the >84O#6T D$T$
?step11@ the break point !ill triggered.
196. >an " !rite some code in ;S7W? "n !hich step can " !rite the logic and "n !hich step it !ill be
triggered?
"f :ou !ant to !rite some logic in ;S7W, We are going to !rite in 1
th
Step ?7aintain 9ield 7apping
and >onversion 6ules@ and it !ill be triggered in 11
th
step ?>onvert Data@ of ;S7W.

197. >an " !rite the W6"T# statement in ;S7W? "n !hich step W6"T# statement !ill be Triggered
and !hich step it !ill be Display?
"f :ou !ant to !rite some logic in ;S7W, We are going to !rite in 1
th
Step ?7aintain 9ield 7apping
and >onversion 6ules@ and it !ill be triggered in 11
th
step ?>onvert Data@ and it !ill be Display in
1'
th
step ?Display >onverted Data@ of your ;S7W.
198. What are the Steps !e have in ;S7W?
Whenever you create a ;S7W,
"n 1
st
step if you provide obPect type as Standard batchC Direct input, !e need to processing 1)
steps.
if you provide obPect type as Standard batchC Direct input, !e need to processing 1* steps.
if you provide obPect type as -$%" or "D8>, !e need to processing 1< steps.
1. 7aintain 8bPect $ttributes
'. 7aintain Source Structures
). 7aintain Source 9ields
*. 7aintain Structure 6elations
1*
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
1. 7aintain 9ield 7apping and >onversion 6ules
6. 7aintain 9i2ed Oalues, Translations, 5ser/Defined 6outines
A. Specify 9iles
B. $ssign 9iles
E. 6ead Data
1H. Display 6ead Data
11. >onvert Data
1'. Display >onverted Data
13. >reate -atch "nput Session
14. 6un -atch "nput Session
1EE. What are the #vents !e have in ;S7W?
We have si2 events available in ;S7W, there are&
-#+"4=89=%68>#SS"4+ / -efore the beginning of data processing
-#+"4=89=T6$4S$>T"84 / -efore the beginning of transaction data processing
-#+"4=89=6#>86D / -efore applying the conversion rules for a source structure
#4D=89=6#>86D / $fter applying the conversion rules for a source structure
#4D=89=T6$4S$>T"84 / $fter finishing transaction processing
#4D=89=%68>#SS"4+ / $fter finishing data processing
'HH. When " processing 1HH records , in !hich " have 1H records !hich " dont !ant to process. " !ant
to S3"%C 6#78O# those records and collect them separately in a file? ,o! can " achieve?
"n this scenario if !e !ant to S3"% the processing of records !e are use #>IP?(EC1(D8
"n case they are errors that you canC !ant to capture before proceeding to the session. you
can capture it in the END?1*?(EC1(D event area for each record and move it to an
internal table !hich can then be do!nloaded in the END?1*?P(1CE##IN0 event.
'H1. >an " handle table control in ;S7W batch input record method?
4o, !e cannot handle by using -atch input record method.
We are going to handle table control in ;S7W by using -$%"s or $;#C"D8> method.
'H'. ,o! can " make changes to an e2isting ;S7W?
?or@
" have created ;S7W , client !ant to update t!o more fields for e2isting 1H records in ;S7W, ho!
can " update the e2isting ;S7W?
"f you !ant to add some fields in #2isting ;S7W proPect, !e are going to e2ecute the 1
st
step and
click +oto button from menu and select 6ecording overvie!.
11
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
$nd place the cursor on e2isting 6ecording name and click process recording button .
,ere place the cursor on program name or screen name, !here you !ant to add some fields and
+oto #D"T/J$dd screen field ?#2tended@ /J enter your filed name, Description and Default
value/Jsave.
'H). ,o! can " transport ;S7W from one system to another system?
"f you !ant to transport ;S7W proPect 9rom Development to %roduction system,
:ou have to approach to !ays, there are&
1. >hange 6e(uest &
6un your ;S7W proPect /J #2tras /J +enerate change re(uest.
2. Do!nload the %roPect into a file&
6un your ;S7W proPect /J #2tras /J #2port proPect.
204. ,ave you created ;S7W for !hich $pplication? What is the -usiness re(uirement?
:es , " have >reated some ;S7W proPects directly in %roduction system for 7igration some flat file
data into S$% system as per my business re(uirement is 5pdate the Oendor master 6ecords and
>ustomer master records.
1<
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
(*C @(emote *unction Call6

205. What is the difference bet!een -$%"s and 69>? "n !hich scenario !e !ill go for -$%"s and
!hich scenario !e !ill go for 69>s?
-$%" stands for -usiness $pplication %rogramming "nterface. "t is a library of functions that are
released to the public as an interface into an e2isting S$% system from an e2ternal system. $ -$%" are
standard S$% function modules provided by S$% for remote access. $lso they are part of -usiness
8bPect 6epository?-86@.

69> stands for 6emote 9unction >all. Which is used to >ommunicate !ith S$% to S$% systems and it
does not communicate !ith S$% to 4on/S$% systems. "f !e !ant to communicate data bet!een S$% to
4on/S$% system, the non/S$% system must should be 6C) compatible.
-$%"s are al!ays developed by defining scenarios !hich are used to map and implement system/
!ide business processes.
:ou can use the 69> interface for communication bet!een S$% systems and bet!een S$% systems
and e2ternal systems. S$% offers several interfaces that are based on 69>, such as $pplication ;ink
#nabling ?$;#@, -usiness $pplication %rogramming "nterfaces ?-$%"s@, and 69> function modules.
'H<. What are the difference bet!een 4ormal 9unction modules and 69> 9unction 7odules?
1@ 4ormal function module only called !ithin the server...but 69> can be called across the server.

'@ We can access data from 69> function module from non sap also...but not possible for normal
function modules.

)@ We al!ays use pass by value mode in 69>Ms but in 4ormal function module !e can use pass by
value or pass by reference.

4) 9ast accessing using normal function modules...slo! accessing using 69>Ms.
207. "n 69> 9unction 7odules some >ommands does not allo!ed or not use? What are they?
1A
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
"n 69> 9unction module does not support S5-7"T, >$;; S>6##4, >$;; T6$4S$>T"84 and
>877"T W863 statement.
208. What is the purpose of Destination -$>3 in 69> 9unction modules?
<ou can use the destination &!1A if the current program was already called by RFC' Then, &!1A
refers bac/ to the calling program:
CALL FUNCTION func DESTINATION 'BACK' ...
7f the program is not called from a BremoteB source, the e2ception 1,885N71!T7,N69!7.504 is
triggered'
'HE. What is the purpose of Destination none?
The destination NONE refers to the calling system' 9unction modules called with
CALL FUNCTION func DESTINATION 'NONE' ...
are e2ecuted in the system of the calling program, but in their own program conte2t'
'1H. ,ave you created any custom 69> 9unction 7odule? What is the business 6e(uirement?
:es , " have >reated 69> function module for >ommunicating -" system and >67 system for
updating the data into #>> system using 69> 9unction module.
211. " have #>> system and >67 system, in !hich system " have created 69> function modules and
!here should " call 97s?
"n this scenario !e are going to create 69> 9unction module in #>> systemDand from >67 system
!e call this 69> 9unction module..
212. " have t!o S$% systems $ Q -, " !ant to get the data from System $ into System -, in !hich
system " am going to create 69> 9unction module, in !hich system " am going to call 69> function
module?
"n this scenario !e are going to create a 69> function module in Source system like System $.
5se this 69> 9unction module in Target system ;ike System - for >ollect the data from System $ .
%re/re(uisite& "f you !ant to call the 69> function module in System -, !e need to create an 69>
destination in System -.
'1). What are the types of 69> 9unction 7odules !e have in S$%?
+enerally in S$% !e have * types of 69> 9unction 7odules available, There are&
1. Synchronous 69>,
1B
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
'. $synchronous 69>,
). Transaction 69> and
4. .ue 69> 9unction 7odule.
'1*. What is the Transactional 69> ?t/69>@?
Data can be transferred bet!een t!o S$% systems reliably and safely using a transactional (*C
@t(*C6.
The called function module is e2ecuted e2actly once in the 69> server system. The remote system need
not be available at the time !hen the 69> client program is e2ecuting a t69>.
;API @;usiness Application Programming Interface6

'11. What is the difference bet!een 4ormal 69> 9unction module and -$%" 69> 9unction module?
-$%" are 69> enabled function modules. The difference bet!een 69> and -$%" are business obPects.
:ou create business obPects and those are then registered in your -86 ?-usiness 8bPect 6epository@
!hich can be accessed outside the S$% system by using some other applications ?4on/S$%@ such as O- or
N$O$.
-$%" there is no direct system call, !hile 69> are direct system call.
216. ,ave you created any >ustom -$%"s? !hat is the -usiness 6e(uirement?
:es, " have created some custom -$%"s for !henever " create a %urchase order and automatically
update the purchase order in other systems.
'1A. What are the steps to create >ustom -$%"s?
1. Whenever !e create a custom -$%", 9irst !e need to create an 69> 9unction module by using
Transaction S#)A and must define the type of 9unction 7odule as 6emote enable ?69>@.
'. 69> 9unction modules are available in 6C) 6epository and -$%"s are available in -usiness obPect
repository ?-86@.
3. "f you !ant to create any custom -$%"s , !e need to create a -usiness obPect by using
transaction SW81, >reate a -usiness obPect and provide 8bPect type, 4ame, Description and
%rogram name of your -$%".
4. "f you !ant to add any 69> function module for your custom -$%"s, the 69> 9unction module is
must converted into $%" method. ?$pplication %rogramming "nterface@ by 5tilities /J $%"
methods /J $dd method.
5. 4e2t step is "mplement the methods and 6elease the -usiness obPect as !ell as methods. 4o!
you can ready to use -$%". :ou can see your -$%" in -usiness obPect repository by using
transaction -$%".
218. ,ave you used -$%"s for "nterfacing S$% system to 4on/S$% system ?.net, Nava etc@?
1E
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
'1E. ,ave you !orked any -$%" 97s? have you upload data into database using -$%"s?
:es, " have !orked on various -$%" 9unction 7odules like -$%"=7$T#6"$;=S$O#D$T$ for
upload the 7aterial master data and also add some custom fields as per client re(uirement by
using -$%" e2tension structure ?-$%"=T#=7$6$ and -$%"=T#=7$6$K@ and update it.
$nd Worked on -$%"=%8=>6#$T# W 9or create %urchase order
$nd !orked on -$%"=S$;#S86D#6=>6#$T# / 9or create Sales orders as per client re(uirement.
220. ,ave you done -$%" #2tension, !hat are the Steps ? for !hich 9unction 7odule you have used?
:es, " have done -$%" #2tension for add some >ustom fields in Standard 7$6$ table as per client
re(uirement. " have used -$%"=T#=7$6$ and -$%"=T#=7$6$K standard structure for $ppending
some custom fields into standard 7$6$ table. "n this scenario " have used
-$%"=7#T#6"$;=S$O#D$T$ 9unction module for updating the #2tension fields !ith the help of
#KT#4S"84"4 and #KT#4S"84"4K tables.
" have also !orked -$%" #2tension for O$-3 and #338 tables by using -$%#=O-$3, -$%#=O-$3K as
!ell as -$%"=T#=7#%8,#$D#6, -$%"=T#=7#%8,#$D#6K standard structures.
''1. What is the %urpose of -$%"=T6$4S$>T"84=>877"T?
Whenever !e use -$%" 9unction modules for updating the Data into database !e must !rite a
>877"T W863 statement.
S$% does not recommends directly use >877"T W863 statement,.
"nstead of >877"T W863, S$% recommended to use -$%"=T6$4S$>T"84=>877"T 9unction
module.
"f you can use >877"T W863 statement is !orks "nternal system only , !henever use
-$%"=T6$4S$>T"84=>877"T its !orks and interfacing from e2ternal system.
'''. ,o! !e are going to handle errors in -$%"s?
"n -$%" function modules !e are going to define a 6#T564 parameter for ,andling errors in -$%"s.
The 6#T564 parameter may be based on the follo!ing reference structures& ;API(E"K

:ou must use this reference structure !hen developing ne! -$%"S.
-$%"6#T1, -$%"6#T564.
?or@
5sing a function 7odule -$%"=7#SS$+#=+#TD#T$"; for ,andle the #rror 7essages in -$%"..
<H
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com

EN+ANCE,EN"#
''). What are the #nhancement techni(ues !e have in S$%?
We have various #nhancement techni(ues available in S$%, there are&
1. 5S#6 #K"TS ?first enhancement techni(ue in S$%@
'. 9867 685T"4#S
3. >5ST87#6 #K"TS&
a. 9unction #2its,
b. Screen #2its,
c. 7enu #2its and
d. "ncludes.
4. -$D"Ms ?-usiness $dd/ins@
5. -T#Ms ?-usiness Transaction #vents@
6. #4,$4>#7#4T 96$7#W863&
a. 9unction #nhancement
b. >lass #nhancement
c.Source code #nhance & 1. "mplicit enhancement option, '. #2plicit enhancement option
d.3ernal -$D"MS
A. 9" Oalidation Q >onversion.
224. What is the difference bet!een #nhancements and 7odifications?
The meaning of #nhancements is $DD/84 ne! feature to the e2isting soft!are.
"n #nhancements, S$% provides some options for !here !e can directly go for $dd the re(uired
;ogic,
While 7odifications are not provided by S$%, in modifications !e are directly going to the program
and 7ake some changes of your logic.
<1
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
#nhancement options are provided by S$%, it !ill be supports to future up gradation of S$%
soft!are.
While 7odifications are 4ot provided by S$%, so its not supports to future up gradation of S$%
soft!are.
"n enhancements !e have easily identify the "mpact of changes, !hile 7odifications cannot identify
impact of change, only identify proper change.
''1. What are the difference bet!een 5ser #2its and >ustomer #2its?
1. 5ser e2its is very old concept and 9irst #nhancement techni(ue provided by S$%, !hile
>ustomer e2it is %ure enhancement techni(ue also provided by S$%.
2. 5ser e2its are nothing but a Subroutines, !e are going to !rite the logic in 9orm W #ndform,
!hile >ustomer #2its having 9unction module "nterface !e have to implement it.
3. 5ser e2its are not upgraded !here as customer e2its are !ill upgrade.
*. 5ser e2its are created in S$% namespace, !hile >ustomer #2its are created in >ustomer
namespace.
5. 5ser e2its re(uire $ccess key to make changes, !hile >ustomer e2its does not re(uire $ccess
key.
''<. Difference bet!een >ustomer #2it and -$D"s?
1. >ustomer e2its are 8ld and %ure enhancement techni(ue and -$D" is an "nterface.
'. >ustomer e2its are available only in S$% level and >ustomer ;evel, !hile -$D"s are available in
>ustomer level , >ompany code level and %artner level.
3. 8ne >ustomer e2it are use to implement in only one proPect, !hile -$D"s Supports multiple
implementations
''A. Different bet!een -$D"s and -T#s?
1. The concept of the -$D" is similar to -usiness Transaction #vents ?8pen 9"@. -T#s !as
developed specific to 9inancial $ccounting module. -ut !ere as -$D"s !as developed in
generalised to all modules.
'. -T#s can only be used to make the program enhancements. :ou cannot enhance user
interface !ith 8pen 9", but you can !ith -usiness $dd/ins.
). 8pen 9" assumes that enhancement can only take place on three levels i.e. S$%/ partners W
customers, but in case of -$dis you can create and implement enhancements in as many
soft!are layers as you like.
<'
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
*. 9unction modules are used for program enhancements in 8pen 9". With -$dis, $-$%
8bPects is used to enhance programs.
''B. Different bet!een "mplicit #nhancement %oint ?"#%@ and #2plicit #nhancement %oint ?##%@?
"mplicit #nhancement points are available in source code at $fter 9unction W -efore #nd9unction,
$fter 9orm W -efore #nd9orm,
$fter 7ethod W -efore #nd7ethod and
-efore #nd/of/Structure.

"mplicit #nhancement points refers to a Double coated lines.
"n #2plicit enhancement !e have t!o different types of enhancements / #nhancement point and
#nhancement section.
''E. What is an #nhancement 8ption?
Within the standard 9unction module or >lass We can add some source code !ith the help of
#nhancement option. "n S$% provides !e have t!o types of enhancement options. There are&
1. "mplicit #nhancement option and,
2. #2plicit #nhancement option.
230. What is an #nhancement/spot? Where " can use this?
Within the standard logic S$% provided some #nhancement/Spots for !e can add some code.
#nhancement spot is nothing but a #2plicit enhancement option and also kno!n as #2ternal -$D"s.
$n #2plicit enhancement/point is available under $n #nhancement/Spot or 7ultiple #nhancement/
Spots. each #nhancement W%oint are linked !ith an #nhancement/Spot.

')1. Difference bet!een #nhancement %oint and #nhancement Session?
#nhancement %oint and #nhancement Sessions both are kno!n as #2plicit enhancement options.
The main difference bet!een #nhancement %oint and #nhancement Session is enhancement point
having multiple implementations, !hile #nhancement session having only one active
implementation.
#nhancement points implemented logic e2ecuted !ith the standard logic, !hile #nhancement
session implemented logic is over!rite the standard logic and e2ecutes only implemented logic.
#nhancement W%oint and #nhancement session both are linked !ith an #nhancement/Spot.
?8r@
<)
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
#nhancement point / S$% has some standard functionality defined for a report , but it may be re(uired
that youMll need to add your o!n code. "n this case the code that youMll add !ill be e2ecuted along !ith
the standard code.

#nhancement section / S$% has its standard functionality defines but it may not suit your re(uirement,
in that case you may need to add your code and youMll need that code to be e2ecuted only. -y this
method the e2isting code is automatically commented and a copy of the same code is available to edit.
$fter e2ecuting the report only your code !ill be e2ecuted and the standard code !ill be bypassed.
')'. What are the various #nhancement techni(ues !e have in #nhancement 9rame!ork ?
S$% provides 9our types of enhancement techni(ues !e have in #nhancement 9rame!ork, there
are &
1. 9unction module enhancement.
'. >lass #nhancement,
). Source code enhancement and
4. 3ernal -$D"s.
')). What are the steps to "mplement "mplicit #nhancement %oint ?"#%@ and #2plicit #nhancement
%oint ?##%@?
"mplicit #nhancement %oint ?"#%@ and #2plicit #nhancement %oint ?##%@ both are the parts of Source
code enhancement techni(ues.
Steps to "mplement "mplicit #nhancement %oint ?"#%@&
1. 9ind your 9unction module and +oto 9unction module /J #nhance source code option.
2. >lick #dit /J #nhancement operations /J Sho! implicit enhancement 8ption.
3. 6ight click the Double coated lines and Select enhancement "mplementation /J create.
*. >reate #nhancement "mplementation 4ame and >omposite #nhancement "mplementation

')*. %re re(uisites for create and use "mplicit #nhancement %oint?
')1. Difference bet!een >lassical -$D"s and 4e! -$D"s?
CLA##ICAL ;ADI'
$ factory method is used to call a classic -$D" obPect. "n addition, a reference variable of the
type of -$D" interface of the type of -$D" interface of the type of -$D" interface.
The filter values are stored in a structure and passed !hen the -$D" methods are called.
$ classic -$D" can be called only once, and the call positions are registered centrally.
NE2 ;ADI'
The +#T -$D" statement is used to create a ne! -$D" obPect. "n addition, a reference variable
of the type of -$D" class is used to refer to the -$D" obPect.
The comparison values for the filters are used to search for implementations that are passed
!hen the -$D" obPect is created !ith the +#T -$D" statement.
7ultiple calls are possible, and the call positions are not registered centrally.
<*
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
236. "n any of the #nhancement techni(ue !e are not supported to use some commands?
>877"T W863 and 68;;-$>3 statement is not supported to use any #nhancement techni(ue
because of ends !ith ;ogical 5nit of Work ?;5W@.
')A. What is the T code for -T#s?
We are going to use the transaction 9"-9 for create -T#s.
')B. What are the various types of -T#s in S$%?
"n S$% !e have t!o types of -T#s ?-usiness Transaction #vents@ available, there are&
1. %ublish C Subscribe -T#s and
2. %rocesses -T#s.
')E. What are the steps to implement in -T#?
We are going to using transaction 9"-9 for create -T#s. in S$% !e have t!o types of -T#s available,
there are& 1. %ublish C Subscribe -T#s and '. %rocesses -T#s.
Steps to create -T#s&
1. +o to transaction 9"-9 and go to 5tilities /J >hose any one "nfo system ?%CS@ or "nfo system
?%rocesses@.
'. #2ecute it !e can see the all %CS related or %rocesses related -T#s.
3. >hose your related -T#s and >lick Sample 9unction module.
4. >opy the Sample 9unction module into your custom function module ?G function module@.
1. "n this >ustom 9unction module !e have !rite your o!n implementation.
<. >hose your process event number and click +oto /J 7odules/J %rocess ?S$%@.
7. >lick 4e! entry and enter your process event number and #nter >ountry code as "4 and add
your >ustom 9unction module and Save it.
240. ,o! do you find 5ser e2its? What are the various techni(ues?
We are going to 9ind the 5ser e2its by using S%68 transaction code and >lick Display S$% "7+
6eference. ?Sales and Distribution /J System 7odifications /J 5ser #2its /J user e2its in Sales.@

8ne more approach to 9ind 5ser e2it for +iven transaction #2& O$H1 /J System /J Status /Jdouble
click on %rogram name /Jchose your related include /J find related 5ser e2it.
?8r@ -y using some custom defined 5ser e2it finding programs helps to find 5ser e2its for +iven
transactions.
'*1. What are the various techni(ues to find >ustomer e2its?
<1
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
"f you !ant to find any transaction related >ustomer e2it, first !e need to kno! the %ackage.
Step /1 & 9ind the %ackage 4ame of +iven transaction&
#2& +o to transaction O$H1 and click System /J Status /J Double click on %rogram name /J go to
$ttributes /J ,ere !e kno! the package ?O$@.
?86@
+o to S#E) transaction /J #nter your transaction code e2& O$H1 and click Display, and !e kno! the
%ackage. ?O$@.
Step/' & 9ind the customer e2its&
+o to transaction >78D and >lick 5tilities /J S$% #nhancements /J #nter %ackage name ?O$@ /J 9B ,
here !e find the >ustomer e2its for related transaction.
?8r@
+o to transaction S78D and click 5tilities /J 9ind /J #nter package name ?O$@ /J 9B.
?8r@
We have an another approach to find 5ser e2its by using transaction S#B* and #2pand
#nhancements /J >ustomer e2its /J Double click on #nhancements /J #nter package name ?O$@ /J
#2ecute it.
'*'. What is -$D"? #2plain me in one !ord?
-$D" is an "nterface.
'*). What are the various techni(ues to find -$D"s?
We have various approaches to find -$D"s ?-usiness $dd/"ns@. "f you !ant to find the -$D"s for any
transaction, 9irst !e need to kno! the %ackage.
Step /1 & 9ind the %ackage 4ame of +iven transaction&
We are going to find the -$D"s for the +iven transaction, first !e need to kno! the %ackage name.
#2& #2& +o to transaction O$H1 and click System /J Status /J Double click on %rogram name /J go to
$ttributes /J ,ere !e kno! the package ?O$@.
Step/' & 9ind the -$D"s basing on %ackage name&
9ind -$D"s by using transaction S#B* and #2pand #nhancements /J -usiness $dd/"ns /J Double click
on Definitions /J #nter package name ?O$@ /J #2ecute it.
We have another approach to find -$D" by using transaction S#1B /J +oto #nvironment /J
$pplication hierarchy /J S$%
?8r@ 5sing a >lass name >;=#K"T,$4D;#6 ? 7ethod is +#T="4ST$4># and put the -reak/point at
get=class=name=by=interfaces @ for find -$D"s in real time.
?8r@ using Some >ustom developed programs helps to find the -$D"s , in this program !e have to
using some vie!s like O=#KT=$>T ? Oie! for -$D" Definitions@ and O=#KT="7% ?Oie! for -$D"
"mplementations@.
<<
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
?8r@ 5sing S.; trace ?STH1@ Select the Table -uffer trace check bo2 /J $ctivate trace /J run the
transaction /J >ome back and De/activate trace /J Display trace /J given the obPects as O=#KT=$>T
and O=#KT="7% /J 9B.
244. What is the purpose of 9ilter dependent -$D"?
Within a -$D" definition !e have 7ultiple $ctive "mplementations but !e need to triggered only
some active implementations basing on the conditions or Oalues, in this scenario !ith the help of 9ilter
Dependent option in the -$D" Definition part ?here al!ays check multiple use check bo2@. Whenever !e
using 9ilter/Dependent option must define an "mporting parameter 9;T=O$; !ithin the method
definition.
'*1. What is the purpose of 9all back class in -$D"s?
9allback call an option !hich is available only in #nhancement spot not available in >lassical -$D"s.
"f a -$D" definition does not having any -$D" "mplementations the program !ill be go for dump, in
this situation !e are going to create a 9allback class and 5se it for avoid this Dump.
'*<. "n -$D" having multiple implement check bo2? "f " uncheck it !hat is going to happen?
8ne -$D" definition having multiple "mplementations, if 7ultiple use check bo2 is unchecked !e
have multiple "mplementations and triggered only one $ctive implementation.
'*A. What is the purpose of >$;; -$D" and +#T -$D"?
The Statement +#T -$D" is using for >reate a obPect in your program and >$;; -$D" statement is
used for >alling the methods into your program.
'*B. What are steps to create a custom -$D"?
-$D" is an "nterface. "n S$% !e have t!o types of -$D"s available there are&
1. >lassical -$D"s and
2. 4e! -$D" ?#nhancement Spot@.

#very -$D"s having T!o parts, there are&
a. -$D" Definition part ,
b. -$D" "mplementation.
Whenever !e !ant to create a -$D" Definition by using the transaction S#1B, and -$D"
"mplementation by using the transaction S#1E.
Step/1&
"f you !ant to create a classical -$D" definition +oto transaction S#1B /J 5tilities /J >reate classical
-$D". Whenever !e create a -$D" Definition, system !ill be +enerate an "nterface automatically
?G"9=#K=@.
Step/'&
Double click on the "nterface and Define the 7ethods and %rovide "mport and #2port parameters for
this 7ethod. "n this "nterface !e are going to define 7ultiple methods. $nd save it.
<A
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
Step/)&
+oto transaction S#1E for -$%" "mplementations. ,ere enter >lassical -$D" name and click >reate
"mplementation button. #nter your "mplementation name. !henever !e create -$D" implementation
system !ill be generate a >;$SS name automatically ?G>;="7=@.
#ach -$D" definition is going to create 7ultiple implementations.
Step/*&
Double click on the "nterface name and Double click on 7ethod name, !ith in the 7ethod W #ndmethod
!e can "mplement the logic.

249. ,ave you created any custom -$D"? What is the -usiness re(uirement?
?or@
,ave you !orked on any -$D"s? What is your -usiness re(uirement?
:es, " have created a >ustom -$D". 7y -usiness re(uirement is " have a >ustomer e2it, its Supports
for only one "mplementation. "n my re(uirement !e have multiple implementations for a >ustomer
e2it. "n this scenario " am going to >reate a >ustom -$D". in -$D" Definition " have define a method
basing on the >ustomer e2it function module and !ithin the -$D" "mplementation part " have
implemented multiple methods as per business re(uirement.
250. Whenever create a -$D" implementation, Which one is created automatically?
Whenever !e create a -$D" "mplementation System automatically create +lobal >;$SS. >lass
helps to implement the methods of a -$D". The >;$SS name al!ays starts !ith G>;="7=.
251. " have 1H active implementations, !hich order is going to triggered? >an " Set these
implementations orderly?
:es. "n this scenario !e have to use 9";T#6/D#%#4D#4T option "4 -$D" Definition part. Which is
used to help the triggering the -$D" "mplementations by orderly or Depending on 9iltering value.
Whenever !e have using 9ilter/Dependent 8ption , must define an "mporting parameter 9;O=O$;
!ithin the every method definition.
'1'. " have a re(uirement for implicit enhancement point? ,o! can " add some code in middle line or
certain number of line? ,o! can " achieve?
"n this scenario !e are going to >opy the code into "mplicit enhancement point and add some code
at certain line and put the command #K"T at #nd of the code.
<B
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
'1). ,ave you done #nhancement? What is your -usiness re(uirement?
?8r@
,ave you !orked on any 5ser e2it? What is your -usiness re(uirement?
:es, " have !orked on a Sales related 5ser e2it the 4ame is& U#E(E.I"?#A/E?D1CU,EN"?P(EPA(E
and the "nclude name is ,/N4A*$$.
7y -usiness re(uirement is $void the Sales order creation ?O$H1@, !hen the 4et amount value is
belo! certain amount and as per client re(uired conditions.
'1*. ,ave you !orked on any >ustomer e2it? What is your -usiness re(uirement?
:es, " have !orked on Oarious >ustomer e2its ;ike 9unction #2its, 7enu #2its and Screen e2its as per
my client re(uirement.
" have !orked on a 9unction e2it and 7y -usiness re(uirement is avoid the >ustomer creation ?KDH1@
!hen >ompany code level Pament terms value ?34-1/GT#67@ not matches !ith Sales area level
Pament terms value ?34OO/GT#67@.
"n this scenario " have !orked on a #AP,*3KD >ustomer e2it and the >omponent of
E.I"?#AP,*3KD?33< 9unction e2it.
$lso " have done a 7enu e2it and my business re(uirement is add some 7enu options !ithin the
standard 7#45-$6 as !ell as add some >ustom transaction in to standard $6#$7#45 ?SHHH@.
'11. ,ave you !orked on any Screen e2it? What is your -usiness re(uirement?
:es, " have !orked on various Screen e2its as per client re(uirement.
"n my business re(uirement " have add some >ustom fields on to the standard %urchase order
,eader Screen ?7#'1@ by using Screen e2it enhancement techni(ue. $s pr client re(uirement " have add
t!o more fields like O#4D86 T$K >8D# and O#4D86 >5ST >8D# on Standard screen by using >ustom
Sub screen and add the same custom field into table by using "ncludes and 5sing the 9unction e2its for
"mport and #2porting the data bet!een Screen to program as !ell as %rogram to Screen.

256. ,ave you !orked on any -T#s? What is your -usiness re(uirement?
?or@
,ave you !orked on any "mplicit #nhancement point ?"#%@? What is your -usiness re(uirement?
<E
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
:es, " have !orked on "mplicit #nhancement point of Source code enhancement techni(ue. 7y
business re(uirement is Res!ri/! "sers 3sales persons4 !o 0ie5 or /6an7e Sales or8er 8a!a 9 Usin7
En6an/emen! rame5or:% IE$ 3 include 83#$!9C&)'
'1A. ,ave you !orked on any #2plicit #nhancement point ?##%@? What is your -usiness re(uirement?
11A;AP@ 1)Mect 1riented A;AP6
'1B. What is >lass?
$ >lass is an "nstance of an 8bPect or 6eal !orld entity. #very class consist of t!o parts&
1. >lass Definition and
2. >lass "mplementation.

Within a >lass !e have various components like $ttribute, 7ethods and #vents.
'1E. What is the difference bet!een >lass and an "nterface?
The 7ain difference bet!een a >;$SS and an "4T#69$># is& >lass has both definition and an
implementation, !hereas "nterface only has a definition. "nterfaces are actually implemented via a >lass.
'<H. What is an 8bPect?
8bPects are instances of classes. "f !e !ant to call a method of a >lass, !e need to have an 8bPect.
'<1. What are the various >lasses !e have in 8bPect 8riented $-$%?
"n obPect oriented $-$% !e have four types of classes available, there are&
1. 4ormal >lass ?5sual $-$% class@
'. #2ception class,
). %ersistence class and
*. Test class ?$-$% 5nit@.
'<'. What is the purpose of 9"4$;?
AH
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
"f $ >lass cannot be "nherited by a Sub/>lass !e can use the >ommand 9"4$;.
#2&
CLASS LCL! DEFINITION FINAL.

ENDCLASS.
'<). What is #ncapsulation?
Through encapsulation !e restrict the visibility of attributes and methods in the obPect. There are three
levels of visibility in 88 $-$%.
%ublic
%rotected
%rivate
?8r@ Encapsulation means one attri)ute and method can )e modified in different classes8 ,ence data
and method can have different form and logic and that can be hidden to separate class.
'<*. What is "nheritance?
The "nheritance !ith the help of assign the %arent class properties to the >hild class. 8r a >lass
%roperties are inherited to a Sub/>lass. "f !e !ant to derived to a Sub/class from a %arent >lass, the
%arent class should not be 9"4$; class.
"n obPect oriented $-$% only support S"4+;# ;evel inheritance, does not support 7ultiple ;evel
"nheritance.
Whenever !e "nherited a Sub/class, the Sub/class +etting all properties of a parent class e2cept
%rivate attributes.
Synta2& >;$SS lcl' D#9"4T"84 "4,#6"T"4+ 9687 lcl1.

#4D>;$SS.
'<1. What is %olymorphism?
The purpose of %olymorphism is for 6#/5S$-";"T:. We can achieve the polymorphism !ith the help
of "4T#69$>#S. "nterfaces !e have some methods and Does not have any "mplementations. 8ne
"mplementations is called 7ultiple >lasses, each class !e can !rite o!n method "mplementation,
this is helps to 7ethod reusability !ith the help of "nterfaces its called as %olymorphism.
"ts going to supports multiple inheritance.

266. What are the oops features ?>oncepts@ supported by obPect oriented $-$%?
We have Si2 88%S concepts supported by obPect oriented $-$%, there are&
1. #ncapsulation,
'. "nheritance,
). $bstract,
*. %olymorphism,
A1
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
5. #vents and
<. %ersistence.
'<A. What are the areas of O"S"-";"T:?
$ll components of a class must belong to a /isi)ilit section. "n 8bPect oriented $-$% !e have
three types of $reas of Oisibility options&
a. %5-;"> S#>T"84,
b. %6"O$T# S#>T"84 and,
c. %68T#>T#D S#>T"84.
268. Difference bet!een %5-;"> S#>T"84 , %68T#>T#D S#>T"84 and %6"O$T# S#>T"84 ?
Pu)lic #ection
$ll of the components declared in the public section are accessible to all users of the class, and to the
methods of the class and any classes that inherit from it. The public components of the class form the
interface bet!een the class and its users.

Protected #ection
$ll of the components declared in the protected section are accessible to all methods of the class and of
classes that inherit from it.

Private #ection
>omponents that you declare in the private section are only visible in the methods of the same class.
269. Difference bet!een "4ST$4># method and ST$T"> method?
"f !e !ant to declare an instance method by using the ,E"+1D# statement, !hile declare a Static
method by using the CLA##!,E"+1D# statement.
"nstance components e2ist separately in each instance ?obPect@ of the class and are referred using
instance component selector using M/JM

Static components only e2ist once per class and are valid for all instances of the class. They are
declared !ith the >;$SS/ key!ords
Static components can be used !ithout even creating an instance of the class and are referred to
using static component selector LJ .
A'
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
"f you !ant to call instance methods !e must create an 8bPect, !hile in static methods !e can call
the methods !ithout create an 8bPect.
270. What is a >84ST65>T86 method?
>84ST65>T86 method is nothing but a default method, the purpose of the >84ST65>T86
is initialiFe the +lobal or >lass attributes.
Whenever !e create obPect the >84ST65>T86 method is triggered automatically.
>onstructor method is having only "mporting parameters does not have any #2porting and
>hanging or 6eturning parameters.
>84ST65>T86 method is one of the special method for using avoid the repetitions of the
same code in the methods.
We have t!o types of >onstructors available, there are &
a. "nstance >onstructor and,
b. Static >onstructor.
271. Difference bet!een "4ST$4># >84ST65>T86 and ST$T"> >84ST65>T86?
a. "nstance >onstructor method is having only "mporting parameters does not have any
#2porting and >hanging or 6eturning parameters.
b. While Static >onstructor method does not having any %arameters or #2ceptions.
c. "nstance >onstructor is >alled multiple times and triggers multiple times, !hile Static
>onstructor is triggered only once in a program.
d. "f !e have using both "nstance and Static methods, 9irst !ill be triggers Static method then
go to "nstance method.
e. "nstance methods can be 6#/D#9"4#D, !hile Static methods cannot be 6#/D#9"4#.
272. What is meant by method overloading? "s it possible in 88$-$%?
Within a "nherited method !e cannot >hange or 7odify "nterfaces ;ike "mporting or
#2porting parameters is kno!n as method 8verloading.
+enerally "n 8bPect oriented $-$% does not Supports 7ethod 8verloading, 8nly supports
7ethod 6#/D#9"4"T"84.
Synta2& 7#T,8D get=data 6#D#9"4"T"84.

273. What is the purpose of method 6#/D#9"4"T"84?
"f !e !ant to change or 6e/Write the %arent class methods !ithin >hild class, !e are
going to use method 6#=D#9"4"T"84.
Whenever !e use method 6#/D#9"4#, !e can !rite the ne! method implementation
as !ell as !e can call %arent class method by using S5%#6.
"nstance methods can be 6#/D#9"4#D, !hile Static methods cannot be 6#/D#9"4#..
A)
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
'A*. What is the purpose of 7#?
We are going to >$;; or $ccess !ithin the >lass components ? $ttributes or 7ethods@,!e can
achieve !ith the help of 7# .
#2& To access an attribute ?attr@ of your class& ,E!&attr.
To call a method ?meth@ of your class& CALL ,E"+1D ,E!&meth8
'A1. What is difference bet!een "nterface and $bstract class?
1. "nterface having only method definitions and Does not have any method implementation,
!hile $bstract class having method definition and "mplementation.
'. "nterface does not have any Oisibility section, !hile $bstract class having Oisibility
sections.
). "nterfaces having "nstance and static methods, !hile $bstract class methods are al!ays
instance.
4. "nterface methods Oisibility are al!ays %ublic, !hile $bstract class methods are %ublic as
!ell as %rotected.
1. "nterfaces are called any classes, but $bstract classes can be called only Sub classes of a
%arent class.
6. Within a class !e can call "nterfaces as !ell as one interface !e can call another interface.
276. >an " create an "nstants or 8bPects in $bstract class?

"n abstract class !e cannot create an "nstance or an 8bPects, because of $-ST6$>T class is
an "4 >87%;#T# class.
'AA. What is $-ST6$>T method?
Static method cannot be a $-ST6$>T method. "f you !ant define an $-ST6$>T methods the
class must be change an $-ST6$>T class. Whenever !e define an $-ST6$>T methods, the
e2isting method implementation !ill be deleted or 4ot possible to "mplement !ithin this class.

'AB. What is $-ST6$>T class?
$bstract class is an in completed class.
$bstract class !e have some methods !ithout any "mplementations.
The help of $-ST6$>T !e can achieve 6#/5S$-";"T:.
$-ST$>T class should not be a 9"4$; class.
'AE. ,o! can " achieve multiple inheritance in 88$-$%?
With the ,elp of "nterfaces, !e can achieve 7ultiple ;evel "nheritance in 8bPect oriented $-$%.
'BH. What is the purpose of S5%#6?
A*
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
"f !e !ant to call a method from %arent class !e are going to use the command S5%#6.
4ote& 7# or S5%#6 !e can use for 8nly "nstance methods.
'B1. "n a class " have some %rivate attributes, ho! can " access %rivate attributes of one class in
another class?
"n this scenario !e can use 96"#4D class, if !e !ant to access %rivate attributes of one class and
7ake the another class as 9riend class.
'B'. What is 4arro! casting and Widening casting?
"f !e !ant to access >hild class methods from an %arent class 8bPect !hich is possible to !ith the
help of 4arro! casting.
Synta2 for 4arro! casting & 1;7< O 1;7K.
>$;; 7#T-8D 8-N1/J? $DD"4+ @. T$DD"4+ method is belongs 8-N'
Widening cast is (uit opposite of narro! casting , !ith the help of access the parent class attribute
or methods from >hild class obPect.

Synta2 for 4arro! casting & 1;7K =O 1;7<.
>$;; 7#T-8D 8-N'/J? +#T=D$T$ @. T+#T=D$T$ method is belongs 8-N1
'B). ,o! can " import ;ocal class to +lobal class?
"f !e !ant to "mport a ;ocal class into a +lobal class, !e are going to transaction S#'*
$nd click 8bPect type /J "mport /J ;ocal >lass in program.
#nter your ;ocal class program name /J #nter and %rovide +lobal class name !ith G>;= and "mport.

'B*. What is the purpose of 9unctional methods?
The purpose of 9unctional method is used to #2pecting some value or 6eturning some value from
a 9unction. The 9unctional methods only having "7%86T"4+ and 6#T564"4+ parameters, does not
have any #K%86T"4+ and >,$4+"4+ parameters.
Within a 9unctional 7ethods the 6#T564"4+ parameters nothing but a 6#>#"O"4+ parameters.
A1
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
'B1. What is the purpose of $;"$S name?
$n alias name belongs to the components of the class and the interface. "t shares the namespace
!ith the other components and is inherited by subclasses. "n classes, an alias name can be declared
in every visibility section.
286. What is the purpose of S"4+;#T84 class or Singleton pattern?
$ singleton class is a class that cannot be instantiated more than once ?in a single program that
is@. 8f course you can do the same in other programs !ithout facing any problems. :ou can do this
by setting the flag final and create the class as private. 4o! the class can only be instantiated in one
of its o!n methods.
287. What are the steps to create Singleton class?
7. +o to S#'* for create a class properly and give the class properties & "nstantiation as
%rivate and Description ?GT#ST=S"4+;#T84@.
8. >ome to create attribute tab and >reate a static %ublic attribute ?+et=ref=obP@ basing on
the T:%# 6ef to >lass name ?GT#ST=S"4+;#T84@.
9. Define a static public methods e2& +#T="4ST$4># , in this method !e have create a
returning parameter. ?#2& 6#9=8-N type ref to GT#ST=S"4+;#T84@.
288. What are the steps to create #2ception class?
1. "f !e !ant to create an #2ception class go to transaction S#'* class builder.
'. #nter your e2ception class name, the #2ception class name al!ays start !ith G>K= and
create it.
3. This #2ception class al!ays going to derived from a Super class and enter the description.
4. >hose the class type as #2ception and check !ith message class check bo2, this e2ception
class al!ays linked !ith a 7essage class and Save it.
5. $nd go to properties and ;inked to your message class.
'BE. ,ave you created any #2ception class?
:es, " have created an #2ception class for ,andling #2ceptions !ith using 7essage Te2ts.
'EH. ,ave you created any >ustom class? What is the -usiness re(uirement?
:es , " have create some >ustom classes for using 88$;O 6eports.
'E1. ,o! you going to create Transaction code for a method?
A<
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
+o to transaction S#E) and #nter your transaction code and Description, and chose the start
obPect as 7ethod of class ?88 transaction@ radio/button and >lick continue.
4e2t provide >lass name, 7ethod name, 5pdate mode and check +5" support for !indo!s and
Save it.
'E'. What is the persistence class?
a. "n the %ersistence class going to generate permanent obPects. 5sing this persistence obPects
!e can update the data into database.
b. Whenever !e create a persistence class the class is al!ays going to be %rotected, the
persistence class name starts !ith G>;= or :>;=.
c. %ersistence class can be created only +lobally ?S#'*@, !e cannot possible to create "n
;ocally.
d. Whenever !e create a %ersistence class the system is going to create T!o classes
automatically. There are& 1. -ase $gent class, and '. $gent class or $ctor class.
e. This -ase $gent class name should be al!ays starts !ith G>-= and $gent class name should
be al!ays starts !ith G>$=.
f. The -ase $gent class should be al!ays $-ST6$>T class and going to friend class !ith
persistence class.
g. 9rom this $gent class derived from a -ase $gent class as Sub/class.

'E). ,ave you created any persistence class?
:es , " have created a custom %ersistence class for 5pdate the data into a database table.
" have used follo!ing methods&
+#T=D$T$ !e have to use for +et the data from database.
>6#$T#=%#6S"ST#4T !e have to use for update the records into database.
D#;#T#=%#6S"ST#4T !e have to use D#;#T# the records into database.
'E*. Steps to create a persistence class?
Step/1& +o to transaction S#'* and #nter the class name and create it, class name al!ays starts !ith
G>;=.
Step/'& #nter the Description and chose the class type as %ersistent class , !henever !e chose
persistent "nstantiation become as Tprotected class and S$O# it.
Step/)& click on $ttributes tab and click +o to /J %ersistence 6epresentation and %rovide your
database table name click #nter.
Step/*& $ssign the table fields into >lass. $ttributes !ill be created automatically and S$O# it.
Whenever !e create a %ersistence class the system is going to create T!o classes one is -$S# $+#4T
>;$SS ?G>-=@ another one is $>T86 or $+#4T >;$SS ?G>$=@.

'E1. What is the difference bet!een 4ormal class and #2ception class?
a. #very #2ception class linked !ith a message class, !hile 4ormal class does not linked !ith
message class.
AA
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
b. "n #2ception class !e have T#KT tab for #2ception "D ;inked !ith 7essage Te2t, !hile
4ormal class does not have T#KT tab.
c. Within the 4ormal class !e can use #2ception class, !hile !ithin the #2ception class !e
>ant use 4ormal class.
#D !*L12
296. What SD W 9lo!? #2plain me along !ith Tables and transaction codes?
The processing of Sales Document flo! is&
InPuir!!!! !!!!& Quotation!!!!!!!!& #ales order!!!! !!!!& Deliver!!!! !!!!& Invoice8
1. InPuir '
9or "n(uiry !e are going to use transaction /A<< for >reate "n(uiry,
/A<K for >hange "n(uiry,
/A<5 for Display "n(uiry
and the "n(uiry related data is going to be stored in O-$3 and O-$% tables.
2. Quotation'
9or .uotation !e are going to use transaction /AK< for create .uotation,
/AKK for >hange .uotation,
/AK5 for Display .uotation
and the .uotation related data is going to be stored in O-$3 and O-$% tables.
3. #ales order'
9or Sales order !e are going to use transaction /A3< for create Sales order,
/A3K for >hange Sales order,
/A35 for Display Sales order
and the Sales order related data is going to be stored in O-$3 , O-$%, O-5%, O-#% and O-%$ tables.
4. Deliver'
9or Delivery !e are going to use transaction /L3< for create Delivery,
/L3K for >hange Delivery,
/L35 for Display Delivery
AB
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
and the Delivery related data is going to be stored in ;"3% and ;"%S tables.
5. Invoice'
9or "nvoice !e are going to use transaction /*3< for create "nvoice,
/*3K for >hange "nvoice,
/*35 for Display "nvoice
and the "nvoice related data is going to be stored in O-63 and O-6% tables.
297. " have a sales order, for that sales order " !ant to kno! that sales order created or 4ot C
invoice created or 4ot? "n !hich table " am going to check for Delivery or "nvoice status?
We are going to table O-9$ ?Sales Document 9lo!@ for check Delivery or "nvoice status of a
Sale Document.

'EB. What is the table for Sales Document 9lo! in S$%?
The Sales Document flo! data is going to be stored in O-9$ table.
8r
The table of Sales Document 9lo! is O-9$.
299. What are the tables for 7aterial Document ?
,>P* is for 7aterial Document header table and
,#E0 is for 7aterial Document item table
)HH. What are tables for $Cc Document?
;>P* is for $Cc Document header table and
;#E0 is for $Cc Document item table.
301. What type of table is -S#+ table?
;#E0 is for $Cc Document item table it is a >;5ST#6 T$-;#.
"ts going to be stored in
;#AD / $ccounting& Secondary "nde2 for >ustomers ?>leared "tems@.
;#ID / $ccounting& Secondary "nde2 for >ustomers ?8pen "tems@.
;#A> / $ccounting& Secondary "nde2 for Oendors ?>leared "tems@.
;#I> / $ccounting& Secondary "nde2 for Oendors ?8pen "tems@.
;#A# / $ccounting& Secondary "nde2 for +C; $ccounts ?>leared "tems@
;#I# / $ccounting& Secondary "nde2 for +C; $ccounts. ?8pen "tems@.
SSSS$bove all tables "nformation can be maintain in -S#+ cluster table.
)H'. What is the transaction code for create >ustomer in S$%?
We are going to maintain a >ustomer by using transaction .D3< for >reate >ustomer,
AE
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
and .D3K for >hange >ustomer,
and .D35 for Display >ustomer.
Whenever !e create a >ustomer, the >ustomer "nformation is going to be stored in &
>NA< ! +eneral Data in >ustomer 7aster table ,
>N// / >ustomer 7aster Sales Data table and
>N;< / >ustomer 7aster ?>ompany >ode@ tables.
)H). Where !e can create 7aterials in S$%?
We are going to maintain 7aterials by using transaction ,,3< for >reate 7aterial,
and ,,3K for >hange 7aterial,
and ,,35 for Display 7aterial.
Whenever !e create a 7aterial, the 7aterial "nformation is going to be stored in &
,A(A / +eneral 7aterial Data table ,
,A(C / %lant Data for 7aterial table and
,A(D / Storage ;ocation Data for 7aterial tables.
,/>E / Storage ;ocation Data for 7aterial tables.
)H*. What is the transaction code for crate Oendor in S$%?
We are going to maintain Oendors by using transaction .>3< for >reate Oendor,
and .>3K for >hange Oendor,
and .>35 for Display Oendor.
Whenever !e create a Oendor, the Oendor "nformation is going to be stored in &
L*A< / Oendor 7aster ?+eneral Section@ table ,
L*,< / Oendor master record purchasing organiFation data and
L*;< / Oendor 7aster ?>ompany >ode@ tables.
305. "n a -usiness ,ierarchy structure !hich one is going to create first?
"n -usiness ,ierarchy structure, 9irst !e are going to create a >87%$4: >8D# by using
transaction S%68.
The >ompany code information is going to be stored in a table "33< and 9ield name is ;U>(#8

)H<. Which table is going to store %lant "nformation?
The %lant "nformation is going to be stored in a table is "33<2 and 9ield name is 2E(>#8
)HA. What is the table for Storage ;ocation?
The Storage ;ocation "nformation is going to be stored in a table is "33<L and 9ield name is L01("8
)HB. Which table is going to store Sales organiFation information?
BH
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
The Sales organiFation "nformation is going to be stored in a table is "/>1 and 9ield name is />1(08
)HE. Which table is going to store Sales area information?
The Sales area "nformation is going to be stored in a table is "/"A.
)1H. What is transaction code for create Shipment?
We are going to maintain Shipment by using transaction /"3< for >reate Shipment,
and /"3K for >hange Shipment,
and /"35 for Display Shipment.
Whenever !e create a Shipment, the Shipment "nformation is going to be stored in &
/""> / Shipment ,eader table ,
/""P / Shipment "tem .
)11. Where !e can create "nbound Delivery in S$%?
We are going to maintain "nbound Delivery by using transaction /L5< for >reate "nbound Delivery,
and /L5K for >hange "nbound Delivery,
and /L55 for Display "nbound Delivery.
Whenever !e create a Shipment, the Shipment "nformation is going to be stored in &
LI>P / SD Document& Delivery ,eader Data. ?;"3%/O-#;4@.
)1'. What is a Transfer order?
Whenever !e %ick/up some +oods from Warehouse, ,ere !arehouse management !ill be
+enerate a Transfer order and "ts not generate any "nvoice or -ill.
Whenever +enerate a transfer order, the transfer order information is going to be stored in &
L"A> / W7 transfer order header table and ,
L"AP / Transfer order item tables.

313. What are the different !ays to create 8utbound Delivery for your Sales order?
We are going to create an 8utbound Delivery for a +iven Sales order by using transaction O$H' W
>hange Sales order.
?8r@ also !e can use transactions O;H1 or O;1H+ for create 8utbound Delivery of given Sales order.

314. What is the transaction code for -illing Due ;ist or "nvoice Due ;ist?
We are going to use transaction /*3N for 7aintain -illing Due ;ist.
315. What is the transaction code for create $Cc Document in S$%?
B1
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
We are going to maintain $Cc Document by using transaction *;3< for >reate $Cc Document,
and *;3K for >hange $Cc Document,
and *;35 for Display $Cc Document.
Whenever !e create a $Cc Document, the $Cc Document "nformation is going to be stored in &
;>P* / $Cc Document header table and
;#E0 / $Cc Document item table.
,,!*L12
316. What is the 77 W 9lo!? #2plain me along !ith Tables and transaction codes?
The processing of 7aterial 7anagement 9lo! is&
Purchase (ePuisition !!!! !!!!& (ePuest for Quotation!!!!!!!!& Price comparison !!!! !!!!& Purchase
order !!!! !!!!& 0oods (eceipt !!!!!!!!& In)ound Invoice /erification8
1. Purchase (ePuisition'
9or %urchase 6e(uisition !e are going to use transaction ,E4< for >reate %urchase 6e(uisition,
,E4K for >hange %urchase 6e(uisition,
,E45 for Display %urchase 6e(uisition
and the %urchase 6e(uisition related data is going to be stored in #-$4 tables.
2. (ePuest for Quotation'
9or 6e(uest 9or .uotation !e are going to use transaction ,EN< for create 6e(uest 9or .uotation,
,ENK for >hange 6e(uest 9or .uotation,
,EN5 for Display 6e(uest 9or .uotation
and the 6e(uest 9or .uotation related data is going to be stored in #338, #3%8 and #3#T tables.
3. Price comparison'
9or %rice comparison !e are going to use transaction 7#*E for %rice comparison,
4. Purchase order'
9or %urchase order !e are going to use transaction ,EK< for create %urchase order,
,EKK for >hange %urchase order,
B'
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
,EK5 for Display %urchase order
and the %urchase order related data is going to be stored in #338, #3%8, #3#T, #3#S and #3-#
tables.
5. 0oods (eceipt'
9or +oods 6eceipt !e are going to use transaction 7"+8 for create +oods 6eceipt,
A8 In)ound Invoice /erification'
9or "nbound "nvoice Oerification !e are going to use transaction 7"68 for create +oods 6eceipt,
and the "nbound "nvoice Oerification related data is going to be stored in 6-3% table.
317. What is the table for %urchase order ?%8@ >onfirmation?
%urchase order >onfirmation "nformation is going to be stored in E>E# table.

)1B. What is %roduction 8rder?
)1E. What is the transaction code for crate %roduction order?
9or maintain %roduction order, !e are going to use transaction C13< for create %roduction order,
C13K for >hange %roduction order,
C135 for Display %roduction order.
)'H. What is the table for store %roduction order information?
The %roduction order related "nformation is going to be stored in A*>1, AU*> and A*P1 tables.
321. What is -87 ?-ill of 7aterials@? ?sales side@
$ bill of material ?-87@ describes the different components that together create a product. $ -87
for a bicycle, for e2ample, consists of all the parts that make up the bicycle& the frame, the saddle,
!heels, and so on.
-87 means bill of materials& suppose if you purchase a computer it contains >%5 and monitor
and mouse and some devices all they contain individual prices but altogether sho!n in computer in
order to configure this -87 is helpful in S$%.
)''. What is the purpose of -87?
The purpose of this activity is to create bills of material ?-87s@ for the configurable material !hich
is kno!n as super -87.
Super -87 comprise all the variant as !ell as non/variant parts re(uired for producing configurable
material.
)'). Where !e can create -87 in S$%?
B)
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
We are going to create -87 ?-ill of 7aterial@ by using transaction C#3<8
)'*. What are the tables for store -87 information?
Whenever !e create -87, the -87 information is going to be stored in &
#">1 W -87 ,eader table,
#"1P W -87 "tem table .

325. What is -8; ? -ill of ;ading@ ?material side@?
$ -ill of ;ading is a document issued by a consignor ?or shipper, such as an order fulfillment center@
and signed by a carrier at the time of pick up, ackno!ledging that specified products have been received
on board as cargo for delivery to a named consignee, or destination. "t serves as a contract bet!een the
shipper andC or o!ners of the goods and the carrier for a number of purposes&
ALE G ID1CEs @Application Link Ena)ling6
)'<. What is the transaction code for crate %artner profile?
We are going to create %artner profile by using transaction 2EK38
)'A. What is the transaction code for crate %orts?
We are going to create %orts by using transaction 2EK<8
)'B. What is a %ort? Types of %orts !e have in S$%?
%ort is a temporary memory !hich is going to holds temporary memory purpose and transfer the
data to an #2ternal system.

We have < types of %orts available in S$%, there are&
1. Transactional 69> port,
'. 9ile port,
). >%"/> port,
*. $-$%/ %" port,
1. K7; 9ile port and,
6. K7; ,TT% port.
)'E. When !e are going to use 9ile %ort?
We are going to use 9ile ports for >ommunicate Data bet!een 4on/S$% system to S$% system.

))H. What is the transaction code for create Distribution 7odules?
B*
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
We are going to create Distribution modules by using transaction ;DAN8
))1. What is the transaction code for create %artner profiles?
We are going to create %artner profile by using transaction ;DAN Q ;DCK8
))'. "n !hich scenario " dont re(uire to create a Distribution 7odules?
Whenever !e using 9unction 7odule ,A#"E(?ID1C?DI#"(I;U"E Directly, !e dont re(uired to
create Distribution 7odules .
333. "f " use a 9unction module 7$ST#6="D8>=D"ST6"-5T# , can " going to crate Distribution
7odules?
4o need to create Distribution modules.

334. What is the purpose of the 7$ST#6="D8>=D"ST6"-5T#?
Which is used to collect database from "D8>.
))1. ,ave you created any custom "D8>? What are the steps to create custom "D8>?
1. 2E5<& >reation of segments ?G9-S1=,D6, G9-S1=D#T@.
2. 2E53& >reation of "D8> type ?G9-S1="D8>=T:@.
3. 2EC<& >reate message type ?G7+9+S1@.
4. 2ECK& $ssign message type ?G7+9+S1@ to "D8> type ?G9-S1="D8>=T:@.
5. #EC3& >reation of function group ?G9+="D8>@.
6. #E5B& >reation of MGM function module ?G97=$>>65$;=%8ST@.
7. 2E4B& $ssign "D8> ?G9-S1="D8>=T:@ to function module ?G97=$>>65$;=%8ST@.
8. ;D4<& >reate an entry for function module ?G97=$>>65$;=%8ST@.
9. 2ENK& >reate inbound process code ?G9-S1%8ST@.
10. ;D4N& >reate logical system ?>"D>;4T'HH@.
11. #,4R& >reate 69> destination.
12. 2EK3& >reate partner profile.
13. 2E<R& Test tool for "D8>.
B1
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
))<. ,ave you create any outbound "D8>? What are the steps to create custom outbound "D8>?
))A. What is a 7essage type?
$ message represents a specific type of document that is transmitted bet!een t!o partners
#2& 8rders, orders responses, invoices etc
$n "D8> type can be associated !ith many message types
$lso a message type can be associated !ith different "D8> types. Transaction 2EC<8
))B. What is an "D8> type? What is a -asic type?
"D8> is a container, !hich is used to carrying the Data from one system to another system.
"D8> type is a Template.
))E. What is a segment?
Segment is nothing but a Structure and >ombination of different fields. We are going to create
segment name by using transaction 2E5<8 Segment name al!ays starts !ith G or :. the ma2imum
length of segment name is B >haracters.
340. What is the different bet!een Segment type and segment Definition?
Segment type is Oersion "ndependent, !hile Segment Definition is Oersion Dependent.
#very segment consist of a segment Definition, !hile every segment definition consist of multiple
Definition versions.
)*1. ,ave you done "D8> e2tension? What are the steps to create "D8> #2tension?
1@
+o to transaction 2E5<

,ere !ill create the segments for e2tend our idocs.

#2ample& MGD577:M

/J Write a short description and field name.
/J Data element L >,$61 ?!ill create a ne! field in the idoc !ith 1 character e2tension@
/J Save ?developer permissions needed@

'@
+o to transaction 2E53.
B<
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com

/J $t development obPect select Me2tensionM
/J Write a name for obPect name ?B char e2tension@. 9or 7$T7$S "D8> e2tension i create G7$T#KH1.
>lick on McreateM button.
/J 4o! !e !ill select the "D8> link. Select Mcreate ne!M, and link to a basic type ?7$T7$SH1 in our
e2ample@. DonMt forget to !rite a description ?!ill be usefull in the future for identificate
correspondances@.
/J Select "D8> substructure !here !ich !ill be e2tended. >lick on header and Mcreate segmentM ?you can
paste from clipboard !ith MinsertM button@.
/J Select GD577: segment created before.
/J Save and fill package and transport order for this modification.
/J 6elease segment from toolbar ?5tilities@

IbJCnW#B'ICbJ

$dd 7essage Type ?7$T7$S@, -asic Type ?7$T7$SH1@, #2tension ?G7$T#KH1@ and 6elease'
)*'. Where !e can create >onversion +roups? Steps to create >onversion +roups?
;DAK W create conversion rules,
;D44 W $ssign >onversion rules,
;DBR W >onversion $dPustments.
343. Difference bet!een >hang pointers and >hange Documents ?change tasks@?
)**. What are the steps to create change pointers?
345. What are the tables for store >hange pointer data?
>hange pointers data is going to store or collecting into ;DCP ?>hange pointer@ and ;DCP# ?>hange
pointer& Status@ tables.
)*<. What is transaction code for create 9ilters?
;DAN.
347. ,o! your going to test an "nbound "D8>?
9or "D8> Testing&
2E<R Test tool
2E<K "Doc test& "nb. %roc of 8utb. 9ile
2E<A "Doc test& "nbound 9ile
2E<B "Doc test& "nbound status report


BA
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
"f you !ant to 6eprocess "D8>S
;DCB %rocess inbound "Docs
;DCC %rocess outbound "Docs
8r
:ou can test the "D8> using "D8> test tool.
Pust follo! the steps above.

1. +o to transaction 2E<R.
'. #nter the "D8> number you !ant to test.
). +o to menu "D8>/Jtest inbound "D8>/Jstandard inbound
*. one popup screen come get the V95>T"84 4$7#V to test the "D8>.
1. >lick on V"4-854D 954>T"84 78D5;#V button.
<. #nter function module name.
A. >lick on >$;; "4 D#-5++"4+ 78D# check bo2 and choose foreground mode.
and choose yes choice to run it.
)*B. Transaction code for 6e/processing the failed "D8>?
We are going to use transaction ;DCB for 6e/processing the failed "D8>s.
349. "f "D8> is successfully released? What status message !ill getting?
When "D8> is Successfully released, !e !ill getting "D8> status message no 4<.
We can seen all status messages by using transaction 2ENB8
350. Which scenario !e !ill getting "D8> status message no 1<?
When "D8> !ith errors added, !e !ill getting "D8> status message no 4A.
351. Which scenario !e !ill getting "D8> status message no <H?
When #rror during synta2 check of "D8> ?inbound@, !e !ill getting "D8> message no A38
352. Which scenario !e !ill getting "D8> status message as <)?
When #rror passing "D8> to application, !e !ill getting "D8> message no A58
353. Which scenario !e !ill getting "D8> status message as <E?
When "D8> !as edited, !e !ill getting "D8> message no AR8
)1*. What is an "D8>?
BB
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
"D8> is nothing but a combination of Segments.
)11. What are the ) types of 6ecords consist of "D8>?
We have three types of 6ecords available in "D8>s, there are&
a. >ontrol 6ecord / Storing in EDIDC table ,
b. Data 6ecord / Storing in EDIDN table,
c. Status 6ecord /Storing in EDID# table.
)1<. ,o! do " debug an outbound "D8>?
+o to 2EN< to get process code for your message type . Then double click it and it !ill sho! the
function module attached to it .
%ut break point in it and then debug....
)1A. What are the steps for processing an outbound "D8> for transactional data?
1.$pplication document is created.
'. "D8> is generated
)."doc is transferred from S$% to 8perating system layer
*."doc is converted into #D" standards
1.#di document is transmitted to the business partner
<.The #di Subsystem report status to S$%.
)1B. What is the purpose of message control in $;#/"D8>s?
7essage type& $ message type represents the application message e2changed bet!een 6C)
systems and 6C) and an e2ternal system. $ message type characteriFes the data sent across systems
and relates to the structure of the data called an "D8> type ?see belo!@. 9or e2ample, 7$T7$S is a
message type for 7aterial 7aster, and "4O8"> is a message type for an "nvoice ?-illing Document@.
$;# supports over 'HH message types in 6C) and about 'HH application areas.
359. ,ave you !orked on "D8> civiliFation?
4o.
360. ,ave you done any $;# configuration? What are the steps for create $;# configuration?
1. >reating users for $;# Transfer
'. >reating ;ogical system and assign the client
). >reating the 69>
BE
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
*. >onfiguring Distribution 7odel
1. >onfiguring and checking the port
<. >onfiguring and checking the partner profile
A. >reating the message type
)<1. What is a ;ogical system?
;ogical system is used to identify an individual client in a system, for $;# communication bet!een S$%
systems .
When data is distributed bet!een different systems, each system !ithin a net!ork has to be clearly
identifiable. The Tlogical systemU deals !ith this issue.
$ logical system is an application system in !hich the applications !ork together on a common data
basis. "n S$% terms, the logical system is a client.
Since the logical system name is used to identify a system uni(uely !ithin the net!ork, t!o systems
cannot have the same name if they are connected to each other as -W systems or as source systems,
)<'. Steps for processing an outbound "D8>?
1. $pplication document is created.
'. "D8> is generated
)."doc is transferred from S$% to 8perating system layer
*."doc is converted into #D" standards
1.#di document is transmitted to the business partner
<.The #di Subsystem report status to S$%
363. Steps for processing an "nbound "D8>?
1.#D" transmission received
'.#D" document is converted into an "D8>
)."D8> is transferred to the S$% layer
*.The application document is created
1.The application document can be vie!ed.
364. 9or !hich "D8> !ill you !orked on?
)<1. " have huge volume of data, !hich one " prefer 9ile operation or "D8>? 9or !hy?
EH
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
0eneral Questions
1. Oarious types of re(uests !e have in S$%?
We have * types of 6e(uests available in S$%, there are&
1. >ustomiFing re(uest,
'. Workbench re(uest,
). Transport of copies and
*. 6elocations.
'. What is Workbench re(uest?
$ll $-$% related or %rogram related changes are going to saved into Workbench re(uest.
). What is >ustomiFing re(uest?
$ll 9unctional related changes are going to saved into Workbench re(uest.
4. What is the Difference bet!een Workbench and >ustomiFing re(uest?
The Transport 8rganiFer maintains >hange 6e(uests. These re(uests record the changes made to the
repository and customiFing obPects. -ased on that obPects changed they are
1@Workbench 6e(uest and '@ >ustomiFing 6e(uest.


E1
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
Workbench 6e(uests are those that involve changes to cross/client >ustomiFing and 6epository 8bPects.
The obPects are independent of the client. ,ence the re(uests are used for transferring and transporting
changed 6epository obPects and changed system settings from cross/client tables.

>ustomiFing 6e(uests involve changes recorded to client/specific >ustomiFing obPects .These client
specific re(uests are used for copying and transporting changed system settings from client/specific
tables.
1. What is the Difference bet!een Transport of copies and 6elocations re(uest?
1. Transports of copies
:ou can use this re(uest type to transport obPects to a specified S$% System.
The obPects are transported !ith the version they have in the current S$% System. The original
location of the obPects remains unchanged. There is no delivery to another S$% System.
'. 6elocations without package change
:ou can use this re(uest type if you !ant to develop obPects in another S$% System on a
temporar )asis. 9or e2ample, you may !ant to make special developments in a separate S$%
System so as not to interfere !ith the development process.
$ relocation !ithout package change basically offers the same functions as a transport of copies.
This re(uest type allo!s you to move the original location of obPects to the target system.
). 6elocations with package change
:ou can use this re(uest type !hen you !ant to change the development system of individual
obPects on a permanent )asis.
<. ,o! do you find a re(uest number of my program or any obPect?
We are going to use transaction #E35 for 9ind 6e(uest number of an 8bPect.
A. ,o! to move a %rogram 9rom one %ackage ? or ZT7%@ to another package?
There is a standard program available in S$%, that is T (#2;134K U.
B. ,o! to Transport a re(uest number from Development to .uality?
5sing transport organiFer ?#E3R or #E<3@ for 6elease a 6e(uest from Development to .uality
systems.
E'
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
?8r@
We are going to use transaction #",# ?Transport 7anagement System@ for release re(uest directly.
E. Types of statuss of 6e(uest number ?
"n S$% !e have t!o types of statuss of 6e(uest number& There are & 1. 7odifiable status , and
'. 6eleased status
1H. What is task number?
"n every obPect number having multiple task numbers, if you !ant to transport it first release task
numbers then release obPect number from development to (uality systems.
11. What is version management?
#very program generates a version. "n this program in every changes to be generates a ne!
version. To display every version of change program code and compare old version program from ne!
version program change. "ts version management helps to save temporary version of code.
1'. ,o! to assign Tasks from one obPect to another obPect?
+o to S#HE /J >heck your re(uest type and click Display /J %lace the >ursor on your task /J +o to
5tility /J 6eorganiFe /J 6eassign task and enter your target 6e(uest number /J 8k.
1). ,o! do " kno! assign the 9ield/Symbol field value?
We are using the command& I* %*#& I# A##I0N or N1" A##I0N8
ENDI*8
1*. ,o! do " kno! 9ield value? $ssign or 4ot?
We are using the command& I* 0/?NA,E I# INI"IAL or N1" INI"IAL8
ENDI*8
11. ,o! do " kno! Subroutine 9orm available or 4ot?
We are using the command& I* 0E"?DA"A I# *1UND or N1" *1UND8
ENDI*8
1<. When you create an obPect, ho! do " kno! obPect is created ?assign@or 4ot?
E)
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
We are using the command& I* 1;7< I# ;1UND or N1" ;1UND8
ENDI*8
1A. "n 9unction 7odule or Sub/routine, ho! do " kno! Oalue passed or 4ot?
We are using the command& I* *ield I# #UPPLIED or N1" #UPPLIED8
ENDI*8
1B. What is the purpose of #K"T command?
#K"T command is used to -lock or ST8% the processing block.
#2& !e are using #K"T command !ithin ;oop W #ndloop, !ithin Sub/routine, !ithin 9unction module
and !ithin a %rogram.
1E. When " use #K"T command !ithin the S$T6T/89/S#;#>T"84 event in my processing block, !hat
happen?
>ome out from the program.
'H. ,o! do " handle S:/S5-6> in 9unction module?
We are going to handle 9unction module S:/S5-6> value through #K>#%T"84S.
'1. "n Sub/6outines or "n 9unction modules, !hy T$-;#S statement not recommended?
T$-;#S parameter is outdated, because of T$-;#S parameters are al!ays %ass by 6eference.
"n 88/$-$% is not supported T$-;#S parameter because of T$-;# having !ith header line.
''. Different bet!een >all transaction and ;eave transaction?
in case of call transaction,
both calling and called screen !ill be active. if u come back to the calling screen back, it !ill be
available.
in case of leave to transaction,
calling screen !ill be (uited and called screen !ill be active. "f u !ant to come back to the main
screen, you cant.
CALL "(AN#AC"I1N statement.
#2& CALL "(AN#AC"I1N %transaction code&8
'). Different bet!een S5-7"T and S5-7"T $4D 6#T564?
E*
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
"n $-$%, you can link programs together by using S5-7"T statement .

a. $ report program can TcallU another report program or an online program.
b. $n online program can TcallU another online program or a report program.
9or e2ample&
Whenever !e use #U;,I" command for only call or ;ink a report program to another program.
Whenever !e use #U;,I" AND (E"U(N command, e2ecute the called program and come back to
Source program.
Difference& The S5-7"T statement accesses an e2ecutable program. The e2ecutable program is
e2ecuted as described under >alling #2ecutable 6eports. if !e use return statement it !ill come back to
the e2ecutable program once again.
The synta2 is &
#U;,I" %program& AND (E"U(N FoptionsH8
Ex' #U;,I" GT#ST=%68+=' ?for call e2ternal program@
AND (E"U(N ?e2ecute and return@
2I"+ PK O P< ?assign parameter value@
8r 2I"+ S=O-#;4=' IN S=O-#;4=1 ?assign select/options value@
/IA #ELEC"I1N!#C(EEN8 ?display called program selection screen@.
'*. What is transaction for create transaction code?
#ER5 Transaction for >reate transaction code.
'1. What is transaction for S.; trace?
#"34 Transaction for >reate transaction code.
'<. What is the purpose of 9ile Transaction?
E1
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
9ile transaction is used to create a ;ogical 9ile %ath.
'A. ,o! to upload an #2cel 9ile data into an "nternal table?
We are going to use AL#,?E.CEL?"1?IN"E(NAL?"A;LE 9unction module for upload the #2cel file
data into an "nternal table.
'B. ,o! to Do!nload an "nternal table data into an #2cel 9ile?
We are going to use 0UI?D12NL1AD 9unction module for Do!nload an "nternal table data into an
#2cel 9ile.
'E. What is the synta2 for use $pplication server file data into an "nternal table?
We are going to use 1PEN DA"A #E"- (EAD DA"A #E" and CL1#E DA"A #E" statements for bro!s
the $pplication server 9ile data into an "nternal table. The Synta2 is&
1PEN DA"A #E" P?*ILE *1( 1U"PU" IN "E." ,1DE ENC1DIN0 DE*AUL"
"(AN#*E( #"?"A; "1 P?*ILE8
CL1#E DA"A #E" P?*ILE8
?86@
1PEN DA"A #E" P?*ILE *1( INPU" IN "E." ,1DE ENC1DIN0 DE*AUL"
(EAD DA"A #E" P?*ILE8
CL1#E DA"A #E" P?*ILE8
!e can use transaction code of 7odule pool program.
)H. What are the 7emory types in S$%?
"n S$% !e have t!o type of memories available , there are &
1. S$% 7emory
'. $-$% 7emory
The TE.P1("JI,P1("U statements use $-$% memory[ the T#E"J0E"U statements use S$% memory
)1. ,o! to use S#T and +#T %$6$7#T#6 statement?
E<
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
S#T and +#T %$6$7#T#6S are used for S#4D data to S$% memory and 6#T6"O# the data from
S$% memory.
#2 for S#T %$6$7#T#6 synta2&
#E" PA(A,"E( ID DaunE *IELD #?/;ELN!L128
#2 for +#T %$6$7#T#6 Synta2&
0E" PA(A,E"E( ID DaunE *IELD #?/;ELN!L128
)'. ,o! to use "7%86T and #K%86T statements?
#K%86T and "7%86T parameters are used for #K%86T"4+ data into $-$% memory and
"7%86T"4+ data from $-$% memory.
#2 for #K%86T"4+ %$67#T#6 synta2&
E.P1(" P< "1 ,E,1(9 ID DtestE8 Ftest G memor nameH8
#2 for "7%86T"4+ %$6$7#T#6S synta2&
I,P1(" P< *(1, ,E,1(9 ID DtestE *(EE ,E,E1(9 ID DtestE8
)). ,o! to $nalyFe and Test methods of $-$% code?
When coding of a program is complete, it is useful to analyFe its performance, and test it.
The %rogram Extended #ntax Check- (untime Analsis and #QL "race are S$% provided analysis
tools, that revie! the performance of the code in greater depth. "t is not likely every piece of code !ill
re(uire the use of all of these tools.
Testing of code in a "-7 proPect environment re(uires e2ecution of a 5nit Test %lan. S$% has
provided the CA"" ?>omputer $ided Test Tool@ for testing purposes.
)*. ,o! you perform #2tended synta2 check?
The %rogram #2tended Synta2 check is the simplest and least >%5/intensive analysis tool.
"t can be found from $-$% #ditor by follo!ing the menu path&
a. Program!& Check!&Extended prog.
b. >heck from the 6epository -ro!ser by follo!ing the menu path& Development
1)Mect!& Check !&Extended program check
c. 86 run transaction #LIN.
EA
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
)1. ,o! you perform 6untime analysis?
The 6untime $nalysis Tool lets you analyFe the performance of any transaction or program
created in the $-$% Workbench in more detail.
The inefficient coding that is detected can result from&
a. 8veruseCunnecessary calling of subroutines or function modules
b. >%5/intensive programming functions
c. 5ser programmed functions that could be replaced by e2isting $-$% statements
inefficientCunnecessary database accesses
5se transaction #E53 for $-$% runtime analysis and transaction #"34 for performance
analysis.
)<. ,o! you perform S.; trace?
:ou can use the S.; Trace tool to e2amine the database interfaces of reports and transactions in
t!o different !ays&
EB
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
The trace can be turned on to monitor all activity one particular user has !ith the
data base.
"t can be used to e2plain one re(uest
This !ill bring you to transaction #"348
)A. What is the >$TT? ,o! to perform it?
The Computer Aided "est "ool ?CA""@ is fully integrated into the $-$%C* Development
Workbench. "t allo!s you to assemble and automate business processes in test procedures.
These >$TT is performed by the Transaction #CA"8
U#E( ,E##A0E#
)B. What is the 5S#6 7#SS$+#?
5ser messages are an e2cellent method of communicating !ith the user in an interactive program.
This applies to selection screens as !ell as full/fledged interactive reports and online ?module pool@
programs ?covered in later sections@.
4ormally, messages are displayed on the message line at the bottom of the screen. The only
e2ceptions are abend messages !hich terminate the program and information messages !hich are
displayed in a dialog bo2.
)E. What is the system table for stored 5ser 7essages?
5ser messages are stored in the system table "<33. They are classified by language, a 'H character
message class ?used to group messages by application area@, and a three/character message number.
*H. What is the 7essage class? ,o! to create it?
7essage class is a container of the 7ultiple messages !ith message numbers. These 7essage class
!as creates by transaction S#E1.
#ach 7essage class having 7a2. 1HHH messages. The message numbers 6ange bet!een HHH/EEE.
*1. ,o! many types of 7essages available in S$%?
EE
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
"n S$% !e have Si2 types of 7essages are categoriFed , there are&
1. $ / $-#4D ?outdated@
'. " / "49867$T"84
). # / #6686
*. S / ST$T5S
1. W / W$64"4+
<. K / 654T"7# #6686
+enerally in real time !e have using only ", #, S, W messages.
E(P!#AP 1/E(/IE2
1HH
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
1. What is 76%?
7aterials 6e(uirement %lanning ?76%/"@ began as a techni(ue for developing enterprise/!ide
business solutions by providing automated tools for forecasting demands and planning according to the
forecast .
'. What is #6%?
#6% is not Pust a soft!areDbut a complete business solution integrated across the entire value chain
!hich creates an information infrastructure for efficient planning and effective e2ecution.
#6% is directly proportional to .uality of output,
.uality of output is directly proportional to the shape of the 8rganiFation,
Shape of the 8rganiFation is directly proportional to the #arning of the company.
). Different types of #6%s?
S$%, -$$4, ND #d!ards, 8racle 9inancials, Siebel, %eopleSoft.
$mong all the #6%s most of the companies are "mplemented or Trying to implement S$% because
of 4umber of advantages than other #6% packages.
Some maPor #6% vendors are & S$% 6C), 8racle and -$$4.
*. What is S$%?
S$% is the name of the company founded in 1EA' under the +erman name #stems - Applications
and Products in Data Processing 8 S$% is the ;eading #6% soft!are package.
1. When !as S$% $+ founded?
S$% $+ is a +erman company founded in 1EA' !ith 9ive former "-7 #mployees. Their vision& to
develop standard application soft!are for real/time business processing.
7arket ;eader in "ndustrial #nterprise $pplication ?"#$@ $bout 1<\ market share in the #6% market,
Serving more than ',)B,HHH customers in 1BB countries, S$% is the !orldMs largest business soft!are
company and the !orldMs third/largest independent soft!are provider overall.
Today, S$% employs more than <1,1HH people in more than 1)H countries.
1H1
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
<. What are the ) layers of the S$% 6C) ?
V6V stands for real/time data processing.
S$% 6C) is kno!n as S$% ) Tier $rchitecture. These S$% 6C) architecture having three ;ayers there
are a. "he Data)ase Laer- b. "he Application #erver- and c. "he Presentation #stem
A. What is the Database ;ayer?
Those S$% 6C) soft!are components that specialiFed in the 7anagement, Storage and 6etrieval
the data from Database layer.
B. What is the $pplication ;ayer?
Those S$% 6C) Soft!are components that specialiFed in %rocessing -usiness $pplications and from
the $pplication layer.
These application Server is connecting !ith various %resentation systems as !ell as a Database,
$pplication server basically containing three parts&
a. Dispatcher,
b. Work processer,
c. 6oll area.
E. What is the %resentation ;ayer?
Those S$% 6C) soft!are components that specialiFed in "nteracting !ith #nd/users from the
%resentation layer.
1H'
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
1H. What is Dispatcher?
Dispatcher is one of the part of the $pplication layer, the purpose of the Dispatcher is receive the
re(uest from the presentation systems and $ssign the re(uest to the related !ork processer, its
Dispatcher !orks on 9irst in 9irst out basis.
11. What is Work %rocesses?
"n S$% 6C) architecture $pplication layer having A types of Work %rocesses, there are&
1. Dialogue !ork processes
'. 5pdate !ork processes
). #n(ueue !ork processes
*. -ackground !ork processes
1. Spool !ork processes
<. +ate!ay !ork processes
A. 7essage !ork processes.
1'. What is 6oll area?
1H)
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
6oll area is a one of the part of $pplication layer in S$% 6C) architecture, these 6oll area is allocates
some memory need to have a system like 6$7.
1). What is the 4etWeaver?
4etWeaver is a vision of total integration of %eople, "nformation, -usiness %rocess and $pplications.
1*. What result can be e2pected from #6% soft!are?
6educed !orking capital re(uirements
"mproved customer service
"mproved direct labor productivity
6educed purchase costs
6educed obsolescence
6educed overtime
,aving the figures to make decisions
,aving accountability throughout the organiFation
"mproved (uality of life
11. What is the S$% 6C) 8vervie!?
S$% earlier divided into t!o maPor modules there are& 1. Technical modules and '. 9unctional
modules.
1<. What are the Technical modules in S$% 6C)?
S$% 6C) is divided into t!o technical modules, there are &
1. -$S"S ?-usiness $pplication Systems "ntegrated Solutions@
'. $-$% ?$dvanced -usiness $pplication %rogramming language@.
1A. What are the 9unctional modules in S$% 6C)?
1H*
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
S$% !as earlier divided into different 9unctional modules like 7aterials 7anagement ?77@, Sales Q
Distribution ?SD@, 9" ?9inancial $ccounting@, >8 ?>ontrolling@, ,6 ?,uman 6esources@, %% ?%roduct
%lanning@, %7 ?%lant 7aintenance@, %S ?%roPect Systems@ etc.
1B. What is "ntegration in S$%?
$ll business processes throughout the supply chain are "4T#+6$T#D Q e2ecuted on a common
system sharing all information
1E. What is >ustomiFation?
The adaptation of application soft!are to customer/specific needs is accomplished in t!o !ays &
1. >oding&
%rogramming customer/specific code that replaces or complements components of the application
'. >onfiguration&
1H1
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
6endering the application appropriate to a specific customer by specifying data on !hich the
application operates.
'H. What is $-$% %rogramming?
S$% 6C) applications are !ritten in the $-$% programming language, and run !ithin the
application layer of the 6C) System.
$-$% programs communicate !ith the database management system of the central relational
database ?6D-7S@, and !ith the graphical user interface ?S$%+5"@ at presentation level.
'1. Why do !e need $-$% Development?
We need $-$% Development $pplications or 8bPects !ill helpful for #nd/users for #asily access data
from Database and 6educe risk or effort of #nd/users. These $pplications !as developed by $-$%
Developers for the >lient or customer re(uirements.
''. What is S$% W ;andscape model?
"n S$% W ;andscape model !e have Develop some -usiness $pplications in ) stage process&
1. Development
'. .uality and
). %roduction
Some times S$% W ;andscape model completes in * stages&
1. Development
1H<
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
'. .uality
). %re/production and
*. %roduction.
'). What are the types of S$% %roPects?
+enerally in S$% !e have * types of %roPects&
1. "mplementation proPect,
'. Support proPect,
). 5pgrade proPect,
*. 6oll/out proPect.
'*. Which methodology !e use in S$% "mplementation stage?
9irst !e customiFing the S$% Soft!are for our -usiness re(uirement s !ithin the "mplementation
proPect.
These implementation stage !e having using some process or 7ethodology, that is called as $S$%
methodology.
$S$% stands for $ccelerated S$% methodology.
'1. What are the Stages of $S$% methodology?
"n $ccelerated methodology !e have A stages in "mplementation process. There are&
1. -lueprint preparation
'. $nalysis
). -uild stage or Development
*. "ntegration testing
1. 6egression testing
<. +o/;ive or Deploy
A. %ost production support
1HA
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
'<. What is the -lueprint preparation?
Developing some Documents at the stage of "mplementation of a proPect, this is the first
stage of $S$% methodology ,
%reparing some Documents in this stage& those are 1. >oding standards Document, '.
4aming standards Documents and ). ;andscape model Documents.
%reparing some Development 6e(uest ?D6s@ in -lueprint preparation.
"ts -lueprint preparation process completes !ithin a '/) months time.
#ach Development re(uest ?D6s@ having Some 6e(uest >ode or Task 4umber .
'A. What is the $nalysis test stage?
$nalysis test is one of the $S$% methodology Stage in S$% implementation proPect.
"n this $nalysis test stage 9unctional team prepared some 9unctional Specs ?9Ss@ and 9unctional
Documents ?9Ds@ and Technical team Developed some Technical specs ?TSs@ and Technical Documents
?TDs@ basing on 9Ss and 9Ds.
#very proPect runs !ith 8nsite or 8ffshore proPects.
'B. What is the -uild stage or Development stage?
-uild stage or Development is one of most important part of "mplementation proPect, here enter
$-$% Developer into a proPect and $nalyFing the Technical specs and Developing the -usiness
re(uirement $pplications.
'E. What are the 6oles and 6esponsibilities of $-$%ers?
#very $-$% developer having some 6oles and 6esponsibilities, there are &
1. Development,
'. 6evie! the code,
). Testing ?5nit testing@
*. %repare 5T% ?5nit Test %lan@ Document .
1HB
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
)H. What is integration testing?
8nce completed a Development program send from Development system to .uality systems.
"ts .uality system received Development %rogram code testing is kno!n as integration testing.
This integration testing if you have going to rise some issues are detected. These issues are divided
' types there are& 1. Defects, and '. >6s ?>hange re(uests@.
)1. What is the difference bet!een Defect and >6s?
"n integration testing !e have raise some issue basing on >ode defects or %rogrammatically errors
is kno!n as D#9#>TS.
$nd if u !ant any additional changes or add some functionality of your program the .uality or
Testing team raise a issue called as >,$4+# 6#.5#STs ?>6s@.
)'. What is 6egression test?
6egression test is kno!n as 5ser $cceptance Test ?5$T@. ,ere accept your development or if any
>6s found Send back for Development.
)). What is +o/;ive or Diploy?
+o/;ive stage of implementation !e have ' steps&
1. >ut over activities ?Stop all !ork activity@
'. Dress rehearsal
)*. What is 6oll out proPects?
$lready once successfully implemented S$% %roPects are >opied or 6euse for same #nterprise is
kno!n as 6oll/out proPects.
)1. What is 5pgrade proPect?
$lready successfully implemented S$% proPect converting from S$% old version to S$% ne! version
is kno!n as 5pgrade proPects, these are using some ne! patches.
)<. Why do you usually choose to "mplement S$%?
1HE
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
There are number of technical reasons and number of companies are planning to implement S$%.
"ts highly configurable , highly secure data handling, 7inimum data redundancy Q 7a2imum data
consistency and you can capitaliFe on economic of sale like purchasing, tight integration W cross
function.
#AP CLIEN" 1/E(/IE2
)A. What is client in S$% 6C)?
$ client is a logical portion of an S$% 6C) physical database. 9rom a business standpoint, a client can
be interpreted as a logical group of companies. #2& BHH, B1H, EHH etc.
$ll customiFing ?configuration@ and development ?$-$%@ !ork in S$% 6C) is performed in a
client. ,o!ever, the data from both customiFing and development !ork may be stored !ithin an
individual client ?client dependent data@ or among all clients ?client independent data@ in the system.
)B. What is the difference bet!een >lient/Dependent and >lient/"ndependent?
The data in each client may be separate from that of the other clients. There are basically
t!o types of data in an S$% 6C) System. >lient/dependent and client/independent data.
>lient/dependent data is defined as data specific to an individual client.
#2& Some e2amples of client/dependent data include number ranges, $-$% variants, and user
masters as !ell as the data that is created or updated through S$% 6C) transactions ?transaction
data@.
>lient/independent data can be defined as data contained across all clients in the system.
11H
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
#2& #2amples of client/independent data include data dictionary obPects ?tables, vie!s@, $-$%
source code, screens, and menus.
$ll data resides in tables. To determine if a particular table is client/dependent or client/independent,
the table structure needs to be revie!ed. The table structure can be vie!ed by the data dictionary
?S#11@. "f 7$4DT ?client in +erman@ is the first key field of the table, then the table is client/dependent[
other!ise, the table is client/independent.
9or e2ample, the TST> table is client/independent[ ho!ever, the 5S6H1 table is client/dependent.
$s sho!n in the above diagram, every S$% 6C) system contains the three clients HHH, HH1, and H<<.
;ets revie! these clients and e2amine !hat they contain.
)E. What are the default clients or standard clients in S$%?
During a standard install of the S$% 6C) system, clients HHH, HH1, and H<< are set/up and
provided.
These clients provide different features and must not be deleted.
>lient HHH performs special functions. "n particular, it is given e2tended functionality during
upgrades.
>lient HH1 is basically a copy of HHH and can be used as a basis for a ne! customiFing client.
>lient H<< is a special client !hich is provided for operational system monitoring. "t is used by
S$% 6C)s #arly Watch Service to provide performance recommendations.
*H. What is "D#S?
"D#S stands for International Demonstration Education #stem8 "D#S is a sample application
provided for faster learning and "mplementation. Oalue range of clients are HHH/EEE.
#2& BHH, B1H, B11D.etc.
111
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
#AP NA/I0A"I1N
*1. What are the standard options of menu bar in every screen of S$%?
11'
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
"n 7enu bar that are al!ays available from every screen in the 6C) System&
System& This menu contains functions that affect the system as a !hole, such as the
>reate Session, #nd Session, 5ser %rofile, or ;og 8ff options.
,elp& The ,elp menu contains functions for accessing various forms of
online support.
*'. 8n Standard tool bar Which icons are al!ays available in every screen of S$% 6C) system?
"n S$% 6C) system Standard toolbar !e have al!ays available "cons are ,elp icon and ;ayout menu
icon.
*). ,o! many helps !e have in S$%?
We have ' types of help options in S$%, there are&
1. 91 help or Document help and,
'. 9* help or Oalue help.
**. What is Search ,elp?
$ Search ,elp is a search tool to help you find data in the S$% 6C) system.
Sometimes it may be easier to use a Search ,elp for search purposes. %lace your cursor in the
desired field and enter the desired search parameter.
9or this e2ample, you !ant to find all the personnel numbers in the system !ith a last name
beginning !ith S.
1. >lick on the icon at the end of the %ersonnel number field and then enter SS in the last
name field and the names !ill be retrieved once the icon is clicked.
'. :ou can also activate the Search ,elps by placing the cursor in the field and hitting the 9* key.
*1. ,o! many sessions can you open at a time?
11)
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
:ou can create a session at any time and from any screen in the system[ you !ill not lose any data in
sessions that are already open.
:ou can create up to < sessions.
1. >hoose System >reate Session from the menu bar.
*<. What are the Screen elements in S$% 6C) system?
"n S$% !e have four types of toolbars, there are&
1. 7enu bar ?7a2 B options include ' fi2ed options& system, help@.
'. Standard toolbar ?having 9i2ed options@
). Title bar
*. $pplication toolbar ?having 7a2 )1 options@
1. Status bar
*A. ,o! to access Development screens from S$% #asy access screen?
We access S$% Development screens by using Transaction codes either S$% menu path.
*B. What is the 7a2imum length of your %rogram name?
$ny $-$% %rogram name starts !ith G or :, and the ma2imum length of %rogram name is *H
characters only. 4ot taken any Space of your program name.
11*
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
*E. What is $-$% ;anguage?
$-$% is a programming language created and used by S$% for the Development of $pplication
programs including&
6eports
7odule %ool %rogramming
"nterfaces
Data conversions
5ser #2its Q -$D"
$-$% is a *
th
generation language in S$% because its called as $-$%C*.
$ll of S$% 6C)s applications and even parts of its basis system !ere developed in $-$%.
$-$% is an event/driven programming language. 5ser actions and system events control the
e2ecution of an application.
1H. What is $-$% !orkbench?
The $-$% Workbench is used by S$% for the development of standard and custom application
soft!are. The $-$% Workbench is also used to create dictionary obPects.
11. What are the different parts in $-$% !orkbench?
$-$% !orkbench consists of the follo!ing components&
$-$% #ditor is used to maintain programs.
$-$% Dictionary is used to maintain Dictionary obPects.
6epository -ro!ser is used to display a hierarchical structure of the components in a
package.
7enu %ainter is used to develop graphical user interfaces, including menu bars and toolbars.
Screen %ainter is used to maintain screen components for an online program.
6epository "nformation System contains information about development and runtime
obPects, such as data models, dictionary types and table structures, programs, and functions.
Test and $nalysis Tools, such as the Synta2 >heck and the Debugger.
9unction -uilder, !hich allo!s you to create and maintain function groups and function
modules.
111
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
Data 7odeler, a tool !hich supports graphical modeling.
Workbench 8rganiFer, !hich maintains multiple development proPects and manages their
distribution.
1'. What is the 6eport ? types of reports?
6eport programs produce lists and can be divided into >onventional reports and "nteractive reports.
1). What is the basic difference bet!een conventional report and interactive report?
>onventional reports do not allo!s to interaction by the users, interactive reports can do.
>onventional reports do not allo! interaction by the user[ therefore, the basic list contains
e2tensive information that the user must often sort through to find the relevant data.
"nteractive reports allo! interaction by the user[ therefore, the user can produce secondary,
detailed lists off of the basic list by choosing the relevant data and re(uesting more information
1*. What is 8n/line programming or module pool programming?
7odule pool programming ?or online programming@ involves the creation of a module pool ?a
collection of $-$% modules@ and one or more screens. The modules are called by the screen processor
during program e2ecution.
11. What are the types of $-$% programs or Terms of $-$% programs?
-elo! is a list of common $-$% program terms.
%rogram $ series of $-$% statements
6eport $n $-$% program !hose output is a list
7odule %ool $ dialog program !hich is a collection of screens
;ist The output generated by an $-$% report program
1<. What is %ackage in S$%?
11<
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
%ackage !as stores all obPect related elements like %rogram, Tables, Structures, Screens etc. its
not 9older , its transport purpose only. #very obPect saved in a package it !ill generate a re(uest
number for transport purpose.
#very package !ill be created by the transaction S#'1.
1A. ,o! to move a local obPect re(uest number into a %ackage?
5se a standard program 6SW-8H1' for transport obPect from ;ocal obPect to a %ackage.
1B. What is 6e(uest 4umber and types of re(uests?
#very obPect saved in a package it !ill generate a re(uest number for transport purpose.
"n S$% !e have ' types of 6e(uests&
There are& 1. Workbench re(uest number, '. >ustomiFing re(uest number.
1E. What is Workbench 6e(uest 4umber?
$ll $-$% related obPects or changes are saved into as Workbench 6e(uest 4umber.
<H. What is >ustomiFing re(uest number?
$ll 9unction ?>ustomiFing@ related changes are saved into as >ustomiFing 6e(uest 4umber.
<1. ,o! to Transport a re(uest number from Development to .uality?
5sing transport organiFer ?S#HE or S#1H@ for 6elease a 6e(uest from Development to .uality
systems.
<'. Types of statuss of 6e(uest number ?
"n S$% !e have t!o types of statuss of 6e(uest number& There are & 1. 7odifiable status , and
'. 6eleased status
<). What is task number?
"n every obPect number having multiple task numbers, if you !ant to transport it first release task
numbers then release obPect number from development to (uality systems.
11A
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com
<*. What is version management?
#very program generates a version. "n this program in every changes to be generates a ne!
version. To display every version of change program code and compare old version program from ne!
version program change. "ts version management helps to save temporary version of code.

11B
S$% $-$% "ntervie! .uestions
#/mail& rameshkumaar.abap0gmail.com

You might also like