Repository Buffers (Nametab Buffers)

Definition

The name table (nametab) contains the table and field definitions that are activated in the SAP System. An entry is made in the Repository buffer when a mass activator or a user (using the ABAP Dictionary, Transaction SE11) requests to activate a table. The corresponding name table is then generated from the information that is managed in the Repository.


The Repository buffer is mainly known as the nametab buffer (NTAB), but it is also known as the ABAP Dictionary buffer.

The description of a table in the Repository is distributed among several tables (for field definition, data element definition and domain definition). This information is summarized in the name table. The name table is saved in the following database tables:

  • DDNTT (table definitions)
  • DDNTF (field descriptions)

The Repository buffer consists of four buffers in shared memory, one for each of the following:

Table definitions

TTAB buffer

Table DDNTT

Field descriptions

FTAB buffer

Table DDNTF

Initial record layouts

IREC buffer

Contains the record layout initialized depending on the field type

Short Nametab

SNTAB buffer

A short summary of TTAB and FTAB buffers

The Short nametab and Initial record layouts are not saved in the database. Instead, they are derived from the contents of tables DDNTT and DDNTF.

When access to a table is requested, the database access agent embedded in each work process first reads the Short nametab buffer for information about the table. If the information is insufficient (for example, the SELECT statement uses a non-primary key) it accesses the Table definitions buffer and then the Field descriptions buffer. By reading the Repository buffers, the database access agent knows whether the table is buffered or not. Using this information, it accesses the table buffers (partial buffer or generic buffer) or the database.

The IREC buffer is read:

  • When a
  • REFRESH command is executed in an ABAP program
  • At an
  • INSERT command, when a record is created in the buffers before the data is inserted and the fields are initialized with the values found in IREC buffer

No comments: