Vous êtes sur la page 1sur 33

SAP ABAP all Question

itsabaper.blogspot.com/2014/06/sap-abap-all-question.html

DATA DICTIONARY

Type of a table or structure


The table type determines how the logical table description
defined in the ABAP/4 Dictionary is reproduced on the
database. There are the following table types:
transparent table
structure
append structure
For internal purposes, such as storing control data or update
texts, there are in addition the following table types:
pooled table
cluster table
generated view structure
Transparent table There is a physical table on the database
for each transparent table. The names of the physical tables
and the logical table definition in the ABAP/4 Dictionary
correspond. All business data and application data are stored
in transparent tables.

Structure No data records exist in the database for a


structure. Structures are used for the interface definition
between programs or between screens and programs.

Append structure An append structure defines a set of fields


which belong to another table or structure but which are
treated in the correction administration as its own object.
Append structures are used to support modifications.

Pooled table Pooled tables can be used to store control data


(e.g. screen sequences, program parameters or temporary
data). Several pooled tables can be combined to form a table

1/33
pool. The table pool corresponds to a physical table on the
database in which all the records of the allocated pooled
tables are stored.

Cluster table Cluster tables contain continuous text, for


example, documentation. Several cluster tables can be
combined to form a table cluster. Several logical lines of
different tables are combined to form a physical record in this
table type. This permits object-by-object storage or object-by-
object access. In order to combine tables in clusters, at least
parts of the keys must agree. Several cluster tables are stored
in one corresponding table on the database.

Generated view structure In activation a structure is generated


for a view. This structure serves as interface for the runtime
environment. It does not generally appear in the ABAP/4
Dictionary.

What is a Data Class?


The Data class determines in which tablespace the table is
stored when it is created in the database. What is a Size
Category? The Size category describes the probable space
requirement of the table in the database. How Many types of
size categories and data classes are there? There are five size
categories (0-4) and 11 data classes, only three of which are
appropriate for application tables:
- APPL0 - Master data (data frequently accessed but rarely
updated)
- APPL1 - Transaction data (data that is changed frequnetly)
- APPL2 - Organisational data (customizing data that is
entered when system is
configured and then rarely changed)

What are control tables?


The values specified for the size category and data class are
mapped to database-specific values via control tables.

What is the function of the transport system and workbench


organiser?
2/33
The function of the transport system and the Workbench
Organizer is to manage any changes made to objects of the
ABAP/4 Development Workbench and to transport these
changes between different SAP systems.

What is a table pool?


A table pool (or pool) is used to combine several logical tables
in the ABAP/4 Dictionary. The definition of a pool consists of
at least two key fields and a long argument field (VARDATA).

What are pooled tables?


These are logical tables which must be assigned to a table
pool when they are defined. Pooled tables can be used to
store control data (such as screen sequences or program
parameters).

What is a table cluster?


A table cluster combines several logical tables in the ABAP/4
Dictionary. Several 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.
Which objects are independent transport objects?
Domains, Data elements, Tables, Technical settings for tables,
Secondary indexes for transparent tables,
Structures, Views,
Matchcode objects, Matchcode IDs, Lock objects.

What are the Data types of the external layer?


ACCP, CHAR, CLNT, CUKY,CURR, DATS, DEC, FLTP, INT1,INT2,
INT4, LANG, LCHR,LRAW, NUMC, PREC, QUAN,RAW ,TIMS,
UNIT, VARC.

What are the Data types of the ABAP/4 layer?


Possible ABAP/4 data types: C: Character. D: Date, format
YYYYMMDD. F: Floating-point number in DOUBLE PRECISION
(8 bytes). I: Integer. N: Numerical character string of arbitrary
length. P: Amount or counter field (packed; implementation
depends on hardware platform). S: Time stamp
3/33
YYYYMMDDHHMMSS. T: Time of day HHMMSS. V: Character
string of variable length, length is given in the first two bytes.
X: Hexadecimal (binary) storage.

How can we set the tablespaces and extent sizes ?


You can specify the extent sizes and the tablespace (physical
storage
area in the database) in which a transparent table is to be
stored by setting the size category and data class.

What is a data dictionary ?


Data dictionary is a central source of data in a data
management system. Its main function is to support the .It
has details about

- What data is contained ?


- What are the attributes of the data ?
- What is the relationship existing between the various data
elements ?

What functions does a data dictionary perform ?


In a data management system, the principal functions
performed by the data dictionary are
- Management of data definitions
- Provision of information for evaluation
- Support for software development
- Support form documentation
- Ensuring that the data definitions are flexible and up-to-date.

A field containing currency amounts (data type CURR) must


be assigned to a reference table and a reference field. Explain.
As a reference table, a system table containing all the valid
currencies is assigned or any other table which contains a
field with the currency key 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.

4/33
What is the significance of Technical settings (specified while
creating a table in the data dictionary) ?
By specifying technical settings we can control how database
tables are created in the database. The technical settings
allows us to - optimize storage space requiremnets
- table access behaviour
- buffering required
- changes to entries logged

