Você está na página 1de 71

-

SAP
1. What guarantees the integration of all application modules?
- The R/3 basis system guarantees the integration of all application modules.
The R/3 basis software provides the run time environment for the R/3
applications ensures optimal integration defines a stable architectural frame for
system enhancements and contains the administration tools for the entire
system.
!ne of the main tas"s of the basis system is to guarantee
the portability of the complete system.
#. What are the central interfaces of the R/3 system ?
- $resentation interface
%atabase interface
!perating system interface
3. Which interface controls what is shown on the p.c. ?
- $resentation interface
&. Which interface converts '() re*uirements in the '+$ development system to
those of the database ?
- %atabase interface
,. What is '+$ dispatcher ?
- '+$ dispatcher is the control agent which manages the
resources for the R/3 applications.
-. What are the functions of dispatcher ?
- .*ual distribution of transaction load to the wor" processes
/anagement of buffer areas in main memory
0ntegration of the presentation levels
!rgani1ation of communication activies
2. What is a wor" process ?
- + wor" process is where individual dialog steps are actually processed
and the wor" is done. .ach wor" process
handles one type of re*uest.
3. 4ame various wor" processes of R/3 system ?
- %ialog or !nline 5 processes only one re*uest at a time 6
7ac"ground 5 started at a specified time 6
8pdate 5 primary or secondary 6
.n*ue5 loc" mechanism 6
'pool 5 generated online or during bac" ground processing
9or printing 6
:. .;plain about the two services that are used to deal with communication .
'+$ R/3 +rchitecture - 1 -
-
- /essage service < used by the application servers to e;change short
internal messages all system communications.
=ateway service < enables communication between R/3
and e;ternal applications using >$0-> protocol.
1?. Which wor" process triggers database changes ?
- 8pdate wor" process
11. %efine service5 within R/36 ?
- + service is a process or group of processes that perform
a specific system function and often provide an application
programming interface for other processes to call.
1#. What are the roll and page areas ?
- Roll and page areas are '+$ R/3 buffers used to store
user conte;ts 5 process re*uests 6 . The '+$ dispatcher assigns
process re*uests to wor" processes as they are received. 0f
the wor" process is unavailable the process re*uests are *ueued in the roll
and page areas.
$aging area holds data from the application programs.
Roll area holds data from previous dialog steps and data that characteri1es the
user.
13. What are the different layers in R/3 system ?
- $resentation layer
+pplication layer
%atabase layer
1&. What are the phases of bac"ground processing ?
- @ob scheduling
@ob processing
@ob overview
1,. What components of the R/3 system initiates the start of
bac"ground Aobs at the specified time ?
- The batch scheduler initiates the start of bac"ground Aob.
The dispatcher then sends this re*uest to an available bac"ground
wor" process for processing.
1-. %efine 0nstance.
- +n instance is an administrative unit in which components of an R/3 system
providing one or more services are grouped together. The services offered by an
instance are started and stopped at random. +ll components are parameteri1ed
using a Aoint instance profile. + central R/3 system consists of a single instance
'+$ R/3 +rchitecture - # -
-
in which all necessary '+$ services are offered. .ach instance uses a seperate
buffer areas.
12. 9rom hardware perspective every information system can be divided into three tas"
areas $resentation +pplication )ogic and %ata storage.
The R/3 7asis software is highly suitable for use in multi-level client/server
architectures.
13. What are R/3 7asis configurations ?
- + central system with centrally installed presentation software.
Two-level client/server system with rolled out presentation software
Two-level client/server system. $resentation and +pplication run on the same
computer.
Three-level client server system. $resentation application and database each run
on seperate computers.
1:. What is a 'ervice in '+$ terminology ?
- + service refers to something offered by a software component.
#?. What is a 'erver in '+$ terminology ?
- + component can consist of one process or a group of processes and is then called
the server for the respective service.
#1. What is a client in '+$ terminology ?
- + software component that use the service 5offered by a software component6 is
called a >lient. +t the same time these clients may also be servers for other
services.
##. What is a '+$ 'ystem ?
- The union of all software components that are assigned to the same database is
called as a '+$ system.
#3. What is the means of communications between R/3 and e;ternal applications ?
- The means of communication between R/# R/3 and e;ternal applications is via
the >$0-> handler or '+$ =ateway using the >$0-> $rotocol.
#&. What is the protocol used by '+$ =ateway process ?
- The '+$ =ateway process communicate with the clients based on the T>$/0$
$rotocol.
#,. .;pand >$0-> .
- >ommon $rogram 0nterface >ommunication.
#-. What is a 'pool re*uest ?
'+$ R/3 +rchitecture - 3 -
-
- 'pool re*uests are generated during dialog or bac"ground processing and placed
in the spool database with information about the printer and print format. The
actual data is placed in the Tem 'e 5Temporary 'e*uential obAects6.
#2. What are different type of )og records?
- B1 and B#. B1 must be processed before B#. 7ut we can have more than one B#
logs.
#3. What are the types of 8pdate re*uests ?
- +n update re*uest can be divided into one primary 5B16 and several 'econdary
update components 5B#6. Time-critical operations are placed in B1 component
and those whose timing are less critical are placed in B# components. 0f a B1
update fails B# compnents will not be processed.
#:. %ialog wor" processes perform only one dialog step and then available for the ne;t
re*uest.
3?. .;plain what is a transaction in '+$ terminology.
- 0n '+$ terminology a transaction is series of logically connected dialog steps.
31. .;plain how '+$ =80 handles output screen for the user.
- The '+$ front-end software can either run on the same computer or on different
computers provided for that purpose. 8ser terminal input is accepted by the '+$
terminal program '+$ =80 converted to '+$ proprietary format and sent to the
'+$ dispatcher. The dispatcher co-ordinates the information e;change between
the '+$ =80s and the wor" processes. The dispatcher first places the processing
re*uest in re*uest *ueues which it then processes. The dispatcher dispatches the
re*uests one after another to the available wor" process. The actual processing
ta"es place in the wor" process. When processing is complete the result of a
wor" process is returned via the dispatcher to the '+$ =80. The '+$ =80
interprets the recieved data and generates the output screen for the user.
3#. '() used in +7+$/& is "nown as CCCCCCCCCCCC.
- !$.4 '().
33. What is the transport protocol used in R/3 system ?
- T>$/0$ D Transmission >ontrol $rotocol / 0nternet $rotocol.
3&. What is isolated %atabase server ?
- 'erver which is not accessible from the front end.
'+$ R/3 +rchitecture - & -
-
DATA DICTIONARY
1. What are the layers of data descriptions in R/3?
The e;ternal layer
The +7+$/& layer
The database layer
#. %efine e;ternal layer.
The e;ternal layer is the plane at which the user sees and interacts
With the data that is the data format in the user interface. This data
9ormat is independent of the database system used.
3. %efine +7+$/& layer?
The +7+$/& layer describes the data formats used by the +7+$/& processor.
&. %efine %atabase layer ?
The database layer describes the data formats used in the database.
,. What is a %ata >lass?
The %ata class determines in which table space the table is stored when it
is created in the database.
-. What is a 'i1e >ategory?
The 'i1e category describes the probable space re*uirement of the table
in the database.
2. Eow /any types of si1e categories and data classes are there?
There are five si1e categories 5?-&6 and 11 data classes only three of
which are appropriate for application tables<
- +$$)? - /aster data 5data fre*uently accessed but rarely updated6
- +$$)1 - Transaction data 5data that is changed fre*uently6
- +$$)# - !rgani1ational data 5customi1ing data that is entered when system is
>onfigured and then rarely changed6
The other two types are<
- 8'R
- 8'R1 - 0ntended for customers own developments
3. What are control tables?
The values specified for the si1e category and data class are mapped to
database-specific values via control tables.
:. What is the function of the transport system and wor"bench organi1er?
The function of the transport system and the Wor"bench !rgani1er is to
manage any changes made to obAects of the +7+$/& %evelopment Wor"bench
and to transport these changes between different '+$ systems.
'+$ R/3 +rchitecture - , -
-
1?. What is a table pool?
+ table pool 5or pool6 is used to combine several logical tables in the
+7+$/& %ictionary. The definition of a pool consists of at least two "eys
9ields and a long argument field 5B+R%+T+6.
11. What are pooled tables?
These are logical tables which must be assigned to a table pool when they
are defined. $ooled tables can be used to store control data 5such as
'creen se*uences or program parameters6.
1#. What is a table cluster?
+ table cluster combines several logical tables in the +7+$/& %ictionary.
'everal logical rows from different cluster tables are brought together
in a single physical record. The records from the cluster tables
assigned to a cluster are thus stored in a single common table in the
database.
13. Eow can we access the correction and transport system?
.ach time you create a new obAect or change an e;isting obAect in the
+7+$/& %ictionary you branch automatically to the Wor"bench !rgani1er
or correction and transport system.
1&. Which obAects are independent transport obAects?
%omains %ata elements Tables Technical settings for tables
'econdary inde;es for transparent tables'tructures Biews
/atch code obAects /atch code 0%s)oc" obAects.
1,. Eow is conversion of data types done between +7+$/& F %7 layer?
>onversion between +7+$/& data types and the database layer is
done within the database interface.
1-. Eow is conversion of data types done between +7+$/& F e;ternal level?
>onversion between the e;ternal layer and the +7+$/& layer is done in the '+$
dialog manager %G4$.
12. What are the %ata types of the e;ternal layer?
+>>$ >E+R >)4T >8HG >8RR %+T' %.> 9)T$ 04T1 04T# 04T&
)+4= )>ER )R+W 48/> $R.> (8+4 R+W T0/' 840T B+R>.
13. What are the %ata types of the +7+$/& layer?
$ossible +7+$/& data types<
>< >haracter.
%< %ate format GGGG//%%.
9< 9loating-point number in %!87). $R.>0'0!4 53 bytes6.
'+$ R/3 +rchitecture - - -
-
0< 0nteger.
4< 4umerical character string of arbitrary length.
$< +mount or counter field 5pac"edI implementation depends on hardware
platform6.
'< Time stamp GGGG//%%EE//''.
T< Time of day EE//''.
B< >haracter string of variable length length is given in the first
two bytes.
J< Ee;adecimal 5binary6 storage.
13. Eow can we set the tablespaces and e;tent si1es ?
Gou can specify the e;tent si1es and the tablespace 5physical storage
area in the database6 in which a transparent table is to be stored by
setting the si1e category and data class.
1:. What is the function of the correction system?
The correction system manages changes to internal system components
such as obAects of the +7+$/& %ictionary.
#?. What are local obAects?
)ocal obAects 5%ev class KT/$6 are independent of correction and
transport system.
#1. What is a %evelopment class?
Related obAects from the +7+$/& repository are assigned to the same
development class.This enables you to correct and transport related
obAects as a unit.
##. What is a data dictionary ?
%ata dictionary is a central source of data in a data management system. 0ts main
function is to support the creation and management of data definitions. 0t has details
about
- What data is contained ?
- What are the attributes of the data ?
- What is the relationship e;isting between the various data elements ?
#3. What functions does a data dictionary perform ?
0n a data management system the principal functions performed by the data
dictionary are
- /anagement of data definitions
- $rovision of information for evaluation
- 'upport for software development
- 'upport form documentation
- .nsuring that the data definitions are fle;ible and up-to-date.
#&. What are the features of +7+$/& %ictionary ?
'+$ R/3 +rchitecture - 2 -
-
The most important features are <
- 0ntegrated to +7+$/& %evelopment Wor"bench
- +ctive in the runtime environment
#,. What are the uses of the information in the %ata dictionary ?
The following information is directly ta"en from the %ata dictionary <
- 0nformation on fields displayed with 91 help
- $ossible entries for fields displayed with 9& help
- /atchcode and help views search utitlities.
#-.What are the basic obAects of the data dictionary ?
- Tables
- %omains
- %ata elements
- 'tructures
- 9oreign "eys
#2. What are the aggregate obAects in the data dictionary?
- Biews
- /atchcodes
- )oc" obAects
#3.0n the +7+$/& %ictionary Tables can be defined independent of the underlying
database 5T/96
True
#:. +7+$/& %ictionary contains the )ogical C 5)ogical/$hysical6 definition of the table.
3?. + field containing currency amounts 5data type >8RR6 must be assigned to a
reference table and a reference field. .;plain.
+s a reference table a system table containing all the valid currencies is assigned or any
other table which contains a field with the currency "ey format. This field is called as
reference field.
The assignment of the field containing currency amounts to the reference field is made at
runtime. The value in the reference field determines the currency of the amount.
31. + field containing *uantity amounts 5data type (8+46 must be assigned to a
reference table and a reference field. .;plain.
+s a reference table a system table containing all the valid *uantity units is assigned or
any other table which contains a field with the format for *uantity units 5data type 840T6.
This field is called as reference field.
The assignment of the field containing *uantity amounts to the reference field is made at
runtime. The value in the reference field determines the *uantity unit of the amount.
3#. What is the significance of Technical settings 5specified while creating a table in the
data dictionary6 ?
'+$ R/3 +rchitecture - 3 -
-
7y specifying technical settings we can control how database tables are created in the
database.
The technical settings allows us to
- optimi1e storage space re*uiremnets
- table access behaviour
- buffering re*uired
- changes to entries logged
33.What is a Table attribute ?
The table attributes determine who is responsible for maintaining a table and which types
of access are allowed for the table. The most important table attributes are<
a. %elivery class
b. Table maintenance allowed
c. +ctivation type.
3&. What is the significance of %elivery >lass ?
- The delivery class controls the degree to which the '+$ or the customer is
responsible for table maintenance
- whether '+$ provides the table with or without contents.
- determines the table type.
- determines how the table behaves when it is first installed at upgrade when it
is transported and when a client copy is performed.
3,. What is the ma;imum number of structures that can be included in a table or structure
- 4ine.
3-. What are the two methods of modifying 'ap standard tables ?
- +ppend 'tructures and
- >ustomi1ing 0ncludes.
3:. What is the difference between a 'ubstructure and an +ppend 'tructure ?
- 0n case of a substructure the reference originates in the table itself in the forma
of a statement .include... .
- 0n case of an append structure the table itself remains unchanged and the
refrence originates in the append structure.
&?. To how many tables can an append structure be assigned ?
- !ne.
&1. 0f a table that is to be e;tended contains a long field we cannot use append structures.
Why?
)ong fields in a table must always be located in the end as the last field of the table. 0f a
table has an append structure the append line must also be on the last field of the table.
&#.>an we include customi1ing include or an append structure with $ooled or >luster
tables ?
'+$ R/3 +rchitecture - : -
-
- 4o.
&3. What are the two ways for restricting the value range for a domain ?
- 7y specifying fi;ed values.
- 7y stipulating a value table.
&&. 'tructures can contain data only during the run time of a program 5T/96
- True.
&,. What are the aggregate obAects in the %ictionary?
- Biews
- /atch >ode
- )oc" obAect
&-.What are base tables of an aggregate obAect?
The tables ma"ing up an aggregate obAect 5primary and secondary6 are called aggregate
obAect.
&2.The data of a view is not physically stored but derived from one or more tables. 5T/96.
-True.
&3. What are the # other types of Biews which are not allowed in Release 3.??
- 'tructure Biews
- .ntity Biews.
&:. What is a /atch >ode?
/atch >ode is a tool to help us to search for data records in the system. /atch codes are
an efficient and user-friendly search aid where "ey of a record is un"nown.
,?. What are the two levels in defining a /atch >ode?
- /atch >ode obAect
- /atch >ode 0d.
,1. What is the ma;imum number of match code 0dLs that can be defined for one /atch
code obAect ?
- 3-. + match code 0d is a one character 0% that can be a letter or a number.
,#. . >an we define our own /atch >ode 0%Ls for '+$ /atchcodes ?
Ges the numbers ? to : are reserved for us to create our own /atch >ode 0%s for a '+$
defined /atchcode obAect.
,3. What is an 8pdate type with reference to a /atch code 0%?
0f the data in one of the base tables of a matchcode 0% changes the matchcode data has to
be updated. The update type stipulates when the matchcode is to be updated and how it is
to be done. The update type also specifies which method is to be used for 7uilding
matchcodes . Gou must specify the update type when you define a matchcode 0%.
'+$ R/3 +rchitecture - 1? -
-
,&. >an matchcode obAect contain 0%s with different update types ?
- Ges.
,,. What are the update types possible ?
The following update types are possible<
M 8pdate type +< The matchcode data is updated asynchronously to database
changes.
- 8pdate type '< The matchcode data is updated synchronously to database
changes.
- 8pdate type $< The matchcode data is updated by the application program.
- 8pdate type 0< +ccess to the matchcode data is managed using a database view.
- 8pdate type H< +ccess to the matchcode is achieved by calling a function
module.
,-. What are the two different ways of building a match code obAect ?
+ match code can be built in two different ways <
- )ogical structure < The matchcode data is set up temporarily at the moment
when the match code is accessed. 58pdate type 0 H6
- $hysical structure < The match code data is physically stored in a seperate table
in the database. 58pdate type + ' $6
,2. What are the differences between a %atabase inde; and a match code ?
- /atch >ode can contain fields from severeal tables whereas an inde; can
contain fields from only one table.
- /atch code obAects can be built on transparent tables and pooled and cluster
tables.
,3. What is the function of a %omain?
- + domian describes the technical settings of a table field.
- + domain defines a value range which sets the permissible data values for the
fields which refers to this domain.
- + single domain can be used as basis for any number of fields that are identical in
structure.
,:. >an you delete a domain which is being used by data elements ?
- 4o.
-?. What are conversion routines ?
- 4on standard conversions from display format to sap internal format and vice-
versa are implemented with so called conversion routines.
-1. What is the function of a data element ?
- + data element describes the role played by a domain in a technical conte;t. +
data element contains semantic information.
'+$ R/3 +rchitecture - 11 -
-
-#. >an a domain assigned to a data element be changed ?
- Ges. We can do so by Aust overwriting the entry in the field domain6.
-3. >an you delete data element which is being used by table fields .
- 4o.
-&. >an you define a field without a data element ?
- Ges. 0f you want to specify no data element and therefore no domain for a field
you can enter data type and field length and a ashort te;t directly in the table
maintenance.
-,. What are null values ?
- 0f the value of a field in a table is undefined or un"nown it is called a null value.
--. What is the difference between a structure and a table ?
- 'tructures are constructed the almost the same way as tables the only difference
using that no database table is generated from them.
-2. What is a Biew ?
- + view is a logical view on one or more tables. + view on one or more tables i.e the
data from a view is not actually physically stored instead being derived from one or
more tables.
-3. Eow many types of Biews are there ?
- %atabase Biew
- Eelp Biew
- $roAection Biew
- /aintenance Biew
-:. What is )oc"ing ?
- When two users simultaneously attempt to access the same data record this is
synchronised by a loc" mechanism.
2?. What is database utility ?
- %atabase utility is the interface betweenn the +7+$/& %ictionary and the
underlying the '+$ system.
21. What are the basic fucntions of %atabase utility ?
The basic functions of database utility are <
- >reate database obAects
- %elete database obAects
- +dAust database obAects to changed +7+$/& dictionary definition.
2#. What is Repository 0nfo. 'ystems ?
'+$ R/3 +rchitecture - 1# -
-
0t is a tool with which you can ma"e data stored in the +7+$/& %ictionary available.
MODULARIZATION
1. %oes every +7+$/& have a modular 'tructure?
Ges
#. What is /odulari1ation and its benefits?
0f the program contains the same or similar bloc"s of statements or it is re*uired to
process the same function several times we can avoid redundancy by using
modulari1ation techni*ues. 7y modulari1ing the +7+$/& programs we ma"e them
easy to read and improve their structure. /odulari1ed programs are also easier to
maintain and to update.
3. 4ame the +7+$/& /odulari1ation techni*ues.
+. 'ource code module
7 7. 'ubroutines.
> >. 9unctions.
&. Eow can we create callable modules of program code within one +7+$/& $rogram?
+. 7y defining macros.
7. 7y creating include programs in the library.
,. CCCCC is the attribute type of the module program.
/
-. 0s it posible to pass data to and from include programs e;plicitly?
4o. 0f it is re*uired to pass data to and from modules it is re*uired to use subroutines
or function modules.
2. What are subroutines?
'ubroutines are program modules which can be called from other +7+$/& programs
or within the same program.
3. What are the types of 'ubroutines?

