Register Login

ABAP/4 Data Dictionary

Updated May 18, 2018

Detail Description of ABAP/4 Data Dictionary.

Data Dictionary

  • The ABAP/4 Dictionary describes the logical structure of the objects used in application development and shows how they are mapped to the underlying relational database in tables or views.
  •  Tables, Structures and Views are the three most important objects of ABAP/4 Dictionary. Tables are defined independently of the database. Once these objects are defined and activated they are available to all system components thus ensuring data integrity, data consistency and data security.
  •  ABAP/4 Dictionary is completely integrated with the ABAP/4 Development workbench.
  •  The basic objects for defining data in the ABAP/4 Dictionary are tables, domains and data elements. Domains are used for the technical definition (for example field type, field length) of a table field, and data elements for the semantic definition (for example, short description).
  •  Fields are not independent objects: they are dependent on tables and can therefore only be maintained within a table; they refer to data elements.
  •  Each data element is dependent on the existence of a domain. Data Elements determine how a field is displayed to the end-user. These are objects in their own rights and appear in the object browser as separately. And since they are objects, once defined they can be reused within the same table or among fields in other tables in the dictionary.
  •  The data element is the semantic attribute for fields/domain. It describes exactly one role of a domain in a particular business context for its dependent fields.
  •  It describes the technical attributes and the meaning of a table field or a structure field. It also contains the semantic Information of a field. Semantic Information includes Field labels for displaying.
  •  The domain is the central object for describing the technical characteristics of an attribute of a business object. It describes the value range of a field. This is determined by specifying formal characteristics such as external format, length and so on. In addition, specifying fixed values or a value table can restrict the value range.
  •  Domains can be defined without further references to other Dictionary objects. Like Data Elements, Domains are also stored as objects in the Dictionary. And you can reuse the Domain object for different fields within the same table or among fields in other tables.
  •  In the ABAP/4 Dictionary, relationships can be defined between tables. These relationships are known as foreign keys and must be explicitly defined at field level.
  •  Foreign keys are used above all to ensure the consistency of data. Data entered should be checked against existing data to ensure that there are no contradictions. (For example: assignment of a printer that does not exist.)
  •  A combination of fields of a table is identified as a foreign key if this combination is a primary key in another table.
  •  A foreign key provides a link between two tables T1 and T2. Both the tables should have the same field names existing in them. In table T1 there is a reference to the primary key of table T2. In T1, the foreign key fields are assigned to the primary key fields of T2. The table to be checked i.e. Table T1 is called the foreign key table (dependent table) and table T2 is called the check table (referenced table).
  • The fields from the two tables, which are paired to form the foreign key relationship, should be of the same data type and length. In other word one foreign key from one table should correspond with the primary key of the other table.
  •  If a foreign key is defined between two tables, a record of the foreign key table refers to a record of the check table. A record is identified via its key, so in the foreign key definition in the foreign key field it is sufficient to refer to the primary key of the check table.
  •  In order to avoid the comparison of fields with different data types and field lengths, the same domain is required within the ABAP/4 Dictionary behind the check field and the referenced primary key field.