What is the significance of Delivery Class ?


- The delivery class controls the degree to which the SAP or
the customer is responsible for table maintenance
- whether SAP 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.

What is the maximum number of structures that can be


included in a table or structure
- Nine.

What are the two methods of modifying Sap standard tables ?


- Append Structures and
- Customizing Includes.

What is the difference between a Substructure and an Append


Structure ?
- In case of a substructure, the reference originates in the
table itself, in the forma of a statement .include... . - In case of
an append structure, the table itself remains unchanged and
the refrence originates in the append structure.

What are the two ways for restricting the value range for a
domain?
- By specifying fixed values.
- By stipulating a value table.

What is a Match Code ?


Match Code is a tool to help us to search for data records in
5/33
the system. Match codes are an efficient and user-friendly
search aid where key of a record is unknown. What are the
two levels in defining a Match Code ?
- Match Code object
- Match Code Id.

What is the maximum number of match code Id's that can be


defined for one Match code object ?
- 36. A match code Id is a one character ID which can be a
letter or a number.

Can we define our own Match Code ID's for SAP Matchcodes
?
Yes, the numbers 0 to 9 are reserved for us to create our own
Match Code IDs for a SAP defined Matchcode object.

What is an Update type with reference to a Match code ID?


If the data in one of the base tables of a matchcode ID
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 Building matchcodes . You must specify the
update type when you define a matchcode ID.

What are conversion routines ?


- Non standard conversions from display format to sap
internal format and vice-versa are implemented with so called
conversion routines.
Aggregated Objects Views, matchcodes, and lock objects are
also called aggregate objects because they are formed from
several related tables.

What is a View ?
- A view is a logical view on one or more tables. A 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. A view can be used to summarize data which is
distributed among several tables

6/33
How many types of Views are there ? - Database View (SE11)
Database views are implement an inner join, that is, only
records of the primary table (selected via the join operation)
for which the corresponding records of the secondary tables
also exist are fetched. Inconsistencies between primary and
secondary table could, therefore, lead to a reduced selection
set. In database views, the join conditions can be formulated
using equality relationships between any base fields. In the
other types of view, they must be taken from existing foreign
keys. That is, tables can only be collected in a maintenance or
help view if they are linked to one another via foreign keys.

- Help View ( SE54)


Help views are used to output additional information when the
online help system is called. When the F4 button is pressed
for a screen field, a check is first made on whether a
matchcode is defined for this field. If this is not the case, the
help view is displayed in which the check table of the field is
the primary table. Thus, for each table no more than one help
view can be created, that is, a table can only be primary table
in at most one help view.

- Projection View
Projection views are used to suppress or mask certain fields
in a table (projection), thus minimizing the number of
interfaces. This means that only the data that is actually
required is exchanged when the database is accessed. A
projection view can draw upon only one table. Selection
conditions cannot be specified for projection views.

Maintenance View ( SE54 )


Maintenance views enable a business-oriented approach to
looking at data, while at the same time, making it possible to
maintain the data involved. Data from several tables can be
summarized in a maintenance view and maintained
collectively via this view. That is, the data is entered via the
view and then distributed to the underlying tables by the
system.

7/33
What is Locking ?
When two users simultaneously attempt to access the same
data record, this is synchronised by a lock mechanism.
When dialog transactions are programmed, locks are set and
released by calling certain function modules. These function
modules are generated automatically from the definition of
so-called lock objects in the ABAP/4 Dictionary. To
synchronize the access to a table by setting and removing
locks, a Lock object has to be defined in the ABAP/4
Dictionary. Activating the lock object automatically creates
#function modules for setting and removing locks. These
function modules must be included when programming
interactive transactions.

Lock Mechanism : To set locks, a lock object must be defined


in the ABAP/4 Dictionary. In this lock object, those tables in
which data records are to be locked by calling a lock are
determined. All tables included in a lock object must be
connected to each other via foreign keys. The key fields of the
tables in a lock object form the Lock arguments for the tables.
The lock arguments are the basis for formulating the logical
condition for identifying the records to be locked. When
activating this lock object, two function modulesB with the
names ENQUEUE_ and DEQUEUE_ are generated.

Example :
Problem : You wish to prevent a user from being able to
change the name of a course or the name of the professor
with responsibility for the course at a time when another user
is editing the course description (which contains this
information).

Solution : The problem described above can be solved by