+. 0nternal 'ubroutines< The source code of the internal subroutines will be in the
same +7+$/& program as the calling procedure 5internal call6.
7. .;ternal 'ubroutines< The source code of the e;ternal subroutines will be in an
+7+$/& program other than the calling procedure.
:. 0t is not possible to create an +7+$/& program which contains only 'ubroutines.
5 True / 9alse6
9alse.
'+$ R/3 +rchitecture - 13 -
-
1?. + subroutine can contain nested form and end form bloc"s. 5True / 9alse6
9alse.
11. %ata can be passed between calling programs and the subroutines using CCCCCCCC.
$arameters.
1#. What are the different types of parameters?
9ormal parameters< $arameters that are defined during the definition of subroutine
with the 9!R/ statement.
+ctual parameters< $arameters which are specified during the call of a subroutine
with the $.R9!R/ statement.
13. Eow can one distinguish between different "inds of parameters?
+. 0nput parameters are used to pass data to subroutines.
7. !utput parameters are used to pass data from subroutines.
1&. What are the different methods of passing data?

+. >alling by reference< %uring a subroutine call only the address of the actual
parameter is transferred to the formal parameters. The formal parameter has no
memory of its own and we wor" with the field of the calling program within the
subroutine. 0f we change the formal parameter the field contents in the calling
program also change.
7. >alling by value< %uring a subroutine call the formal parameters are created as
copies of the actual parameters. The formal parameters have memory of their
own. >hanges to the formal parameters have no effect on the actual parameters.
>. >alling by value and result< %uring a subroutine call the formal parameters are
created as copies of the actual parameters. The formal parameters have their own
memory space. >hanges to the formal parameters are copied to the actual
parameters at the end of the subroutine.
1,. The method by which internal tables are passed is CCCCCCCCCCC.
7y Reference.
1-. Eow can an internal table with Eeader line and one without header line be
distinguished when passed to a subroutine?
0tabN O is used in the form and endform if the internal table is passed with a header
line.
12. What should be declared e;plicitly in the corresponding +7+$/& 'tatements to
access internal tables without header lines F why?
Wor" +rea. This is re*uired as the Wor" +rea is the interface for transferring data to
and from the table.
13. + subroutine can be terminated unconditionally using .J0T. 5TR8. / 9+)'.6
'+$ R/3 +rchitecture - 1& -
-
True.
1:. + subroutine can be terminated upon a condition using CCCCCCCCCCCCC.
>E.>H 'tatement.
#?. 9unction /odules are also e;ternal 'ubroutines. 5TR8. / 9+)'.6.
True.
#1. What is the difference between the function module and a normal +7+$/&
subroutine?
0n contrast to normal subroutines function modules have uni*uely defined interface.
%eclaring data as common parts is not possible for function modules. 9unction
modules are stored in a central library.
##. What is a function group?
+ function group is a collection of logically related modules that share global data
with each other. +ll the modules in the group are included in the same main program.
When an +7+$/& program contains a >+)) 984>T0!4 statement the system
loads the entire function group in with the program code at runtime. .very function
module belongs to a function group.
#3. What is the disadvantage of a call by reference?
%uring a call by reference damage or loss of data is not restricted to the subroutine
but will instantly lead to changes to the original data obAects.
#&. + function module can be called from a transaction screen outside an +7+$/&
program. 5TR8. /9+)'.6
TR8..
#,. What is an update tas"?
0t is an '+$ provided procedure for updating a database.
#-. What happens if a function module runs in an update tas"?
The system performs the module processing asynchronously. 0nstead of carrying out
the call immediately the system waits until the ne;t database update is triggered with
the P>!//0T W!RHQ command.
#2. The function modules are created and stored in the CCCCCCCCCCCCCC.
9unction )ibrary.
#3. When a function module is activated synta; chec"ing is performed automatically.
5TR8. / 9+)'.6
TR8..
'+$ R/3 +rchitecture - 1, -
-
#:. What is the use of the R+0'04= e;ception.
The raising e;ception determines whether the calling program will handle the
e;ception itself or leave the e;ception to the system.
3?. What is the difference between internal tables and e;tract datasets?

+. The lines of an internal table always have the same structure. 7y using e;tract
datasets you can handle groups of data with different structure and get statistical
figures from the grouped data.
7. Gou have to define the structure of the internal table at the begining. Gou need not
define the structure of the e;tract dataset.
>. 0n contrast to internal tables the system partly compresses e;tract datasets when
storing them. This reduces the storage space re*uired.
%. 0nternal tables re*uire special wor" area for interface whereas e;tract datasets do
not need a special wor" area for interface.
31. 0t is possible to assign a local data obAect defined in a subroutine or function module
to a field group. 5TR8. / 9+)'.6
9+)'..
3#. What is the difference between field-group header and other field groups?
The header field group is a special field group for the sort criteria. The system
automatically prefi;es any other field groups with the header field group.
33. >an a field occur in several field groups.
Ges. 7ut it leads to unnecessary data redundancy.
3&. When sorting the e;tract dataset the fields used as default sort "ey lie in the
CCCCCCCCCCCCC.
Eeader field group.
3,. What does the insert statement in e;tract datasets do?
0t defines the fields of a field group.
3-. What does the e;tract statement do in e;tract datasets?
The data is written to virtual memory by e;tract commands.
32. + field-groups statement or an insert statement reserves storage space and transfers
values. 5TR8. / 9+)'.6
9+)'..
33. While using e;tract datasets it is re*uired to have a special wor" area for interface.
5TR8. / 9+)'.6.
9+)'..
'+$ R/3 +rchitecture - 1- -
-
3:. The )!!$-.4%)!!$ on e;tract datasets can be used without any "ind of errors.
5TR8. / 9+)'.6.
9+)'.. 0t causes runtime errors.
&?. The /a;imum no of "ey fields that can be used in a header is CCCCCCCCCCCCC.
,?.
&1. While sorting field groups we cannot use more than one "ey field. 5TR8. / 9+)'.6
9+)'..
&#. While sorting if the main storage space available is not enough the system writes
data to an e;ternal help file. The '+$ profile parameter which determines this help
file is CCCCCCCCCCCCCCCCC.
%0RC'!RTT/$.
&3. The e;tract statements in field groups can be used before or after processing the sort
statements. 5TR8. / 9+)'.6.
9+)'..
'+$ R/3 +rchitecture - 12 -
-
LOGICAL DATABASE
1. $reparation of the data records by the L.D.B and reading of the data records in the
actual report are accomplished with the command pair CCCCCCCCC and CCCCCCCCC.
- $ut and =et.
#. The three main elements of )%7 are CCCCCCCCCCCCC.
- 'tructure 'elections %atabase $rogram.
3. 0n )%7 what determines hierarchy of the tables?
- 'tructure.
&. 0n general what are the two ways in which one can retrieve data from tables?
- Using 'elect statements and using )%7.
,. With )%7 one can modify the pre-generated selection screen to their needs.
5True / 9alse6.
- Ges.
-. )ogical databases are programs that read data from CCCCCCCCCCCCCCCCC.
- %atabase tables 5%ictionary structures6.
2. The event =.T <tabl na!" )+T. process all tables that are hierarchically
superior to the < tabl na!". 5True / 9alse6.
- 9alse. It #$%&sss all tabls t'at a$ 'i$a$&'i&all( in)$i%$ t% t' Rtable
nameS.
3. The %atabase $rogram of )%7 is a collection of CCCCCCCCCCCCCCCCCC which
selects the data and passes it to the report. 5'87R!8T04.' / 984>T0!4' 6.
- 'ubroutines.
:. The layout of the %atabase program is determined by both CCCCCCCCCCCCCCCC and
CCCCCCCCCCCCCCCCC .
- 'tructure and 'elections.
1?. The order in which data is made available to the report depends on CCCCCCCCCCCCCC
of the LDB.
- 'tructure.
11. +part from the st$u&tu$ and selections of the LDB the CCCCCCCCCCCC statements in
the $#%$t determines the behavior of the database at runtime.
- =.T.
1#. 4ode at the highest level in the structure is "nows as CCCCCCCCCCCCCC.
'+$ R/3 +rchitecture - 13 -
-
- Root.
13. There can be more than one node at the highest level in the structure.
5 True / 9alse 6.
- 9alse. On &an d)in %nl( %n n%d at t' 'ig'st l*l in t' st$u&tu$ %n
)%7.
1&. +ll nodes in the structure of LDB need not be defined in the +7+$+, %ictionary.
5True / 9alse6.
- 9alse. On 'as t% d)in all n%ds in t' %ictionary %$ %n 'as t% sl&t all
n%ds t'at a$ d)ind in t' %ictionary.
1,. 0t is not possible to use ABAP+, Di&ti%na$( St$u&tu$s without an underlying
database using LDB. 5TR8. / 9alse6.
- 9alse. On &an us additi%nall( related tabls- al%ng .it' t' tabls d)ind in
t' st$u&tu$ %) )%7.
1-. CCCCCCCCCCCCCCCC selections allow the user to define further selections for database
access in addition to the selection criteria already defined in the LDB selections.
- %ynamic.
12. //////////////// statement can be used along with the event GET in the report for
chec"ing the selections which are not table-specific values.
0 >hec".
13. 0n sense of Database Management System 5DBMS6 LOGICAL DATABASE is a
database. 5True / 9alse6.
- 9alse.
1:. 0t is not necessary to maintain the $arent->hild relationship between the tables in
)ogical %atabase 'tructure. 5 True / 9alse 6.
- 9alse. On 'as t% !aintain t' Pa$nt0C'ild $lati%ns'i#.
#?. 0s it possible to e;tract data from tables without using the event PGETQ in the report
with an appropriate LDB. 5 True / 9alse 6.
- 9alse. On &an 1t$a&t data )$%! tabls using 'elect stat!nts in a $#%$t-
t'%ug' t' $#%$t is 'a*ing a )%7 att$ibut.
#1. What sort of tables one can use in designing the hierarchy of a LDB 2
- Tabls .'i&' a$ 'a*ing 9oreign 3( $lati%ns.
'+$ R/3 +rchitecture - 1: -
-
##. + report program which uses only SELECT statements is called CCCCCCCCCCC
report. --- '() Report .
#3. !ne cannot use SELECT statements in a report program lin"ed to a
L%gi&al Databas. 5 True / 9alse 6.
- 9alse.
#&. 0s it true that the L%gi&al Databas reads the data from the database tables using
Sl&t Stat!nts. 5 True / 9alse 6.
- Ges. 4 5 a$ &%ding t'at in %atabase #a$t %) )%7 6.
#,. 0n a report with an LDB attribute you do not have to define how the information
should be retrieved from the database tables but only how the data should be
represeneted on the screen. 5 True / 9alse 6.
- True.
#-. !ne can use the event GET in a report without LDB attribute. 5
True / 9alse 6.
- 9alse.
#2. The last character of the LDB name denotes CCCCCCCCCCCCCCCCCCC.
- +pplication.
#3. The structure of L%gi&al Databass reflects the CCCCCCCCCCCCCCCC dependencies
of hierarchical tables in the SAP S(st!.
- 9oreign "ey
#:. 0t is mandatory that for each table in the LDB hierarchy there should e;ists one GET
statement in the report. 5 True / 9alse 6.
- 9alse it is n%t n&ssa$(.
3?. What happens if a report does not contain a GET statement for a particular node of a
L%gi&a Databas.
0 P$%&ss .ill t$ans)$ t% t' n1t *nt.
31. 0n a L%gi&al Databas one can define input fields on the selection screen with
CCCCCCCCCCCCC and CCCCCCCCCCCC statements.
- 'elect-options F $arameters.
3#. 'uppose a logical database program contains the following lines<
SELECT0OPTIONS CONNID 7OR SP7LI0CONNID.
PARAMETERS CARRID LI8E S7LIG9T0CARRID 7OR TABLE
S7LIG9T. S7LIG9T
'+$ R/3 +rchitecture - #? -
-
0f the tabls statement in a report declares only SP7LI but not S7LIG9T what
will be the output for the above two statements.
- Onl( select-options connid for spfli-carrid .ill b dis#la(d %n t' s&$n.
33. >onsider a report with 7:S attribute what will be the output for the following code.
Whether you will get the data from s#)li and s)lig't or not with corresponding
tabls statement.
GET SBOO8.
5$it; + s#)li0&a$$id- s#)li0&%nnid- s)lig't0)ldat- sb%%30b%%3id.
- Ges (%u .ill gt t' data )$%! spfli and sflight.
3&. >onsider a report with 7:S attribute what will be the output of the following code.
Whether you will get the data from sb%%3 or not with corresponding
tabls statement.
GET SP7LI.
GET S7LIG9T.
5$it; + s#)li0&a$$id- s#)li0&%nnid- s)lig't0)ldat- sb%%30b%%3id.
- Y%u &ann%t 1t$a&t data )$%! sboo".
3,. 0dentify any errors in the following code and correct the same and what will be the
output if there e;ists corresponding tabls statement for s#)li- s)lig't- sb%%3.
GET SP7LI.
GET SBOO8.
5$it ; + s#)li0&a$$id- s#)li0&%nnid- s)lig't0)ldat- sb%%30b%%3id-
sb%%30&lass.
- N% s(nta1 $$%$s. Y%u .ill gt data )$%! all t' t'$ tabls.
3-. %oes the following two statements do the same tas" ? 0f so which one ta"es ta"es
less time and which one is recomended.
SELECT < )$%! s#)li. SELECT < )$%! s#)li.
C'&3 ; s#)li0&a$$id = >L9? 5'$ s#)li0&a$$id = >L9?
And s#)li0&%nnid = >,@@?. And s#)li0&%nnid = >,@@?.
ENDSELECT. ENDSELECT.
0 Ys t'( .ill d% t' sa! tas3. S&%nd 'elect stat!nt ta3s lss ti! and it
is $&%!ndd.
32. 0f you want to improve the response time 5 time to access data 6 L%gi&al DataBass
permits you to achieve this using CCB0.W'CCCC .
33. 0s there any upper limit 5!a16 to the possible number of n%ds in a l%gi&al databas
st$u&tu$ 2 0f so what is that limit ?
- Ges t'$ is an u##$ li!it )%$ d)ining nu!b$ %) n%ds in a )ogical
%ata7ase 'tructure.
/a;imim nodes T 1#?? / length.
Where length T ma;imum lenght of name in the structure.
'+$ R/3 +rchitecture - #1 -
-
3:. 0n the st$u&tu$ of Logical DataBase n%ds at different levels are displayed in the
same columns. 5 True / 9alse 6. 0f false what type of nodes are displayed in the
same columns. 0f True what type of nodes are not displayed in the same columns.
- 9alse. N%ds at sa! l*l a$ dis#la(d in t' sa! &%lu!ns.
&?. What are the advantages of L%gi&al DataBass 2
0 It %))$s an as(0t%0us sl&ti%n s&$n.
Y%u &an !%di)( t' #$0gn$atd sl&ti%n s&$n t% (%u$ nds.
It %))$s &'&3 )un&ti%ns t% &'&3 .'t'$ us$ in#ut is &%!#lt- &%$$&t-
and #lausibl.
It %))$s $as%nabl data sl&ti%ns.
It &%ntains &nt$al aut'%$iAati%n &'&3s )%$ databas
a&&sss. En'an&!nts su&' as i!#$%*d #$)%$!an& i!!diatl(
a##l( t% all $#%$t #$%g$a!s t'at us t' l%gi&al databas.
&1. Though the all the ABAP+, Di&ti%na$( St$u&tu$s that e;ists in the st$u&tu$ of the
LDB being defined in Databas P$%g$a! we are defining the Di&ti%na$(
St$u&tu$s in the R#%$t. What is the reason for such a declaration?
- B( d&la$ing s% . a$ #$%*iding wor" areas )%$ data #assing bt.n
)ogical %atabase and Report. In additi%n- t' l%gi&al databas &%n)igu$s t'
sl&ti%n s&$n d#nding %n t' sl&ti%n %) databas tabls.
&#. 0s it mandatory to declare all the tables in R#%$t by the "ey word tabls for all the
tables that e;ists in the st$u&tu$ of LDB- and are being defined in the Databas part
of LDB.
- 4o it is n%t !andat%$( t% d&la$ all tabls in $#%$t.
&3. 0f one wants to access data using L%gi&al DataBas- the use of *nts is unavoidable.
5 True / 9alse 6. - True .
'+$ R/3 +rchitecture - ## -
-
REPORT GENERATION 0 7ORMATTING
1. The alignment of a type LcL field in a report is CCCCCCCCCCCCCC.
)eft +ligned.
#. 0n the statement Write</ 1, 51?6 lfa1-lifnr. what do the numbers 1, and 1? stand for.
1, stands for the offset on the screen and 1? stands for the field length displayed.
3. 'pecify the default alignment for the following field types<
L % L ---
L 9 L ---
L 4 L ---
L 0 L ---
L T L ---
)eft Right )eft Right )eft Right respectively.
&. 0f sCtime has the value L1#3&,-L how would you get an output of 1#<3&<,- with a
single L Write<Q statement?
Write< sCtime using edit mas" PC C<C C<C CQ.
,. 0n order to suppress the leading 1eros of a number field the "eywords used are
CCCCCCC.
4! U.R!.
-. The total number of date formats that can be used to display a date during output is
CCCCCCCC.
///%%/GG %%////GG %%////GGGG ///%%/GGGG //%%GG
%%//GG GG//%%.
2. The CCCCCCCCCCC >ommand allows for vertical alignment of fields one below the
other.
84%.R.
3. 0n order to concatenate strings only for output purposes the command CCCCCCCCC can
be used in conAunction with the LWriteL statement.
4!-=+$.
:. The no of decimal places for output can be defined within a write statement. 5 TR8. /
9+)'. 6.
TR8.. Write</ R9S decimals #.
1?. %ate can be moved from one field to another using a LWrite<L 'tatement and stored in
the desired format. 5TR8. / 9+)'.6.
TR8.. Write< %ateC1 to %ateC# format %%////GG.
'+$ R/3 +rchitecture - #3 -
-
11. 0n the statement
Write</ 1, 51?6 lfa1-lifnr.
the values 1, and 11 can also be defined by variables 5 TR8. / 9+)'. 6.
9+)'..
1#. %ifferentiate between the following two statements if any.
8)04..
Write< sy-uline.
4o-difference. .;cept that uline is used outside the PWriteQ 'tatement.
13. 0n order to s"ip a single line the number of lines need not be given as an argument
5TR8. / 9+)'.6.
TR8..
1&. The V'H0$ T! )04. line numberV is dependent on the CCCCCCCCCCCCstatement
included in the report statement of the program.
)04.->!84T.
1,. 0n order to s"ip columns the command used is CCCCCCCCCC.
$!'0T0!4 RnS.
1-. 0n order to have boldfaced te;t as output the command used is CCCCCCCCCCCCC.
Write< RfS 04T.4'090.%.
12. 7ac"ground and foreground colors can be interchanged using the command
CCCCCCCCCC.
9ormat inverse.
13. 0n order to restore the system defaults for all changes made with the format statement
is
V 9ormat Reset V. 5 TR8. / 9+)'. 6.
TR8..
1:. )i"e 8)04. the statement B)04. is used to insert vertical lines. 5TR8. / 9+)'.6.
9+)'..
#?. 'uppressing the number signs 5W / -6 is carried out using the addition 4!-'0=4' to
the Write statement. 5 TR8. / 9+)'. 6.
9+)'..
#1. 0f 'G-8U.0T has the value -<3&<&, it can be displayed as ?-3&&, using
CCCCCCCCCCCCC.
4o .dit /as".
##. 0f the variable VTe;tV has the value L+7>%.9L the output for the statement XWrite</
Te;tW#536Ywill be CCCCCCCCCCC.
'+$ R/3 +rchitecture - #& -
-
Bery simple. Wor" it out.
#3. The fields specified by select-options and parameters statement cannot be grouped
together in the selection screen. 5TR8. / 9+)'.6.
9+)'..
#&. When calling an e;ternal report the parameters or select-options specified in the
e;ternal report cannot be called. 5TR8. / 9+)'.6.
9+)'..
#,. CCCCCCCCCCCCCCC 0n the te;t elements of the program helps in changing the
displayed names of variables in the parameters statement.
'election Te;ts.
#-. CCCCCCCCCC %ata type cannot be used to define parameters.
Type 9.
#2. Rounding off of values can be carried out using the write statement.
5TR8. / 9+)'. 6.
TR8..
#3. Eow would you define the e;ponents for a type L f L field ?
.;ponent ReS.
#:. Eow would you format the output as left centered or right-Austified using the write
statement.
)eft-Austified
>entered
Right-Austified.
3?. 0f the same formatting options were used for a WR0T. statement that follows the
9!R/+T statement which settings would ta"e precedence?
The settings in the Write 'tatement.
31. 9or each new event the system resets all formatting options to their default values.
5TR8. / 9+)'.6.
TR8..
3#. +ll formatting options have the default value !99. 5TR8. / 9+)'.6.
TR8..
33. Eow would you set the formatting options statically and dynamically within a report?
Stati&all(;
9!R/+T Roption1S N!4Z!99O Roption#S N!4Z!99O....
D(na!i&all(;
9!R/+T Roption1S T Rvar1S Roption#S T Rvar#S....
'+$ R/3 +rchitecture - #, -
-
3&. The page footer is defined using the statement CCCCCCCCCCCCCCCCC.
.4%-!9-$+=..
3,. The processing bloc" following .4%-!9-$+=. is processed only if you reserve
lines for the footer in the )04.->!84T option of the R.$!RT statement.
5TR8. / 9+)'. 6.
TR8..
3-. To e;ecute a page brea" under the condition that less than a certain number of lines is
left on a page is achieved by CCCCCCCCCCCCCCCCCCCCCCCC.
R.'.RB. n lines.
32. The R.'.RB. statement only ta"es effect if output is written to the subse*uent page.
4o blan" pages are created and it defines a bloc" of lines that must be output as a
whole. 5 TR8. / 9+)'.6
TR8..
33. To set the ne;t output line to the first line of a bloc" of lines defined with the
R.'.RB. statement the statement CCCCCCCCCCCCCCC is used.
7+>H.
3:. What is the limit for the length of a page if the page length is not specified in the
report statement?
-???? )ines.
&?. Eow would you start the printing process from within the program while creating a
list?
4.W-$+=. $R04T !4.
&1. Gou can change the width of pages within list levels triggered by page brea"s.
5TR8. / 9+)'.6.
9+)'..
&#. Eotspots are special areas of an output list used to trigger events. 5TR8. /9+)'.6.
TR8..
&3. To designate fields as hotspots at runtime use CCCCCCCCCCCCCCCCC.
9!R/+T E!T'$!T T RhS.
&&. Eori1ontal lines created with 8)04. and blan" lines created with 'H0$ can be
formatted as hotspots. 5TR8. / 9+)'.6.
9+)'..
&,. Eow would you suppress the display of a parameter on the selection screen ?
'+$ R/3 +rchitecture - #- -
-
$arameters RpS ............. 4o-%isplay.
&-. >an you assign a matchcode obAect to a parameter? 0f so how?
Ges. $+R+/.T.R' RpS ... /+T>E>!%. !7@.>T RobAS ...
&2. 9or each '.).>T-!$T0!4' statement the system creates a selection table.
5TR8. / 9+)'. 6.
TR8..
&3. To position a set of parameters or comments on a single line on the selection screen
you must declare the elements in a bloc" enclosed by
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.
'.).>T0!4-'>R..4 7.=04 !9 )04..
...
'.).>T0!4-'>R..4 .4% !9 )04..
&:. Eow can 'ymbols or R/3 icons be output on the screen?
WR0T. Rsymbol-nameS +' 'G/7!).
WR0T. Ricon-nameS +' 0>!4.
,?. 0n the standard setting you cannot create empty lines with the WR0T. statement
alone. 5TR8. / 9+)'.6
TR8..
'+$ R/3 +rchitecture - #2 -
-
REPORTING B GENERAL.
1. The system field which indicates success or failure of a '() operation is
CCCCCCCCCC.
'G-'87R>.
#. What is the synta; for specifying database table name at runtime in SELECT
statement?
4+/. T L'$9)0L.
'.).>T [ 9R!/ 54+/.6.
--------------
--------------
.4%'.).>T.
3. Eow do you read selected lines of database table into an internal table in pac"ages of
predefined si1e?
'.).>T [ 9R!/ R'$9)0S 04T! T+7). R0T+7S $+>H+=. SIZE <N".
Where LnC is variable.
&. 4ame the 5ILDCARD characters which are used for comparisons with &'a$a&t$
st$ings F nu!$i& st$ings.
L\Q +nd LCL.
,. 0n SELECT statements can you specify a variable in 59ERE condition or a part of
the condition if so what is synta;.
'.).>T [ 9R!/ RtableS WE.R. Rvar1S RconditionS Rvar or constS.
-. 4ame the ABAP+, "ey words which are used to change the contents of database
table.
8$%+T. or /!%09G.
2. Eow to specify a client for database table processing.
T+7).' '$9)0.
'.).>T [ 9R!/ '$9)0 >)0.4T '$.>090.%
WE.R. /+4%T 7.TW..4 L??1L +4% L??3L.
...
.4%'.).>T.
3. Eow do you write a DATA obAect from ABAP+, program to ABAP+, memory and
restore the same from memory to program.
.J$!RT Rf1S N9R!/ Rg1SO Rf#S N9R!/ Rg#SO ... T! /./!RG 0% R"eyS.
The 0% R"eyS which can be up to 3# characters long identifies the data in memory.
:. What are DATA CLUSTERS2
Gou can group any comple; internal data obAects of an +7+$/& program together in data
clusters and store them temporarily in +7+$/& memory or for longer periods in databases.
'+$ R/3 +rchitecture - #3 -
-
Gou can store data clusters in special databases of the +7+$/& %ictionary. These databases
are "nown as +7+$/& cluster databases and have a predefined structure. 'toring a data
cluster is specific to +7+$/&. +lthough you can also access cluster databases using '()
statements only +7+$/& statements are able to decode the structure of the stored data
cluster.
1?. 'tatement used to delete data obAects in ABAP+, memory CCCCCCCCCCCCCCCCCC.
9R.. /./!RG N0% R"eySO.
11. Eow will you create a file on a##li&ati%n s$*$
!pen dataset RdsnS for output.
1#. ABAP+, statement for opening a file on application server for reading CCCCCCCCCCC.
!pen dataset RdsnS for input.
13. Eow will you transfer data into a file in application server ?
%ata fname5-?6 value LmG90).L.
%ata num type i.
!pen dataset fname for output.
%o 1? times.
4um T 4um W 1.
Transfer num to fname.
.nddo.
....tc.
1&. 4ame the function modules to write data from an Int$nal Tabl to the P$sntati%n
S$*$.
%!W4)!+% and W'C%!W4)!+%.
1,. 4ame the function modules to read data from $resentation S$*$ into an Int$nal
Tabl.
8$)!+% and W'C8$)!+%.
1-. 4ame the function module that can be used to give information about files on
P$sntati%n S$*$ and about itLs O#$ating S(st!.
W'C(8.RG.
12. 4ame the ABAP+, "ey word which is used to clear the 9ad$ lin of an Int$nal
Tabl.
>).+R RitabS.
13. 4ame the ABAP+, "ey words to initiali1e an Int$nal Tabl with and without header
line.
R.9R.'E RitabS.
1:. Eow to determine the attributes of an internal table?
%.'>R07. T+7). RitabS N)04.' RlinSO N!>>8R' RoccSO.
'+$ R/3 +rchitecture - #: -
-
#?. 4ame the ABAP+, "ey word for searching a string in an Int$nal Tabl.
'.+R>E RitabS 9!R RstrS RoptionsS.
The different options 5RoptionsS6 for the search in an internal table are<
+77R.B0+T.%
'earches table RitabS for a word containing the character string specified in RstrS where the
characters might be separated by other characters. The first letter of the word and the string
RstrS must be the same.
'T+RT04= +T Rlin1S
'earches table RitabS for RstrS starting at line Rlin1S. Rlin1S can be a variable.
.4%04= +T Rn#S
'earches table RitabS for RstrS up to line Rlin#S. Rlin#S can be a variable.
+4% /+RH
0f the search string is found all the characters in the search string 5and all the characters in
between when using +77R.B0+T.%6 are converted to upper case.
#1. What are the different attributes that can be assigned to a variant?
The different attributes that can be assigned to a variant are...
%escription
.nter a short meaningful description of the variant. This may be up to 3? characters long.
7ac"ground only
'pecify whether you want to use the variant in bac"ground processing only or in online
environment as well.
$rotected variant
/ar" this field if you want to protect your variant against being changed by other users.
%o not display variant
/ar" this field if you want the variant name to be displayed in the catalog only but not in the
9& value list.
7%$ t' sl&ti%ns (%u &%*$ in a *a$iant- (%u &an nt$ t' )%ll%.ing att$ibuts;
Type
The system displays whether the field is a parameter or a select option.
$rotected
/ar" this field for each field on the selection screen you want to protect from being
overwritten. Balues that you mar" this way are displayed to the users but they cannot
change them that is they are not ready to accept input.
0nvisible
0f you mar" this column the system will not display the corresponding field on the selection
screen the user sees when starting the report program.
Bariable
/ar" this column if you want to set the value for this field at runtime.
##. 0s it possible to create new dynamic programs during runtime of an +7+$/&
program? 0f so how?
To create new dynamic programs during the runtime of an +7+$/& program you must use
an internal table. 9or this purpose you should create this internal table with one character
'+$ R/3 +rchitecture - 3? -
-
type column and a line width of 2#. Gou can use any method you li"e from 9illing 0nternal
Tables to write the code of your new program into the internal table. .specially you can use
internal fields in which the contents are dependent on the flow of the program that you use to
create a new one to influence the coding of the new program dynamically. The following
e;ample shows how to proceed in principal<
%+T+ >!%.52#6 !>>8R' 1?.
+$$.4% LR.$!RT U%G41.L
T! >!%..
+$$.4% LWR0T. / LLEello 0 am dynamically created]LL.L
T! >!%..
Two lines of a very simple program are written into the internal table >!%..
0n the ne;t step you have to put the new module in the above e;ample it is a report into the
library. 9or this purpose you can use the following statement<
'ynta;
04'.RT R.$!RT RprogS 9R!/ RitabS.
The program RprogS is inserted in your present development class in the R/3 Repository. 0f a
program with this name does not already e;ists it is newly created with the following
attributes<
Title< none
Type< 1 5Reporting6
+pplication< ' 57asis6.
Gou can specify the name of the program RprogS e;plicitly within single *uotation mar"s or
you can write the name of a character field which contains the program name. The name of
the program must not necessarily be the same as given in the coding but it is recommended
to do so. RitabS is the internal table containing the source code. 9or the above e;ample you
could write<
04'.RT R.$!RT LU%G41L 9R!/ >!%..
or
%+T+ R.$536.
R.$ T LU%G41L
04'.RT R.$!RT R.$ 9R!/ >!%..
#3. %ata types can be elementary or structured 5TR8./ 9+)'.6
TR8..
#&. The amount of memory associated with a data type is CCCCCCCCCCC
U.R!.
#,. %ata obAects are the physical units a program uses at runtime. 5TR8. / 9+)'.6.
TR8..
#-. The data obAect does not occupy any space in memory. 5TR8. / 9+)'.6.
9+)'..
#2. What are the three hierarchical levels of data types and obAects?
'+$ R/3 +rchitecture - 31 -
-
program-independent data defined in the +7+$/& %ictionary
internal data used globally in one program
data used locally in a procedure 5subroutine function module6
#3. Eow would you find the attributes of a data type or data obAect?
%.'>R07. 90.)% RfS N).4=TE RlSO NTG$. RtS N>!/$!4.4T' RnSOO
N!8T$8T-).4=TE RoSO N%.>0/+)' RdSO
N.%0T /+'H RmSO.
#:. The components of a field string cannot have different data types. 5TR8. / 9+)'.6.
9+)'..
3?. 9ield strings are also called as CCCCCCCCCCCCCCCCCCCCCCCCCC.
Records or 'tructures.
31. 0f a field string is aligned 5)eft centered right Austified etc.6 the filler fields are also
added to the length of the type > field. 5TR8. / 9+)'.6.
TR8..
3#. Gou cannot assign a local data obAect defined in a subroutine or function module to a
field group. 5TR8. / 9+)'.6.
TR8..
33. + field group reserves storage space for the fields and does not contain pointers to
e;isting fields. 5TR8. / 9+)'.6.
9+)'..
3&. %efining a field group as PE.+%.RQ is optional. 5 TR8. / 9+)'.6.
9+)'..
3,. Eow would you define a field symbol ?
90.)%-'G/7!)' R9'S.
3-. Which function module would you use to chec" the userLs authori1ation to access files
before opening a file?
+8TE!R0TGC>E.>HC%+T+'.T
32. 4ame the function module used to convert logical file names to physical file names in
+7+$/& programs.
90).C=.TC4+/..
33. $arameters which are defined during the definition of a subroutine with the 9!R/
statement are called CCCCCCCCCCCCCCCCCCCC.
9ormal $arameters.
'+$ R/3 +rchitecture - 3# -
-
3:. $arameters which are specified during the call of a subroutine with the $.R9!R/
statement are called CCCCCCCCCCCCCCCCCCC.
+ctual $arameters.
&?. 0n subroutines internal tables that are passed by T+7).' are always called by value
and result. 5TR8. / 9+)'.6
9+)'.. They are called by reference.
'+$ R/3 +rchitecture - 33 -
-
INTERACTIDE REPORTING
1. What is interactive reporting?
+. 0nteractive reporting helps you to create easy-to-read lists. Gou can display an overview list
first that contains general information and provide the user with the possibility of choosing
detailed information that you display on further lists.
#. What are the uses of interactive reporting?
+. With interactive reporting the user can actively control data retrieval and display during the
session. 0nstead of an e;tensive and detailed list you create a basic list with condensed
information from which the user can switch to detailed displays by positioning the cursor and
entering commands. The detailed information appears in secondary lists.
3. What are the event "ey words in interactive reporting?
+.
E*nt 3(.%$d E*nt
+T )04.-'.).>T0!4 /oment at which the user selects a line by
double-clic"ing on it or by positioning the
cursor on it and pressing 9#.
+T 8'.R->!//+4% /oment at which the user presses a
function "ey.
T!$-!9-$+=. %8R04=
)04.-'.).>T0!4
/oment during list processing of a
secondary list at which a new page starts.
&. What is secondary list?
+. 'econdary lists allow you to enhance the information presented in the basic list. The user can
for e;ample select a line of the basic list for which he wants to see more detailed
information. Gou display these details on a secondary list. 'econdary lists may either overlay
the basic list completely or you can display them in an e;tra window on the screen. The
secondary lists can themselves be interactive again.
,. Eow to select valid lines for secondary list?
+. To prevent the user from selecting invalid lines +7+$/& offers several possibilities. +t the
end of the processing bloc" .4%-!9-'.).>T0!4 delete the contents of one or more fields
you previously stored for valid lines using the E0%. statement. +t the event +T )04.-
'.).>T0!4 chec" whether the wor" area is initial or whether the E0%. statement stored
field contents there. 0n the latter case create a secondary list since you previously stored
field contents for valid lines only. +fter processing the secondary list clear the wor" area
again. This prevents the user from trying to create further secondary lists from the secondary
list displayed.
'+$ R/3 +rchitecture - 3& -
-
-. Eow to create user interfaces for lists?
+. The R/3 system automatically generates a graphical user interface 5=806 for your lists that
offers the basic functions for list processing such as saving or printing the list. 0f you want to
include additional functionality such as pushbuttons you must define your own interface
status. To create a new status the %evelopment Wor"bench offers the /enu $ainter. With
the /enu $ainter you can create menus and application toolbars. +nd you can assign
9unction "eys to certain functions. +t the beginning of the statement bloc" of +T .4%-!9-
'.).>T0!4 activate the status of the basic list using the statement< '.T $9-'T+T8'
L'T+T8'L.
2. What is interactive reporting?
+. + classical non-interactive report consists of one program that creates a single list. 0nstead of
one e;tensive and detailed list with interactive reporting you create a condensed basic list
from which the user can call detailed information by positioning the cursor and entering
commands. 0nteractive reporting thus reduces information retrieval to the data actually
re*uired.
3. >an we call reports and transactions from interactive reporting lists?
+. G.'. 0nteractive reporting also allows you to call transactions or other reports from lists.
These programs then use values displayed in the list as input values. The user can for
e;ample call a transaction from within a list to change the database table whose data is
displayed in the list.
:. What are system fields for secondary lists?
+.
'G-)'04% 0nde; of the list created during the current event 5basic list T ?6
'G-)0'T0 0nde; of the list level from which the event was triggered
'G-)0))0 +bsolute number of the line from which the event was triggered
'G-)0'.) >ontents of the line from which the event was triggered
'G->8R!W $osition of the line in the window from which the event was triggered
5counting starts with 16
'G->8>!) $osition of the column in the window from which the event was triggered
5counting starts with #6
'G->$+=. $age number of the first displayed page of the list from which the event
was triggered
'G-'T+R! 4umber of the first line of the first page displayed of the list from which
the event was triggered 5counting starts with 16. $ossibly a page header
occupies this line.
'G-'T+>! 4umber of the first column displayed in the list from which the event
was triggered 5counting starts with 16
'G-8>!// 9unction code that triggered the event
'G-$9H.G 'tatus of the displayed list
1?. Eow to maintain lists ?
+. To return from a high list level to the ne;t-lower level 5'G-)'04%6 the user chooses 7ac"
on a secondary list.The system then releases the currently displayed list and activates the list
created one step earlier.The system deletes the contents of the released list.To e;plicitly
specify the list level into which you want to place output set the 'G-)'04% field. The
system accepts only inde; values which correspond to e;isting list levels.0t then deletes all
'+$ R/3 +rchitecture - 3, -
-
e;isting list levels whose inde; is greater or e*ual to the inde; you specify.9or e;ample if
you set 'G-)'04% to ? the system deletes all secondary lists and overwrites the basic list
with the current secondary list.
11. What are the page headers for secondary lists?
+. !n secondary lists the system does not display a standard page header and it does not trigger
the event T!$-!9-$+=..To create page headers for secondary list you must enhance T!$-
!9-$+=.<
'ynta; T!$-!9-$+=. %8R04= )04.-'.).>T0!4. The system triggers this event for
each secondary list. 0f you want to create different page headers for different list levels you
must program the processing bloc" of this event accordingly for e;ample by using system
fields such as 'G-)'04% or 'G-$9H.G in control statements 509 >+'.6.
1#. Eow to use messages in lists?
+. +7+$/& allows you to react to incorrect or doubtful user input by displaying messages that
influence the program flow depending on how serious the error was. Eandling messages is
mainly a topic of dialog programming .Gou store and maintain messages in Table T1??.
/essages are sorted by language by a two-character 0% and by a three-digit number. Gou
can assign different message types to each message you output. The influence of a message
on the program flow depends on the message type. 0n your program use the /.''+=.
statement to output messages statically or dynamically and to determine the message type.
'ynta;<R.$!RT RrepS /.''+=.-0% RidS.
13. What are the types of messages ?
+. + message can have five different types. These message types have the following effects
during list processing<
M+ 5T+bend6<
M. 5T.rror6 or W 5TWarning6<
M0 5T0nformation6<
M' 5T'uccess6<
1&. What are the user interfaces of interactive lists ?
+. 0f you want the user to communicate with the system during list display the list must be
interactive. Gou can define specific interactive possibilities in the status of the listLs user
interface 5=806. To define the statuses of interfaces in the R/3 system use the /enu $ainter
tool.0n the /enu $ainter assign function codes to certain interactive functions.+fter an user
action occurs on the completed interface the +7+$/& processor chec"s the function code
and if valid triggers the corresponding event.
1,. What are the drill-down features provided by abap/& in interactive lists ?
+. +7+$/& provides some interactive events on lists such as +T )04.-'.).>T0!45double
clic"6 or +T 8'.R->!//+4%5pressing a button6.you can use these events to move
through layers of information about individual items in a list.
1-. What is meant by stac"ed list ?
+. + 'tac"ed list is nothing but secondary list and is displayed on a full-si1e screen unless you
have specified its coordinates using the window command.
'+$ R/3 +rchitecture - 3- -
-
12. 0s the basic list deleted when the new list is created?
+. 4!.0t is not deleted and you can return bac" to it using one of the standard navigation
functions li"e clic"ing on the bac" button or the cancel button.
13. What is meant by hotspots ?
+. + Eotspot is a list area where the mouse pointer appears as an upright hand symbol.When a
user points to that area5and the hand cursor is active6a single-clic" does the same thing as a
double-clic". Eotspots are supported from R/3 release 3.?c.
1:. What is the length of function code at user-command ?
+. .ach menu functionpush buttonor function "ey has an associated function code of length
9!8R 5for e;ample 9R..6 which is available in the system field 'G8>!// after the user
action.
#?. >an we create a gui status in a program from the obAect browser ?
+. Ges. Gou can create a =80 'T+T8' in a program using '.T $9-'T+T8'.
#1. 0n which system field does the name of current gui status is there ?
+. The name of the current =80 'T+T8' is available in the system field 'G-$9H.G.
##. >an we display a list in a pop-up screen other than full-si1e stac"ed list ?
+. Ges we can display a list in a po-up screen using the command W04%!W with the additions
starting at J1 G1 and ending at J# G# to set the upper-left and the lower-right corners where
;1 y1 and ;# y# are the coordinates.
#3. What is meant by hide area ?
+. The hide command temporarily stores the contents of the field at the current line in a system-
controlled memory called the E0%. +R.+.+t an interactive eventthe contents of the field is
restored from the E0%. +R.+.
#&. When the get cursor command used in interactive lists ?
+. 0f the hidden information is not sufficient to uni*uely identify the selected line the command
=.T >8R'!R is used.The =.T >8R'!R command returns the name of the field at the
cursor position in a field specified after the addition fieldand the value of the selected field
in a field specified after value.
#,. Eow can you display frames 5hori1ontal and vertical lines6 in lists ?
+. Gou can display tabular lists with hori1ontal and vertical lines 59R+/.'6 using the 8)04.
command and the system field 'G-B)04..The corners arising at the intersections of
hori1ontal and vertical lines are automatically drawn by the system.
#-. What are the events used for page headers and footers ?
+. The events T!$-!9-$+=. and .4%-!9-$+=. are used for page headers and footers.
#2. Eow can you access the function code from menu painter ?
+. 9rom within the program you can use the 'G-8>!// system field to access the function
code. Gou can define individual interfaces for your report and assign them in the report to
'+$ R/3 +rchitecture - 32 -
-
any list level. 0f you do not specify self-defined interfaces in the report but use at least one of
the three interactive event "eywords +T )04.-'.).>T0!4 +T $9RnnS or +T 8'.R-
>!//+4% in the program the system automatically uses appropriate predefined standard
interfaces. These standard interfaces provide the same functions as the standard list described
under the standard list.
#3. Eow the at-user command serves mainly in lists ?
+. The +T 8'.R->!//+4% event serves mainly to handle own function codes. 0n this case you
should create an individual interface with the /enu $ainter and define such function codes.
#:. Eow to pass data from list to report ?
+. +7+$/& provides three ways of passing data<
---$assing data automatically using system fields
---8sing statements in the program to fetch data
---$assing list attributes
3?. Eow can you manipulate the presentation and attributes of interactive lists ?
+. ---'crolling through 0nteractive )ists
---'etting the >ursor from within the $rogram
---/odifying )ist )ines
31. Eow to call other programs ?
+.

Report Transaction
>all and return '87/0T +4% R.T8R4 >+)) TR+4'+>T0!4
>all without
return
'87/0T ).+B. T! TR+4'+>T0!4
Gou can use these statements in any +7+$/& program.
3#. What will e;actly the hide statement do ?
+. 9or displaying the details on secondary lists re*uires that you have previously stored the
contents of the selected line from within the program. To do this +7+$/& provides the E0%.
statement. This statement stores the current field contents for the current list line. When
calling a secondary list from a list line for which the E0%. fields are storedthe system fills
the stored values bac" into the variables in the program. 0n the program code insert the E0%.
statement directly after the WR0T. statement for the current line. 0nteractive lists provide the
user with the so-called L04T.R+>T0B. R.$!RT04=L facility. 9or bac" ground processing
the only possible method of pic"ing the relavent data is through L4!4 04T.R+>T0B.
R.$!RTL.+fter starting a bac"ground Aobthere is no way of influencing the program.7ut
whereas for dialog sessions there are no such restrictions.
33. Eow many lists can a program can produce ?
+. .ach program can produce up to #1 lists< one basic list and #? secondary lists. 0f the
user creates a list on the ne;t level 5that is 'G-)'04% increases6 the system stores
the previous list and displays the new one. !nly one list is active and that is always
the most recently created list.
'+$ R/3 +rchitecture - 33 -
-
TRANSACTIONS
1. What is a transaction ?
- + transaction is a dialog program that changes database obAects in a consistent
way.
#. What are the re*uirements a dialog program must fulfill ?
- + dialog program must fulfill the following re*uirements
. a user friendly user interface
. format and consistency chec"s for the data entered by the user
. easy correction of input errors
. access to data by storing it in the database.
3. What are the basic components of dialog program ?
- 'creens 5%ynpros6
.ach dialog in an '+$ system is controlled by dynpros. + %ynpro consists of a
screen and its flow logic and controls e;actly one dialog step.
- +7+$/& module pool
.ach dynpro refers to e;actly one +7+$/& dialog program. 'uch a dialog
program is also called a module pool since it consists of interactive modules.
&. What are $7! and $+0 events ?
- $7! D $rocess 7efore !utput D 0t determines the flow logic before displaying the
screen
- $+0 D $rocess +fter 0nput D 0t determines the flowlogic after the display of the
screen
and after receiving inputs from the user.
,. What is a dynpro ? What are its components ?
- + dynpro 5%Gnamic $R!gram6 consists of a screen and its flow logic and
controls e;actly
one dialog step.
- The different components of the dynpro are<
9low logic< >alls of the +7+$/& modules for a screen
'creen layout< $ositions of the te;ts fields pushbuttons and so on for a screen
'creen attributes< 4umber of the screen number of the subse*uent screen and
others
9ield attributes< %efinition of the attributes of the individual fields on a screen
-. What is a +7+$/& module pool ?
- .ach dynpro refers to e;actly one +7+$/& dialog program. 'uch a dialog
program is also called a module pool since it consists of interactive
modules.
'+$ R/3 +rchitecture - 3: -
-
2. >an we use WR0T. statement in screen fields ? 0f not how is data transferred from
field data to screen fields ?
- We cannot write field data to the screen using the WR0T. statement. The system
instead transfers data by comparing screen field names with +7+$/& variable
names. 0f both names are the same it transfers screen field values to +7+$/&
program fields and vice-versa. This happens immediately before and
immediately after displaying the screen.
3. >an we use flow logic control "ey words in +7+$/& and vice versa ?
- The flow control code of a dynpro consists of a few statements that syntactically
ressemble +7+$/& statements. Eowever We cannot use flow control "eywords
in +7+$/& and vice versa.
:. What is a =80 status ? Eow to create/edit =80 status ?
- + =80 status is a subset of the interface elements used for a certain screen. The
status comprises those elements that are currently needed by the transaction. The
=80 status for a transaction may be composed of the following elements<

- Title bar
- /enu bar
- +pplication tool bar
- $ush buttons.
To create and edit =80 status and =80 title we use the /enu $ainter.
1?. Eow does the interaction between the %ynpro and the +7+$/& modules ta"es place ?
- + transaction is a collection of screens and +7+$/& routines controlled and
e;ecuted by a %ialog processor. The %ialog processor processes screen after
screen thereby triggering the appropriate +7+$/& processing for each screen.
9or each screen the system e;ecutes the flow logic that contains the
corresponding +7+$/& processing. The control passes from screen flow logic to
+7+$/& code and bac".
11. Eow does the %ialog handle user re*uests ?
- When an action is performed the system triggers the $R!>.'' +9T.R 04$8T
event. The data passed includes field screen data entered by the user and a
function code. + function code is a technical name that has been allocated in the
'creen $ainter or /enu $ainter to a menu entry a pushbutton the .4T.R "ey or
a function "ey of a screen. +n internal wor" field 5o"-code6 in the $+0 module
evaluates the function code and the appropriate
action is ta"en.
1#. What is to be defined for a pushbutton field in the screen attributes ?
- + function code has to be defined in the screen attributes for the pushbuttons in a
screen.
'+$ R/3 +rchitecture - &? -
-
13. Eow are the function codes handled in flow logic ?
- When the user selects a function in a transaction the system copies the function
code into a specially designated wor" field called !HC>!%.. This field is global
in the +7+$/& module pool. The !HC>!%. can then be evaluated in the
corresponding $+0 module.
The function code is always passed in e;actly the same way regardless of
whether it comes from a screenLs pushbutton a menu option function "ey or other
=80 element.
1&. What controls the screen flow ?
- The '.T '>R..4 and ).+B. '>R..4 statements control screen flow.
1,. The function code currently active is ascertained by what variable ?
- The function code currently active in a program can be ascertained from the 'G-
8>!// variable.
1-. What are XfieldY and XchainY statements ?
- The 90.)% and >E+04 flow logic statements let you program your own field
chec"s. 90.)% and >E+04 tell the system which fields you are chec"ingand
whether the system should perform chec"s in the flow logic or call an +7+$/&
module.
12. What is an Xon input fieldY statement ?
- !4 04$8T
The +7+$/& module is called only if the field contains a value other than its initial
value. This initial value is determined by the fieldLs data type< blan"s for character
fields 1eroes for numerics. 0f the user changes a field value bac" to its initial
value !4 04$8T does not
trigger a call.
13. What is an Xon re*uest fieldY statement ?
- !4 R.(8.'T
The +7+$/& module is called only if the user has entered a value in the field
value since the last screen display. The value counts as changed even if the user
simply types in the value that was already there. 0n general the !4 R.(8.'T
condition is triggered through any form of Vmanual inputV.
1:. What is an on X[-input fieldY statement ?
- !4 [-04$8T
The +7+$/& module is called if the user has entered a V[V in the first character of
the field and the field has the attribute [-entry in the 'creen $ainter. Gou can use
this option in e;ceptional cases where you want to chec" only fields with certain
"inds of input.
#?. What are conditional chain statements ?
- !4 >E+04-04$8T similar to !4 04$8T.
'+$ R/3 +rchitecture - &1 -
-
The +7+$/& module is called if any one of the fields in the chain contains a value
other than its initial value 5blan"s or nulls6.
!4 >E+04-R.(8.'T
This condition functions Aust li"e !4 R.(8.'T but the +7+$/& module is
called if any one of the fields in the chain changes value.
#1. What is Xat e;it-commandY ?
- The flow logic "eyword +T .J0T->!//+4% is a special addition to the
/!%8). statement in the flow logic. +T .J0T->!//+4% lets you call a
module before the system e;ecutes the automatic field chec"s.
##. Which function type has to be used for using Xat e;it-commandY ?
- To use +T .J0T->!//+4% we must assign a function type P.Q to the relevant
function in the /enu $ainter or 'creen $ainter.
#3. What are the different message types available in the +7+$/& ?
- There are altogether , types of message types available.
- . D .rror
- W D Warning
- 0 D 0nformation
- + D +bnormal termination
- ' D 'uccess
#&. 4avigation to a subse*uent screen can be specified statically / dynamically.
5 True / 9alse 6.
- True
#,. !f the two Xne;t screenY attributes the attribute that has more priority is
CCCCCCCCCCCC.
- %ynamic.

#-. %ynamic screen se*uence for a screen can be set using CCCCCCC and CCCCCC
commands.
- 'et screen >all screen.
#2. The commands through which an +7+$/& module can Xbranch toY or XcallY the ne;t
screen are 1.CCCCCCCCCCC #.CCCCCCCCCCC 3.CCCCCCCCCCCC &.CCCCCCCCCCCC.
- 'et screen Rscr noS >all screen Rscr noS )eave screen )eave to screen Rscr
noS.
#3. What is the difference between '.T '>R..4 and >+)) '>R..4 ?
- With '.T '>R..4 the current screen simply specifies the ne;t screen in the
chain. control branches to this ne;t screen as soon as the current screen has been
processed. Return from ne;t screen to current screen is not automatic. 0t does not
interrupt processing of the current screen. 0f we want to branch to the ne;t screen
without finishing the current one use ).+B. '>R..4.
'+$ R/3 +rchitecture - &# -
-
With >+)) '>R..4 the current 5calling6 chain is suspended and a ne;t screen
5or screen chain6 is called in. The called screen can then return to the suspended
chain with the statement ).+B. '>R..4 T! '>R..4 ?. 'ometimes we
might want to let an user call a popup screen from the main application screen to
let them enter secondary information. +fter they have completed their entries the
users should be able to close the popup and return directly to the place where they
left off in the main screen. Eere comes >+)) '>R..4 into picture. This
statement lets us insert such a se*uence into the current one.
#:. >an we specify the ne;t-screen number with a variable. 5 Ges / 4o 6.
- Ges.
3?. The field 'G-%G44R refers to CCC4umber of the current screenCCC.
31. What is a dialog module ?
- + dialog module is a callable se*uence of screens that does not belong to a
particular transaction. %ialog modules have their own module pools and can be
called by any transaction.
3#. The synta; used to call a screen as a dialog bo; 5 popup 6 is CCCCCCCCCCCCCCCCC.
- >+)) '>R..4 Rscreen numberS
'T+RT04= +T Rstart columnS Rstart lineS
.4%04= +T Rend columnS Rend lineS .
33. What is a Xcall modeY ?
- 0n the +7+$/& world each stac"able se*uence of screens is a Vcall modeV. This is
important because of the way you return from a given current se*uence. To
terminate a call mode and return to a suspended chain set the Vne;t screenV to ?
and leave to it<
).+B. T! '>R..4 ? or 5 '.T '>R..4 ? and ).+B. '>R..4 6. When
you return to the suspended chain e;ecution resumes with the statement directly
following the original >+)) '>R..4 statement. The original se*uence of
screens in a transaction is itself is a
calling mode. 0f you ).+B. T! '>R..4 ? in this se*uence 5 that is without
having stac"ed any additional call modes 6 you return from the transaction
altogether.
3&. The ma;imum number of calling modes stac"ed at one time is C4ineCCCCC.
3,. What is )8W or %atabase )8W or %atabase Transaction ?
- + X)8WY 5 logical unit of wor" 6 is the span of time during which any database
updates must be performed in an Xall or nothingY manner. .ither they are all
performed 5 committed 6 or they are all thrown away 5 rolled bac" 6. 0n the
+7+$/& world )8Ws and transactions can have several meanings<
'+$ R/3 +rchitecture - &3 -
-
)8W 5 or Xdatabase )8WY or Xdatabase transactionY 6
This is the set of updates terminated by a database commit. + )8W lasts at
most from one screen change to the ne;t 5 because the '+$ system triggers
database commits automatically at every screen change 6.
3-. What is '+$ )8W or 8pdate Transaction ?
- 8pdate transaction 5 or X'+$ )8WY6
This is a set of updates terminated by an +7+$/& commit. + '+$ )8W may last
much longer than a database )8W since most update processing e;tends over
multiple transaction screens.The programmer terminates an update transaction by
issuing a >!//0T W!RH statement.
32. What happens if only one of the commands '.T '>R..4 and ).+B. '>R..4 is
used without using the other?
- 0f we use '.T '>R..4 without ).+B. '>R..4 the program finishes
processing for the current screen before branching to Rscr noS. 0f we use ).+B.
'>R..4 without a '.T '>R..4 before it the current screen process will be
terminated and branch directly to the screen specified as the default ne;t-screen
in the screen attributes.
33. What is significance of the screen number P?Q ?
- 0n Vcalling modeV the special screen number ? 5).+B. T! '>R..4 ?6 causes
the system to Aump bac" to the previous call level. That is if you have called a
screen se*uence with >+)) '>R..4 leaving to screen ? terminates the
se*uence and returns to the calling screen. 0f you have not called a screen
se*uence ).+B. T! '>R..4 ? terminates the transaction.
3:. What does the command P'8$$R.'' %0+)!=Q do ?
- 'uppressing of entire screens is possible with this command. This command
allows us to perform screen processing Xin the bac"groundY. 'uppresing screens
is useful when we are branching to list-mode from a transaction dialog step.
&?. What is the significance of the memory table P'>R..4Q ?
- +t runtime attributes for each screen field are stored in the memory table called
P'>R..4Q. We need not declare this table in our program. The system
maintains the table for us internally and updates it with every screen change.
&1. What are the fields in the memory table P'>R..4Q ?
- 4ame )ength %escription
4+/. 3? 4ame of the screen field
=R!8$1 3 9ield belongs to field group 1
=R!8$# 3 9ield belongs to field group #
=R!8$3 3 9ield belongs to field group 3
=R!8$& 3 9ield belongs to field group &
+>T0B. 1 9ield is visible and ready for input
'+$ R/3 +rchitecture - && -
-
R.(80R.% 1 9ield input is mandatory
04$8T 1 9ield is ready for input
!8T$8T 1 9ield is for display only
04T.4'090.% 1 9ield is highlighted
04B0'07). 1 9ield is suppressed
).4=TE 1 9ield output length is reduced
%0'$)+GC3% 1 9ield is displayed with 3% frames
B+)8.CE.)$ 1 9ield is displayed with value help.
&#. Why grouping of fields is re*uired ? What is the ma;imum number of modification
groups for each field ?
- 0f the same attributes need to be changed for several fields at the same time these
fields can be grouped together. We can specify up to four modification groups for
each field.
&3. What are the attributes of a field that can be activated or deactivated during runtime ?
- 0nput !utput /andatory +ctive Eighlighted 0nvisible .
&&. What is a screen group ? Eow it is useful ?
- 'creen group is a field in the 'creen +ttributes of a screen. Eere we can define a
string of up to four characters which is available at the screen runtime in the 'G-
%4=R field. Rather than maintaining field selection separately for each screen of
a program we can combine logically associated screens together in a screen
group.
&,. What is a 'ubscreen ? Eow can we use a 'ubscreen ?
- + subscreen is an independent screen that is displayed in an area of another
5VmainV6 screen. To use a subscreen we must call it in the flow logic 5 both $7!
and $+0 6 of the main screen. The >+)) '87'>R..4 statement tells the
system to e;ecute the $7! and $+0 events for the subscreen as part of the $7! or
$+0 events of the main screen. The flow logic of your main program should loo"
as follows<
$R!>.'' 7.9!R. !8$T$8T.
>+)) '87'>R..4 RareaS 04>)8%04= LRprogramSL LRscreenSL.
$R!>.'' +9T.R 04$8T.
>+)) '87'>R..4 RareaS.
+rea is the name of the subscreen area you defined in your main screen. This
name can have up to ten characters. $rogram is the name of the program to
which the subscreen belongs and screen is the subscreenLs number.
&-. What are the restrictions on 'ubscreens ?
- 'ubscreens have several restrictions. They cannot<
'et their own =80 status
Eave a named !H code
>all another screen
'+$ R/3 +rchitecture - &, -
-
>ontain an +T .J0T->!//+4% module
'upport positioning of the cursor
&2. Eow can we use / display table data in a screen ?
- +7+$/& offers two mechanisms for displaying and using table data in a screen.
These mechanisms are T+7). >!4TR!)' and 'T.$ )!!$'.
&3. What are the differences between T+7). >!4TR!)' and 'T.$ )!!$' ?
- T+7). >!4TR!)' are simply enhanced 'T.$ )!!$' that display data with
the loo" and feel of a table widget in a des"top application. 7ut from a
programming standpoint T+7). >!4TR!)' and 'T.$ )!!$' are almost
e;actly the same. !ne maAor difference between 'T.$ )!!$' and T+7).
>!4TR!)' is in 'T.$ )!!$' their table rows can span more than one line on
the screen. 7y contrast the rows in a T+7). >!4TR!)' are always single
lines but can be very long. 5 Table control rows are scrollable 6. The structure of
table controls is different from step loops. + step loop as a screen obAect is
simply a series of field rows that appear as a repeating bloc". + table control as a
screen obAect consists of < i 6 table fields 5 displayed in the screen 6 ii 6 a
control structure that governs the table display and what the user can do with it.
&:. What are the dynpro "eywords ?
- 90.)% /!%8). '.).>T B+)8.' and >E+04 are the dynpro "eywords.
,?. Why do we need to code a )!!$ statement in both the $7! and $+0 events for each
table in the screen ?
- We need to code a )!!$ statement in both $7! and $+0 events for each table in
the screen. This is because the )!!$ statement causes the screen fields to be
copied bac" and forth between the +7+$/& program and the screen field. 9or this
reason at least an empty )!!$.......4%)!!$ must be there.
,1. The field 'G-'T.$) refers to CCCCCCCCCCCCCCCCCCC .
- The inde; of the screen table row that is currently being processed. The system
variable 'G-'T.$) only has a meaning within the confines of
)!!$....4%)!!$ processing. !utside the loop it has no valid value.
,#. Eow can we declare a table control in the +7+$/& program ?
- 8sing the synta; controls Rtable control nameS type tableview using screen Rscr
noS.
,3. %ifferentiate between static and dynamic step loops.
- 'tep loops fall into two classes< 'tatic and dynamic. 'tatic step loops have a
fi;ed si1e that cannot be changed at runtime. %ynamic step loops are variable in
si1e. 0f the user re-si1es the window the system automatically increases or
decreases the number of step loops bloc"s displayed. 0n any given screen you can
define any number of static step loops but only a single dynamic one.
'+$ R/3 +rchitecture - &- -
-
,&. What are the two ways of producing a list within a transaction ?
- 7y submitting a separate report.
- 7y using la* t% list0#$%&ssing.
,,. What is the use of the statement La* t% list0#$%&ssing ?
0 La* t% list0#$%&ssing statement is used to produce a list from a module pool.
La* t% list0#$%&ssing statement allows to switch from dialog-mode to list-
mode within a dialog program.
,-. When will the current screen processing terminates ?
- + current screen processing terminates when control reaches either a La*0
s&$n or the end of PAI.
,2. Eow is the command Su##$ss0Dial%g useful ?
- 'uppressing entire screens is possible using this command. This command allows
us to perform screen processing Xin the bac"groundY. The system carries out all
$7! and $+0 logic but does not display the screen to the user. 'uppressing
screens is useful when we are branching to list-mode from a transaction dialog
step.
,3. What happens if we use La* t% list0#$%&ssing without using Su##$ss0Dial%g 2
- 0f we donLt use Su#$ss0Dial%g the ne;t screen will be displayed but as empty.
when the user presses .4T.R the standard list output is displayed.
,:. Eow the transactions that are programmed by the user can be protected ?
- 7y implementing an aut'%$it( &'&3.
-?. What are the modes in which any update tas"s wor" ?
- 'ynchronous and +synchronous.
-1. What is the difference between 'ynchronous and +synchronous updates ?
- + program as"s the system to perform a certain tas" and then either waits or
doesnLt wait for the tas" to finish. 0n synchronous processing the program waits<
control returns to the program only when the tas" has been completed. 0n
asynchronous processing the program does not wait< the system returns control
after merely logging the re*uest for e;ecution.
-#. '+$ system configuration includes CCCCCCC tas"s and CCCCCCCC tas"s.
- %ialog 8pdate.
-3. %ialog-tas" updates are CCCCCCCCCCC updates.
'+$ R/3 +rchitecture - &2 -
-
- 'ynchronous
-&. 8pdate-tas" updates are CCCCCCCCCCC updates.
- +synchronous
-,. What is the difference between C%!!it05%$3 and R%llba&305%$3 tas"s ?
0 C%!!it05%$3 statement XperformsY many functions relevant to synchroni1ed
e;ecution of tas"s. Rollbac"-Wor" statement XcancelsY all re*uests relevant to
synchroni1ed e;ecution of tas"s.
--. What are the different database integrities ?
- 'emantic integrity
- Relational integrity
0 $rimary "ey integrity
0 Balue set integrity
0 9oreign "ey integrity and
- !perational integrity.
-2. +ll '+$ %atabases are ////////// %atabases.
- Relational
-3. What is '+$ loc"ing ?
- 0t is a mechanism for defining and applying logical loc"s to database obAects.
-:. What does a loc" obAect involve ?
- The tables
- The loc" argument.
2?. What are the different "inds of loc" modes ?
- 'hared loc"
- .;clusive loc"
- .;tended e;clusive list.
21. Eow can a loc" obAect be called in the transaction ?
- 7y calling EnEuu <l%&3 %bF&t" and DEuu <l%&3 %bF&t" in the
transaction.
2#. What are the events by which we can program Xhelp te;tsY and display Xpossible
values listsY ?
- $R!>.'' !4 E.)$-R.(8.'T 5$!E6
- $R!>.'' !4 B+)8.-R.(8.'T 5$!B6.
23. What is a matchcode ?
- + matchcode is an aid to finding records stored in the system whenever an obAect
"ey is re*uired in an input field but the user only "nows other 5non-"ey6
information about the obAect.
'+$ R/3 +rchitecture - &3 -
-
2&. 0n what ways we can get the conte;t sensitive 91 help on a field ?
- %ata element documentation
- %ata element additional te;t in screen painter
- 8sing the process on help re*uest event
2,. What is roll area ?
- + roll area contains the programLs runtime conte;t. 0n addition to the runtime
stac" and other structures all local variables and any data "nown to the program
are stored here.
2-. Eow does the system handle roll areas for e;ternal program components ?
- Transactions run in their own roll areas
- Reports run in their own roll areas
- %ialog modules run in their own roll areas
- 9unction modules run in the roll areas of their callers
22. %oes the e;ternal program run in the same '+$ )8W as the caller or in a separate
one?
- Transactions run with a separate '+$ )8W
- Reports run with a separate '+$ )8W
- %ialog modules run in the same '+$ )8W as the caller
- 9unction modules run in the same '+$ )8W as the caller
The only e;ceptions to the above rules are function modules called with 04
8$%+T. T+'H 5B# function only6 or 04 7+>H=R!84% T+'H 5+).
applications6. These always run in their own 5separate6 update transactions.
23. What are function modules ?
- 9unction modules are general-purpose library routines that are available system-
wide.
2:. What are the types of paramaters in the function modules ?
- 0n general function module can have four types of parameters<
- .J$!RT04=< for passing data to the called function
- 0/$!RT04=< for receiving data returned from the function module
- T+7).'< for passing internal tables only by reference 5that is by address6
- >E+4=04=< for passing parameters to and from the function
3?. What is the difference between La* T$ansa&ti%n and Call T$ansa&ti%n 2
- 0n contrast to ).+B. T! TR+4'+>T0!4 the >+)) TR+4'+>T0!4
statement causes the system to start a new '+$ )8W . This second '+$ )8W
runs parallel to the '+$ )8W for the calling transaction.
31. Eow can we pass selection and parameter data to a report ?
- There are three options for passing selection and parameter data to the report.
'+$ R/3 +rchitecture - &: -
-
. using '87/0T...W0TE
. using a report variant
. using a R+4=. table
3#. Eow to send a report to the printer instead of displaying it on the screen ?
- We can send a report to the printer instead of displaying it on the screen. To do
this use the "eywords T! '+$-'$!!)<
'87/0T R'9)904% ... T! '+$-'$!!) %.'T04+T0!4 L)T,?L.
33. Eow can we send data to e;ternal programs ?
- 8sing '$+/=$+ parameters 5'+$ memory6
- 8sing .J$!RT/0/$!RT data 5+7+$/& memory6
3&. What are '$+/=$+ parameters and how can we use them ?
- '$+/=$+ parameters are field values saved globally in memory. There are two
ways to use '$+/=$+ parameters<
by setting field attributes in the 'creen $ainter
by using the '.T $+R+/.T.R or =.T $+R+/.T.R statements
'+$ R/3 +rchitecture - ,? -
-
BDC
1. What is full form of 7%> 'ession ?
- 7atch %ata >ommunications 'ession.
#. What are the steps in a 7%> session ?
- The first step in a 7%> session is to identify the screens of the transaction that the
program will process. 4e;t step is to write a program to build the 7%> table that will
be used to submit the data to '+$. The final step is to submit the 7%> table to the
system in the batch mode or as a single transaction by the >+)) TR+4'+>T0!4
command.
3. Eow do you find the information on the current screen ?
- The information on the current screen can be found by 'ystem 'tatus
command from any menu.
&. Eow do you save data in 7%> tables ?
- The data in 7%> tables is saved by using the field name P7%>C!H>!%.Q and
field value of P/11Q.
,. What is the last entry in all 7%> tables ?
- 0n all 7%> tables the last entry is to save the data by using the field name
7%>C!H>!%. and a field value of P/11Q.
-. What is a multiple line field ?
- + multiple line field is a special "ind of field which allows the user to enter
multiple lines of data into it.
2. Eow do you populate data into a multiple line field ?
- To populate data into a multiple line field an inde; is added to the field name to
indicate which line is to be populated by the 7%> session 5)ine inde; 6.
3. Write the 7%> table structure.
- 7%> table structure
90.)% TG$. %.'>R0$T0!4
$rogram >E+R536 $rogram name of transaction
%yn$ro >E+R5&6 'creen number of transaction
%yn7egin >E+R516 0ndicator for new screen
9nam >E+R53,6 4ame of database field from
'creen
9val >E+R53?6 Balue to submit to field
'+$ R/3 +rchitecture - ,1 -
-
:. %oes the >+)) TR+4'+>T0!4 method allow multiple transactions to be processed
by '+$ ?
- 4o. The >+)) TR+4'+>T0!4 method allows only a single transaction to be
processed by '+$.
1?. %oes the 7%>C04'.RT function allow multiple transactions to be processed by '+$
?
- Ges.
11. What is the synta; for P>+)) TR+4'+>T0!4Q ?
- >+)) TR+4'+>T0!4 trans N using bdctab /!%. mode O.
Three possible entries are there for /!%..
+ - show all screens
. - show only screens with errors
4 - show no screens
1#. Which mode of P>+)) TR+4'+>T0!4Q method allows bac"ground processing ?
- 4 is the only mode that allows bac"ground processing.
13. 0s it possible to use P>+)) TR+4'+>T0!4Q without a 7%> table ?
- Ges it is possible to use P>+)) TR+4'+>T0!4Q without a 7%> table. 0n such
case the current program is suspended the transaction specified is brought up
and a user must enter the data into the screens.
1&. What is T>!%. ?
- T>!%. is the transaction code for the transaction that should be used to process
the data in the 7%> table being inserted.
1,. What are the function modules that need to be called from 7%> program to submit
the transactions for processing ?
- 7%>C!$.4C=R!8$
- 7%>C04'.RT
- 7%>C>)!'.C=R!8$
1-. Eow many sessions will be opened using 7%>C!$.4C=R!8$ ?
- !nly one session can be created using the 7%>C!$.4C=R!8$ functon.
12. What is P7+T>E 04$8TQ or P7%>Q ?
- The '+$ system offers two primary methods 57%> '.''0!4 /.TE!% >+))
TR+4'+>T0!4 /.TE!%6 for transferring data into the system from other
systems and 4on-'+$ systems. These two methods are collectively called as
P7+T>E 04$8TQ or P7atch %ata >ommunicationQ 57%>6.
13. What are the advantages in 7atch 0nput ?
- The 7atch 0nput ensures %ata integrity.
- 4o manual interaction is re*uired during %ata transfer.
'+$ R/3 +rchitecture - ,# -
-
1:. What is the functionality of P>lassical 7atch 0nputQ ?
- 0n P>lassical 7atch 0nputQ an +7+$/& program reads the e;ternal data that is to be
entered in the '+$ system and stores the data in a 7atch 0nput session. This
session stores the actions that are re*uired to enter your data using normal '+$
transactions.
#?. Which 9unction /odules are used in P>lassical 7atch 0nputQ ?
- 7%>C!$.4C=R!8$ 7%>C04'.RT 7%>C>)!'.C=R!8$.
#1. >an we use the +7+$/& dictionary to generate data structures for '+$ tables with the
programming languages ?
- Ges we can use >!7!) $)/1 +4% P>Q.
##. What is the use of P'tructure 0dentifiersQ in '+$ ?
- With P'tructure 0dentifierQ we can generate a listing of all of the table fields that
are re*uired by the corresponding 7atch 0nput program. We do not need to find
out which tables are re*uired for the 7atch 0nput program and generate their
structures individually.
#3. What is the use of R9> or >$0-> in '+$ ?
- With R9> or >$0-> we can transfer data between two R/3 systems.
#&. What is 'ynchronous %atabase update ?
- %uring the processing no transaction is stored until the previous transaction has
been written to the %atabase. This is called 'ynchronous %atabase update.
#,. What are the differences between >+)) TR+4'+>T0!4 and 7+T>E 04$8T
'.''0!4 ?
- The most important aspects of the batch session interface are<
- +synchronous processing
- Transfers data for multiple transactions
- 'ynchronous database update
%uring processing no transaction is started until the previous transaction has been
written to the database.
- + batch input processing log is generated for each session
- 'essions cannot be generated in parallel
The most important aspects of the >+)) TR+4'+>T0!4 8'04= interface are<
- 'ynchronous processing
- Transfers data for a single transaction
- 'ynchronous and asynchronous database updating both possible
The program specifies which "ind of updating is desired.
- 'eparate )8W for the transaction
The system performs a database commit immediately before and after the >+))
TR+4'+>T0!4 8'04= statement.
- 4o batch input processing log is generated
'+$ R/3 +rchitecture - ,3 -
-
#-. What are the types of 7atch 0nput ?
- >lassical 7atch 0nput
- >all Transaction
- >all %ialog
#2. What is 7%>C!H>!%. ?
- The command field is identified by a special name in batch input called
7%>C!H>!%.. This name is constant and always identifies the command field.
#3. Eow can we e;ecute a function in a 7%> session ?
- We can e;ecute a function in a transaction by entering the function code or
function "ey number in the command field of an '+$ session. + function "ey
number must be prefi;ed with the / 5slash6 character. + function code must be
prefi;ed with the T character.
- .;ample<
7%>%+T+-94+/ T L7%>C!H>!%.L
7%>%+T+-9B+) T LT8$%+L
#:. Eow can we position the cursor on a particular field ?
- 7%>%+T+-94+/ T P7%>C>8R'!RQ
7%>%+T+-9B+) T R90.)%4+/.S
3?. Who are %ialog users and who are 7ac"ground users ?
- %ialog users are normal interactive users in the '+$ system. 7ac"ground users
are user master records that are specially defined for providing authori1ations for
bac"ground processing Aobs.
31. What is the use of 7%>C04'.RT ?
- We add a transaction to a 7atch 0nput 'ession by using this function.
3#. What are the update modes in >+)) TR+4'+>T0!4 ?
- ' < 'ynchronous
- + < +synchrnous
- ) < )ocal
33. What does the message parameter indicates ?
- The message parameter indicates there all system messages issued during a >+))
TR+4'+>T0!4 are written into the internal table RitabS. The internal table
must have the structure of 7%>/'=>!)).
'+$ R/3 +rchitecture - ,& -
-
3&. What is %irect 0nput ?
- To enhance the batch input procedure the system offers the direct input techni*ue
especially for transferring large amount of data. This techni*ue doesnQt create
sessions but stores the data directly. The direct input programs must be e;ecuted
in the bac" ground only. To maintain and start these programs use program
R7/B'E!W or the transaction 7/B!.
3,. What are the features of Recording 9unction ?
- recording transaction runs
- creating batch input sessions from the recorded transaction runs.
- =enerating a batch input program from the recorded data.
3-. What is synchrnous database update ?
- %uring the processing no transaction is stored until the previous transaction has
been written to the database. This is called 'ynchronous database update.
'+$ R/3 +rchitecture - ,, -
-
SAP SCRIPT
1. The most important areas in the '+$ 'cript te;t D processing screen are
9ormat column input lines for entering te;t.
#. The two characters which we should not use while naming a '+$ 'cript are +steri;
>omma.
3. What is >ompare Tool in '+$ 'cript ?
'+$ 'cript offers tools for comparing obAects across clients. We can compare or
copy the following "inds of obAects.
'tyles
)ayout sets
%ocuments
With the >ompare tool we can do the following <
>hec" whether an obAect e;ists in both clients
%isplay the differences between the versions of an obAect
&. )ayout 'ets are used to control page layout and te;t formatting in documents .
,. '+$ 'tandard styles and layout sets are always held in >lient ???.
-. 0n what format does '+$ 'cript store te;t ?
'+$script te;ts are stored in 0nterchange Te;t 9ormat 50T96. '+$script offers
conversion programs for the te;t file formats Rich Te;t 9ormat 5RT96 and +'>00 as
an interface to other word processors.
2. The various window types in '+$ 'cript are /ain Bariable and >onstant.
3. The 4ew-$age command is used to force a $age brea" in the te;t at any point.
:. $rotect ... .ndprotect command pairs can be nested 5True / 9alse6.
9alse.
1?. %elimiter F must be used immediately before and after the symbol.
11. '+$script is the '+$ 'ystemLs own te;t-processing system. '+$
script is tightly integrated into the '+$ 'ystem. GouLll therefore be using it for
many different te;t-processing tas"s all over the '+$ 'ystem.
1#. )ayout sets are used for the page layout of '+$script documents.
0f a te;t is formatted for output to the screen or printer it must be
assigned a layout set. 0f a layout set has not been assigned to a te;t the layout set
'G'T./ which contains minimal definitions for te;t formatting is used
+utomatically.
'+$ R/3 +rchitecture - ,- -
-
13. There are two ways of formatting te;ts using layout sets<
The te;t is entered and output in standard te;t maintenance. Gou can assign any
layout set. Te;t can also be entered via the layout set a letter header for e;ample.
The te;t is formatted via an +7+$/& program using a layout set. The program can
either dynamically output individual predefined te;t modules te;t elements or
transfer entire te;ts which are to be output in the layout set.
1&. Gou can use styles to define the formatting of the te;t in your documents. + style
determines te;t formatting by setting the paragraph and character formats used in a
document. Gou can for e;ample use a style to highlight character strings or whole
paragraphs. Gou can assign a style to any te;t. Typically however youQll use styles
primarily in the main windows of layout sets where users type or enter te;t directly
in documents.
1,. Eeader data is found in both style and layout set maintenance.
0n style maintenance it is used primarily to present important information - designed
to ma"e it easier for the end user to select a style. The header data in layout set
maintenance on the other hand is used for information and control purposes.
1-. Windows are defined in layout set maintenance. They represent areas
which are positioned on pages as page windows and in which te;t is
later output. +t least one window must be defined for each layout set. 0f
not a te;t cannot be formatted by '+$ script.
12. The following window types can be used<
- /+04 D /ain window in which continuous te;t is output. This is the window
used by dialog users of a print program and layout set. 9or e;ample the body te;t
of a letter would be entered in /+04.
- B+R D Window with variable contents. The te;t can vary on each page in which
the window is positioned. Bariable windows are formatted for each page.
- >!4'T D Window with constant contents which is only formatted once.
13. + layout set has the following elements<
- Eeader data - %ata related to development 5created by development class etc.6
and layout set information 5which elements are used6 are both stored in the header
data. + start page must be entered here.
- $aragraph formats - $aragraph formats are re*uired in layout sets - as in styles -
in order to format te;ts. Eowever they are also used for word processing in
layout sets for e;ample to format te;t elements.
- >haracter formats - Gou can also use character formats to format te;ts or
paragraphs. 8nli"e paragraph formats however they are used to format te;t
within a paragraph.
- Windows - Windows are names and window types which are not physically
positioned until they are allocated to pages and units of measurement are
specified.
'+$ R/3 +rchitecture - ,2 -
-
- $ages - $ages are defined to provide the system with a start and end point in te;t
formatting.
- $age windows - $age windows are the combination of windows and pages where
the dimensions of a window and its position on a page are specified.
1:. The purpose of '+$ script control commands is to allow control of the
output formatting. These commands are not interpreted by the '+$script
editor but are passed through to the '+$script >omposer for processing. The
composer is the program that converts te;t from the form displayed in the editor to
the form used for printing.
'+$ R/3 +rchitecture - ,3 -
-
SAP EN9ANCEMENTS
1. What are the different ways in which you can ma"e
changes to '+$ standard software ?
>ustomi1ing
.nhancements to the '+$ 'tandard
/odifications to the '+$ 'tandard
>ustomer %evelopment
#. What is customi1ing ?
>ustomi1ing is the setting of system parameters via '+$Ls own interface.
3. Why do you need enhancements ?
The standard applications do not offer some of the functionality you need. The R/3
enchancement concept allows you to add your own functionality to '+$Ls standard
business applications.
&. What are the different types of enhancements ?
.nhancements using customer e;its
>ustomersL potential re*uirements which are not included in the standard software are
incorporated in the standard as empty modification LshellsL. >ustomers can then fill these
with their own coding. .nhancements can relate to programs menus and screens.
8pward compatibility is assured. 0n other words '+$ guarantees that the Aump from the
standard software to the e;it and the interface which call the e;it will remain valid in
future releases.
.nhancements to +7+$/& %ictionary elements
These are +7+$/& %ictionary enhancements 5creation of table appends6 te;t
enhancements 5customer-specific "ey words and documentation for data elements6 and
field e;its 5creation of additional coding for data elements6.
,. What is customer development ?
>reating customer-specific obAects within the customer name range.
-. What is ''>R ?
''>R 5'+$ 'oftware >hange Registration6 is a procedure for registering all manual
changes to '+$ source coding and '+$ %ictionary obAects.
'+$ R/3 +rchitecture - ,: -
-
2.What is the difference between modifications and enhancements ?
/odifications mean ma"ing changes to the '+$ standard functionality.
.nhancements mean adding some functionality to '+$ standard functionality.
3. What are the disadvantages of modification ?
/odifying standard code can lead to errors
/odifications mean more wor" during software upgrades
:. What are the advantages of enhancements ?
%o not affect standard '+$ source code
%o not affect software upgrades
1?. when do you opt for modification ?
>ustomer e;its are not available for all programs and screens within the R/3 standard
applications. Gou can only use e;its if they already e;ist within the '+$ R/3 'ystem .
!therwise you have to opt for modifications .
11. What are the various types of customer e;its ?
/enu e;its
'creen e;its
9unction module e;its
Heyword e;its
1#. What is a menu e;it ?
+dding items to the pulldown menus in standard R/3 applications .
13.What is a screen e;it ?
+dding fields to the screens within R/3 applications. '+$ creates screen e;its by
placing special subscreen areas within a standard R/3 screen and calling a customer
subscreen from within the standard dynproLs flow logic.
1&. What is a function module e;it ?
+dding functionality to R/3 applications. 9unction module e;its play a role in both
menu and screen e;its.
1,. What is a "eyword e;it ?
+dd documentation to the data elements of "ey words defined in the +7+$/& %ictionary.
The system displays this documentation whenever a user presses 91 to get online help for
a screen field.
'+$ R/3 +rchitecture - -? -
-
1-. Eow do '+$ organi1es its e;its ?
'+$ organi1es its e;its in pac"ages that are called '+$ enhancements. .ach '+$
enhancement can contain many individual e;its.
12. What is an add-on proAect ?
To ta"e advantage of the e;its available within standard R/3 applications you need to
create an add-on proAect. This proAect lets you organi1e the enhancement pac"ages and
e;its you want to use. The add-on proAect also allows you to hang add-on functionality
onto the e;it hoo"s contained with '+$ enhancements.
'+$ R/3 +rchitecture - -1 -
-
R7C
1. What are the types of remote communications ?
communications between two independent '+$ 'ystem
client-server communications between an e;ternal client and an '+$ 'ystem acting
as the
server
client-server communications between an '+$ 'ystem acting as the client and an
e;ternal
server.
#. R9> is '+$Ls platform-independent core technology for all the three types of remote
communications.
3. What is !). ?
9or Windows frontends '+$ provides interfaces based on /icrosoftLs !bAect
)in"ing and .mbedding technology 5!). +utomation6.
&. What is R9>?
+ remote function call is a call to a function module running in a system different
from the callerLs. The remote function can also be called from within the same
system 5as a remote call6 but usually caller and callee will be in different systems.
,. Eow is +7+$/& used as !). +utomation >ontroller ?
+n +7+$/& program can call up an !). +utomation 'erver 5such as .;cel6 on
the des"top. The +7+$/& !). +utomation >ontroller consists of a set of
+7+$/& language elements that an +7+$/& client program can use to drive an
!). +utomation server on either Windows or +pple /acintosh frontends.
-. What is the statement used for calling R9> in +7+$/& programs?
+ny +7+$/& program can call a remote function using the >+))
984>T0!4...%.'T04+T0!4 statement.
2. R9> functions must be registered in '+$ systems as CCCCCCCCCCCCCCC.
Remote.
3. %estination parameter are defined in which table?
)ogical destinations are defined in the R9>%.' table 5or the TR9>% table in
R/# 'ystems6 via transaction '/,:
:. Eow to >all interfaces for non-'+$ programs ?
To help implement R9> partner programs in non-'+$ 'ystems '+$ provides <
- The R9> =enerator to create stub programs
.;ternal 0nterfaces
'+$ R/3 +rchitecture - -# -
-

1?. What is R9> generator ?
The function library in R/3 provides a facility for generating and then
downloading R9> programs to a wor"station or $>. This facility is the R9>
0nterface =enerator. With this tool you can create R9> stub programs 5that call
'+$ function modules6 and e;ample programs 5that show how to call stub
programs6.
11. What is R9> stub program?
R9> stub programs contain all the parameter-handling and communications
necessary to call '+$ function modules from a non-'+$ 'ystem.
1#. What is R9>-+$0?
The R9>-+$0 on !'/# Windows Windows 4T and all R/3-based 840J
platforms ma"es it possible to use the R9> functionality between an '+$ 'ystem
5R/3 from Release #.1 and R/# from Release ,.?% onwards6 and a > program on
the above platforms. 0t is of no significance to the caller whether the remote
function is provided in an '+$ 'ystem or in a > program.

13. Eow does processing of R9> interface ta"e place in +7+$/&?
The R9> interface is effectively invisible to the +7+$/& programmer. $rocessing
for calling remote programs is built into the >+)) 984>T0!4 statement.
$rocessing for being called is generated automatically 5in the form of an R9>
stub6 for every function module registered as remote. This stub serves as an
interface between the calling program and the function module.

1&. %istiningish between R9> client F R9> server.
R9> client is the instance that calls up the Remote 9unction >all to e;ecute the
function that is provided by an R9> server. 0n the following the functions that
can be e;ecuted remotely will be called R9> functions and the functions provided
via R9> +$0 will be called R9> calls
1,. +ll R9> functions available in a remote R9> server system which are called by an
R9> client are processed transactionally
1-. When is R9> connection closed ?
When the conte;t of the calling +7+$/& program has ended or
e;plicitly by Rfc+bort or Rfc>lose in the e;ternal program.
12. What is Transactional R9>?
To ma"e the e;ecution of R9> functions reliable safe and independent from the
availability of the R9> server or R9> server system the transactional R9>
5tR9>6 was introduced for R/3 systems from Release 3.? onwardsdata can be
tranferred between two R/3 systems. This ensures that the called function module
is e;ecuted only once in the R9> server system.
'+$ R/3 +rchitecture - -3 -
-
13. Where system logs the remote call re*uest in %7 tables?
The system logs the remote call re*uest in the database tables +R9>''T+T. and
+R9>'%+T+ with all of its parameter values. Gou can display the log file using
transaction '/,3. When the calling program reaches a >!//0T W!RH the
remote call is forwarded to the re*uested system for e;ecution.
1:. Transactional R9> re*uests are transferred with parameter data in byte-stream form
using
T>$/0$ or J&??.
#?. What are restrictions for Transactional calls?
There are two restrictions on writing remote functions that are to be called
transactionally<
M Transactional calls cannot return parameter values. +s a result the interface
for these functions should not specify any .J$!RT parameters.
M 9unctions that run transactionally may not perform call-bac"s< the callerLs
conte;t does not necessarily still e;ist when the call-bac" is relayed bac" to the
original system.
#1. What e;ceptions raise in a remote funcation?
'ystem raises >!//840>+T0!4C9+0)8R. and 'G'T./C9+0)8R.
internally there is no reason for you to raise them in your program.
##. Eow call-bac" mechanism used in R9> calls?
Gou can trigger this call-bac" mechanism by using the special destination name
V7+>HV. 0f this name is specified in an R9> call on the system acting as the
server the system uses the same R9> connection that was established when the
server received the first call. !nce an R9> connection is established it is
maintained until it is either e;plicitly closed or until the calling program
terminates
#3. What are technical re*uirements for R9> programming in +7+$/&?
.;ternal 'ystems
systems must support T>$/0$.
!'/#< T>$/0$ for !'/# from 07/.
Windows 3.1/3.11< +ll T>$/0$ products that support the soc"et
interface.
Windows 4T/:,< /icrosoft standard
840J platforms< /anufacturerLs standard
The R9>'%H for the respective platforms contains the following libraries and
includes<
saprfc.h This include file contains all data types and structures re*uired and the
prototypes 5declarations6 of the R9> calls.
'+$ R/3 +rchitecture - -& -
-
sapitab.h This include file contains all the R9> calls re*uired to manipulate
internaltables

librfc %epending on the platform the following libraries are re*uired<
!'/#< librfc.dll and librfc.lib for >ompile/)in"
Windows 3.1/3.11< librfc1-.dll librfc#.dll librfc3.dll librfc&.dll
and librfc,.dll and librfc1-.lib for >ompile/)in"
Windows 4T/:,< librfc3#.dll and librfc3#.lib for >ompile/)in"
840J-$latforms< librfc.a
'+$ R/3 'ystems
9or R9> between e;ternal systems and R/3 there are no specific
re*uirements in the R/3 'ystem e;cept that the R/3 'ystem has to be
Release ST #.1.
T%#i&s )%$ )u$t'$ dis&ussi%n
ABAP+, B I BATC9
1. $erformance .nhancements in reports
- 8sing inde; tables.
- !ther methods.
#. '+$ scripts
- /odifying system defined layout sets.
- 0nserting images
3. 7%>Qs for multiple transactions.
&. 8ser e;its overview 5all types6.
,. +dvanced types< Rfcs 7+$0s 0T' !)..
-. 9inding user e;its for particular transactions.
2. $rint programs for system defined layout sets.
3. 7%> error logs.
:. 7ac"ground Aob processing.
1?. $ooled F >luster tables.
- Eow to get fields from pooled F cluster tables.
11. %ebugger.
'+$ R/3 +rchitecture - -, -
-
1. What is the difference between $ass by value and $ass by reference?
$ass by Balue< When subroutine is called formal parameters are copies of
the actual parameters with their own storage location
..g.6 form.... 8sing value 5f16 value 5f#6.
$ass 7y reference< The formal parameters are not allocated a separate
storage location. . 0nstead the address of the relevant actual parameter is passed. >hanges
to the values of formal parameters directly effect on the assigned mail program fields.
..g.6 form ...using f1 f#.
0n case of 9unction /odules< .;port parameters are used to pass values to
the function modules where as 0mport parameters are used for returning the values to the
program. These two are passed by value. Tables parameter is passed by reference.
0nternal tables are not copied when Tables are used.
#. What are matchcodes and inde;es?
/athcodes can be used to search data records stored in the system.
0nde;es are associated with tables for data retrieval.
..g.6 read table itab inde; 1. This means the 1st record is read.
3. %iff between call transaction and batch input
>all Transaction< usually used in %elu;e
.g6 0n fCprocessCdetailCrec
/ove P97?1Q to vCtcode.
>ode the dynpro commands here. The values are appended into
iCbdcCtable
/ove cCreadyCtoCpost to vCtransactionCstatus.
What happens now is the 0nbound driver now do >all Transaction
call transaction vCtcode using iCbdcCtbl
update vCupdmode
mode cCnoCdisplay
messages into iCmsg.
7atch 0nput processing methods.
7atch 0nput or 7%> and >all Transaction
7atch input< Eere the +7+$ program reads the e;ternal data to be
.ntered to the '+$ 'ystem and stores the data in P7atch 0nput sessionsQ or
batch input *ueues .+ session stores the actions that are re*uired to enter
the data using normal '+$ transactions. When the program has completed
generating sessions we can run the sessions to e;ecute the '+$
transactions in it. We can either e;plicitly start and monitor the session
using P7atch 0nput management functionQ or have the session run in the
bac"ground processing system. This method uses the function modules
7%>C!$.4 7%>C04'.RT 7%>C>)!'. to generate sessions.
9or 7atch 0nput we use structures li"e 7=R?? etc. +ll the fields in the
structure needs to be filled. 'o for those fields which we need no values
'+$ R/3 +rchitecture - -- -
-
need to be filled with something called 4!%+T+ which is a P/Q. There are
lots of predefined 7%> programs to transfer data to '+$.
+dv. - Transfer data for multiple transactions
- %uring processing no transaction is started until the previous
transaction has bee written to the datbase
- + batch input processing log is generated for each session
>all Transaction< 0n this method program uses the +7+$ >+))
TR+4'+>T0!4 8'04= statement to run the '+$ transaction. 7atch
input data does not have to be deposited in a session for later processing.
0nstaed the entire atch processing ta"es place inline in the program.
Eere the program prepares the data calls the transaction for
immediate processing
+dv. - Transfer data for a single transaction
- 'ynchronous and asynchronous database update possible
- 'eparate )8W for transaction
- 4o batch inpur processing log generated
+ll these data transfer methods uses the same structure called 7%>%+T+
to store the data.
To write a 7atch 0nput program
- Read the data often from a se*uential file that has been e;ported from
another system or created by data transfer program
- if necessary perform data formatting or error-chec"in
- prepare the data for batch 0nput by storing the data in the batch input
data structure 7%>%+T+.
- =enerate 7atch input session for classical batch input or process the
data directly with call transaction
%irect 0nput
To enhance the batch input procedure the system offer direct load
techni*ue
.specially for transferring large amount of data. 0n contrast to batch input
this techni*ue does not create sessions but stores data directly. 0t does not
process screens. 0t updates the corresponding database tables directly by
calling lots of function modules. Thiese programs needs to be processed
using transaction 7/B?.
R9707)!! D 90
R/%+T04% D //
'+$ R/3 +rchitecture - -2 -
-
.;ample programs for 7atch 0nput and >all Transaction
$rogram 1ysapbdc line-si1e 1#?.
[[[[ +dd a line ina report
parameters< bdctype type c default P/Q.
X/ T >reate batch input session
XT T >all transaction
[[[[!nly used for batch input sessions
parameters< group51#6 type c default P7%>T.'TQ X group name of the session
user51#6 type c default sy-uname X user name for starting the session in
bac"ground
"eep516 type c X P P T delete session after processing PJQ T delete
session
holddata li"e sy-datum.
[[[[used for call transaction
parameters< dmode type c default P+Q. Xdisplay modes
X+ T display all screens
X. T display error screens
X4 T 4o display
[[[[ batch input data for a single transaction
data< begin of bdcdata occurs ?
include structure bdcdata
end of bdcdata.
data< begin of messtab occurs ?
include structure bdcmsgcoll
end of messtab.
[[[[generate batch input
case bdctype.
When P/Q.
$erform createCgroup.
.;it.
When PTQ.
$erform callCtransaction.
.;it.
.ndcase.
[[[[ create batch input sessions
form createCgroup.
[[[[open batch input group
call function P7%>C!$.4C=R!8$Q
.;porting
>lient T sy-mandt
=roup T group
'+$ R/3 +rchitecture - -3 -
-
8ser T user
Heep T "eep
Eolddate T holddate.
[[[[ insert first transaction
perform =.4C7%>C%+T+
call function P7%>C04'.RTQ
e;porting
tcode T P'.33Q
tables
dynprotab T bdcdata.
[[[[ insert second transaction
perform =.4C7%>C%+T+
call function P7%>C04'.RTQ
e;porting
tcode T P'.33Q
tables
dynprotab T bdcdata.
[[[[ close batch input group.
>all function P 7%>C>)!'.C=R!8$Q.
.ndform. Xform createCgroup
[[[[call transaction using
form callCtransaction.
$erform =.4C7%>C%+T+.
>all transaction P'.33Q using 7%>%+T+ mode %/!%. messages into /.''T+7.
Write</ sy-subrc messages etc^
.ndform.
[[[[ create batch input data for transaction '.33
form =.4C7%>C%+T+.
Refreash bdcdata.
$erform bdcCdynpro using ^^
$erform bdcCfield using ^^
.ndform.
[[[[in the batch input datastart a new screen
form bdcCdynpro using program dynpro.
>lear bdcdata.
7dcdata-program T program.
7dcdata-dynpro T dynpro.
7dcdata-dynbegin T PJQ.
+ppend bdcdata.
.ndform.
'+$ R/3 +rchitecture - -: -
-
[[[[in the batch input data insert the field
form bdcCdynpro using program dynpro.
>lear bdcdata.
7dcdata-fnam T fnam.
7dcdata-fval T fval.
+ppend bdcdata.
.ndform.
&. What are events? >an they be interchanged while coding?
.vent 7loc"s are called by the +7+$ runtime system. The se*uence in
which the processing bloc"s are specified in the system is not of importance. The system
always calls them in a particular se*uence. eg6 initiali1ation start of selection end of
selection
,. While opening files what is the difference between opening in te;t mode and
binary mode
!$.4 %+T+'.T 9!R 5!8T$8T/04$8T/+$$.4%04=6 04
5704+RG/T.JT6 /!%.
0n 7inary /ode<
Records are read at a time.
.g6 + 7 >
+ 7
+ 7 > %
Reading U 7 > + 7 + 7 > %
0f written into a field of length &
+ 7 > +
7 + 7 >
%
0n Te;t /ode.
9ile is structured in lines.
Reading + 7 > C + 7 C + 7 > %
Writing
+ 7 >
+ 7
+ 7 > %
%efault is 7inary /ode.
-. What do the >!)).>T statement do?
The >ollect statement includes the header line of an internal table in the
table as a new entry or adds it to an e;isting entry of the same type. +7+$/& scans the
table for an entry which corresponds to the header line ia all the fields which are not of
type $ 0 9. 0f such an entry is found the system adds all $0 and 9 fields from the header
'+$ R/3 +rchitecture - 2? -
-
line to the corresponding fields in the table entry. if no match is found it is appended to
the table
2. What are logical databases?
They are special data retrieval programs delivered by '+$. 0t has got its
own dynamic selection screens. Gou need to code only the processing logic. ..g.6 =.T
>E.>H. + logical database consists of a read program in which the structure of the
local database is reproduced and a selection screen. The selection screen contains "ey
terms for which a T+7).' statement e;ists. +lso the 'election screen contains "ey
terms from tables with no T+7).' statements provided they are higher in the hierarchy
that the tables for which such a statement has been formulated in the report.
3. %ifferent types of 8ser %ialogs.
'election screens 'creens /essages lists
:. 'etting in 'creens
'creen +ttributes
)ayout .ditor
9low )ogic
.lement list
9low logic is where the processing logic is coded. The statement >+)) '>R..4 R
'creen 4umberS calls the screen. 'creens can be called using transaction >odes.'creen
uses /odule pool programming. Two event bloc"s are $7! and $+0.
..g.6
$rocess 7efore !utput.
/odule test1.
1?. %efine domains data elements and fields
%omains< describes the technical attributes of a table field li"e field type
length etc
%ata .lements< >ontains schematic description of a field
9ields< where the data is stored
11. 9unction /odules
9unction /odules are created using 9unction 7uilder. 0t contains 0nterface 50mport
.;port >hanging Tables .;ceptions6 'ource >ode =lobal data /ain $rogram
>+)) 984>T0!4 Rfunction nameS
1#. 8sing +T )04.-'.).>T0!4 command
E0%. "eyword is used to store data associated with the lines produced for
the base report. When you double clic" on a line the values for this line
stored in the
E0%. area is inserted into the corresponding data obAect.
'+$ R/3 +rchitecture - 21 -

Você também pode gostar