data dictionary
TRANSCRIPT
![Page 1: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/1.jpg)
Data Dictionary
![Page 2: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/2.jpg)
What is Data Dictionary
is a system independent interface to the database
is a virtual database ( data about data)
provides data for data manipulation and data processing
Also called as DDIC and ABAP Dictionary
The T-Code for DDIC is SE-11.
![Page 3: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/3.jpg)
DDIC(SE-11)
![Page 4: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/4.jpg)
Transparent Table. A transparent table in the dictionary has a
one-to-one relationship with a table in the database.
Its structure in R/3 Data Dictionary corresponds to a single database table. Has one to one relationship with a Db table. Used to hold application data or master
data used by application. Has the same name and fields as the Db
table.
![Page 5: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/5.jpg)
POOLED TABLES (small tables like VIEWS) that holds
customizing data from many database tables and they have many-to-one relationship with a database table . For one database table, there are many tables in the dictionary ( with different table name; different field names and different number of fields). Each pooled table contains table description.
![Page 6: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/6.jpg)
Pooled Tables (contd..) Many pooled tables are stored together in
a database table called a table pool which holds system data. You create table defiition for a table pool. When activated, an associated single table will be created in the database. Then you can defines pooled tables and assign the pooled tables to the table pool.
![Page 7: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/7.jpg)
Cluster Table
Holds data from a few very large tables (like joining tables on common part of primary key). It has many-to-one relationship with a database table. Many clustered tables are stored in a single database table called a table cluster.
(Pooled tables and clustered tables are usually used only by SAP)
![Page 8: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/8.jpg)
DDIC Domains and data elements are
reusable. A domain can be used in more than one data element, and a data element can be used in more than one field and in more than one table.
![Page 9: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/9.jpg)
DDIC
![Page 10: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/10.jpg)
Naming conventions Custom fields, data elements and
domains must start with Y or Z. All names are a maximum of 10
characters long.
![Page 11: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/11.jpg)
SAP Table Creation Attributes Data Class – Physical area in the database where
tables will be stored.
Size category – Size of extents to be reserved when table is activated.
Buffering – Data in the database tables will be stored in application server buffers for better performance.
(Cluster tables cannot be buffered)
![Page 12: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/12.jpg)
Buffering Methods
SAP R/3 allows three modes of buffering.
1) Full Buffering Full – All the records of the table are loaded into the
buffer when one record of the table is read.
NOTE: Use full buffering if tables up to 30 KB in size. If a table is
accessed frequently, but all accesses are read accesses
![Page 13: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/13.jpg)
Buffering Methods 2) Generic Buffering With generic buffering, all the records in the buffer
whose generic key fields match this record are loaded when one record of the table is accessed
NOTE : Only 64 bytes of the generic key are used. You can
specify a longer generic key, but the part of the key exceeding 64 bytes is not used to create the generic areas.
![Page 14: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/14.jpg)
Buffering Methods 3) Single Buffering With single-record buffering, only the records
that are actually read are loaded into the buffer.
NOTE: Single-record buffering should be used
particularly for large tables where only a few records are accessed with SELECT SINGLE. The size of the records being accessed should be between 100 and 200 KB.
![Page 15: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/15.jpg)
When buffers are bypassed? The following accesses always bypass the
buffer and proceed directly to the database:
SELECT... BYPASSING BUFFER SELECT FOR UPDATE SELECT with aggregate function, for example
COUNT, MIN, MAX, SUM, AVG SELECT DISTINCT SELECT... WHERE… IS NULL ORDER BY (with the exception of PRIMARY
KEY)
![Page 16: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/16.jpg)
Logging
Each change to an existing data record ( update or delete ) by the user is recorded in a log table (DBTABPRT).
Pre-requisites User profile must contain rec/client
![Page 17: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/17.jpg)
Logging .. Contd
Run transaction SCU3 to display table change history.
DDLOG sap table contain central log information for buffering.
![Page 18: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/18.jpg)
Creating data dictionary objects
SAP Repository Transaction SE11.
![Page 19: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/19.jpg)
Domain
![Page 20: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/20.jpg)
Data Element
![Page 21: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/21.jpg)
Table
![Page 22: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/22.jpg)
DDIC Application Data Transaction SE16. Displays the contents of a table.
![Page 23: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/23.jpg)
Database Index
Consider Index as database table with certain fields in sorted fashion using binary search.
Primary index created during table creation. Other than primary index, indexes you create
are called secondary index. Several indexes on the same table is identified
by index identifier ( 3 character code which identifies index).
![Page 24: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/24.jpg)
Foreign Keys A foreign key is a field in a table that is
connected to another table via a foreign key relationship .
The purpose of the foreign key relationship is to validate the data being entered into one table by checking against a valid set of values in another table.
![Page 25: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/25.jpg)
Cont.. You can define the relationships
between tables in the ABAP Dictionary by creating foreign keys.
Using foreign keys, you can easily create value checks for input fields. Foreign keys can also be used to link several tables in a view or a lock object.
![Page 26: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/26.jpg)
Types of Foreign key Fields No key fields/candidates: The foreign key fields are
neither primary key fields of the foreign key table nor do they uniquely identify a record of the foreign key table (key candidates).
Key fields/candidates: The foreign key fields are either primary key fields of the foreign key table or they already uniquely identify a record of the foreign key table (key candidates).
Key fields of a text table: The foreign key table is a text table for the check table, that is the key of the foreign key table only differs from the key of the check table in that it has an additional language key field.
![Page 27: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/27.jpg)
How Foreign Key Works?
A SELECT statement is generated from the definition of the foreign key. If an entry is made in the check field, this SELECT statement is submitted. If a suitable record of the check table is found, the entry is valid. Otherwise the entry is rejected.
![Page 28: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/28.jpg)
Triggering the Foreign Key Check Foreign key checking is performed by
the R/3 user interface. Foreign Keys are checked at the
application layer or at the user interface level.
Formulated by a SELECT statement behind the scenes.
![Page 29: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/29.jpg)
Requirements To create a foreign key:
The check must occur against a field within the primary key of the check table.
The domain names for the foreign key field and the check table field must be the same.
![Page 30: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/30.jpg)
Compound Foreign Keys A compound foreign key is a foreign key
composed of two or more fields.
![Page 31: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/31.jpg)
text table
A text table is a table that contains spoken-language descriptions of values in a check table
![Page 32: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/32.jpg)
Modifying SAP tables SAP tables can be modified using two
methods
1) Append structures 2) CI Includes
![Page 33: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/33.jpg)
Append Structures Append structures are used for enhancements
that are not included in the standard. This includes special developments, country versions and adding customer fields to any tables.
An append structure is a structure that is assigned to exactly one table. There can be more than one append structure for a table.
![Page 34: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/34.jpg)
Customer Includes A Customizing include is a structure that
satisfies a special naming convention. The name of a Customizing include begins with ‘CI_’ and the include lies in the customer namespace.
A Customizing include can be contained in several tables or structures, so that they remain consistent when the include is modified.
![Page 35: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/35.jpg)
SAP Module wise table View
![Page 36: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/36.jpg)
SAP Finance Tables BKPF - Accounting document header BSEG - Accounting document segment BSEC - One-time a/c data doc segment BSET - Tax data document segment BSAD - Customers cleared items index table BSID - Customers open items index table BSIS - Glcode open items index table BSIK - Vendors open items index table
![Page 37: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/37.jpg)
SAP Controlling Tables COSP - (Cost Totals – External Posting) COEP - (Period related line items) COBK - (Controlling header table) GLPCC – (EC-PCA Transaction Attributes) GLPCO – (EC-PCA A/c Assignment
Elements) GLPCA – (EC-PCA Actual Line Items) GLPCT – (EC-PCA Totals Table)
![Page 38: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/38.jpg)
SAP Materials Tables MARA – Material Master (General) MAKT – Material Description MARA – Material Master (C segment) MARM – Units of Measure MBEW – Materials Valuation EKKO – Purchase document header EKPO – Purchase document Item EKET – Delivery Schedules EKKN – A/c Assignment in PO document
![Page 39: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/39.jpg)
SAP Project Planning tables PROJ - Project definition PRPS - WBS Elements PRTX - WBS (Texts) PSTX - Project texts header PRTE – Schedule data project items PRHIS – Project Hierarchy for WBS
![Page 40: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/40.jpg)
SAP Sales & Distribution tables VBAK - Sales document : Header VBAP - Sales document : Item Info VBEP - Sales document : Schedule lines VBPA – Sales document : Partner VBFA – Sales document : Flow VBKD – Sales document Business data VBRK - Billing document Header VBRP – Billing document Items VBUK – Sales document Header status
![Page 41: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/41.jpg)
VIEWS
![Page 42: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/42.jpg)
Views The data of a view is derived from one
or more tables, but not stored physically.
Data that can be selected with a view depends primarily on whether the view implements inner join or outer join.
![Page 43: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/43.jpg)
Types of Views
SAP R/3 supports four types of Views
1) Database View 2) Projection View 3) Help View 4) Maintenance View
![Page 44: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/44.jpg)
Database View A database view provides an application-
specific view on such distributed data.
If the database view only contains a single table, the maintenance status can be used to determine if data records can also be inserted with the view. If the database view contains more than one table, you can only read the data.
![Page 45: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/45.jpg)
Project View A project view contains exactly one
table. You cannot define selection conditions
for selection views. Project views are used when you
required to use only few selected fields in your view.
![Page 46: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/46.jpg)
Help view You have to create a help view if a view
with outer join is needed as selection of a search help.
Only foreign keys that have certain attributes can be used here.
![Page 47: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/47.jpg)
Maintenance View A maintenace view permits you to
maintain the data of an application object together.
Only those tables that are linked with the primary table (indirectly with a foreign key can be included in the maintenance view).
![Page 48: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/48.jpg)
Search Helps
![Page 49: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/49.jpg)
How Search Help works?1. The user starts the input help to display the
possible input values for a field.2. The system offers the user a number of possible
search paths3. The user enters restrictions if required and then
starts the search.4. The system determines the values that satisfy
the entered restrictions (hits) and displays them.5. The user selects the most suitable line from the
hit list by double-clicking
![Page 50: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/50.jpg)
Search Helps Selection method to limit data records
used in table selection. Allows you to include to field input help. In R/3 you can create two types of
search helps. 1) Elementary Search help 2) Collective search help
![Page 51: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/51.jpg)
Elementary Search Help Where does the data displayed in the hit list
come from (selection method) what information should be displayed in the
dialog box for value selection and in the hit list (search help parameters)
what field contents can be taken into account for hit list selection (search help parameters).
what dialog steps should be executed in the input help (dialog behaviour)
![Page 52: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/52.jpg)
Collective Search Help A collective search help combines several
elementary search helps. The user can thus choose one of several alternative search paths with a collective search help.
![Page 53: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/53.jpg)
Lock Objects
![Page 54: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/54.jpg)
Lock Objects
The R/3 System synchronizes simultaneous access of several users to the same data records with a lock mechanism. When interactive transactions are programmed, locks are set and released by calling function modules. These function modules are automatically generated from the definition of lock objects in the ABAP Dictionary.
![Page 55: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/55.jpg)
Lock Objects Activating a lock object in the ABAP Dictionary
automatically creates function modules for setting (ENQUEUE_<lock object name>) and releasing (DEQUEUE_<lock object name>) locks.
The generated function modules are automatically assigned to function groups. You should not change these function modules and their assignment to function groups since the function modules are generated again each time the lock object is activated.
![Page 56: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/56.jpg)
Parameters of Lock Object Field names of the lock object _SCOPE ( how lock and unlock must work) Lock Mode _WAIT (determines the lock behaviour when
there is a lock conflict ).
![Page 57: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/57.jpg)
Exceptions of theENQUEUE Function Module
FOREIGN_LOCK: A competing lock already exists. You can find out the name of the user holding the lock by looking at system variable SY-MSGV1.
SYSTEM_FAILURE: This exception is triggered when the lock server reports that a problem occurred while setting the lock. In this case, the lock could not be set.
![Page 58: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/58.jpg)
Questions Please
![Page 59: DATA DICTIONARY](https://reader033.vdocuments.net/reader033/viewer/2022061103/54045d80dab5ca084d8b4590/html5/thumbnails/59.jpg)
THANKS