defining a lock object E_UKURS. This is done by defining
primary and secondary tables in the lock object. Table UKURS
is check table of table UKRSB, so UKURS should be selected
as primary table and UKRSB as secondary table of the lock
object. The Lock argument in this case is the field
combination FABNR, KRSNR, and SPRAS (i.e Primary Key
8/33
Combination). The Lock mode Shared is to be selected here.
This allows several users to access the data simultaneously in
display mode. The lock mode in the generated function
modules for setting (ENQUEUE_E_UKURS) and releasing
(DEQUEUE_E_UKURS) locks is therefore set to shared as
default, but can be overridden by calling the function modules.
If the function module ENQUEUE_E_UKURS is called with
FABNR = '1' and KRSNR = '3', the record for course 3 in faculty
1 is locked in table UKURS. Furthermore, all the course
descriptions for this course are locked in table UKRSB since
field SPRAS was not specified when the function module was
called. In such cases, the lock is made generically for a field
which is not defined. If the function module
DEQUEUE_E_UKURS is now called with FABNR = '1', KRSNR =
'3' and SPRAS = 'D', the German course description is
unlocked. All other course descriptions remain locked.

What is database utility ?


Database utility is the interface between the ABAP/4
Dictionary and the underlying the SAP system. The database
utility is the interface between the ABAP/4 Dictionary and the
relational database underlying the SAP system. You can call
the database utility from the initial screen of the ABAP/4
Dictionary with Utilities ® Database utility. The database utility
allows you to create, delete and convert objects from the
ABAP/4 Dictionary in the database.

MODULARIZATION

What is Modularization and its benefits?


If the program contains the same or similar blocks of
statements or it is required to process the same function
several times, we can avoid redundancy by using
modularization techniques. By modularizing the ABAP/4
programs we make them easy to read and improve their
structure. Modularized programs are also easier to maintain
and to update.

9/33
How can we create callable modules of program code within
one ABAP/4 Program?
A. By defining macros. B. By creating include programs in the
library.

What are subroutines?


Subroutines are program modules which can be called from
other ABAP/4 programs or within the same program.

What are the types of Subroutines?


A. Internal Subroutines: The source code of the internal
subroutines will be in the
same ABAP/4 program as the calling procedure (internal call).
B. External Subroutines: The source code of the external
subroutines will be in an
ABAP/4 program other than the calling procedure.
What are the different types of parameters?
Formal parameters: Parameters which are defined during the
definition of subroutine with the FORM statement. Actual
parameters: Parameters which are specified during the call of
a subroutine with the PERFORM statement.

How can one distinguish between different kinds of


parameters?
A. Input parameters are used to pass data to subroutines. B.
Output parameters are used to pass data from subroutines.

What are the different methods of passing data?


A. Calling by reference: During 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 work with the
field of the calling program within the subroutine. If we
change the formal parameter, the field contents in the calling
program also change.
B. Calling by value: During a subroutine call, the formal
parameters are created as

10/33
copies of the actual parameters. The formal parameters have
memory of their own. Changes to the formal parameters have
no effect on the actual parameters.
C. Calling by value and result: During a subroutine call, the
formal parameters are
created as copies of the actual parameters. The formal
parameters have their own memory space. Changes to the
formal parameters are copied to the actual parameters at the
end of the subroutine.
The method by which internal tables are passed is By
Reference.

What is the difference between the function module and a


normal ABAP/4 subroutine?
In contrast to normal subroutines function modules have
uniquely defined interface. Sub routines do not return values.
Sub routines do not return exceptions. Sub routines cannot be
tested independently. Declaring data as common parts is not
possible for function modules. Function modules are stored in
a central library. What is a function group? A function group is
a collection of logically related modules that share global data
with each other. All the modules in the group are included in
the same main program. When an ABAP/4 program contains
a CALL FUNCTION statement, the system loads the entire
function group in with the program code at runtime. Every
function module belongs to a function group.

What is the difference between internal tables and extract


datasets?
A. The lines of an internal table always have the same
structure. By using extract
datasets, you can handle groups of data with different
structure and get statistical figures from the grouped data.
B. You have to define the structure of the internal table at the
begining. You need
not define the structure of the extract dataset.
C. In contrast to internal tables, the system partly compresses
extract datasets
when storing them. This reduces the storage space required.
11/33
D. Internal tables require special work area for interface
whereas extract datasets
do not need a special work area for interface.
- See more at: http://www.saptechies.org/q-a-data-
dictionary/#sthash.ig2ojcQP.dpuf

1. What are the layers of data description in R/3?


- The external layer.
- The ABAP/4 layer.
- The database layer.

2. Define external layer?


The external 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 format is independent of the database
system used.

3. Define ABAP/4 layer?


The ABAP/4 layer describes the data formats used by the
ABAP/4 processor.

4. Define Database layer?


The database layer describes the data formats used in the
database.

5. What is a Data Class?


The Data class determines in which table space the table is
stored when it is created in the database.

6. What is a Size Category?


The Size category describes the probable space requirement
of the table in the database.

7. How many types of size categories and data classes are


there?
There are five size categories (0-4) and 11 data classes only
three of which are appropriate for application tables:
APPL0 - Master data (data frequently accessed but rarely
updated).
12/33
APPL1 - Transaction data (data that is changed frequently).
APPL2 - Organizational data (customizing data that is entered
when system is configured and then rarely changed).
The other two types are:
- USR
- USR1 – Intended for customer’s own developments.

8. What are control tables?


The values specified for the size category and data class are
mapped to database-specific values via control tables.

9. What is the function of the transport system and


workbench organizer?
The function of the transport system and the Workbench
Organizer is to manage any changes made to objects of the
ABAP/4 Development Workbench and to transport these
changes between different SAP systems.

10. What is a table pool?


A table pool (or pool) is used to combine several logical tables
in the ABAP/4 Dictionary. The definition of a pool consists of
at least two key fields and a long argument field (VARDATA).

11. What are pooled tables?


These are logical tables, which must be assigned to a table
pool when they are defined. Pooled tables can be used to
store control data (such as screen sequences or program
parameters).

12. What is a table cluster?


A table cluster combines several logical tables in the ABAP/4
Dictionary. Several 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.
Read also the Difference between a check table and a value
table

13. How can we access the correction and transport system?


13/33
Each time you create a new object or change an existing
object in the ABAP/4 Dictionary, you branch automatically to
the Workbench Organizer or correction and transport system.

14. Which objects are independent transport objects?


Domains, Data elements, Tables, Technical settings for tables,
Secondary indexes for transparent tables, Structures, Views,
Matchcode objects, Matchcode Ids, Lock objects.

15. How is conversion of data types done between ABAP/4 &


DB layer?
Conversion between ABAP/4 data types and the database
layer is done within the database interface.

16. How is conversion of data types done between ABAP/4 &


external level?
Conversion between the external layer and the ABAP/4 layer is
done in the SAP dialog manager DYNP.

17. What are the Data types of the external layer?


ACCP, Char, CLNT, CUKY, CURR, DATS, DESC, FLTP, INT1,
INT2, INT4, LANG, LCHR, LRAW, NUMC, PREC, QUAN, RAW,
TIMS, UNIT,VARC.

18. What are the Data types of the ABAP/4 layer?


Possible ABAP/4 data types:
C: Character.
D: Date, format YYYYMMDD.
F: Floating-point number in DOUBLE PRECISION (8 bytes).
I: Integer.
N: Numerical character string of arbitrary length.
P: Amount of counter field (packed; implementation depends
on h/w platform).
S: Time Stamp YYYYMMDDHHMMSS.
V: Character string of variable length, length is given in the
first two bytes.
X: Hexadecimal (binary) storage.

19. How can we set the table spaces and extent sizes?
14/33
You can specify the extent sizes and the table space (physical
storage area in the database) in which a transparent table is
to be stored by setting the size category and data class.

20. What is the function of the correction system?


The correction system manages changes to internal system
components. Such as objects of the ABAP/4 Dictionary.

21. What are local objects?


Local objects (Dev class$TMP) are independent of correction
and transport system.

22. What is a Development class?


Related objects from the ABAP/4 repository are assigned to
the same development class. This enables you to correct and
transport related objects as a unit.

23. What is a data dictionary?


Data Dictionary is a central source of data in a data
management system. Its main function is to support the
creation and management of data definitions. It has details
about
- What data is contained?
- What are the attributes of the data?
- What is the relationship existing between the various data
elements?

24. What functions does a data dictionary perform?


In a data management system, the principal functions
performed by the data dictionary are
- Management of data definitions.
- Provision of information for evaluation.
- Support for s/w development.
- Support form documentation.
- Ensuring that the data definitions are flexible and up-to-date.

25. What are the features of ABAP/4 Dictionary?


The most important features are:
- Integrated to aABAP/4 Development Workbench.
15/33
- Active in the runtime environment.

26. What are the uses of the information in the Data


dictionary?
The following information is directly taken from the Data
dictionary:
- Information on fields displayed with F1 help.
- Possible entries for fields displayed with F4 help.
- Matchcode and help views search utilities.

27. What are the basic objects of the data dictionary?


- Tables
- Domains
- Data elements
- Structures
- Foreign Keys

28. What are the aggregate objects in the data dictionary?


- Views
- Match codes
- Lock objects.

29. In the ABAP/4 Dictionary Tables can be defined


independent of the underlying database (T/F).
True.

30. ABAP/4 Dictionary contains the Logical definition of the


table.
Also read The Different Types of SAP Tables

31. A field containing currency amounts (data type CURR)


must be assigned to a reference table and a reference field.
Explain.
As a reference table, a system containing all the valid
currencies is assigned or any other table, which contains a
field with the currency key format. This field is called as
reference field. The assignment of the field containing

16/33
currency amounts to the reference field is made at runtime.
The value in the reference field determines the currency of the
amount.

32. A field containing quantity amounts (data type QUAN)


must be assigned to a reference table and a reference field.
Explain?
As a reference table, a system table containing all the valid
quantity units is assigned or any other table, which contains a
field with the format or quantity units (data type UNIT). This
field is called as reference field.
The assignment of the field containing quantity amounts to
the reference field is made at runtime. The value in the
reference field determines the quantity unit of the amount.

33. What is the significance of Technical settings (specified


while creating a table in the data dictionary)?
By specifying technical settings we can control how database
tables are created in the database. The technical settings
allows us to
- Optimize storage space requirements.
- Table access behaviour.
- Buffering required.
- Changes to entries logged.

34. What is a Table attribute?


The table’s 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:
- Delivery class.
- Table maintenance allowed.
- Activation type.

35. What is the significance of Delivery Class?


- The delivery class controls the degree to which the SAP or
the customer is responsible for table maintenance.
- Whether SAP provides the table with or without contents.
- Determines the table type.

17/33
- Determines how the table behaves when it is first installed, at
upgrade, when it is transported, and when a client copy is
performed.

Webdynpro Interview Questions

1) Types of ABAP UI Technologies


Ans: Webdynpro for ABAP, BSP
2) MVC Architecture Concepts and usage of the same in
ABAP Webdynpro
Ans: As per the MVC Architecture there is a clear
separation between flow logic, view and the
Business Logic. View holds all the UI elements that are visible
in the UI, Controllers have the flow logic. Controllers
are of different kind (Component Controller, View
Conroller,Window Controller). Business logic
is held in the Model which is in the form of Assistance class
in webdynpro context.
3) Difference Between the View Container and the
Transparent Container
Ans: View Container holds the views, there can be multiple
views assigned to the
view container but only one view can be
active(viewed) at a time.
Transparent holds the webdynpro UI elements, A
layout type can be
associated with it.
4) What does a Model Class Consists of
Ans: Model Class is the Assitance class in webdynpro. It
contains the Business
Logic in the form of methods, Global data &
Constants in the form of
Class Attributes. The Model class can be accessed in
webdynpro component
using the attribute wd_assist->. Note: All the visibility
properties of the
Class are applicable when accessing the class using
the object wd_assist.
18/33
5) What is an Assistance Class and How is it Instantiated in
Webdynpro
Ans: Assistance Class is the model class which would act
as the data provider
for the webdynpro component and it is instantiated by
the webdynpro
component during the run time and no explicat
instantation is required.
6) Design Patterns in Webdynpro(GAF,OIF,QAF Etc)
Refer to the link:
FPM Concepts in Webdynpro
7) How do you debug an web based Application
(Could be from ABAP Webdynpro, BSP or CRM Web
UI)
Ans: External break-points should be used to debug web
UI's.
8) How do you create a ALV Report/Editable ALV in
Webdynpro
Ans: ->Add the Standard ALV component to the web
dynpro Component.
->Use Components tab: Ex: ALV_MATS type
SLV_WD_TABLE
->Create a context node with the table field
information to be displayed
->Write the ALV Default Code for table display
->Set the read only attribute to false to switch to
editable mode using
the method set_read_only of the interface
IF_SALV_WD_TABLE_SETTINGS implementing class
CL_SALV_WD_CONFIG_TABLE).
9) How do you Navigate between Views in Webdynpro
Ans: Navigation between Views is through Plugs(Inbound
and Outbound),
10) Usage of Plugs in Webdynpro
Ans: Plugs are used to Navigate between the views.
Parameters can be
passed using the plugs similar to interface parameters of
function module
or a class method.
19/33
11) Usage of Webdynpro Component Controller
Ans: Component controller is used to the store the Global
attributes and
Methods of the component. Attributes/methods declared
in the component
controller are visible through out the component and they
are accessed
using the attribute wd_comp_controller outside of
component
controller(like views,windows etc)
All the context nodes defined in the component controller
are
visible in all the views and windows of the component.
Ex: if a variable called gv_count is defined in the
component controller,
it can be accessed in the view using the syntax
wd_comp_controller->gv_count.
12) How do you access a Context Nodes and elements
Programmatically
Code required for accessing the Context Nodes can be
written using
the webdynpro code wizard.
For Ex: if there exists a Node Node1 with cardinality 1:1
and has
3 Attributes to it Att1, Att2,Att3. The attributes can be
accessed
using the below code.

data: lo_nd_node1 type ref to if_wd_context_node.


data: lo_el_node1 type ref to if_wd_context_element.
data: ls_node1 type wd_this->element_node1.

lo_nd_node1 = wd_context->get_child_node
( name = wd_this->wdctx_node1 ).
lo_el_node1 = lo_nd_node1->get_element( ).

**Read Node1
lo_el_node1->get_static_attributes(
importing
20/33
static_attributes = ls_node1 ).