The requirement that the domain be the same applies only to the foreign key definition for the check field. For all other foreign key fields, it is sufficient if the data class and field lengths are the same. You should nevertheless ensure that the domain is the same. When the field length is changed, the foreign key remains consistent, because both the assigned fields have been changed (same domain). When the domains are not the same, the foreign key becomes inconsistent when the field length, for example, is changed.

  •  In short, a field defined as foreign key in one table should be defined as Primary key in another table
  •  While defining the foreign key relationship the cardinality has to be specified
  •  Cardinality mentions in a foreign key relationship how many dependent records or how referenced records is possible
  •  Domains for the foreign key fields in the check table and the reference table should be the same
  •  When a transparent table is defined in the ABAP/4 Dictionary technical settings must be maintained.
  •  The technical settings are used to optimize individually the space requirements and access behavior of database tables.
  •  The technical settings can be used to determine how the table should be treated when it is created in the database, whether the table is buffered and whether changes to entries should be logged.
  •  When the table is activated in the ABAP/4 Dictionary the table is automatically created in the database. The necessary information on which memory area (tablespace) to select and the probable table size are determined from the settings for the data class and size category.
  •  The buffering settings determine whether the table is buffered and how. The Buffering Type (Full, Single Record, Generic) parameter specifies how many records are loaded into the buffer when a table entry is accessed.
  •  In the Logging entry, you can specify whether changes to the table entries should be logged.
  •  The most important data classes are master data, transaction data, organizational data and system data.
  •  Master data refers to data, which is only seldomly changed. An example of master data is the data contained in an address file, such as name, address and telephone number.
  • Transaction data is data, which is often changed. An example of transaction data is the stock of goods in a warehouse, which changes each time an order is processed.
  • Organizational data is customizing data, which is entered when the system is configured and is then rarely changed. The table with country keys is an example.
  •  System data is data, which the R/3 System itself needs. Tables containing the program sources are an example.
  •  The size category describes the probable space requirement of the table in the database.
  •  You can choose a size category between 0 and 4. Each category is assigned to a fixed size of memory area (extent), depending on the database system used.
  • Buffering can considerably enhance the performance of the system.
  •  The buffers are located locally on the application servers of the system. The records of buffered tables are thus read from the local buffer of the application server on which the accessing transaction is running.
  •  Only Transparent and Pooled table can be buffered. Buffering is not permitted for Cluster Tables.
  •  Using Indexes records in the tables can be searched in a faster way.Let us now go through the procedure of creating Tables, Domains, Data Elements :While creating the table we will also see how to create a Data Element and Domain. Tables can be created by following the path Tools -> ABAP/4 Workbench ->ABAP/4 Dictionary or Transaction Code SE11. Following this path you can also create other ABAP/4 dictionary like Structures, Data Elements, Domains, Views, Matchcodes etc.
  • Enter a name of the table in the Object Name box and click on the Tables radio button for creating the table. The name of the table should begin with a Z or Y. let us create a table with the name YEMP1.


  •  Enter a table name, select the Tables radio button and then Click on Create button.
  •  Enter a Short description of the table in the Short Text area
  •  Select the delivery class. Select ‘A’
  •  Check the Tab. Maint. Allowed check box
  •  Enter a field name. Let us create a field called EMPNO for our example.
  •  You can define a table as Client-Dependent by assigning a field of type CLNT in the table.
  •  Enter the Data Element Name. Let’s create a Data Element called YEMPNO.
  •  Double click on the Data Element name.
  •  If the data element is not existing in the dictionary then you will get a Create Data Element pop up. If the data element is existing then you will be taken to the data element information screen in display mode and when you come back by pressing the BACK icon you will find the field type length and other information filled.


  •  Click on the enter button if you want to create a new data element
  •  Enter the description of the data element. It is recommended that you give the same name as the field name preceded with a ‘Z’ or ‘Y’.

 Note : You can also change the docu status with transaction SE61.

  • You can also enter documentation for the data element. Choose Goto -> Documentation. Or press F9. The text that you enter here will be displayed when you press F1 on the field.
  • Under Extra -> DE Supplement Docu., you can specify some additional documentation like the possible cause of error, what should be done in case of error etc.
  •  Enter the Domain Name
  •  Double click on the domain name to create the domain for the data element / field
  •  If the domain is not existing then you will get a pop up asking to create one.
  •  Click on the Yes button


  •  Enter the description for the domain in the Short text area
  •  Specify the data type in the Data Type box in the Format area
  •  Specify the field length


  •  Click on Save icon.
  •  In the resulting popup screen specify a Development Class.
  •  Activate the domain in the dictionary by clicking on the Generate icon on the application toolbar.
  •  Click on the BACK icon. You will come back to the Data Element specification screen
  •  In the TEXTS are enter Short, Medium and Long field label names for the field
  •  Save the entries for the data element.
  •  You will get a popup screen Specify a Development Class to save the object.
  •  Activate the data element by clicking on the Activate icon
  •  Click on the BACK icon to come back to the table definition screen
  •  Save the table
  •  Click on the local object button
  •  Activate the table by clicking on the Activate button
  •  Enter the Data Class, Enter APPL1 in the data class field, Data Class APPL1indicates that the field is updated frequentlyData Class defines the physical area of the database (tablespace) in which the table should be created. The following data classes are available :
  • APPL0 (master data) Data in the tables of this class is not frequently changed
  • APPL1 (transaction data) Data in the tables of this class is frequently changed
  • APPL2 (organizational data) Customizing data goes in here. Data in the tables of this class are not frequently changed
  •  Enter the Size Category. The Size Category defines the expected memory space required by the table on the database. You have 0 to 4 size category to choose from for your tables. It defines the size of the table extents. Enter 1 in the Size Category. The value 1 in the size category indicates that the table is small.
  •  Using the Logging flag, you can log / keep track of the changes (Deletes, Updates etc.) made on the table. The changes are logged in the tableDBTABPRT. To switch on the logging, a parameter rec/client should be set in the system profile.

