In a data management system, the principal functions performed by the data dictionary are:
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.
For example, if Table T1 has fields F1,F2,F3,F4,F5, F6, F7, F8, F9, F10, etc…
Say there is a need to view data only for say Fields F1, F2, F4,F8 & F9, in such cases projection view can be created.
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.
Domains, Data elements, Tables, Technical settings for tables, Secondary indexes for transparent tables, Structures, Views, Matchcode objects, Matchcode IDs, Lock objects.
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.
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.
The database view is combining several fields of two or more tables into single table. At least one relationship is required is required to combine tables to build a database view. Plus one can only read data from database view and cannot modify the data in the view directly (if view involves more than one table). Database views implement an Inner Join on the tables. The database view is the only type of view in SAP that is physically created at the database level.
For example, consider two tables T1, T2.
Fields of table T1 are F1, F2 and F@Fields of table T2 are F1, F5.
By using a Database view one can combine the fields of both tables T1 and T2, provided primary and foreign key relation is maintained between the two tables and thus final view can have fields like F1, F2, F3, F5.
Yes. Use the path Utilities – > Direct Entry Type
The basic objects of the ABAP Dictionary are tables, data elements and domains. Objects that can be created in the ABAP Dictionary or via SE11 transaction are:
The data class signifies a physical area in an underlying 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
A view is like a telescope which just provides a picture of something. You can construct a view with special lenses or filters to allow you to look at one or more dictionary tables. You can look at parts of one table (selected records and/or fields) or combinations of tables and parts of tables. A view is an ABAP Dictionary object. In simple words, a View simply mirrors an entire database table. A view would just look like a table and act just like a table – but it isn't actually a table.
A view does not contain data of its own - rather, the view provides specialized access to the data that exists in other tables. For this reason, views are often called virtual tables. Views are used to look into one or more tables. A view does not contain data of its own.
Views combines more than one table. The structure of the view is defined in the ABAP Dictionary. With the help of views, application-dependent view can be defined that combines the data.
Data about an application object (like Purchase order, Sales Order, Invoice Verification, etc.) is often distributed on several database tables. By defining a view, one can define an application-dependent view that combines this data. The structure of such a view is defined by specifying the tables and fields used in the view. Fields that are not required can be hidden, thereby minimizing interfaces. A view can be used in ABAP programs for data selection.
The Size category describes the probable space requirement of the table in the database.
A data dictionary is a centralized storage location for information about the data that is stored in a database. It is basically an interface which helps us to understand like what kind of data is stored in database, what are the properties and attributes of the data and the relation between different data objects available in database.
SAP’s data dictionary is called the ABAP Dictionary. ABAP Dictionary is accessed via transaction code SE11.
ABAP dictionary is a central data management system. Its main function is to support the creation and management of data definitions.
The values specified for the size category and data class are mapped to database-specific values via control tables.
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.
Help views can be used as selection methods for Search Helps. It might be necessary to create a Help View if you are trying to accomplish an outer join, since database views only create inner joins.
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
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.
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.
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.
Rows from the cluster tables are combined into a single row in the table cluster. The rows are combined based on the part of the primary key they have in common.
The biggest advantage of cluster table and pooled table is they reduce the number of database reads and thereby improve performance.
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.
Yes, the numbers 0 to 9 are reserved for us to create our own Match Code IDs for a SAP defined Matchcode object.
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).
Possible ABAP/4 data types:
Data Element: Data Element gives semantic attributes like field labels and online documentation
Domain: Domain gives the technical attributes like data type and field length
In SAP, you have 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 divided into Database View, Projection View, Maintenance View and Help View.
Database views implement an Inner Join whereas Projection View, Maintenance View and Help View implement an Outer Join.
There are 4 Different types of Views in SAP. They are:
The Data class determines in which table space the table is stored when it is created in the database.
There are two types of SQL being used in SAP ABAP programming language. They are
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.
Native SQL allows to use database-specific SQL statements in a SAP ABAP program. This means that one can use database tables that are not administered by ABAP dictionary, and therefore integrate data that is not part of the SAP R/3 system.
Open SQL is not confined to any particular type of database while a Native SQL is confined to a particular type.
ABAP programs that uses only Open SQL statements will work in any R/3 system, regardless of the database system in use. Open SQL statements can only work with database tables that have been created in the ABAP dictionary.
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.
Differences between transparent, pooled and cluster tables are:
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.
Data dictionary is a central source of data in a data management system. Its main function is to support the. It has details about
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.
There are 3 types of tables in SAP Dictionary (DDIC). They are:
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).
ACCP, CHAR, CLNT, CUKY,CURR, DATS, DEC, FLTP, INT1,INT2, INT4, LANG, LCHR,LRAW, NUMC, PREC, QUAN,RAW ,TIMS, UNIT, VARC.
Just like we have table maintenance (SM30) for each table, similarly if there is a requirement to maintain data for one or more tables in a single view, then maintenance view can be created. All the tables in a maintenance view must be linked with foreign key. The join conditions for maintenance views are always derived from the foreign key automatically and thus one cannot directly enter the join conditions as for database views. Unlike Database views, one can modify data from maintenance view.
Thus, a maintenance view allows you to maintain the data of an application object together.
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.
The basic differences between projection view and database view are:
There are three operations that can be performed on views in SAP: Join, Projection and Selection.