**Write to Node1
lo_el_node1->set_static_attributes(

exporting

static_attributes = ls_node1 ).
13) Message Areas in Webdynpro
Message areas are created in views to display messages
(Error,Success,Warning,Info).
WD allows to have multiple Message errors in a view but
throws an
error when the view is displayed.
Use the code wizard to get code for raising error
messages.
Few of the message classes and methods are:
Interface: if_wd_message_manager.
methods: report_t100_message.(used to report message
from the
message class)
14) Concept of OTR(Online Text Repository) and its Usage
OTR's are similar to text elements in ABAP. OTR's are
created for
UI texts and texts can be maintained in multiple language.
OTR's can be created using the transaction: SOTR_EDIT
15) Concept of Interface Views
If the views of a different components are need to be used
in a
webdynpro component mark the view as interface view
and use it in
another component. It's similar to using a include in a
program.
A Interface view of the component can be used in any no
of components.
this concept supports the reusuability of the views.
16) Sequence of Webdynpro Events:
Ex: WDDOINIT,WDMODIFYVIEW,WDAFTERACTION,
WDBEFOREACTION etc
21/33
Sequence: WDDOINIT of the component controller,
WDDOINIT of the Window Controller,
WDDOINIT of the View Controller,
WDMODIFYVIEW(On Input/Display on any UI Element).
WDBEFOREACTION(Method for validation of user input,
Once the user action happens on the UI)
WDAFTERACTION(Method for non-action specific
operations
before Navigation)
WDDOEXIT( Exit from the View/Window/Component
Controller)
17) Can a Component have Multiple Applications
Yes, For a given webdynpro component any no of
applications can be
created. Applications are similar to transactions in SAP.
You can associate different Interface views of the
component to
create different applications using the same component.
18) How do you launch a Webdynpro Application from a
Transaction
Refer to the previous blog Calling webdynpro application
from a Transaction
URL:
http://sapabapwebdynpro.blogspot.com/2011/04/call-abap-
webdynpro-application-from-r3.html
19) How do you Navigate between two Webdynpro
Components
You can use Interface views to navigate between
components or create a navigation class and
do a explicit call.
20) Creating a tree in Webdynpro
Tree UI element is used to create Tree in Webdynpro.
Tree can be defined as part of the table column.
21) Usage of Exit Plug in a Webdynpro Window
Exit plugs are outbound plugs used to close the webdynpro
application.
they can be called from the view which are embedded in
the window
Note: Exit plugs won't work in portal environment.
22/33
Exit plugs can also be used to pass the call to another URL.
Here is the sample code snippet of the exit plug call:
method onexit .

data url type string.


data close_window type wdy_boolean.
url = 'url_name'.
close_window = abap_false.
wd_this->fire_to_exit_plg( url = url
close_window = close_window ).
endmethod.
Other Interview Questions

1. Can we write the code both call transaction and session


method in single program?

Ans. Yes it is possible to write call transaction and session in


one program.

2. Which BDC you prefer?


Ans. If we want to transfer large amount of data and when we
need to use more than one transaction code we prefer
session method. For small or less amount of data and for
single transaction use call transaction.
(This is more genric answer but you can add more on to this if
you have worked on BDC)

3. When u prefer LSMW?


Ans. When we need to update medium amount of data we
use LSMW. LSMW is also used when the person like
functional consultant has less programming language.

5. Difference between .include and .append?


Ans.
Include structure allows to add one or more structure into
structure or table.Also placed positioning anywhere. Upto 6
include structure can be used in a table.

23/33
Append structure can be placed only at the end of a structure
or table which also stops further insertion of fields.Only one
append structure can be used

6. Preformance techniques
Ans.
1. The sequence of fields must be same as per database table
2. During writing select query write all fields in sequence as
per database table.
3. Never write select statements inside loop….endloop.
4. Use st05 SQL trace, se30 run time analysis, code inspector,
slin,etc.
5. Use select single * statement instead of select *
6. Always use primary key
7. Use binary search but before using binary search sort that
table.

7. How to debug sapscripts ?


Ans.
Two ways to debug sapscript . first way is goto SE 71 and
from menu bar select Utilities->activate debugger .then goto
SE38 execute the print program ,it automatically goes to
debugging mode …..the other way is , run the program
RSTXDBUG in se 38 . execute it . a message will show that
debugger is activated .now open the print program in se 38 …u
vll notice that the print prgm is automatically diverted to
debugging mode.

8. What is partner selection?


Ans. This concept is mainly used in IDOC where u select the
partner profile using Tcode We20 .with Tcode SM59 you
create RFC(remote function call) to create communication link
to a remote system.

10. What is occurs in internal table?


Ans. Occurs addition to the Declaration will give initial size to
that table.occur statement allocates 8kb of memory to the
internal table.

24/33
11. What is page window?
Ans : page window is nothing but a container of a page ,which
uniquely identifies a set of data …for example while creating
invoice …we create logo window , billing document header
window , customer window , terms and condition window etc

12. What is the difference between scrolling a table


horizontally and vertically..??
Ans: In table control when you scroll a table vertically
presentation server needs to call application server to fetch
the next record and display in the table while in case of
horizontal scroll there is no need to call application server.

13. What are Field Groups?


Ans: A group that combines several fields fewer than one
name, at runtime, the INSERT command is used to define
which data fields are assigned to which field group are called
Field Groups. It should always be a HEADER field group that
defines how the extracted data will be sorted; the fields
grouped under the HEADER field group sort the data.