The above parameter can have the following values:

rec/client = 000[,...] Log the specified clients.

rec/client = OFF Do not log.

rec/client = ALL Log all clients.

This parameter defined whether the all clients or selected clients should be logged.

  •  You can also specify the buffering type Tables buffered by record reside in the single-record table buffer TABLP, fully and generically buffered tables share the full/generic table buffer TABL.
  •  Specify at least one of the fields as the primary key and then click on Save icon to save the table and click on Generate icon to activate the table.

    To create more fields in the table, click on the New Fields button on the application toolbar and repeat the above steps. We have added one more field EMPNAME to the table. This is how you can create a table. You can use the existing data elements by placing the cursor in the data element box and then pressing the F4 key. You can also reuse the domains that you create. You can also create Data Elements with the existing domains.

To enter data in the tables choose Utilities -> Create Entries

 You will get a data entries screen

 Enter the values for the fields and click on the save button after each record

 You can  display the table contents by going to Utilities -> Table Contents


Ü Structures are defined in the same way as tables. However, a structure does not correspond to an object in the database. A structure can be used as a reference in ABAP/4 programs.

Ü Structures are defined and activated in the ABAP/4 Dictionary. They can than respond to ABAP/4 programs like tables in the TABLES instructions.

Ü In transparent tables, data can be saved in the database, but structures only contain data temporarily during the runtime of a program.

Ü Since structures that are used more than once are defined centrally, they can also be changed centrally. These changes are then effected at all relevant points by the active ABAP/4 Dictionary

Ü In the ABAP/4 Dictionary, the information about a table is divided between domains, data elements and the table definition. The runtime object (nametab) collects this information in a table in a form, which is optional for application program access.

Ü Summary information about the table (number of fields, total of the lengths of all table fields, number of key fields, total of lengths of all key fields, information on whether the table is client specific and how it is buffered, and so on) is stored in the runtime object. In addition, it contains information about the table fields (field name, position of the field in the table, data type, length, decimal places, reference field, check table, conversion routine, and so on).

Ü If a large set of objects is to be activated simultaneously, for example after an import, you can use the program RDDMASG0 for mass activation.

Ü An index is used to speed up the selection of data from a table.

Ü All indexes, which are defined in the ABAP/4 Dictionary for a table, are activated along with the table and are automatically created with it in the database.

Ü The indexes to a table are distinguished by means of a three-character index ID. The index ID may contain only letters and figures. The ID '0' is reserved for the primary index.

Ü Combining the name of the table and the index ID creates the index name in the database. Table names with fewer than 10 places are filled with underscores with the ID being added on at the end. The index ID is thus always located at positions 10-13.

Ü An index could be described as a copy of a database table reduced to specific fields. This data exists in this copy in sorted form. This sorting enables fast access to the data records of the table. In order that the remaining fields can also be read, that is, those fields not contained in the index, a pointer to the associated record of the actual table are included in the index.

Ü Fields, which frequently contains constants in many selections, should be located at the beginning.

Ü The database utility allows you to create and delete objects defined in the ABAP/4 Dictionary in the database. In addition the database utility supports structural adjustments - so-called conversions - of an object definition in the database to changed definitions of the object in the ABAP/4 Dictionary. The operations, which the database utility executes for an object, are logged. The object log can be displayed from the database utility.

Ü The database utility offers several analysis options. It can:

Ü Check whether a table in the database already contains records..

Ü Display the definition of the table in the database.

Ü Display the runtime object for a table.

Ü Check consistency between the database table and the runtime object.

Ü Check consistency between the definition of the table in

Dictionary maintenance (SE11) and the runtime object.


Ü Views, Match code objects, lock objects etc. is known as aggregated objects.

Ü Using Views, you can permit access to certain set of data from a table or a set of tables in an application. In other words Views are a logical datasets which contain data extracted from a single table or multiple tables as a single entity.

Ü These objects are based on tables

Ü The data for an application object is often distributed on several DB tables in a relational data model.

Ü The database systems therefore permit you to define application-dependent views on the data.

Ü In this way, data from different tables can be combined in a logical manner and information which is not of interest can be masked out.

Ü Aggregate objects in the ABAP/4 Dictionary are objects, which are formed from several tables.

Ü Views are application-dependent displays of various ABAP/4 Dictionary tables.

Ü Views make it possible to provide the user with information from fields of various tables required when working with the R/3 System.

Ü Views are used mainly for programming with ABAP/4 and for the F4 help.

Ü Views are used to represent data which is distributed between many tables

Ü Data of a view is not actually physically stored. The data in a view is derived from one or more tables

Ü There are 4 types of views : Database View, Project View, Maintenance

View and Help View

Ü The individual tables involved in a view should be linked with a relational join operation

Ü The data that is selected using a view depend on whether the views implement an inner join or an outer join. Database views implement Inner Join whereas Maintenance Views and Help Views implement an outer join

Ü Using the inner join, you can retrieve records which are there in the entire table involved in the view i.e. you only get the records of the primary table which also have the same record in the secondary tables of the view.

Ü Using an outer join you can also select the records for which there are no entries in the secondary tables

Note :

The join conditions for database views can be formulated using equality

relationships between any base fields. The join conditions for the other view

types must be obtained from existing foreign keys. Tables therefore can only be

combined into a maintenance view or help view if they are linked to one another

with foreign keys.

Creating Views

Ü To create a view follow the path Tools -> ABAP/4 Workbench -> ABAP/4 Dictionary.

Ü Give the view name and click the view radio button

Ü Click on the create button

Ü Select the View type from the pop box

Ü DB views can be created on the database and are defined in the ABAP Dictionary once they are activated. They are provided for the user as virtual tables.

Ü It is possible to access the data of a DB view in ABAP/4 programs both with OPEN SQL and with NATIVE SQL.

Ü Since the Database View is implemented on a database, only transparent tables can be used to create them.

Ü If a DB view is also to be used to insert new records in its (only) base table, the initialization flag should be set for the base table fields which are not view fields. In this case, these fields will automatically be filled with the initial value by the view when a new record is inserted.

Ü Select the Database View from the pop up box

Ü Enter a description for the view

Ü Under the tables box specify the table names. Let’ us take the F1S database as our example. Select the tables SFLIGHT, SPFLI and SBOOK.

Ü Specify the Join condition between the tables in the Join Conditions box

Ü Or click on the Relationships button under the tables box

Ü From the popup screen select the combination of the tables relationships and the click the Copy icon. You will get the joins conditions defined for you.

Ü Next place the cursor in the box of the tables and click on the TabFileds button on the toolbar to select the fields from each table to include the fields from those tables to be included in the View. For our Example Let’s place it on SPFLI table.

Ü In the pop up box check the fields that you want to include in the view and click the Copy button. Do the same for the tables whose fields you would like to have as part of the view. Let us select some fields from SFLIGHT and SCARR tables

Ü These fields will appear in the View Fields area

Ü Save and activate the view. When you save, you will be prompted for a Development class.

Ü Now you have created a Database view

Ü To execute the database views go to Utilities -> Display Data

Ü Click on the execute button. You will get the data for the view

Ü You can also specify the selection condition for the view

Ü Choose Goto -> Selection Condition or click on the Next Screen icon on the tool bar

Ü The Selection Condition box will appear in place of View Fields box

Ü Give the condition by specifying the table name, field name, operator, comparison value and the AND/OR condition in case you want to more fields in the selection condition

Ü You can type in the detail if you are sure of them or else place the cursor in the Selection condition box and click on the TabFields button

Ü You will get a pop box with the table name, which you had selected, in the first screen

Ü Double click on the table name to get the list of the fields for the table

Ü Check the field(s) on which you want to base the condition and click on the Copy icon / button

Ü The fields will appear in the Selection Condition area

Ü Then you specify the operator, comparison value and the AND/OR condition. For our example we have done a selection on SFLIGHT-CARRID =‘LH’.

Ü Save and activate the View

Ü Display the data in the view by going to Utilities -> Display Data

Note: You could have still displayed the data without specifying conditions. In short, specifying conditions is optional.

Ü After you display the data from the view, you can download to an unconverted file format or spreadsheet or to a RTF file

Ü In the result screen go to Edit -> Download.

Ü Select the file type by selecting the appropriate radio button

Ü In the next screen give the path of the download file name with the extension and press the enter icon

Ü Go the location where the file was created and open the file with the appropriate application

Ü You can sort the data in Ascending or descending order

Ü To do this first select all the rows by going to Edit -> Select -> Select all

Ü This will put a check mark in the check boxes

Ü Goto Edit -> Sort Ascending / Sort Descending to sort the data

Ü You can also print the result

Projection View

Ü Projection Views can be created only on single tables

Ü Selection conditions cannot be specified for a Projection View

Ü The relational operator projection is used to remove fields from a cross product table created by join and selection. Information that is of no interest for the particular view can thus be masked out i.e, the data that is actually required is displayed when the database is accessed.

Ü It also possible to access Pooled and Cluster tables using Projection View.

Ü The remaining fields are the fields of the views defined by join selection and projection.

Ü In a projection, fields, which are used to formulate the selection condition, can also be masked out.

Ü From the pop up box select the Projection View type radio button and click on choose

Ü Give a short description for the view

Ü Specify the base table name on which you want to create the view

Ü Place the cursor in the View Fields area and click on the TabFields button the toolbar

Ü In the pop up box you will get the list of the fields of the table. Check the fields to select them and click on copy button

Ü The selected fields will appear in the view fields area

Ü Save and activate the view

Ü To execute the Project View follow these steps :

¨ Choose Utilities -> Repository Infosys

¨ Expand Basic Objects

¨ Double click on views

¨ Give the Projection View name

¨ Click the Execute button

¨ Mark the Check box against the View name

¨ Goto Views -> Test / Execute

¨ Click the execute icon

¨ You will get the data for the view

Ü After you display the data from the view, you can download to an unconverted file format or spreadsheet or to a RTF file

Ü In the result screen go to Edit -> Download.

Ü Select the file type by selecting the appropriate radio button

Ü In the next screen give the path of the download file name with the extension and press the enter icon

Ü Go the location where the file was created and open the file with the appropriate application

Ü You can sort the data in Ascending or descending order

Ü To do this first select all the rows by going to Edit -> Select -> Select all

Ü This will put a check mark in the check boxes

Ü Goto Edit -> Sort Ascending / Sort Descending to sort the data

Ü You can also print the result

Maintenance Views

Let us go through the procedure of creating Maintenance Views

Ü Maintenance Views give a business oriented view of the data and at same time allows you to maintain the data.

Ü Maintenance Views are more like Database views where you have specify the foreign key relationship between the tables. The foreign key relationship should exist between the tables i.e. data from several tables can be presented to in Maintenance view collectively.

Ü All the tables used in the Maintenance View should have a foreign key relationship.

Ü From the pop up box select the Maintenance View type radio button and click on choose

Ü Give a short description for the view

Ü Give the Parent table name in the Tables box

Ü Click Relationship button under the tables’ box

Ü You will get a pop up box with the foreign key relationship of the base table

Ü Mark the Check box and click the Copy icon / button

Ü The candidate table will be displayed in the Tables box and the foreign key relationship will be displayed in the Join Conditions box

Ü You can also specify Selection Conditions by clicking on the Next Screen icon. (Follow the Steps in the Database View to specify the Selection Condition)

Note : Don’t forget to mention the AND / OR condition.

Ü Save and activate the View

Ü Now you will have to maintain the View

Ü Go to Environment à Table Main Generator

Ü Enter a function Group name

Ü Specify the Authorizations Group as AC ( RA:User Controlled )

Ü Specify the Maintenance Screen numbers in the Overview Screen and Single Screen boxes ( Give numbers here eg. 100 / 200 )

Ü Click on the create button on the toolbar

Ü Save the object in a Development Class

Ü Go back by pressing the BACK Icon

Ü Select the Maintenance status by going to Extras à Maintenance Status

Ü Save and activate the view

Ü To execute the Maintenance View run the transaction code /nSM30

Ü The view name will be displayed on the screen

Ü Click the Maintain button and you will get the output

Ü You can create New Entries by clicking on the New Entries button on the application toolbar, Change the field contents, delete etc., but these changes will not be reflected in the tables

Ü Once the maintenance view has been created and activated, the maintenance modules must be generated in the specified transaction. To do so, it is necessary to define a function group into which the maintenance modules are generated. The function group is automatically created if it does not yet exist. This function group must be in the customer name range.

