Data Dictionary (DDIC)

Data Dictionary is also known as DDIC, ABAP Dictionary.

Tcode : SE11.

Data dictionary is the  'Central Repository of Data'. all the Data is Maintained here.

Types of Data 

Master Data 
Data is Created once and modified Very rarely. 
Ex : Bank account Details. (a/c Number, a/c Name etc.) 

Transactional Data
Data is Created frequently based on Master Data and Modified at Regular Intervals.
Ex : Bank account transaction Details. (Credits, Debits of account)

Organizational Data
Organizational data describe central characteristics of organizations, their internal structures and processes as well as their behavior as corporate actors in different social and economic contexts. Firm and enterprise data are the most frequently used type of organizational data

System Data
System data, e.g. information about software component versions used, and their patch level, and the servers and databases of a system, is saved in both the Solution Manager System Landscape (SMSY) and in the SAP Support Portal.


Structure
Structure is like a skeleton of  Table. We cannot create a Table without a Structure. Structure cannot store/contain any type of data.  

Table
Table is a combination of ROWS and COLUMNS in which DATA resides.
Table is combination of Structure and Data.
Table = Structure + Data.


Data type

Data type refers the type of Data which we want to define.


Types of Tables

Depending on the type of Data it can hold Tables are classified into 3 parts.

  •         Transparent tables
  •         Pooled Tables
  •         Cluster Tables

Transparent Tables

  • Holds Application Data. Application data is Combination of Master Data and Transactional data.
  • These Tables follows One to One Relationship (ie.Another table is Created in Database Server with the Same Structure and fields of Presentation server table.
  • It is the Default Table In SAP. In Real time we are working with these tables Only.
  • These tables allow both Open SQL(ex: Read, Select stmts)  and Native SQL Statements to be applied on them.
  • These Tables can be accessed from outside SAP.

Pooled and Cluster Tables
  • These tables holds SAP Proprietary format Data.
            Ex: Control data, Historical Data, Statistical data etc.
  • These tables follows Many to One Relationship.  (ie.The Small Pooled and Cluster Tables created in Presentation server are stored in a Single Table of Database Server)
  • These Tables cannot be accessed from outside SAP.

Domain

Domain defines Data type and it's size.
Domain = datatype + size. Ex : 'zdomain' is of  'C' Data type and size of '8'.

Data Element

  • By using Data Element we can Provide Fieldlabel for the Specific Field. Field label is nothing but Text Description of  that Field which we can see on the Output screen.
  • Data Element is Combination of Domain and Field Label.
Table Parameters / Technical Settings 

Data class
Database Server Stores Data Separately by  type of Data.
The data class defines the physical area of the database (for ORACLE the TABLESPACE) in which your table is logically stored. If you choose a data class correctly, your table will automatically be assigned to the correct area when it is created on the database.

The most important data classes are (other than the system data):


  • APPL0    Master data
  • APPL1    Transaction data
  • APPL2    Organizational and customizing data

Note : The data class only has an effect on table storage for the database systems ORACLE and INFORMIX.


Size category
The size category determines the probable space requirement for a table in the database.

You can select the size category  '0' to '8' for your table. Each category is assigned a specific fixed storage area value in the database. When you create a table, initial space is saved for it in the database. If more space is required later as a result of data that has been entered, the storage space is increased in accordance with the category selected.

Buffering status
The buffering status specifies whether or not a table may be buffered.

This depends on how the table is used, for example on the expected volume of data in the table or on the type of access to a table. (mainly read or mainly write access to the table. In the latter case, for example, one would not select buffering).

Delivery class

The delivery class controls the transport of table data when installing or upgrading, in a client copy and when transporting between customer systems. The delivery class is also used in the extended table maintenance.

      delivery classes:
  • A : Application table (master and transaction data).
  • C : Customer table, data is maintained by the customer only.
  • L : Table for storing temporary data.
  • G : Customer table, SAP may insert new data records, but may not overwrite or delete existing data records. The customer namespace must be defined in table TRESC. (Use Report RDDKOR54 here).
  • E : System table with its own namespaces for customer entries. The customer namespace must be defined in table TRESC. (Use Report RDDKOR54 here.)
  • S  : System table, data changes have the same status as program changes.
  • W: System table (e.g. table of the development environment) whose data is transported with its own transport objects (e.g. R3TR PROG, R3TR TABL, etc.).

Authorization Group
Access to specific tables and reports can be restricted using authorization groups. For example, if we consider that user 'JOHN' has access browse table using transaction SE16 but as user administrator, you want to restrict the access to only 10 specific tables. In SAP, these 10 tables can be assigned to one authorization group (let's say the authorization group 'ABCD'). When you create the role to be assigned to JOHN, you assign value 'ABCD' in the authorization group field for authorization objects S_TABU_DIS and S_TABU_CLI. This will ensure that JOHN can browse only these 10 tables which belong to authorization group 'ABCD'.

The same concept applies to reports as well. Table TRDIR stores the authorization groups for all tables while table TDDAT stores the authorization groups for all reports in SAP.

You may notice that some tables have no authorization groups - which basically means that any user with authorizations to browse tables can browse these tables. The user does not need any authorization group in her profile to browse these tables.

You may also notice that some tables have an authorization group '&NC&'. '&NC&' is slightly better from having a BLANK authorization group since only users with any authorization groups in their profile can access these tables. So, it doesn't matter what authorization group is specified in the user's profile - as long as there is an authorization group in the user profile, the user can access tables assigned to authorization group '&NC&'.
So, it is best to have specific authorization groups assigned to each table you want to protect against unauthorized access. For others, at least have the authorization group as '&NC&' (Not the best option but still better than leaving it blank!)








No comments: