Professional Documents
Culture Documents
There are two types of SQL being used in SAP ABAP programming language. They
are
Native SQL
o Open SQL
Native SQL:In Native SQL there is no automatic client handling, no table
buffering. There is no syntax check at compile time for Native SQL
(Statement between EXEC SQL — ENDEXEC).
Open SQL:Open SQL allows to access the database tables declared in the ABAP
dictionary regardless of the database platform that the SAP R/3 system is using.
the Kernel programs are busy converting the Open SQL statement to Native
SQL statements for the database in use.
Open SQL can only work with database tables that have been created in
the ABAP Dictionary.
Open SQL supports Code Push down
i. Avoid bringing all the data to the ABAP layer.
Whenever a table is created and defined through ABAP Dictionary, then it is called a
transparent table. When the table is activated in ABAP Dictionary, a table
automatically gets created in the underlying database with the same name as was
defined in ABAP Dictionary.
So generally, we say, transparent tables has one to one relationship with underlying
database which means there will be only one physical table on the database for
each transparent table created and defined through ABAP Dictionary.
The names of the table and fields in underlying database will correspond or have
the same names as the logical table definition in the ABAP Dictionary.
Transparent tables can be used to store application data which include master data
as well as transaction data. Transparent tables are probably the only type of table
that you will ever create as a developer.
Question 6. What Do You Mean By Pooled Tables In Sap Abap? Also Explain What
Do You Mean By Table Pool?
Tables in Data dictionary which has many to one relationship with an underlying
database table is called Pooled table. In simple words, Pooled tables appear as
many tables in ABAP dictionary, but the thing is they are stored as a single table in
the underlying database.
In ABAP Dictionary, you can see each and every pooled table is assigned to a Table
Pool.
As it is understood that for many pooled tables in ABAP dictionary, there is a single
table called as Table Pool in an underlying database. A Table Pool is an underlying
database table with a special structure that enables the data of many ABAP
Dictionary tables to be stored within it.
Tables M_MTVMA, M_MTVMB, M_MTVMC, M_MTVMD and M_MTVME can be seen
in ABAP Dictionary. These all-mentioned tables are Pooled Tables. All these tables
have been assigned to one Table Pool i.e. M_MTVM, which will be present in the
underlying database and storing data of all the five mentioned tables of ABAP
Dictionary.
Pooled tables are basically used by SAP to store temporary data or customizing
data. Pooled tables can also be used to store control data (such as screen
sequences or program parameters).
Generally, as a developer, we will never create a Pooled table or Table Pool. It does
not mean that we cannot create them. SAP has given the option to create Pooled
tables through SE80 transaction and Table pool via ABAP Dictionary.
Question 7. What Do You Mean By Cluster Tables In Sap Abap? Also Explain What
Do You Mean By Table Cluster?
A cluster table is similar to a Pooled table. It has a many to one relationship with a
table in an underlying database. Many cluster tables are stored in a single table in
an underlying database called a table cluster.
So table cluster is similar to pooled table pool. A table cluster holds only cluster
table within it.
Table clusters store data from several cluster tables based on the primary key
fields that they have in common.
Tables CDPOS and CDHDR are Cluster tables in SAP ABAP Dictionary and CDCLS is
the table cluster that exist in the underlying database. CDCLS table contains or hold
data of both tables CDPOS and CDHDR in the underlying database.
For each transparent table there will be exactly only one table in the underlying
database whereas many pooled tables are stored in a single table in an underlying
database called table pool. Similarly many cluster tables are stored in a single table
in the database called a table cluster
In case of transparent tables, the underlying database table will have the
same name, same number of fields and the fields will also have the same
names as defined in ABAP Dictionary whereas for pooled tables and cluster
tables the underlying database table will have different name, different
number of fields and fields will have different names from what has been
defined in ABAP Dictionary.
Transparent tables can have one or more primary key Whereas Primary key
of each pooled table of a table pool need not be same whereas Primary key
of each cluster table of a table cluster should have at least one key in
common.
Secondary indexes can be created for transparent tables, but for pooled and
cluster tables we cannot create any secondary index.
Transparent tables can be accessed via both Native and Open SQL whereas
pooled and cluster table can be accessed by Open SQL only.
Transparent tables are used to hold application data which includes both
master data as well as transaction data.
Pooled tables reduce the amount of database resources needed when many
small tables have to be opened at the same time.
Cluster tables are used when the tables have primary key in common and
data in these tables are all accessed simultaneously.
In standard SAP tables one can find there are a number of fields. Sometimes it
happens or there is a requirement of viewing only a fewer no of fields of a table, in
such cases a projection view can be created. Projection views are created only on a
single table.
Question 15. State The Differences Between Database View & Projection View?
The basic differences between projection view and database view are:
o Database view can built over many tables whereas projection
view can be built over a single table only.
o Database view can be updated if the view is built over a single
table whereas in projection view data can be updated.
o In case of database view, data updates can use open SQL or
native SQL whereas in case of projection view, data updates must
use open SQL.
o Database view can be buffered whereas Projection view cannot
be buffered.
Question 16. What Are The Relational Operations That Can Be Performed On View
In Sap?
There are three operations that can be performed on views in SAP: Join, Projection
and Selection.
o The Projection Operation is used to narrow a view’s focus to
certain fields in a table.
o The Selection Operation is used to narrow a view’s focus to
certain records in a table.
o The Join Operation is used to combine information from multiple
tables into a single view.
Question 18. What Are The Three Options Of Table View Maintenance While
Creating A Table? Differentiate Between Them?
Technical settings allow you to optimize the storage requirements and table
access behavior of database tables.
Technical Setting comprises of the following components:
o Data Class: Designates the table to an area in the physical
database where similar tables are grouped.
o Size Category: Identifies the amount of disk space that will be
required to hold the data records for a table in the database.
o Buffering: Determines whether table records will be accessed
directly from the database server or from global memory.
o Logging: Creates before and after images of changes to the table
of contents. Logging must be activated by the profile when the
system is started.
Question 20. What Are Data Classes? What Are The Various Data Classes
Available For Selection?
The data class determine a physical area in a database where the table is logically
stored. Also, it throws light on what kind of data will be stored in the table. Data
class helps us to categorize the table on the basis of type of data stored.
There are three important data classes
o APPL0 - Master data - Master data is data which is frequently
read, but rarely updated.
o APPL1 - Transaction data - Transaction data is data which is
frequently updated.
o APPL2 - Organizational and customizing data - Organizational und
customizing data is data which is defined when the system is
initialized and then rarely changed.
Question 24. Can You Delete A Domain Which Is Being Used By Data Elements?
No
Question 26. What Are The Difference Between Tables And Structures?
Table:
o Table has an underlying database table
o Table has a primary key
o Table has technical attributes
Structure:
o No underlying database table
o No primary key
o No technical attributes
Question 30. What Are The Function Of The Transport System And Workbench
Organiser?
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.
Question 31. 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).
Question 32. 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).
Domains, Data elements, Tables, Technical settings for tables, Secondary indexes
for transparent tables, Structures, Views, Matchcode objects, Matchcode IDs, Lock
objects.
Question 35. 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.
Question 36. What Are The Data Types Of The Abap/4 Layer?
Possible ABAP/4 data types:
o C: Character.
o D: Date, format YYYYMMDD.
o F: Floating-point number in DOUBLE PRECISION (8 bytes).
o I: Integer.
o N: Numerical character string of arbitrary length.
o P: Amount or counter field (packed; implementation depends on
hardware platform).
o S: Time stamp YYYYMMDDHHMMSS.
o T: Time of day HHMMSS.
o V: Character string of variable length, length is given in the first
two bytes.
o X: Hexadecimal (binary) storage.
Question 37. 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.
Question 38. 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
o What data is contained?
o What are the attributes of the data?
o What is the relationship existing between the various data
elements?
Question 39. What Functions Does A Data Dictionary Perform?
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 a 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.
Question 43. What Is The Maximum Number Of Structures That Can Be Included
In A Table Or Structure?
Nine.
Question 44. What Are The Two Methods Of Modifying Sap Standard Tables?
o Append Structures and
o Customizing Includes.
Question 45. What Is The Difference Between A Substructure And An Append
Structure?
o In the case of a substructure, the reference originates in the table
itself, in the forma of a statement include.
o In the case of an append structure, the table itself remains
unchanged and the reference originates in the append structure.
Question 46. What Are The Two Ways For Restricting The Value Range For A
Domain?
o By specifying fixed values.
o By stipulating a value table.
o
Question 47. What Is A Match Code?
Match Code is a tool to help us to search for data records in the system. Match
codes are an efficient and user-friendly search aid where the key of a record is
unknown.
Question 48. What Are The Two Levels In Defining A Match Code?
o Match Code object
o Match Code Id.
o
Question 49. What Is The Maximum Number Of Match Code Id's That Can Be
Defined For One Match Code Object ?
A maximum number of match code Id's that can be defined for one Match code
object is36. A match code Id is a one character ID which can be a letter or a
number.
Question 50. 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.
Question 51. 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.
Question 52. 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.
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 namesENQUEUE_ and
DEQUEUE_ are generated.
Question 55. 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.
Question 56. How Can One Distinguish Between Different Kinds Of Parameters?
Transaction Codes
Function group is the name to which the generated maintenance modules will
belong to.
Screen Alterations
12 After changing the key entries for the change task (E071K)
Ans: User-defined data types can be stored for all programs in the ABAP Dictionary.
User-defined types provide the same functionality as the local types that can be
defined in ABAP programs with TYPES
Structures (structured types):
A structure consists of components that also have a type, that is they refer to a type.
Table types:
A table type describes the structure and functional attributes of an internal table. A
special case is the ranges table types.
Q62. How do you Transporting Table entries from one server to another?
Ans: Go to transaction SE10. Click on Create.
Select Workbench request. (If the table is customizing table, then select customizing
request)
Now click on the key button available under the name “Function” (As shown in the
screenshot above). Following screen appears. Double-click on the first empty line.
Select the third radio button “Table contents specified by current key”.
SAP issues a warning message when an application table is used. Following is the
SAP help that would appear when we click on the message:
Now transport this request to transport the data to any other system.
Existing development classes are simply containers for development objects with a
transport layer that determines how the objects will be transported. Packages extend
the concept of development classes with the addition of new attributes: nesting,
interfaces, visibility, and use accesses.
· Nesting allows you to embed packages in other packages.
· Visibility is a property of package elements.
Packages use interfaces and visibility to make their services known to other
packages. All the visible elements in a package can, potentially, be sued by other
packages. In contrast, invisible elements cannot be used by other packages as well.
Ans: You create text tables when you want to store explanatory text in several
languages. It is not advisable to store such texts in your primary table. You can make
a text table that must comprise the key of the primary table (for more information,
see the example below). Every text table must also have an additional language key
field (field of data type LANG).
You can also create further indexes on a table in the ABAP Dictionary. These are
called secondary indexes. This is necessary if the table is frequently accessed in a
way that does not take advantage of the sorting of the primary index for the access.