What Is SAP?
What Is SAP?
SAP, by definition, is also name of the ERP (Enterprise Resource Planning) software as well the name of the
company.
SAP Software was Founded in 1972 by Wellenreuther, Hopp, Hector, Plattner, and Tschira.
SAP system consists of a number of fully integrated modules, which covers virtually every aspect of business
management.
ABAP is a programming language that runs in the SAP ABAP runtime environment, created and used by SAP for the
development of application programs including:
Reports, Module Pool Programming, Interfaces, Forms, Data conversions, User Exits & BADI
ABAP 4 data dictionary describes the logical structures of the objects used in application development and shows
how they are mapped to the underlying relational database in tables/views.
Domains: Domain is the central object for describing the technical characteristics of an attribute of an business
objects. It describes the value range of the field. Data Element: It is used to describe the semantic definition of the
table fields like description the field. Data element describes how a field can be displayed to end-user.
A relationship which can be defined between tables and must be explicitly defined at field level. Foreign keys are
used to ensure the consistency of data. Data entered should be checked against existing data to ensure that there are
now contradiction. While defining foreign key relationship cardinality has to be specified. Cardinality mentions how
many dependent records or how referenced records are possible.
Master data: It is the data which is seldomly changed. Transaction data: It is the data which is often changed.
Organization data: It is a customizing data which is entered in the system when the system is configured and is then
rarely changed. System data:It is the data which R/3 system needs for itself.
Indexes are described as a copy of a database table reduced to specific fields. This data exists in sorted form. This
sorting form ease fast access to the field of the tables. In order that other fields are also read, a pointer to the
associated record of the actual table are included in the index. Yhe indexes are activated along with the table and are
created automatically with it in the database.
Transparent tables: Transparent tables in the dictionary has a one-to-one relation with the table in database. Its
structure corresponds to single database field. Table in the database has the same name as in the dictionary.
Transparent table holds application data. Pooled tables. Pooled tables in the dictionary has a many-to-one relation
with the table in database. Table in the database has the different name as in the dictionary. Pooled table are stored
in table pool at the database level.
Difference between .include and .append?
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.
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.
Occurs addition to the Declaration will give initial size to that table.occur statement allocates 8kb of memory to the
internal table.
– For large tables where there are frequent single-record accesses (using SELECT SINGLE …). The size of the
records being accessed should be between 100-200 KB.
– For comparatively small tables for which the access range is large, it is normally advisable to opt for full
buffering. Only one database access is required to load such a table for full buffering, while single-record buffering
calls for a very large number of tableaccesses.
– A table should be buffered generically if usually only certain areas of the table are required. The individual generic
areas are treated like independent tables that are fully buffered. Refer also to the text on complete buffering.
– The generic key area should be selected so that the generic areas are not too small to prevent too may generic areas
being produced. If there are only a few records for each generic area, it is more efficient to use full buffering.
– Generic buffering only makes sense if the table is accessed by a specified generic key. If, when an access takes
place, a field of the generic key is not supplied with a value, the buffer is ignored and the records are read directly
from the database.
– Language-specific tables are an example of good use of generic buffering (with the language key field as generic
key area). When should you select full buffering?
– For tables up to 30 KB in size. If a table is accessed frequently, but all accesses are read accesses, this value can be
exceeded.
– For larger tables where large numbers of records are frequently accessed. However, if the application program is
able to formulate an extremely selective WHERE condition using a database index, it may be advisable to dispense
with full buffering.
– For tables with frequent accesses to data not contained in the table. Since all records are contained in the buffer, a
quick decision can be made as to whether or not the table contains a record for a specific key.
Buffering is use for improve performance. it improves performance 10 to 100 times more
CHECK TABLE: A foreign key links two tables T1 and T2 by assigning fields of table T1 to the primary key fields
of table T2.
Sometimes when you define a domain, you already know that all fields that use the domain will need to be checked
against a particular table. You can store this information in the domain definition by specifying a value table. If you
try to define a foreign key for a field that points to this domain, the value table of the domain is proposed as the
check table for the foreign key.
WHAT ARE THE DIFFERENCES BETWEEN CLUSTER TABLES AND POOLED TABLES?
Cluster tables:The data of several cluster tables is stored together in a single table cluster in the database. A cluster
table is thus known only in the ABAP Dictionary, not in the database.
Pooled tables:The data of several pooled tables are stored together as a table pool in the database. Therefore, a
pooled table is known in the ABAP Dictionary, but not in the database.
What is the difference between Master data and Transaction data in SAP?
Master data is data that does not change often and is always needed in the same way by business.
Ex: One time activities like creating Company Codes, Materials, Vendors, Customers etc.
Transaction data keeps on changing and deals with day to day activities carried out in business.
Transactions done by or with Customers, Vendors, and Materials etc. generate Transaction Data. So data related to
Sales, Purchases, Deliveries, Invoices etc. represent transaction data.
•Invoices: MIRO.
Data class determined the physical area of table inside database, it is available under technical settings of table in
Se11...Example: APPL0, APPL1 etc
The Size category describes the probable space requirement of the table in the database.
What are two methods of modifying SAP standard tables?1.Append Structures and
2.Customizing Includes.
Only One..Append structure can not be reusable, we can not use it for multiple tables.
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 key of a record is unknown
Can you delete data element, which is being used by table fields.
No, we can not delete data element which is being used by table fields.
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).
Structure and Work area have same functionality but structure is defined in data dictionary and can be used in both
program level and data dictionary, work area can only be used in program.
Each field of cluster table behaves as tables which contains the no. of entries.
In SE11 one option is available above the fields strip. Data element/ direct type.
What are the difference between Table and Structure?
The major difference is , the Data Base tables hold the physical data where as Structures doesn't hold any data.
Can we have the same append structure in more then one Database Table ?
No, you can not have same append structure in more than one database table
DDIC Views - DDIC views is used to define application-dependent view that combines this data. The data from
several table can be viewed together. The table field which are not require can be hidden. The views are not
physically stored but are derived from one or more table.
There are total four types of views, based on the way in which the view is implemented and the methods that are
permitted for accessing the view data. They are - Database Views, Projection Views, Maintenance Views, and
Helps Views,.
Among these four types of database views, only 'Database Views' implements INNER JOIN, rest all implements an
OUTER JOIN. The detail description of each views has been discussed further below.