14. List the events in ABAP/4 Language?


Ans: The events in ABAP/4 are load of program ,Initialization,
Selection Screen, Start of Selection, End of Selection, Top of
page, Line selection, User command, End, First.

15.How the values will be passed to RFC Function module


PassbyValue or Passbyreference?
Ans: always Pass by Value.
RFC is Remote Function call so it can’t access the values with
Pass by reference.

16. Buffering concept usage?


Ans: There are three type of buffer
1 single record
2 generic buffer
3 full buffer

25/33
Buffering is use for improve performance. it improves
performance 10 to 100 times more

17. Select up to 1 row and select single difference ?


Ans: Select single fetches first matching record. If more than
one matching records are there then only the first matching
record will be considered other records will not be taken into
account. Where as select up to 1 rows will fetch all the
matching records from the database.(Again it will assign only
One Record to the internal table/Work area)

18. What are the different buffering methods?


There are two different buffering methods
The system ensures that data transfer between the R/3
System and the database system is as efficient as possible.
To do this, it uses the following techniques:
Table buffering: The program accesses data from the buffer
of the application server.
Database request buffering: Individual database entries are
not read or passed to the database until required by an OPEN
SQL statement.

19. Different types of locks?


v Read lock (shared lock)
Protects read access to an object. The read lock allows other
transactions read access but not write access to the locked
area of the table.
v o Write lock (exclusive lock)
Protects write access to an object. The write lock allows other
transactions neither read nor write access to the locked area
of the table.
v o Enhanced write lock (exclusive lock without cumulation)
Works like a write lock except that the enhanced write lock
also protects from further accesses from the same
transaction.

20. CHAIN END CHAIN?

26/33
Ans: Chain and end chain are used for multiple field validation
in Module pool programming .It is written inside the screen
flow logic.

21.How to Debug RFC Function module?


Ans:
SE38 –> Utilities –> Settings –> ABAP Editor –> Debugging
Activate the external debugging and choose the New
Debugger option in ABAP debugger.
Go to the particular place in the code and put break point, pop
will appear then choose the HTTP break point.
If you are triggering the RFC from SAP portal make sure that
both the user ID should be same
If the users are different then provide the XI/Portal User ID in
the users field.

22.Why sapscripts are client dependent and smartforms are


client independent.?
Ans-: Smartforms create its own function module so it doesn’t
need to transport the request through SCC1.As all the
Development Object are stored in client independent tables.
Whereas Script doesn’t generate any function module while
executing so we need to transport the request number
through SCC1.Sap script is stroed in side the client depended
table as a TEXT.so sapscripts are client dependent and
smartforms are client independent.

23. Difference between user exit and BADIs?


Ans: User exit is for single implementation and it is procedural
approach while BADIs are for multiple implementation and
object oriented approach.
Multiple implementation means Reusability… because we use
OOps Concepts for BADI.

24. Control break events in ABAP:-


1. AT-FIRST: This is used when we want to execute the
statements before records are processed.
2. AT-LAST: This event is used when we want to execute the
statements after all records are processed.
27/33
3. AT-NEW: This event is used when we want to execute the
statement before group of records are processed.
4. AT-END: This event is used when we want to execute the
statements after processing of group of records.

25.I am uploading 100 records out of which say 59th record


has error so what will happen if i am using synchronous or
asynchronous method of BDC? Can we update the database
using local update mode how?

26. Suppose i am writing following code then what will be


output?
LOAD-OF-PROGRAM.
WRITE:/”HELLO”.
Ans: HELLO
(Explain the importance of LOAD-OF-PROGRAM Event.If you
dont know Tell the interviewer as this event is used in such
cases when you want to clear sum buffers or something
Before calling that Program)

27. What is TMG?


Ans. TMG stands for Table Maintenance generator. It is a tool
available in abap by which we can add or delete multiple
records at a time and it is executed or triggered by the
transaction code SM30.

28. Difference between select option and ranges ?


Ans. The main difference between select option and ranges is
that ranges implicitly or automatically creates internal table
with fields like OPTION,LOW,HIGH,SIGN,etc . Where as in case
of select option we have to explicitly create internal table.
When u declares a select options it will implicitly declare an
internal table (ranges) for you.
While using RANGES syntax u can declare internal table
explicitly.
The only need of declaring ranges is when you r not taking
input from the user but you want make limit based selection
at that time it will be use full e.g. SELECT ** from ** where
MATNR in val_range.
28/33
here u can use select-option or ranges : val_range.

29. is it possible to bring select option in module pool


screens?
Ans.Create a SELECT-OPTIONS in module pool screen using
two methods as shown.
Method 1:—-
a) Create a subscreen area in your screen layout where you
want to create the select options.
b) In the top include of your module pool program declare a
selection screen as a subscreen e.g.
SELECTION-SCREEN BEGIN OF SCREEN 100 AS SUBSCREEN.
select-options s_matnr for mara-matnr.
SELECTION-SCREEN END OF SCREEN.
c) In the PBO and PAI of the main screen where the select
options needs to be created do a call subscreen of the above
screen (100).
CALL SUBCREEN sub_area INCLUDING
This CALL SUBSCREEN statement is necessary for transport
of values between screen and program.
Note: All validations of the selection screen fields e.g. the
s_matnr field created above should be done in selection
screen events like AT SELECTION-SCREEN etc and not in PAI.
These selection screen validations etc should be done in the
top include only.
Method 2:——-
a) Create 2 separate fields in your screen layout – one for the
low value and one for the high value. Insert an icon beside the
high value which will call the multiple selections popup screen
on user command. Use function module
COMPLEX_SELECTIONS_DIALOG to achieve this.
continued ……
struc_tab_and_field-fieldname = con_cust. ” ‘KUNNR’
struc_tab_and_field-tablename = con_kna1. ” ‘KNA1′.
CALL FUNCTION ‘COMPLEX_SELECTIONS_DIALOG’
EXPORTING*
TITLE = ‘ ‘
text = g_titl1 ” ‘Customers’
tab_and_field = struc_tab_and_field
29/33
TABLES RANGE = rng_kunnr
EXCEPTIONS
NO_RANGE_TAB = 1
CANCELLED = 2
INTERNAL_ERROR = 3
INVALID_FIELDNAME = 4
OTHERS = 5.
IF NOT rng_kunnr[] IS INITIAL.
* Read the very first entry of the range table and pass it to
* dynpro screen field
*READ TABLE rng_kunnr INDEX 1.
IF sy-subrc = 0.
g_cust = rng_kunnr-low.
ENDIF.
ENDIF.
You can use the return table rng_kunnr to populate your own
internal range table with the values entered by the user.
Basically here you are just simulating the work of a select-
options parameter by module pool screen elements.
30.how we can retrive data using secondary index.explain
with simple example
Ans: First create secondary indexes on required fields of a
particular database table.
We can create one primary index and 15 secondary
indexes.Once the respective secondary indexes are created
write select queries and within select queries specify
secondary indexes field name with where clause.

31.How can we handle table control in BDC?


Ans.We can handle table control using line index
Line index indicates which line of Table control is to be use for
BDC transaction
Ex -
perform bdc_field using ‘RC29K-AUSKZ(01)’
Indicates 1st line of table control is going to be used for
transaction which is Line index of Table Control

32. If i want to execute a BDC program only in background not


in foreground is there any option for this?
30/33
Ans.The sm37 transaction can be used for running a program
in the background. Also in the session method while
processing the session you can specify the processing type
as background or foreground.

33.How Can We upload a text file having Delimiters in to


Legacy System
Ans.For up loading text file we use the pre-defined FM
gui_upload. in that FM we have the parameter
has_field_seperator for that we assign the default delimiter ‘x’.
HAS_FIELD_SEPERATOR ‘X’
‘X’ can provide the Whatever delimiter we used in flat file for
separation.

34. What is the land scape in sap.


Ans. In every organisation sap landscape involves three
servers viz, Development server, Quality server and
Production server. Whatever new development we do as per
clients requirement is done in development server. Later to
test the developed object we move it to quality server for
testing and finally once everything goes clear then the object
is moved to production server ,production server data is ready
for final business use.

35. Workbench request are client dependent or client


independent
Ans. Workbench request are client independent.
(Common Man Workbench request holds the Program , FM
etc…. How it can be Client Dependent!!!!)

36. Tell me about workbench request and customization


requests.
Ans.Workbench (ABAP Dev) request is client independent
when you import it into one system it reflact it in all client in
same system, but customized request has to import in that
client perticular client where it is created, actually it is client
dependent.
Other Interview questions…

31/33
SAP SCRIPTS & FORMS

1. Can we write the code/program inside sap script?


2. How will u create sapscripts & smartforms in multiple
language?
3.How to execute sap script & smart forms in Background?
4.How to do total & subtotal in scripts & forms?
=================================================

DATA DICTIONARY
1.Apart from .include & .append how will u do table
enhancement?
2.what r the events of table maintainence generator?
3.what will happen if i use projection view and maintainence
view together?
4. I created ZEMP table now i want to add more data but prev.
data should not disturb how can i do this?
=====================================================

REPORTS
1.How will u print footers in alv report?
2.How will u edit fields from output list of alv?
====================================================

BDC
1.what r the fields u took during recording for mmo1,me21n?
2.If u want to do bdc for xd01 explain me how will be the flow?
=================================================

user exits
1.what r enhancement points?
2.How to write customer exits?
3.what is routine? how it is different from user exits?

Share this
Google Facebook Twitter More

Related Posts

32/33
SAP ABAP FRESHER Interview Questions asked
at ACCENTURE INDIA

33/33

Vous aimerez peut-être aussi