Ü The generated maintenance dialog can be started at any time with the menu path System à Services à Ext. table maint.

Ü A maintenance interface for a single database table can also be generated in the transaction Table view generation. If a text table exists for it, this text table can be automatically maintained.

Help Views

Ü Help views can be used as a selection method in search helps. This is necessary especially if a view with outer join is required for the value selection in the search help. Since database views always implement an inner join, a help view must be selected as selection method in such cases.

Ü All the tables used in a help view must be linked with foreign keys. Only foreign keys which have certain semantic attributes can be used here

Ü The steps are the same as that for a Database View or Maintenance View

Ü The help view is a type of view, which was specially designed for the requirements of the possible entries help. Help views are also defined using the relational operations join selection and projection. However, there are several important differences to the DB view.

Ü SAP HELP only uses help views. In particular, it is not possible to access them with either OPEN SQL or NATIVE SQL.

Ü The order of base tables in a help view cannot be changed. The primary table plays a special role. The help view is used as possible entries help for exactly those fields which are checked against this table. This is done automatically. For this reason, a table may not be the primary table of more than one help view.

Ü There are special restrictions for the foreign key relationships used to set up a help view. They must be defined so that at most one record of the successor table is assigned to a record of the predecessor table. The successor table may also be a text table for the predecessor table. In this case, only those records of the text table that have the log on language in the language field are automatically taken into consideration when creating the view.


Search Help has replaced Matchcodes in 4.0B. Existing Matchcodes have been converted into Search helps with the same name.

Ü Matchcodes are tools for finding data records, which are stored in the system. They are an efficient and convenient search help if the key is not known.

Ü A matchcode ID is always uniquely assigned to a matchcode object. It is formed from the base tables of this matchcode object by join, selection and projection. The definition of a matchcode ID can also influence the way in which the search help is displayed.

Ü A matchcode ID is defined similarly to a view. You should, however, note some differences:

Ü The definition is based on the matchcode object to which the ID belongs.

Ü The update type is one of the general characteristics, which must be defined.

Ü The primary table of the ID is the same as the primary table of the matchcode object.

Ü The secondary tables must be selected from the secondary tables of the matchcode object.

Ü The fields must be selected from the fields of the matchcode object. They are also given the names, which they had when the matchcode object was defined. Various definitions can also be made concerning the output characteristics of the fields.

Ü Matchcode is a tool used for searching data records in a system

Ü To create a matchcode, first create a Matchcode object, then create a matchcode ids

Ü One or more matchcode ids can be created for a matchcode object

Ü Specify the primary table and the secondary tables

Ü The system will display a list of tables having relationship with the primary table

Ü Select the tables that you would want to include in the matchcode

Ü From each selected secondary table, select the fields to be included in thematchcode. Click on the fields buttons the toolbar.

Ü Save and activate the matchcode object

Ü Next create a matchcode id

Ü Select the matchcode object

Ü Double click on the matchcode object

Ü Click on the matchcode ids

Ü Give matchcode id no

Ü Choose the tables Click on Choose Sec. Tables button and select the tables from the list displayed

Ü Give the table name and index name

Ü Select the fields Click on the fields’ button on the application toolbar

Ü Enter the matchcode fields by which you want to search the records

Ü These should have been selected in the matchcode object

Ü You can create nine matchcode ids for a matchcode object

Customer Name Ranges

Certain names are not allowed because they are used in database systems or because of SAA naming conventions. These names may not be used as names for tables, views or table fields. When creating a table or a view, a check is made on whether or not the intended name is allowed. The corresponding check is performed during activation for table fields.

The reserved names are entered in the table TRESE. This table has two fields.

In the first field the reserved names are entered, in the second the reason the

name is reserved. This is normally the (abbreviated) name of the database

system, which causes the name to be reserved. If the name violates the SAA

naming conventions, SAA is entered.

Because the table TRESE can be extended, for example when a new database

system is supported, the activation program distinguishes two cases when

checking the field names. If the field is new, the activation of the table is

rejected. You must then change the field name. If the table was previously

active with the field, only a warning is output and the table is nevertheless


For transparent tables, structures and pooled/cluster tables, you should use

the name ranges Y* and Z*. The name ranges T9* and P9* are intended for

special tables. T9* is intended for pooled tables in the ATAB pool and P9* for

customer-specific information types (HR).

Note that the names of some SAP objects violate these naming conventions.

These objects were developed before the introduction of the naming

conventions. In view of the problems involved and for the sake of stability, SAP

did not rename these objects. The names of these objects are listed in the

exception table TDKZ and may also not be used when creating customer


Customer Name Ranges for ABAP/4 Dictionary Objects

Object Name length Customer name range Example

Domain 10 Y*, Z* YNAME, Z1234

Data element 10 Y*, Z* ZNAME,


Data element- 4 9000 to 9999


Matchcode object 4Y*, Z* YMCO, ZMCO

Matchcode ID 1 0 to 9 YMCO1, ZMCO7

Pool/cluster 10 Y*, Z* YPOOL,


Lock object 10 EY*, EZ* EYNAME,


Structure 10 Y*, Z*, T9*, P9* YSTRUKT,

ZSTR123 Transp.

table 10 Y*, Z*, T9*, P9* YTAB1, ZTAB2

Index code 3 Y*, Z* Y12, ZAB

Appends 10 Y*, Z* ZAPPEND,

Important Menu Paths / Transactions

ABAP/4 Dictionary Maintenance/Display

Tools à ABAP/4 Workbench -> Development -> ABAP/4 Dictionary

- Dictionary maintenance (SE11) - Dictionary display (SE12)

Repository Information System Data Dictionary

1. Tools -> ABAP/4 Workbench -> Development -> Dictionary (enter Dictionary

object, object name and choose operation)

Environment -> Repository Info Sys. or

2. Tools -> ABAP/4 Workbench -> Overview -> Repository Infosys.

- ABAP/4 Repository Information System (SE84) / ABAP/4 Repository

infosystem - Data Dictionary (SE15)

Data Display/Maintenance (Data Browser)

1. Tools -> ABAP/4 Workbench -> Development -> ABAP/4 Dictionary (Dictionary

object:Table, Enter table name and choose operation)

Utilities -> Table contents (data display) or Utilities -> Create entries (data



2. Tools -> ABAP/4 Workbench -> Overview -> Data Browser

- Data display/maintenance (Data Browser) (SE16)


Tools -> ABAP/4 Workbench -> Development -> ABAP/4 Dictionary (Dictionary

object: Table, enter table name and choose operation)

Goto -> Indexes or pushbutton Indexes...

Technical Settings

Tools -> ABAP/4 Workbench -> Development -> ABAP/4 Dictionary (Dictionary

object: Table, enter table name and choose operation)

Goto -> Technical settings or pushbutton Technical settings

Matchcode ID

Tools -> ABAP/4 Workbench -> Development -> ABAP/4 Dictionary (Dictionary

object: Matchcode objects, enter matchcode object name and choose operation)

Goto -> Matchcode IDs or pushbutton Matchcode IDs

Database Utility

Tools -> ABAP/4 Workbench -> Development -> ABAP/4 Dictionary (Enter

Dictionary object and object name and choose operation)

Utilities -> Database utility

- Database utility (SE14)

Storage Parameters

Tools -> ABAP/4 Workbench -> Development -> ABAP/4 Dictionary (Enter

Dictionary object and object name and select operation)

Utilities -> Database utility

Goto -> Storage parameters or pushbutton Storage parameters

- Database utility (SE14) -> Goto -> Storage parameters

Fixed Values

Tools -> ABAP/4 Workbench -> Development -> ABAP/4 Dictionary (Dictionary

object:Domain, enter domain name and choose operation)

Goto -> Fixed values or pushbutton Fixed values

Maintenance View

Tools -> ABAP/4 Workbench -> Development -> Other tools ->

- Table view generation (SE54)


System -> Services -> Ext. table maint.

- Maintain Table Views (SM30)

Transparent Tables :

A transparent table in the dictionary has one-to-one relationship with a table in

the database. It’s structure in the R/3 Data Dictionary corresponds to a single

database field. The database table has the same name, the same number of

fields, and the fields have the same names as the R/3 table definition.

The transparent tables hold application data. Application data is master data or

transaction data used by an application.

Pooled Tables :

A pooled table has many-to-one relationship with the table in the database. For

one table in the database, there are many tables in the R/3 dictionary. The

table in the database has a different name than the tables in the DDIC, it has a

different number of fields, and the fields have different names as well.

A pooled table is stored in a table pool at the database level.

A table pool is a database table with a special structure that enables the data of

many R/3 tables to be stored within it. It can hold only pooled tables.