0% found this document useful (0 votes)
51 views139 pages

Sap Basic Notes

Uploaded by

Sai Nithesh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
51 views139 pages

Sap Basic Notes

Uploaded by

Sai Nithesh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 139

6/5/2023

ABAP Dictionary
Generated on: 2023-06-05 06:05:30 BY BIJAYA KRUSHNA ROUT (SAP ABAP )

ABAP Dictionary
Purpose
You use the ABAP Dictionary to create and manage data de nitions (metadata). The ABAP Dictionary permits a central description of all the data
used in the system without redundancies. New or modied information is automatically provided for all the system components. This ensures data
integrity, data consistency and data security.

The ABAP Dictionary supports the de nition of user-de ned types (data elements, structures and table types). You can create the corresponding
objects (tables or views) in the underlying relational database using these data de nitions. The ABAP 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.

The ABAP Dictionary also provides standard functions for editing elds on the screen, for example for assigning input help to a screen eld.

Integration
The ABAP Dictionary is completely integrated in the ABAP Workbench. The SAP system works interpretatively, permitting the ABAP Dictionary to
be actively integrated in the development environment. Instead of the original objects, the interpreters see only internal representations of these
objects.

These internal representations are adjusted automatically when the system nds that changes have been made in the ABAP Dictionary. This ensures
that the screen and ABAP interpreters, input help, database interface, and development tools always access current data.

When you work on development projects, objects of the ABAP Dictionary can be changed any number of times before being activated and
made available to the operative components of the system. Objects can have both an active and an inactive version in the ABAP Dictionary at
the same time.

Inactive ABAP Dictionary objects have no effect on the runtime system (ABAP processor, database interface). This permits greater changes to
several objects without impairing the executability of the system. The objects can be activated together only when they all have been changed.

Note
This document describes the procedures how to work with and use ABAP Dictionary objects. If you need concept information, see the related
information to nd the corresponding content in the ABAP Keyword Documention.

Related Information
ABAP Dictionary

Database Tables
This is custom documentation. For more information, please visit the SAP Help Portal 1
6/5/2023

DeFnition
In ABAP Dictionary, the term "database table" (or table for short) is the database-independent de nition of a database table. In Open SQL, only those
database tables can be accessed that are de ned in ABAP Dictionary.
The name of a database table in ABAP Dictionary can have a maximum of 16 characters, can consist of letters, numbers, and underscores, must start
with a letter can be pre xed by a namespace pre x (/.../) of a pre x namespace. It is in the namespace of the data types in ABAP Dictionary.

Tables can be de ned independently of the database in the ABAP Dictionary. The elds of the table are de ned with their (database-independent) data
types and lengths.

When the table is activated, the system creates a physical table de nition in the database for the table de nition stored in the ABAP Dictionary.

For more information, see Database Tables in the ABAP Keyword Documentation

Related Information
Specifying Database Tables
Making Changes to Tables

Specifying Database Tables


You can add optional and mandatory technical and semantic attributes to a database table.

Activities
To complete a database table, you need to perform the subsequent activities that describes single procedures:

1. Creating Tables and Table Fields

2. Maintain the technical settings.

3. [Optional:] Maintain the foreign key relationships.

4. [Optional:] Create secondary indexes for the table.

5. Choose .

6. To activate the database table, choose .

Additional Options

Assign a search help to a eld:

To assign a search help to a eld, select the desired eld on the Fields tab page and choose Srch Help. The search help can be used by all
screen elds that refer to this eld. For more information, see Attaching a Search Help to a Table or Structure Field.

Assign a search help to a table:

You can assign a search help to a table by choosing Extras Search Help for Table . This search help can be used by all screen elds that are
checked against the table. For more information, see Attaching a Search Help to a Check Table. Create documentation:

By choosing Goto Documentation you can create a text that describes the use of the table and maintenance of the table data
more precisely.

Assign activation type:

This is custom documentation. For more information, please visit the SAP Help Portal 2
6/5/2023

By choosing Extras Activation type you can assign the table to an activation type. This is only relevant for tables in the runtime
environment.
Enter or display data:

If you set the Table maintenance allowed ag, you can enter data in the table by choosing Utilities Table contents Create
entries . You can display existing data with Utilities Table contents Display.

Related Information
Creating Database Tables and Table Fields
Creating Foreign Keys
Maintaining Technical Settings
Adding Secondary Indexes
Adding an Extension Index

Creating Database Tables and Table Fields

Procedure
To create a table, proceed as follows:

1. Open the Repository Browser (transaction code SE80) and navigate to the package in which you want to create the database table.

2. In the context menu of the package, choose Create Dictionary Object Database Table .

A dialog box appears.

3. Enter the name of the database table and choose .

The maintenance screen for the table appears.

4. Enter an explanatory short text in the Short Description eld.

5. On the Delivery and Maintenance tab, assign the table to a development class, enter a Delivey Class.

Note
For tables with the delivery class G or E, you must also maintain a customer namespace (key block of the table) for the table entries.
SAP cannot change table entries or import new entries in the customer namespace during upgrades. To navigate to the appropriate
maintenance transaction, choose Maintain Customer Namespace on the Delivery and Maintenance tab.

6. Choose an entry from the dropdown box for the Data Browser/Table View Maint. eld.

If users with the corresponding authorization can change data in the table using the Data Browser (transaction code SE16), choose
Display/Maintenance Allowed

7. Choose .

The Information dialog is opened.

8. To con rm, choose .

The Maintain Enhancement Category dialog is opened.

9. To de ne if the database tables that are delivered by SAP can be enhanced, choose an enhancement category.

10. Con rm the selection by choosing .

The Create Object Directory Entry dialog is opened.

This is custom documentation. For more information, please visit the SAP Help Portal 3
6/5/2023

11. Choose .
The maintenance screen for the table is opened and the database table is added in the Repository Browser. The database table object is
created in the ABAP Dictionary.

Procedure
After creating a database table, you can add table elds to it. For this, proceed as follows:

1. On the maintenance screen of the database table, select the Fields tab page.

2. Switch to the edit mode and perform the following steps for each table eld:

a. Enter a name for the table eld in the Field column.

Caution
The eld name must contain only letters, digits and underlining, and it must begin with a letter. A eld name must not be longer than
30 characters.

b. Select the Key column if the eld must be part of the table key.

c. You can enter the attributes data type, length, decimal places and short description in two ways:

i. If you choose the Prede ned type, you can enter the name of an existing data element in the Data
element eld. In this case, the eld takes the data type, length, decimal places and short description from this data element.
If there is no suitable data element, you can go to the data element maintenance screen by entering a name and double-
clicking on it.

ii. If you choose Data element, you can directly enter the data type, length, decimal places and short description.

Note
Only a limited functionality is provided for elds without data elements. No foreign keys or xed values can be de ned for
such elds, and there is no F1 help.

3. You must also de ne the reference eld and reference table on the Currency/Quantity elds tab page, for elds of types CURR (currency) and
QUAN (quantity).

4. Save and activate the database table.

Result
During activation, the system automatically creates the table and all the indexes on the table in the database (if not explicitly excluded when the
index was de ned). You can display the table de nition in the database by choosing Utilities Database object Display .

At activation, the runtime object for the table is also created. You can display the runtime object by choosing Utilities Runtime object Display
.

You can nd information about the activation ow in the activation log, which you can display by choosing Utilities Activation log . The system
displays the activation log automatically if errors occur when the table is activated.

Related Information
Inserting an Include
Creating Data Elements

This is custom documentation. For more information, please visit the SAP Help Portal 4
6/5/2023

Creating Foreign Keys


Procedure

1. On the eld maintenance screen of the table, select the check eld and choose .

Perform one of the following:

If the domain of the check eld has a value table, you can let the system create a proposal with the value table as a check table. In
this case, a proposal is made for the eld assignment in the foreign key.

If the domain does not have a value table or if you reject the proposal, the screen for foreign key maintenance appears without
proposals. In this case, enter the check table and save your entries. The check table must have a key eld to which the domain of the
check eld is assigned.

You can then let the system make a proposal for assigning the foreign key elds to the key elds of the check elds. The system attempts
to assign the key elds of the check table to elds of the table with the same domain.
If you do not want a proposal, the key elds of the check table are listed and you must assign them to suitable elds of the foreign key
table.

2. In the Short text eld, enter an explanatory short text.

The short text provides technical documentation of the meaning of the foreign key.

3. Choose Copy.

The system saves the foreign key and returns you to the maintenance screen for the table.

Additional Options

Remove elds from the assignment:

You can remove foreign key elds (with the exception of the check eld) from the assignment to the key elds of the check table.

Select Generic to remove a eld from the check against the key elds of the check table. If you want to assign a constant to a foreign key eld,
you must enter it in the Constant eld enclosed in apostrophes (for example 'Constant'). In both cases you must remove the entries in elds
For. key table and Foreign key eld.

Deactivate value check:

If the foreign key must not be used for a value check, cancel the selection in the Check required eld. This de nition is valid for all screens in
which the eld appears.

Assign a message:

A standard message is output if the value check by the foreign key on the screen eld results in an invalid input. You can replace this standard
message with any message. To do this, you must enter the message class of the message in the Area eld and the message number in the
MsgNo eld.

Semantic attributes:

Optionally you can de ne the semantic attributes of the foreign key. These are primarily for documentation purposes.

Note
If the foreign key is derived from a eld of an included table or structure, the Inherited from the include ag is also displayed. In most
cases, foreign key de nitions are inherited from the included table or structure to the including table or structure, so that the foreign key
depends on the de nition in the included table.

The ag is set in principle. If you cancel the selection, the link between the foreign key and the included table or structure is canceled. The
foreign key no longer adjusts itself when its de nition in the included table or structure changes.

This is custom documentation. For more information, please visit the SAP Help Portal 5
6/5/2023

Related Information
Maintaining Technical Settings
The technical settings are a separate object and can be activated and transported separately from the table.

Procedure

1. On the maintenance screen of the table, choose Goto Technical settings from the menu bar.

The maintenance screen of the technical settings appears.

2. Select the data class and size category of the table.

The input help for the Size category eld shows how many data records correspond to the individual categories.

3. The buffering permission de nes whether the table can be buffered.

If you allow table buffering, you must de ne the buffering type of the table.

You can nd further information about when to buffer tables and what buffering type you must choose in Open SQL - SAP Buffering.

4. If you want to log changes to data records of the table, select Log data changes.

To log changes, system logging must be switched on with the pro le parameter rec/client. The Log data changes indicator on its own does
not cause the table changes to be logged.

5. Choose with the quick info text Activate. Errors that occurred during activation are displayed in the activation log.

Additional Options

The Convert to transparent table indicator is displayed for pooled tables (and tables that were converted to a transparent table with this ag at an
earlier time). You can convert the pooled table into a transparent table with this indicator (see Converting Pooled Tables to Transparent Tables).

Adding Secondary Indexes


To enable quicker access to several columns of a table, you can add a secondary index to a database table.

Procedure

1. On the maintenance screen of the table, choose Goto Indexes from the menu bar.

If indexes already exist on the table, a list of these indexes is displayed.

2. Choose with the quick info text Create.

3. From the dropdown menu, choose Create Index.

4. In the next dialog box, enter the index ID and choose with the quick info text Continue.

The maintenance screen for indexes appears.

5. Enter an explanatory text in the Short description eld.

You can use the short description to nd the index at a later time, for example using the Information System.

6. To select the table elds to be inserted in the index, choose Table Fields.

A list of all the available table elds appears.

7. Select the desired elds using the indicator in the rst column and then choose Copy.

This is custom documentation. For more information, please visit the SAP Help Portal 6
6/5/2023

Caution
The order of the elds in the index is important.

8. If the values in the index elds already uniquely identify each record of the table, select the Unique index radio button.

The system always creates a unique index in the database at activation because it also has a functional meaning (prevents double entries of
the index elds).

9. If it is not a unique index, leave the Non-unique index radio button selected.

In this case, you can use the radio buttons under Non-unique index to de ne whether the index must be created for all database systems, for
selected database systems, or not at all in the database.

a. If the index must be created only for selected database systems, select For selected database systems.

b. Choose with the quick info text Database Systems.

A dialog box appears in which you can de ne up to four database systems with the input help. Select Selection list if the index must
be created only on the given database systems. Select Exclusion list if the index must not be created on the given database systems.

c. Choose with the quick info text Continue.

10. Choose with the quick info text Save.

11. Choose with the quick info text Activate.

Result
The secondary index is automatically created on the database during activation, if the corresponding table has already been created there and the
index creation was not excluded for the database system.

You can nd information about the activation ow in the activation log. To call the activation log choose Utilities Activation log . If errors occur
when activating the index, the activation log is automatically displayed.

Adding an Extension Index


To add further secondary indexes in other systems without making modications, you can add them as extension indexes to a database table.

Procedure
1. On the maintenance screen of the table, choose Indexes.

If indexes already exist in the table, a list of these indexes is displayed.

2. Choose .

3. From the dropdown menu, choose Create Extension Index.

A dialog box appears.

4. In the new dialog box, enter the index ID and choose .

The Maintenance screen for extension indexes appears.

5. Enter an explanatory text in the eld Short description.

You can use the short description to nd the extension index at a later time, for example via the Information System.

6. To select the table elds to be inserted in the index, choose Table Fields.
A list with all available elds appears.

This is custom documentation. For more information, please visit the SAP Help Portal 7
6/5/2023

7. Select the desired elds using the indicator in the rst column and then choose Copy.

Caution
The order of the elds in the index is important.

8. If the values in the index elds already uniquely identify each record of the table, select the Unique index radio button.

The system always creates a unique index in the database at activation because it also has a functional meaning (prevents double entries of
the index elds).

9. If it is not a unique index, leave the Non-unique index radio button selected.

10. In this case, you can use the radio buttons to de ne whether the index must be created for all database systems, for selected database
systems, or not at all in the database.

a. If the extension index must be created only for selected database systems, select For selected database systems. b. Choose .

A dialog box appears in which you can de ne up to four database systems with the input help. Select Selection List if the index must
be created only in the given database systems. Select Exclusion List if the index must not be created in the given database systems.

c . C h oo s e with the quick info text Continue.

. 11. Choose

. 12. Choose

Result
The secondary index is automatically created in the database during activation, if the corresponding table has already been created there and the
index creation was not excluded for the database system.

You can nd information about the activation ow in the activation log. To call the activation log choose Utilities Activation log . If errors occur
when activating the index, the activation log is automatically displayed.

Delivery Class

Use
You use the delivery class to control the transport of table data for an installation, upgrade, or client copy and transports between customer systems.
The delivery class is also used in the extended table maintenance.

Features
There are the following development classes:

A- Application table (master and transaction data).

C- Customer table, data is only maintained by the customer.

L- Table for storing temporary data.

G- Customer table, SAP can insert new data records but cannot overwrite or delete existing ones. The customer namespace must be de
ned in table TRESC. To de ne the customer namespace use report RDDKOR54. You can start it directly from the table maintenance by
choosing Maintain Customer Namespace on the Delivery and Maintenance tab.

This is custom documentation. For more information, please visit the SAP Help Portal 8
6/5/2023

E- System table with its own namespace for customer entries. The customer namespace must be de ned in table TRESC. To de ne the
customer namespace use report RDDKOR54. You can start it directly from the table maintenance by choosing Maintain Customer
Namespace on the Delivery and Maintenance tab.

S- System table, data changes have the status of program changes.

W- System table (for example table of the development environment) whose data is transported with its own transport objects (such as
R3TR PROG, R3TR TABL and so on).

Behavior During Client Copy

Only the data of client-dependent tables is copied.

Class C, G, E, S- The data records of the table are copied to the target client.

Class W, L- The data records of the table are not copied to the target client.

Class A- Data records are only copied to the target client if explicitly requested (parameter option). It is not sensible to transport such data,
but this is supported nevertheless to allow the entire client environment to be copied.

Behavior During Installation, Upgrade and Language Import

The behavior of client-dependent tables differs from that of cross-client tables.

Client-Dependent Tables

Class A and C- Data is only imported into client 000. The system overwrites the existing data records.

Class E, S and W- Data is imported into all clients. The system overwrites the existing data records.

Class G- The system overwrites the existing data records in client 000. In all other clients, the system inserts new data records, but existing
data records are not overwritten.

Class L- No data is imported.

Cross-Client Tables

Classes A, L and C- No data is imported.

Classes E, S, and W- Data is imported. The system overwrites the existing data records with the same key.

Class G- The system inserts non-existent data records, but does not overwrite existing data records.

Behavior During Transport Between Customer Systems

Data records of tables having delivery class L are not imported into the target system. Data records of tables having delivery classes A, C, E, G, S
and W are imported into the target system (for client-dependent tables this is done for the target clients specied in the transport).

Use of the Delivery Class in the Extended Table Maintenance

The delivery class is also used in the Extended Table Maintenance (transaction code SM30). The maintenance interface generated for a table
performs the following checks:

It is not possible to transport the entered data using the transport connection of the generated maintenance interface for tables having
delivery classes W and L.

Data that is entered is checked to see if it violates the namespace de ned in table TRESC. If the data violates the namespace, the system
rejects the input.

This is custom documentation. For more information, please visit the SAP Help Portal 10
6/5/2023

Activation Type

Use
You use the activation type to de ne whether the table can be activated directly from the ABAP Dictionary, or whether the runtime object of the
table must rst be generated with a C program. This entry is optional and it is only important for tables of the runtime environment.

The following entries are possible for the activation type.

Activation type of the table Features of the activation type

Activation Type 01
Tables with this activation type cannot be activated from the ABAP
Dictionary. The runtime object must be generated using a C program. The
table can then be activated from the ABAP Dictionary. This activation type
ensures that important system tables cannot be changed and activated
directly.

Activation Type 02
Tables with activation type 02 are also used in C programs. The data
structure in the C program must be adjusted manually when the table is
changed. There is a relevant comment in the activation log for such tables.

Activation Type 10
Tables with activation type 10 are needed before R3TRANS runs. Such
tables must exist before all other tables when upgrading.

Activation Type 00
Tables with activation type 00 can be activated directly from the
ABAP Dictionary. This is the default setting for the activation type.

Error Message in the Foreign Key Check

Use
The foreign key check tests if the check table contains a record with the key given by the values in the foreign key elds. If this check fails, a
standard message is output. This standard message can be replaced with any message in the de nition of the foreign key.

Up to four placeholders can be used when de ning this message. The system automatically lls the placeholders with the contents of the foreign key
elds and the name of the check table.

The system lls the rst three placeholders with the contents of the foreign key elds assigned to the rst three key elds of the check table (the client eld
is assumed). The system places the name of the check table in the fourth placeholder.

Example
A foreign key between foreign key table FKand check table CTis de ned with the following eld assignment:

Check table CT Foreign key table FK

This is custom documentation. For more information, please visit the SAP Help Portal 11
6/5/2023

Client Client

FIELD_A FIELD_1

FIELD_B FIELD_2

FIELD_C FIELD_3

FIELD_D FIELD_4

You enter the error message TEST 001with the text Entry &1 &2 &3 does not exist in table &4

in the foreign key. If the foreign key check for the values FIELD_1 = 'Value1', FIELD_2 = 'Value2', FIELD_3 = Value3' and FIELD_4 = 'Value4' fails, the
following message text is output: Entry Value1 Value2 Value3 does not exist in table CT.

If the check table has only two more key elds in addition to the client, the system places the contents of the assigned foreign key elds in placeholders
&1 an &2. The third placeholder contains the name of the check table.

Making Changes to Tables

Context

Caution
Renaming database columns is not supported! If you change the name of an existing eld for a database table, the eld with the old name will be
deleted on the database and a eld with the new name will be appended. Note that data contained in the column with the old eld name will then
be lost.

Procedure
1. Open the Repository Browser and navigate to the table in which you want to make the changes.

2. Double-click on the required table.

The maintenance screen for the table appears in display mode.

3. Choose with the quick info text Display <-> Change.

Results
You are now able to make the appropriate changes to the table.

Related Information
Adding an Append Structure
Inserting an Include
Inserting New Fields
Deleting an Existing Field
Changing Data Types and Lengths of Existing Fields
This is custom documentation. For more information, please visit the SAP Help Portal 12
6/5/2023

Changing the Table Category


Moving Fields
Copying Fields from Another Table
Copying Fields from an Entity Type
Deleting Tables

Adding an Append Structure

Prerequisites
You can create an append structure only on the basis of an existing structure.

The table in which you want to add an append structure must not contain a long eld (data type VARC, LCHR or LRAW).

Procedure

1. On the maintenance screen of the corresponding table, choose Goto Append structure .

Either a dialog box appears, in which you can enter the name of the append structure, or a list of all the append structures that were already
created for the table appears.

2. If append structures already exist, you must choose with the quick info text Create Append.

A dialog box appears where you must enter the name of the new append structure.

3. Enter the append structure name and choose with the quick info text Continue.

The name must lie in the customer namespace.

The eld maintenance screen of the append structure appears.

4. De ne the elds of the append structure.

You can proceed as when creating a normal structure with two restrictions (for more information, see Creating Structures):

Caution
The elds of an append structure must lie in the customer namespace, that is, the eld names must begin with ZZ or YY. This prevents con
icts with elds inserted in the table by SAP.

An append structure must be at, that is, each eld of the append structure must either refer to a data element or be directly assigned a
data type, length, decimal places and short text.

5. If you want to create foreign keys or search help attachments for table elds that already exist, you can display these elds with Show
Appending Objects. Proceed as if you want to create the foreign key or search help attachment in the
underlying table (for more information, see Creating Tables).

Note
If a foreign key or search help attachment is already de ned for a eld in the table, you cannot change this de nition with the append
structure.

6. Choose with the quick info text Activate.

Result
The system activates the table when you activate the append structure. The elds of the append structure are appended to the table in the database.
Foreign keys or search help attachments for the elds that are already in the table and that were de ned with the append structure are also activated.

This is custom documentation. For more information, please visit the SAP Help Portal 13
6/5/2023

You can display information about the activation process with Utilities Activation log . Errors which occur when the append structure is activated
are displayed directly in the activation log.

Inserting an Include

Prerequisites
You can include only at structures in a table. No eld refers to another structure in a at structure. All the elds of a at structure refer either to a data
element, or they are directly assigned a data type, eld length and decimal places.

Caution
The usage of includes can lead to naming con icts when the included structures or tables are changed later on. Therefore, you should use
substructures, for example components of a structured type whenever possible. For database tables, where components must be elementary,
named includes with a suffix should be used to avoid naming con icts.

Procedure
1. Place the cursor under the line in which you want to insert the include and choose Edit Include Insert .

A dialog box appears.

2. In the dialog box, enter the structure name. You can optionally enter a group name or a three-place suffix.

With the group name, you can access the elds in the include together in ABAP programs.

The suffix can be used to avoid name collisions between elds of the include and elds of the table. The suffix is added to all the elds of the
include, whereby the eld name is rst truncated if necessary.

3. Choose .

The system inserts a line with .INCLUDE in Fields and the name of the include in eld typein the eld maintenance screen of the table.

4. Select column Key if all the elds in the include must be key elds of the table.

The table key must be at the start of the eld list. If you select column Key, you must insert the include after the last key eld or between the
existing key elds of the table.

If you do not select column Key, none of the included elds is a key eld of the table.

5. Choose with the quick info text Activate.

Result
The elds of the include are added to the table in the database. If you insert the elds of the include as key elds, the system builds the primary index
of the table again.

You can nd information about the activation ow in the activation log, which you can display with Utilities Activation log . The system displays
the activation log immediately if errors occur when the table is activated.

Additional Options

You can display the elds contained in an include by placing the cursor on the line of the include and choosing with the quick info text
Expand include. The elds of the include are now shown below this line. You can cancel this action by choosing with the quick info text
Compress include.

This is custom documentation. For more information, please visit the SAP Help Portal 14
6/5/2023

You can expand all the includes contained in a table by choosing with the quick info text Expand all . Cancel this action by choosing with the
quick info text Compress all.

You can copy the elds contained in the include directly to the table by choosing Edit Include Copy components . The elds of the include become
table elds. They are no longer adjusted to changes in the include.

Inserting New Fields

Procedure

1. On the maintenance screen of the table, place the cursor on the eld before where the new eld should be inserted and choose with the
quick info text Insert line.

An empty line appears, in which you can insert the new eld. Creating Tables and Table Fields describes how to add a eld to a table.

2. Set the Initial values indicator if the new eld must be created in the database as NOT NULL.

In this case the system scans the entire table during activation and the new eld is lled with the initial value.

Note
This can waste a lot of time for large tables.

Key elds are always de ned as NOT NULL. When you insert a new key eld, the system builds the primary index of the table again in the
database.

3. Choose with the quick info text Activate.

Result
The system adds the new eld to the table when it is activated in the database. This does not depend on the position of the new eld in the eld list of
the table. That is the order of the elds in the ABAP Dictionary does not have to be the same as in the
database.

Note
If the table is a check table of a foreign key, new key elds can only be appended to the previous primary key. When you activate the table, the
foreign keys concerned are de ned as generic with regard to the new key elds. The foreign keys changed in this way are listed in the activation
log.

Caution
Inserting a client eld results in a table conversion (see Adjusting Database Structures). The data in the table is copied to all the clients listed in client
table T000.

If the table is a check table of a foreign key, you cannot insert a client eld. In this case you must rst delete the existing foreign keys.

Related Information
Overview of All Built-In Dictionary Types (ABAP Keyword Documentation)

Deleting an Existing Field


1. On the maintenance screen of the table, choose the Fields tab page.

This is custom documentation. For more information, please visit the SAP Help Portal 15
6/5/2023

2. To delete one eld from a table, place the cursor on the corresponding line and choose with the quick info text Delete line.

3. Choose with the quick info text Save.

4. Choose with the quick info text Activate.

Caution
If the table in the database already contains data, you must convert the table after deleting existing elds (see Adjusting Database
Structures).

If you delete key elds of the table, data may be lost during conversion. If the table contains data records that only differ in the deleted key
eld, only one of these data records can be loaded back into the table.

Note
You cannot delete a eld used as a reference eld in another table. In this case you must rst remove all the uses of the eld as a reference eld.

You cannot delete key elds of the table if the table is the check table. In this case, you must rst delete the corresponding foreign keys.

To determine all the tables that use the particular table as a check table or reference table, choose with the quick info text Where-
Used List.

Changing Data Types and Lengths of Existing Fields

Procedure
If a data element is assigned to a eld, you must change the technical eld attributes (data type, length, number of decimal places) in the domain of
the data element.

Changing Table Fields with Data Elements

1. On the maintenance screen of the table, choose the Fields tab page.

2. Double-click on the name of the data element.

The data element maintenance screen appears.

3. Double-click on the name of the domain.

The domain maintenance screen appears.

4. Choose with the quick info text Display <-> Change.

5. Make the required changes and choose with the quick info text Save.

Caution
Note that this change affects all the table elds that refer to the particular domain. Foreign keys could become inconsistent and
conversions may be required. You must consider the effects of this action before changing the domain by choosing with the quick
info text Where-Used List on the maintenance screen of the domain and checking if the domain is used in other tables.

6. Choose with the quick info text Activate.


The table is activated again and the table eld is adjusted to the domain change.

Changing Table Fields with Direct Type Entry

1. On the maintenance screen of the table, choose the Fields tab page.

2. Position the cursor on the eld and choose Prede ned type.

This is custom documentation. For more information, please visit the SAP Help Portal 16
6/5/2023

You can now enter values in elds Data type, Length, Decimal Places and Short description.

3. Change the entries for the data type, length and possibly the number of decimal places.

4. Choose with the quick info text Save.

5. Choose with the quick info text Activate.

Caution
Table conversion is necessary if you change the eld attributes. For more information, see Adjusting Database Structures.

Changing the Table Category

Prerequisites
Depending on the category of the change, note the following features:

Transparent to structure:

The table is deleted from the database at activation. Existing data is lost. Any technical settings for the table are also lost.

Pooled/cluster to transparent:

Since technical settings are meaningless for pooled and cluster tables, you must maintain them before activating the transparent table.

Transparent to pooled/cluster:

You must de ne the assignment to the table pool or table cluster in which the table data must be stored.

Procedure

1. On the maintenance screen of the table, choose Extras Change table category .

A dialog box appears in which the current table category (transparent database table, structure, pooled table, cluster table) is selected.

2. Select the new table category and choose Copy.

You return to the eld maintenance screen for the table.

3. Choose with the quick info text Activate.

Note
In addition to the above procedure, you can also change the table category for pooled tables with the transparent indicator. For more
information, see Converting Pooled Tables into Transparent Tables.

Caution
Changing a pooled/cluster table to a transparent table and conversely always results in a table conversion. For more information, see
Adjusting Database Structures.

Moving Fields

Procedure
1. On the maintenance screen of the table, choose the Fields tab page.

This is custom documentation. For more information, please visit the SAP Help Portal 17
6/5/2023

2. Select the eld that you want to move and choose with the quick info text Cut.

The system deletes the selected eld and copies it to the clipboard.

3. Select the eld in front of which you want to insert the eld and choose with the quick info text Paste.

The system inserts the eld in the table at the new position.

Note
The order of the elds in the ABAP Dictionary can differ from the order of the elds in the database. Changing the order of the elds (with
the exception of key elds) in the ABAP Dictionary does not result in a change in the database. In particular, a table conversion is not
required (see Adjusting Database Structures).

If the table is a check table, you cannot change the order of the key elds. In this case you must rst delete the corresponding foreign keys.

Copying Fields from Another Table

Procedure

1. On the maintenance screen of the table, choose Edit Transfer elds .

2. In the next dialog box, enter the name of the table from which you want to copy the elds.

3. Choose Selection.

A list of the elds contained in this table appears.

4. Position the cursor on arbitrary eld and click with the secondary mouse button. From the new menu, choose Select all if you want to copy
all elds from the table.

To copy single elds, select the indicators of the required elds.

5. Choose Copy.

The system copies the selected elds to a buffer, and you return to the eld maintenance screen.

6. Position the cursor on the eld in front of which you want to insert the new elds and choose with the quick info text Paste.

The system inserts the selected elds in the table.

7. Choose with the quick info text Activate.

Related Information
Inserting New Fields

Copying Fields from an Entity Type

Procedure

1. On the eld maintenance screen of the table, choose Edit Attribute from Entity Type .

A dialog box appears.

2. Enter the name of the entity type from which you want to copy attributes to the table. Choose Selection.

A dialog box appears listing all the attributes of the entity type.

3. Select the attributes that you want to copy. Select the corresponding entry in the list and select Choose.

This is custom documentation. For more information, please visit the SAP Help Portal 18
6/5/2023

The entry is highlighted.

Note
Only the explicit attributes of the entity type can be copied with this function. The system displays only these explicit attributes. Explicit
attributes are the attributes that were not copied from the table assigned to the entity type. That is, only those attributes that were
entered directly in the Data Modeler can be copied.

4. Select all the elds you want and choose Copy.

The attributes are now copied to the clipboard.

5. Position the cursor on the eld in front of which you want to insert the elds and choose with the quick info text Paste.

The system inserts the selected elds in the table.

Related Information
Inserting New Fields

Deleting Tables

Prerequisites
A table can be deleted in the ABAP Dictionary when it is no longer used in any other objects (for example views or programs).

Procedure
1. Open the Repository Browser (transaction code SE80) and navigate to the table which you want to delete.

2. In the context menu of the table, choose the Where-Used List to check if the table is still used in programs or other objects of the ABAP
Dictionary.

3. In the context menu of the table, choose Delete.

A dialog box appears in which you are asked to con rm the deletion request. This dialog box tells you if the table still contains data.

4. Con rm the deletion request.

Result
The table is now deleted if it is not being used in other objects of the ABAP Dictionary.

This is custom documentation. For more information, please visit the SAP Help Portal 19
6/5/2023

Converting Pooled Tables into Transparent Tables


You can convert pooled tables to transparent table using the transparent ag in the technical settings. You can use this option to access a pooled table
from outside the SAP system.

Procedure
1. Open the Repository Browser (transaction code SE80) and navigate to the pooled table that you want to convert.

2. Double-click on the pooled table.

The maintenance screen of the table appears.

3. On the maintenance screen of the pooled table, choose Technical Settings.

The maintenance screen for the technical settings of the pooled table appears.

4. On the technical settings maintenance screen, select the Convert to transparent table indicator.

Note
This corrects only the technical settings and not the table de nition.

5. Maintain the remaining attributes of the technical settings.

6. Choose with the quick Info text Activate.

The technical settings are activated.

Result
A conversion converts the pooled table to a transparent table. For more information, see Adjusting Database Structures. In a dialog box you can
decide whether to convert the table directly or in the background.

If SAP delivers a table again with transparent ag set as a pooled table, it remains transparent in the user's system.

If you have set the transparent ag of a table and you want to convert it back into pooled table, you must rst cancel the transparent ag. Then activate
the technical settings. Only after these actions you can change the table category.

Caution
If there is a revised version of a pooled table, it cannot be converted to a transparent table with the transparent ag. In this case, the technical
settings of the table cannot be activated when the transparent ag is set.

Checking Index Usage

Procedure

1. Open a second session and choose System Utilities Performance trace .

The Trace Requests screen appears.

2. Select Activate Trace.

The SQL trace is activated for your user, that is, the system records all the database operations under your user.

3. In the rst window, perform the action in which the index must be used.

This is custom documentation. For more information, please visit the SAP Help Portal 20
6/5/2023

If your database system uses a cost-based optimizer, you have to perform this action with as representative data as possible. A cost-based
optimizer tries to determine the best index based on the statistics.

4. In the second session, choose Deactivate Trace and then Display Trace.

The format of the generated output depends on the database system used. You can determine the index that the database used for your action with
the EXPLAIN function for the critical statements ( PREPARE, OPEN, REPOPEN).

Customizing Includes
A customizing include is a structure that satis es a special naming convention. The name of a customizing include begins with 'CI_' and the include is
in the customer namespace.

Context
If enhancements are already planned in the standard system using customer-specic elds, such customizing includes are included in the
corresponding standard table or standard structure. In most cases, the customizing include (that is, the de nition of the structure itself) is rst
created in the customer system and lled with elds by special Customizing transactions.

Customers can enhance tables and structures of the standard system without having to modify the table and structure de nitions. This means that
these enhancements cannot be lost when upgrading. If a table or structure of the standard system is enhanced with customer elds using a
customizing include, these customer elds are automatically inserted in the new delivered table or structure de nition during an upgrade.

If you create a customizing include for a table or structure, only those enhancements are allowed that are consistent with the enhancement category
of the enhanced table or structure.

Customers can - but do not need to - create a customizing include and ll it with elds. If there is no customizing include, there is no error message
when the table or structure including it is activated.

A customizing include can be contained in several tables or structures, so that they remain consistent when the include is modied.

Note
The order of the elds in the ABAP Dictionary can differ from the order of the elds in the database. Inserting elds in a customizing include does
not result in a data conversion for transparent tables containing this include. The new elds of the ABAP Dictionary table are simply appended
to the database table.

Related Information
Adjustment of Database Structures
Structures

Views
You de ne a view to combine data of an application that is deployed on several database tables.

Procedure
To de ne a view, proceed as follows:
1. Select the database table of the view.

These tables must be linked by de ning the join conditions. It is also possible to use the join condition from a foreign key de ned between the
tables.

This is custom documentation. For more information, please visit the SAP Help Portal 21
6/5/2023 s

2. Select the elds of the base tables that the view uses.

3. Formulate the selection conditions that restrict the records in the view.

Following different view types are supported:

Database views are implemented with an equivalent view of the database.

Projection views are used to hide elds of a table (only projection).

Help views can be used as a selection method in search helps.

Maintenance views allow you to maintain the data distributed to several tables for one application object at a time.

Note
Database views implement an inner join. The other view types implement an outer join.

The join conditions for database views can be formulated using equality relationships between any base elds. The join conditions for the other view
types must be obtained from existing foreign keys. Tables can be combined in a maintenance view or help view only if they are linked to one
another with foreign keys.

The maintenance status de nes whether you can only read data with the view, or whether you can also insert and change data with it.

For more information, see the Views in the ABAP Keyword Documentation

Related Information
Creating Views
Deleting Views

Creating Views

Purpose
Use this process to create a view.

Process Flow
1. Open the Repository Browser (transaction code SE80) and navigate to the package in which you want to create the view.

2. In the context menu of the package, choose Create → Dictionary Object → View.

A dialog box appears.

3. Enter the name of the view and select the type of the view.

4. Choose with the quick info text Continue to go to the maintenance screen of the selected view type.

To create the corresponding view, use the appropriate procedure from the list below.

Creating Database Views

Creating Maintenance Views

This is custom documentation. For more information, please visit the SAP Help Portal 22
6/5/2023 s

Creating Help View

Creating Projection Views

Creating a Database View

Procedure
1. Enter an explanatory short text in the eld Short text.

You can for example nd the view at a later time using this short text.

2. In column Tables on the Tables/Join conditions tab page, de ne the tables you want to include in the view

Caution
You can include only transparent tables in a database view.

3. Link the tables with join conditions.

If there are suitable foreign keys between the tables, you must copy the join conditions from these foreign keys. For more information.

a. Position the cursor on a table name and choose Relationships.

All foreign keys to other tables de ned for this table are displayed.

b. Select the foreign keys and choose Copy.

The join condition is now derived from the de nitions in the foreign key.

If you want to see only the foreign key relationship existing between two tables, you must rst select these two tables by clicking on
the rst column of the input area Tables and then choosing Relationships.

4. On the View elds tab page, select the elds that you want to copy to the view. a. Choose Table elds.

All the tables contained in the view are displayed in a dialog box. b. Select a
table.

All the elds contained in this table are displayed.

c. To copy elds, select the corresponding indicators and choose Copy.

You can also include an entire table in the view.

5. On the Selection conditions tab page, you can (optionally) formulate restrictions for the data records to be displayed with the view.

The selection conditions de ne the data records that can be selected with the view.

6. By choosing Goto Technical settings , you can (optionally) maintain the technical settings of the database view. You can de ne
whether and how the database view is buffered here. Proceed as for the technical settings of a table.

Note
Only the settings for buffering can be maintained for database views.
7. On the Maintenance statu tab page, select the maintenance status of the database view.

Note
If the view contains more than one table, the maintenance status read-only cannot be altered.

This is custom documentation. For more information, please visit the SAP Help Portal 23
6/5/2023 s

8. Choose .

You are asked to assign the view to a package.

You can change this package later by choosing Goto Object directory entry.

9. Choose .

Result
When a database view is activated, the system automatically creates the corresponding view in the database if the base tables of the view were
already created there.

At activation, a log is written. It can be displayed with Utilities Activation log . If errors or warnings occur when the view is activated, the system
displays them directly in the activation log.

If the base tables are not yet created in the database, this is recorded in the activation log. The view is nevertheless activated in the ABAP Dictionary.
In this case you can create the relevant view on the database later with the database utility. Additional Options

Create documentation:

You can create information about using the view with Goto Documentation . This documentation is also output for example when you print
the view.

Change data element of a view eld:

Select the Mod (Modify) column in the View elds tab page. The Data element eld is now ready for input. You can enter a data element that
refers to the same domain as the data element of the assigned table eld here. Cancel the Mod ag if you want to use the data element of the
assigned table eld again.

Display view data:

With Utilities Contents you can determine which data can be selected with the view.

Display create statement:

With Extras Create statement you can display how the view was created in the database. The system displays the statement that
was executed when the version of the view you are currently editing was created in the database.

Check the de nition of the view in the database:

With Utilities Database object Check you can determine whether the de nition of the view in the database is consistent with the active
version of the view. With Utilities Database object Display you can display the de nition of the view in the database.

Check the runtime object of the view:

With Utilities Runtime object Check you can determine whether the de nition of the view in the ABAP Dictionary maintenance
screen is identical to the specications in the runtime object of the view. With Utilities Runtime object Display you can display
the runtime object of the view.

Creating Help Views

This is custom documentation. For more information, please visit the SAP Help Portal 24
6/5/2023

Procedure
1. Enter an explanatory short text in the Short text eld.

You can nd the view at a later time using this short text, for example.

2. In column Tables on the Table/Join conditions tab page, enter the primary table of the view.

Caution
Only tables that are linked with the primary table (indirectly) with a foreign key can be included in the view.

3. If required, include more tables in the view.

In a help view you can include only tables that are linked to one another with foreign keys.

a. Select the primary table in column Tables and choose Relationships.

The system displays all existing foreign key relationships of the primary table.

b. Select the foreign keys through their indicators and choose Copy.

The secondary table involved in such a foreign key is included in the view. The join conditions derived from the foreign keys are
displayed. For more information, see Foreign Key Relationship and Join Condition.

You can also (optionally) include tables that are linked with a foreign key to one of the secondary tables already included.

a. To do this, select the secondary table in column Tables and choose Relationships.

The system displays all existing foreign key relationships of the secondary table.

b. Select the foreign keys by their indicators and choose Copy.

The join conditions derived from the foreign keys are displayed.

Note
For maintenance and help views, there are certain restrictions on the foreign keys with which the tables can be included in the
view (see Restrictions for Maintenance and Help Views). The foreign keys violating these conditions are displayed at the end of
the list under the header Relationships with unsuitable cardinality.

4. On the View elds tab page, select the elds that you want to copy to the view.

The key elds of the primary table were automatically copied to the view as proposals. a. Choose Table
elds.

All the tables contained in the view are listed in a dialog box. b. Select a
table.

The elds of the table are now displayed in a dialog box.

c. Select the indicator of the required elds and choose Copy.

5. On the Selection conditions tab page, you can (optionally) formulate restrictions for the data records to be displayed with the view. For more
information, see Maintaining Selection Conditions for Views.

The selection conditions de ne the data records that can be selected with the view.

6. Choose with the quick info text Save.

The system asks you to assign the help view to a package. You can change this package later by choosing Goto → Object directory entry.

This is custom documentation. For more information, please visit the SAP Help Portal 25
6/5/2023 s

7. Choose with the quick info text Activate.

Result

This is custom documentation. For more information, please visit the SAP Help Portal 26
6/5/2023

The view is now activated. At activation, a log is written. It can be displayed with Utilities → Activation log. If errors or warnings occur when you
activate the view, they are displayed directly in the activation log.

Additional Options

Create documentation:

You can create information about using the view by choosing Goto → Documentation. This documentation is output when you print the
view, for example.

Change data element of a view eld:

On the View Fields tab page, select column Mod (modication) for the appropriate view eld. The Data element eld is now ready for input.
Enter the new data element there. You can enter a data element that refers to the same domain as the data element of the assigned table
eld here. Cancel the Mod ag if you want to use the data element of the assigned table eld again.

Check functions:

By choosing Utilities → Runtime object → Check you can determine whether the de nition of the view in the ABAP Dictionary
maintenance screen is identical to the de nitions in the runtime object of the view. By choosing Utilities → Runtime object → Display
you can display the runtime object of the view.

See also:

Help Views

Creating Projection Views

Procedure
1. Enter an explanatory short text in the Short text eld.

For example, you can nd the view at a later time using this short text.

2. Enter a table name in the Basis table eld.

Note
A projection view always contains exactly one table.

3. On the View Fields tab page, select the elds of the basis table that you want to include in the view. a. Choose Table elds.

The elds of the table are now displayed in a dialog box.

b. To copy elds, you must select them by selecting the indicator in the rst column and choosing Copy.

4. Choose with the quick info text Save.

You are asked to assign the view to a package. You can change this package later by choosing Goto → Object directory entry.

This is custom documentation. For more information, please visit the SAP Help Portal 27
6/5/2023

5. Choose with the quick info text Activate.


Result
The projection view is activated. At activation, a log is written. It can be displayed by choosing Utilities → Activation log. If errors or warnings occur
when the view is activated, they are displayed directly in the activation log. Additional Options

Create documentation:

You can create information about using the view by choosing Goto → Documentation. This documentation is output for example when you
print the view.

Change data element of a view eld:

On the View Fields tab page, select column Mod (modication) for the particular view eld. The Data element eld is now ready for input. You
can enter a data element that refers to the same domain as the data element of the assigned table eld here. Cancel the Mod indicator if you
want to use the data element of the assigned table eld again.

Change maintenance status:

The maintenance status determines how you can access the view data from ABAP programs (read only, read and change). On the
Maintenance status tab page, you can select the type of access to the view.

Check functions:

By choosing Utilities → Runtime object → Check, you can determine whether the de nition of the view in the ABAP Dictionary maintenance
screen is identical to the specications in the runtime object of the view. By choosing Utilities → Runtime object → Display you can display
the runtime object of the view.

See also:

Projection Views

Creating Maintenance Views

Procedure
1. Enter an explanatory short text in the Short text eld.

You can nd the view at a later time using this short text, for example.

2. In column Tables on the Table/Join conditions tab page, enter the primary table of the view.

Note
You can include in the maintenance view only those tables that are linked with the primary table (indirectly) with a foreign key.

3. If required, include more tables in the view.

In a maintenance view you can insert only tables that are linked to one another with foreign keys.

a. In column Tables on the Table/Join conditions tab page, select the primary table and choose Relationships.

All existing foreign key relationships of the primary table are displayed.

b. Select the required foreign key and choose Copy.


The secondary table used in such a foreign key is included in the view. The system displays the join conditions derived from the
foreign keys. For more information, see Foreign Key Relationship and Join Condition.

This is custom documentation. For more information, please visit the SAP Help Portal 28
6/5/2023

You can also (optionally) insert tables that are linked by foreign key with one of the secondary tables that was already inserted. To do this,
proceed as follows:

a. In column Tables on the Table/Join conditions tab page, select the secondary table and choose Relationships.

All existing foreign key relationships of the secondary table are displayed.

b. Select the required foreign key by selecting the corresponding indicator and choosing Copy.

The system displays the join conditions derived from the foreign keys.

Note
For maintenance and help views, there are certain restrictions on the foreign keys with which the tables can be included in the
view (see Restrictions for Maintenance and Help Views). The system displays the foreign keys that violate these conditions at the
end of the list under the header Relationships with unsuitable cardinality.

4. On the View elds tab page, select the elds that you want to copy to the view. a. Choose Table elds.

All the tables contained in the view are displayed in a dialog box. b. Select a
table.

The elds of the table are now displayed in a dialog box.

c. To copy elds, select them with the indicator in the rst column and choose Copy.

Caution
All key elds of the primary table must be included in a maintenance view.

All key elds of secondary tables that are not involved in the foreign key (that is, which are not linked via a join condition to a key
eld already included in the view) must be included in the view.

This ensures that the records inserted with a maintenance view can be written correctly in the tables contained in the view.

5. On the Selection conditions tab page, you can (optionally) formulate restrictions for the data records that can be displayed with the view.
For more information, see Maintaining Selection Conditions for Views.

The selection conditions de ne the data records that can be selected with the view.

6. On the Maintenance status tab page, de ne the maintenance status of the view.

The maintenance status de nes how you can access the view data with the standard maintenance transaction (transaction code SM30).

7. Choose with the quick info text Save.

You are asked to assign the view a package. You can change this package later by choosing Goto → Object Directory
Entry

8. Choose with the quick info text Activate.

At activation, a log is written. It can be displayed with Utilities → Activation log. If errors or warnings occur when the view is activated, the
system automatically displays the activation log.

9. Go to (optionally) Environment → Tab. maint. generator (transaction code SE54)

From the view de nition, you can generate maintenance modules and maintenance interfaces that distribute the data entered with the view
to the base tables of the view. For more information, see Creating a Maintenance Dialog.
Additional Options

Recording documentation:

You can create information about using the view by choosing Goto → Documentation. This documentation is output when you print the
view, for example.

Changing the data element of a view eld:

This is custom documentation. For more information, please visit the SAP Help Portal 29
6/5/2023

Select the indicator in column Mod (modication) for the view eld. The Data element eld is now ready for input. You can enter a data
element that refers to the same domain as the data element of the assigned table eld here. Cancel the Mod ag if you want to use the data
element of the assigned table eld again.

Enter the delivery class of the view:

On the Maintenance status tab page, select the delivery class of the maintenance view. If you assign the delivery class G or E to the view,
you must also maintain a customer namespace (key block) for the view entries. To maintain the customer namespace, choose Customer
Namespace De nition.

Entering the maintenance attributes of the view eld:

On the View elds tab page you can de ne the Maintenance Attributes of the view eld in column P.

Check functions:

By choosing Utilities → Runtime object → Check you can determine whether the de nition of the view in the ABAP Dictionary
maintenance screen is identical to the de nitions in the runtime object of the view. By choosing Utilities → Runtime object → Display
you can display the runtime object of the view.

See also:

Maintenance Views

BC - Generate Table Maintenance Dialog

Maintenance Attribute of a View Field

Use
You use the maintenance attribute to control the access to a eld of a maintenance view. There are the following maintenance attributes:

When you create a view eld, it has an automatically switched maintenance attribute. The view eld is available as normal and there are no
restrictions for the eld maintenance. In this case, eld P is empty.

R (read-only):

Only pure read accesses are allowed for such elds. You cannot maintain such elds with transaction SM30.

S (subset):

These elds are used to create subsets when maintaining view data. Only a subset of the data is displayed. This subset is de ned by entering
a suitable value in this eld.

H (hidden):

This is custom documentation. For more information, please visit the SAP Help Portal 210
6/5/2023

These elds are hidden from the user in the maintenance dialog. The eld does not appear on the maintenance screen. You have to ensure
that such elds have the correct contents. By default they are left empty.

See also:

Maintenance View

Delivery Class of a Maintenance View


The delivery class of a maintenance view is used in the Extended Table Maintenance (transaction code SM30). If a maintenance interface is
generated for the maintenance view, the system analyzes the following information when view data is entered for this interface:

For maintenance views with delivery class E or G, there is a check if the entered data satis es the namespace de ned in table TRESC for the view.

There is a check if the transport connection built into the generated table maintenance makes sense. For example, there is no transport for
maintenance views with delivery classes L and W.

The delivery class of the corresponding base table of the view alone de nes how the data entered in a base table of the view is handled during an
upgrade and during transport between customer systems.

Maintaining Selection Conditions of Views

Prerequisites
You must de ne the base tables and elds of the view before you can restrict the set of data records that can be selected with the view by de ning a
selection condition (see Join, Projection and Selection).

Procedure
1. Open the Repository Browser and navigate to the view whose selection conditions you want to maintain.

2. In the context menu of the view, choose Change.

The maintenance screen of the view appears.

3. To enter a condition, select the Selection conditions tab page: You can enter a condition in each line, with the following form:

Table, Field name, Operator, Comparison value, AND/OR

Proceed as follows:

a. In the Table eld, enter the name of the base table from which the eld is taken.

b. In Field name, enter the name of the eld for which the selection condition was formulated.

c. In Operator, enter the chosen operator for comparing the eld contents and comparison value.

You can nd the valid operators with the F4 help.

d. In Comparison value, enter a constant value with which the eld value is compared.
Caution
Text literals (which must be enclosed in apostrophes) and numbers are permitted as comparison values, depending on the data
type of the eld.

This is custom documentation. For more information, please visit the SAP Help Portal 30
6/5/2023

e. In AND/OR, you can link two lines of the selection condition.

You can enter the elds for which you want to de ne selection conditions directly or copy them with Table elds.

4. To enter more than one selection condition, you must link them with AND or OR.

Note
OR operations are possible only between lines referring to the same eld.

OR takes priority over AND. The condition <COND1> AND <COND2> OR <COND3> is interpreted as <COND1> AND (<COND2> OR <COND3>).

5. Choose with the quick info text Save.

Note
You can formulate selection conditions for all the elds of the table contained in the view. It is not important whether or not these elds
were included in the view.

If you attach a table to your text table using a maintenance view you do not need a selection condition in the form text eld = SY-LANGU
since the system derives this restriction directly from the text foreign key.

Creating an Append View

Procedure
1. Open the Repository Browser and navigate to the view to which you want to append the append view.

For more information, seeAppend Views.

2. Double-click on the view.

The maintenance screen of the view appears in display mode.

3. Choose Goto →Append View

Either a dialog box appears in which you must enter the name of the append view, or a list of all the append views that were already
created for the append view appears. If append views already exist, you have to choose with the quick info text Create Append to get
the dialog box for entering the name. This name must lie in the customer namespace (or in the namespace of the partner or special
development).

4. Enter the name of the append view and choose with the quick info text Enter.

The maintenance screen of the append view appears. The tables contained in the view are listed in column Table. With the append view you
can now include more elds of these tables in the underlying database view.

Caution
You cannot add more tables with an append view.

5. Enter an explanatory text in the Short Description eld.


This text describes the cause or role of the enhancement of the underlying database view.

6. In column Tables on the View Fields tab page, select the table from which you want to insert more elds in the append view.

7. Choose Table elds.

This is custom documentation. For more information, please visit the SAP Help Portal 31
6/5/2023

The system displays a list of all the elds of the table. Fields that are already contained in the view are marked by the indicator in the rst
column.

8. Mark the elds that you want to insert in the view using the indicator in the rst column.

9. Choose Copy.

The system shows the selected elds in the area View eld.

10. Choose with the quick info text Save.

11. Choose with the quick info text Activate.

Result
When you activate the append view, the system also activates the underlying view and adds the new elds to the view in the database.

Deleting Views

Prerequisites
You must delete a view only if it is no longer used in programs.

Procedure
1. Open the Repository Browser and navigate to the view which you want to delete.

2. In the context menu of the view, choose the Where-Used List to check if the view is still being used in programs.

3. In the context menu of the view, choose Delete.

A dialog box appears in which you are asked to con rm the deletion request.

4. Con rm the deletion request.

Result
The view is deleted in the ABAP Dictionary and in the database.

Data Types
In ABAP Dictionary, global data types can be de ned that are visible for all repository objects in the current AS ABAP.

The possible data types in ABAP Dictionary are:

Data Elements for elementary data types and reference types

Structures that can comprise any other number of data types. Table Types with
any row type
This is custom documentation. For more information, please visit the SAP Help Portal 32
6/5/2023

Note
This documentation describes the maintenance of the classic ABAP Dictionary objects. CDS objects that are handled also by
the ABAP Dictionary are maintained and described in source code-based editors in the Eclipse-based IDE (ABAP Development Tools).

Data Elements

Use
You use data elements to de ne the type of a table eld, structure component or the row type of a table type. A data element can also be referenced
in ABAP programs with TYPE. As a result, you can de ne in an ABAP program variables that take on the attributes of a data element.

Features
A data element describes either an elementary type or a reference type.

An elementary type is de ned by the built-in data type, length and the number of decimal places. These type attributes can either be de ned directly
in the data element or copied from a domain.

A reference type de nes the types of reference variables in ABAP programs.

You can assign to a data element information about the meaning of a table eld or structure component and information about editing the
corresponding screen eld. This information is automatically available to all screen elds that refer to the data element. This information includes the
display of the eld in input templates using key word text, column headers for list output of the table contents (see Field Labels ), and output editing
using parameter IDs.

This is also true for online eld documentation. The text appearing in the eld help (F1 help) in a eld of an input template comes from the corresponding
data element. For more information, see Documentation and Documentation Status.

Example
The eld CONNID ( ight class) of table SBOOK refers to the S_CONN_ID data element. This data element gets its technical attributes (data type
NUMC, eld length 4) from domain S_CONN_ID. Data element S_CONN_ID describes the technical attributes and meaning (with an assigned long
text and an explanatory short text) of eld CONNID (and all other elds that refer to this data element).

A variable with the type of data element S_CONN_ID can be de ned in an ABAP program with the statement:

DATA CONNID TYPE S_CONN_ID

To get a clearer idea about this example, see the gure below.

This is custom documentation. For more information, please visit the SAP Help Portal 33
6/5/2023

See also:

Creating Data Elements

Creating Data Elements

Procedure
1. Open the Repository Browser and navigate to the package in which you want to create the new data element.

2. In the context menu of the package, choose Create Dictionary object Data Element .

A dialog box appears.

3. In the new dialog box, enter the name of the data element and choose .

The maintenance screen for data elements appears.

4. Enter an explanatory short text in the Short text eld.

The short text appears as a title in the F1 help for all the screen elds referring to this data element.

This is custom documentation. For more information, please visit the SAP Help Portal 34
6/5/2023

5. On the Data type tab page, choose the type that your data element describes.
6. If you choose Elementary type, you can de ne the data type, length and the number of decimal places of the data element by specifying a
domain or by direct type entry.

Perform one of the following:

If the data element must have the type attributes of a domain, you only have to select Domain and enter the domain name in the
corresponding eld. You can also de ne a new domain. To create it, enter the name of the new domain in the Domain eld and
then double-click on it.

To enter the type attributes directly, select Prede ned type.

Entries are now possible in the Data type, Length and Decimal places elds.

7. If the data element must describe a reference type, choose Reference type. Choose one of the following options to de ne the data type,
length and number of decimal places of the data element.

Choose Name of Reference Type to enter the name of the referenced type. This can be the name of a class or of an interface, a
generic reference to ANY, OBJECT or DATA or a reference to a type de ned in the Dictionary.

If you want the reference type to be a prede ned Dictionary type, select Reference to Prede ned Type. Enter the data type, length and
decimal places.

8. On the Field label tab page you can maintain text information (short, medium, and long eld labels and the title) for the data element.

You can use this text information in input templates to represent elds that refer to this data element.

9. Choose .

You are asked to assign the data element to a package.

10. Choose .

Result

The data element is activated. You can nd information about the activation ow in the activation log, which you can display with Utilities Activation
log . If errors occur when you activate the data element, the activation log is automatically displayed.

Additional Options

Create documentation

By choosing Documentation, you create a text that describes the contents of the data element.This text is displayed for the F1 help in all
screen elds that refer to this data element. You must leave out this step only if the data element does not appear on a screen. In this case
you must set the documentation status appropriately.

Assign a search help

You can assign a search help to the data element. This search help is offered on all the screen elds referring to this data element when the
input help (F4 help) is called. To assign the search help, go to the Further Characteristics tab page.
Specify the name of the search help in the Name eld and an export parameter of the search help in the Parameters eld.

Assign a parameter ID

A eld can be lled with default values from SAP memory using a parameter ID. A screen eld is lled automatically with the value stored under
the parameter ID of the data element only if this was explicitly permitted in the Screen Painter. To specify the parameter ID, go to theFurther
Characteristics tab page and make the entry in eld Parameter ID.

If a user has authorization only for company code 001, this company code can be stored in memory under the corresponding parameter ID at the
beginning of a transaction. Fields referring to the data element for the company code are then automatically lled with the value 001 in all subsequent
screen templates. In this case, the corresponding parameter ID must be entered only in the data element for the company code.

Assign a default component name


You can store a proposal for the name of the table elds or structure components that refer to a data element. If possible, use an
English-language default name. Always use this default name for components in BAPI structures (structures with a xed interface). This
This is custom documentation. For more information, please visit the SAP Help Portal 35
6/5/2023

results in a more unied assignment of eld and component names. You can assign the default component name on the Further
Characteristics tab page.

Mark data element as corresponding for change documents

The data of a business-oriented object can be distributed to several tables. To be able to trace changes to this business object, these tables
can be combined in a Change document object. Function modules that can be integrated in the corresponding application programs and
that log the changes are generated from such a change document object. The system logs changed eld contents only if you set the Change
document indicator for the data element of the eld on the Further Characteristics tab page.

Deactivation of input history

If this indicator is set, the mechanism that the SAP GUI uses to handle the input history of a screen input eld is switched off. This option is
used most often for elds containing sensitive data such as account numbers.

Related Information
Creating Domains
Data Types
Search Helps
Reference Type

Structures

Use
You use a structure (structured type) to comprise components ( elds). Types are de ned for the components. A component can refer to an
elementary type (via a data element or by directly specifying the data type and length in the structure de nition), another structure or a table type.
A structure can be nested to any depth.

Features
Structures are used to de ne the data at the interface of module pools and screens and to de ne the parameter types of function modules.

The central de nition of structures that are used more than once makes it possible for them to be changed centrally. The active ABAP Dictionary then
makes this change wherever required. The system automatically adjusts ABAP programs or screen templates that use a structure when the structure
is changed (see Runtime Objects). This ensures the greatest possible consistency of the data de nition, also for complex programs.

There are three types of structures:

Flat structures:

A at structure only references elementary types.

Nested structures:

A nested structure references at least one further structure, but not a table type.

Deep structures:

A deep structure references at least one table type.


You can distinguish the three types of structures in the following gure.

This is custom documentation. For more information, please visit the SAP Help Portal 36
6/5/2023

Caution
In a database table, you can only include at structures as substructures.

Example
The data for managing the addresses of persons can be represented as a nested structure PERSON. The structure comprises the components
(structures) NAME and ADDRESS. The structure NAME comprises the components (data elements)
FIRSTNAME and LASTNAME. The structure ADDRESS comprises the components (structures) STREET and TOWN. The structure STREET comprises
the components (data elements) STREETNAME and HOUSENO. The structure TOWN comprises the components (data elements) ZIP and
TOWNNAME. You can see this nested structure in the following gure.

This is custom documentation. For more information, please visit the SAP Help Portal 37
6/5/2023

See also:

Creating Structures

Creating Structures

Procedure
1. Open the Repository Browser and navigate to the package in which you want to create the new structure.

2. In the context menu of the package, choose Create Dictionary Object Structure .

A dialog box appears.

3. In the new dialog box, enter the name of the structure and choose .

The maintenance screen for structures appears.

4. Enter an explanatory short text in the Short text eld.

Perform the following steps for all the components you want to insert in the structure:

This is custom documentation. For more information, please visit the SAP Help Portal 38
6/5/2023

You can also include structures, tables or views instead of individual components.
1. On the Components tab page, enter a name in the Components column.

Caution
If you want to insert the structure as an in a transparent table at a later time, the component names must not be longer than 30 characters.

2. Specify the attributes of the component. To do this, perform one of the following:

If you want to add components by entering the data type and length directly, choose Prede ned type. You can now enter values for
elds Data Type, Length, Decimal Pl., and Short description.

Caution
If you have de ned a data type with a decimal oating point in eld Data Type, you must specify the output style. To do this,
double-click on the appropriate eld on the Data Type column. In the new dialog box, select one of the possible output styles.

In the Typing column, you can select between the following options:

Type - Refers to elementary types which are types of xed or variable length that are neither structured, nor a table type or a
reference type. The prede ned ABAP types are elementary.

Type Ref To - If the type de ned in the ABAP Dictionary or the prede ned type is a reference type, choose this option. For
more information.

Type … Boxed - Components of a structure or a class which are not stored at the place where they are de ned, but are
managed by an internal reference. Component of a structure or a class which is not stored at the place of de nition but is
instead deep, that is, it is administrated by an internal reference. Boxed components support initial value sharing and are
therefore dynamic data objects. They are declared with the BOXED addition when de ning substructures using TYPES or when
declaring structured attributes of classes or interfaces using DATA. For more information, see the ABAP Keyword
Documentation under TYPES - BOXED.

In the Component type eld, enter the name of the type whose attributes must be used in the component. You can enter any type (data
element, structure or table type) here. You can enter a reference type in the Component
Type eld. If you enter a class, interface, or generic reference (OBJECT or DATA) in the Component Type eld, the Typing eld is
automatically set to TYPE REF TO. If you enter ANY, the Typing eld is set to Type. If you enter a reference type already de ned in the
dictionary as a reference type, a blue arrow appears in the Data Type column.

Note
You can combine components with direct type de nition and components that are de ned by referencing an existing type as you
like.

3. On the Currency/quantity elds tab page, you must specify the reference eld and reference table for components of type CURR (currency)
and QUAN (quantity).

4. Maintain the foreign keys of the structure.

Proceed as when maintaining the foreign keys of a table.

5. Choose Search Help if you want to assign a search help to a structure eld that points to a data element. Enter the name of a search help in
the dialog box that appears. See Attaching a Search Help to a Table or Structure Field.

6. Once you have de ned all the components of the structure, choose .

You are asked to assign the structure to a package. You can change the package later by choosing Goto Object directory entry .

7. Choose an enhancement category. For more information, see Structure Enhancements.

8. Choose .

Result

This is custom documentation. For more information, please visit the SAP Help Portal 39
6/5/2023

The structure is now activated. The runtime object of the structure is created. The system writes a log at activation. It can be displayed with
Utilities Activation log . If errors occur when you activate the structure, the system displays automatically the activation log.

Additional Options

Recording documentation:

You can create information about using the structure by choosing Goto Documentation . This documentation is also output when the
structure is printed.

Specifying the activation type:

The activation type de nes whether the structure can be activated directly from the ABAP Dictionary, or whether the runtime object of the
structure must be generated rst with a C program. You must de ne an activation type for structures of the runtime environment. You can
de ne the activation type by choosing Extras Activation type .

Related Information
Inserting an Include Creating
Foreign Keys

Table Types

Use
You use a table type to describe the structure and functional attributes of an internal table in ABAP. In ABAP programs you can reference a table
type TTYP de ned in the ABAP Dictionary with the command DATA <inttab> TYPE TTYP. You create an internal table <inttab> in the
program with the attributes de ned for TTYP in the ABAP Dictionary.

Tip
Table type TABTYPE shown in the graphic can be used with the statement DATA <name> TYPE TABTYPE in ABAP programs to de ne an
internal table <name>.

A local type <name> that takes on the attributes of type TABTYPE can be de ned in the program with TYPES <name> TYPE TABTYPE.

Related Information
Creating Table Types
Creating a Ranges Table Type

Creating Table Types

Procedure
1. Open the Repository Browser and navigate to the package in which you want to create the table type.

2. In the context menu of the package, choose Create → Dictionary Object →Table type.

A dialog box appears.

3. In the new dialog box, enter the name of the table type and choose with the quick info text Continue.

This is custom documentation. For more information, please visit the SAP Help Portal 40
6/5/2023

The maintenance screen for table types appears.

4. In the Short text eld, enter an explanatory short text.

You can nd the table type at a later time using this short text, for example.

5. On the Line type tab page, de ne the line type of the table type. To do this, perform one of the following:

Select the Line Type radio button. You can now refer to an existing type (data element, structure, table, view, table type). You can
either search for an existing type or you can directly enter the line type in the Line Type eld.

If you want to enter the data type, eld lengthand the number of decimal places directly, you must select the Prede ned Type radio
button. Entries are now possible in the elds Data Type, No of characters and Decimal Places.

If you want to use a reference type as the line type, select the Reference type radio button and then Name of Ref. Type. Enter the
name of the referenced type. This can be the name of a class or an interface, a generic reference to ANY, OBJECT, or DATA or a
reference to a type de ned in the Dictionary. If you want the reference type to be a prede ned Dictionary type, choose Reference to
Prede ned Type. Select the Data Type, the Length and the number of Decimal Places.

6. On the Initialization and Access tab page, de ne the access mode of the table type.

This de nes how to access the data in an internal table de ned by the table type in ABAP programs.

7. On the Primary Key tab page, de ne the primary key of the table type.

The primary key of a table type is de ned by the key de nition and the key category.

If you select the Key components radio button, you can de ne the primary key of the table type directly in the input area with the same
name.

Caution
This option is possible only if the row type of the table type is a structure, table or view.

You can display all the components of the row type by choosing Choose components. Select the components that you want to copy to the
key, using the indicator in the rst column and choose with the quick info text Cont..

You can de ne (optional) an alias name for the primary key of the table type. It enables you to address the primary key using a self-de ned
name, like a secondary key.

Caution
The alias name and the names of the secondary keys must be unique. These names must also meet the naming conventions.

For more information about the constraints when creating an alias name, open the F1 help for the Alias eld.

8. On the Secondary Key tab page, de ne (optional) the secondary keys of the table type.

To create a secondary key, perform the following:

a. Choose with the quick info text Create Secondary Key.

b. In the Secondary Key eld, enter the name of the secondary key.

c. In the Short Description eld, enter an explanatory short text (optional).

d. De ne the Key Access and the Key De nition for the secondary table key.

If you select the Key components radio button, you can de ne the key of the table type directly in the input area with the same name.

You can display all the components of the row type with Choose components. Select the components that you want to copy to the
key using the indicator in the rst column, and choose with the quick info text Cont..

Note

This is custom documentation. For more information, please visit the SAP Help Portal 41
6/5/2023

The order in which you de ne the components of a table key is signicant. e. Choose

Refresh List.

The new secondary key appears in the list.

9. Choose with the quick info text Save.

The system asks you to assign the table type to a package. You can change this package later by choosing Goto → Object directory entry.

10. Choose with the quick info text Activate.

Result
The table type is now activated. The runtime object of the type is created. At activation the system writes a log. It can be displayed by
choosing Utilities → Activation log. If errors occur during activation, the system automatically displays the activation log.

Additional Options

You can enter an explanatory text for the table type by choosing Goto → Documentation. This is technical documentation that is not
displayed in the online help system.

You can display the runtime object of the table type by choosing Utilities → Runtime object → Display. By choosing Utilities → Runtime
object → Check you can check if the runtime object of the table type is consistent with its de nition on the maintenance screen of the ABAP
Dictionary.

Creating a Ranges Table Type

Procedure
1. Open the Repository Browser and navigate to the package in which you want to create the ranges table type.

2. In the context menu of the package, choose Create Dictionary Object Table type .

A dialog box appears.

3. In the new dialog box, enter the name of the table type and choose .

The maintenance screen for table types appears.

4. Enter an explanatory short text in the eld Short text.

You can, for example, nd the ranges table type at a later time using this short text.

5. Choose Edit → De ne as ranges table type.

The maintenance screen for ranges table types appears. The access mode, key de nition, and key category are de ned in advance for a ranges
table type.

To de ne the ranges table type, you must specify an elementary type for the types of the LOW and HIGH components of the corresponding
row type. Perform one of the following:

If you want to de ne the types of the LOW and HIGH components using an existing data element, you must select Data element on the
Line Type tab page. Enter the name of the data element in the subsequent eld. You can also enter the name of a data element that
does not exist. You go directly to the data element maintenance screen by double-clicking to create it.

This is custom documentation. For more information, please visit the SAP Help Portal 42
6/5/2023

You can also de ne the elementary type of the LOW and HIGH components directly. Select Prede ned Type. You can now enter values
for elds Data Type, No. of characters and Decimal Places.

6. In eld Structured Row Type on the Line Type tab page, enter a name for the row type of the ranges table type

A ranges table type must have a row type, just like any other table type. This row type has a xed structure for the special case of ranges table
types. You can create the row type from the maintenance screen of the ranges table type.

7. Choose .

You are asked to assign the ranges table type to a package. You can change this package later by choosing Goto Object directory entry .

8. To generate the row type of the ranges table type, choose Create on the Line Type tab page.

The maintenance screen for structures appears. The components of the row type are already assigned based on your de nition of the
associated type for the LOW and HIGH components. You must enter a short text for the row type and activate it. Then choose Back.

9. Choose .

Result

The ranges table type is now activated. The runtime object of the type is created. The system writes a log at activation. It can be displayed with
Utilities Activation log . If errors occur during activation, the system automatically displays the activation log.

Related Information
Runtime Objects

Deleting Types

Prerequisites
You can delete a type (data element, structure, or table type) in the ABAP Dictionary only if it is no longer used in other objects (for example in tables,
structures or programs).

Procedure
1. Open the Repository Browser and navigate to the type which you want to delete.

2. In the context menu of the type, choose the Where-Used List to check if the table is still used in programs or other objects of the ABAP
Dictionary.

3. In the context menu of the type, choose Delete.

A dialog box appears in which you are asked to con rm the deletion request.

4. Con rm the deletion request.

Result
The type is deleted if it is not being used in other objects.

Reference Type
This is custom documentation. For more information, please visit the SAP Help Portal 43
6/5/2023

Use
A reference type is a reference to a different type. You use a reference type to de ne the type of reference variables in ABAP Objects. There are
several kinds of reference types:

Reference to a class or an interface

Reference to a type de ned in the Dictionary

Generic reference to ANY, OBJECT or DATA. A reference of type ANY can point to objects as well as to data.

Reference to a prede ned Dictionary type including the length specication and possibly the decimal places.

Domains

De nition
A domain de nes a value range. A domain is assigned to a data element. All table elds or structure components that use this data element have the
value range de ned by the domain. The relationship between the eld or component and the domain is de ned by the data element of the eld or
component.

Use
When you change the domain, the system automatically changes elds or components that refer to this domain (with the assigned data elements).
This ensures that the value ranges of these elds or components are consistent. Fields or
components that are technically the same can be combined with a reference to the same domain. In the following gure you can see an example
where elds from different tables refer to a domain.

This is custom documentation. For more information, please visit the SAP Help Portal 44
6/5/2023

The value range of a domain is de ned by specifying a data type and length (and number of decimal places for numeric data types).

Tip
A personnel number is de ned by the data format NUMC and by specifying the number of places for this personnel number.

The value range of a domain can be restricted by de ning xed value. If all the elds or components that refer to the domain must be checked against
a certain table, you can de ne this table as the value table of the domain.

You can also de ne output attributes for all the elds or components that refer to the domain. For more information, see Creating Domains. A
conversion routine can be assigned to a domain. This conversion routine converts values from display format to internal format for the elds or
components that refer to this domain.

See also:

Creating Domains

Changing Domains

Deleting Domains

Creating Fixed Value Appends


You use xed values to further restrict the value range of a domain. If you de ne xed values for a domain, these are used in the input check in screen
templates. If no other means of help is de ned for a eld (see search help, foreign key), the xed values are also offered in the input (F4) help.

This is custom documentation. For more information, please visit the SAP Help Portal 45
6/5/2023

1. Open the Repository Browser (transaction code SE80) and navigate to the domain that you want to enhance.

2. Double-click on the domain.

The domain maintenance screen appears in display mode.

3. Choose Goto → Fixed Value Append.

4. If no other appends have been created for the table, a dialog box appears where you must enter the name of the xed value append. The
name of the xed value append must be in the customer namespace.

If appends were already created for the table, they are displayed in a list. Choose with the quick info text Create Append to open the
dialog box for entering the name.

5. Choose with the quick info text Continue.

The maintenance screen for xed value appends appears.

6. Enter a suitable short description in the Short Description eld.

7. Choose the Value Range tab page and enter the additional xed values.

You can display any existing xed values of the domain by choosing Show Domain Values.

8. Choose with the quick info text Save.

9. Choose with the quick info text Activate.

Caution
Fixed value appends are created in systems other than the original system of the domain and are assigned to a separate transport object.

Creating Domains

Prerequisites
Before creating a new domain, check whether a domain that de nes the same value range already exists. In this case you must use the existing domain
if possible.

Procedure
1. Open the Repository Browser and navigate to the package in which you want to create the domain.

2. In the context menu of the package, choose Create → Dictionary Object → Domain.

A dialog box appears.

3. In the new dialog box, enter the name of the domain and choose with the quick info text Continue.

The maintenance screen for the domain appears.

4. Enter an explanatory short text in the Short text eld.

For example, you can nd the domain at a later time using this short text.
5. On the De nition tab page, choose the data type, enter the number of places in the No. Characters eld and de ne the number of decimal
places (only needed for data types DEC, FLTP, QUAN and CURR).

Caution

This is custom documentation. For more information, please visit the SAP Help Portal 46
6/5/2023

Some data types have a xed length. For example, the data type CLNT (client) always has 3 places. If you enter an invalid number of places
for such a data type, the system corrects this automatically after issuing a warning.

6. In the Output Length eld you can de ne the output length.

7. If you have de ned a data type with a decimal oating point for the domain, you must specify the output style in the Output eld on the De
nition tab page.

For more information, see Output Styles.

8. If only certain input values are valid for the domain, you can enter them in the Value range tab page as xed values.

You can also de ne a value table as proposed value for foreign key checks on this tab page.

9. Choose with the quick info text Save.

The system asks you to assign the domain to a package.

10. Choose with the quick info text Activate.

Result
The domain is activated. You can nd information about the activation ow in the activation log, which you can call with Utilities → Activation log. If
errors occur when you activate the domain, the system automatically displays the activation log. Additional Options

Create documentation:

You can create technical documentation about the domain by choosing Goto → Documentation.

Restrict output length:

The value for the output length (maximum eld length including editing characters such as comma and period) is automatically computed
from the de nitions for the data type, the number of places and the number of decimal places. If elds that refer to this domain must be
output on the screen or in lists with only a certain length, you can reduce this
size.

Distinguish uppercase/lowercase:

If you want to distinguish uppercase and lowercase for the elds referring to this domain, you must select the Lower Case indicator on the
De nition tab page. Otherwise, all the entered letters are converted to uppercase in the database. You can make entries for this eld only in
data types CHAR and LCHR.

Assign conversion routine:

If eld values have to be converted during input or output, you can de ne a conversion routine.

AM/PM time format:

You can use the am/pm time format only for the data type TIMS.

Output with sign:

If elds that refer to this domain can contain negative values, you must set the Sign indicator. When the eld contents are output to the screen,
the rst output location is reserved for a sign. If the indicator is not set but the eld contains negative values, problems may occur when they
are output on the screen. You can make entries in this eld only for data types DEC, FLTP, QUAN and CURR.

Output Styles

This is custom documentation. For more information, please visit the SAP Help Portal 47
6/5/2023

Use
If you use one of the decimal oating point data types when creating a domain in the ABAP Dictionary, you must de ne the output style. With the
output style, you specify whether commercial notation (minus sign as a post x), mathematical notation (minus sign as a pre x), or one of three
possible exponential notations is used.

Note
If the eld has currency semantics, the system admits only commercial notation. In this case there is a variant of the commercial notation
which enforces a strict currency-dependent limit on the number of decimal places during output and input.

Features
The following styles for the output are supported:

Style Description

Mathematical notation (Normal)


If the value is negative, the sign is output as a pre x. If the absolute value is
so large that the output needs more characters than the default output
length, the system automatically switches to scienti c notation. This does
not involve rounding. This output style is the default.

Short form: Simple

Commercial notation (Sign right)


If the value is negative, the sign is output as a post x. If the output needs
more characters than the default output length, the system does not
switch to scienti c notation, but terminates with a short dump.

Short form: Sign as post x

Scale-preserving notation
The output format is the same as if you perform a MOVE from DECFLOAT
to type STRING, but the user-speci c decimal point and thousands
separators are used. The length of the output is at most 46. The primary
advantage of this output style is that trailing zeros of the fractional part
are not cut off. It is guaranteed that a conversion back to the DECFLOAT
type recovers not just the original value, but also the scale.

Short form: Scale-preserving

Scienti c notation The output always has an exponent. The exponent has at least two digits
and always has a sign. The integer part of the mantissa is in the range
[1..9] (unless the value to be output is zero).

Short form: Scienti c

Scienti c notation with a leading zero (Scienti c with leading zero) Compared with the Scienti c output style, the difference is that the integer
part of the mantissa is always zero.

Short form: Scienti c with leading zero

Style Description

This is custom documentation. For more information, please visit the SAP Help Portal 48
6/5/2023

Scale-preserving scienti c notation The output has an exponent. To achieve vertically adjusted output, the
exponent has 3 digits for the type DECFLOAT16 and 4 digits for the type
DECFLOAT34. The exponent always has a sign. The integer part of the
mantissa is in the range [1..9].

Short form: Scale-preserving scienti c

Engineering notation
This is a variant of the scienti c notation in which the exponent is a
multiple of 3. The integer part of the mantissa is in the range [1..999].

Short form: Engineering

Monetary amount in commercial notation (Enhanced Currency Amount) A eld with this output style must have a reference eld of the domain
/ISCER/CURRENCY. The reference eld speci es the minimum number of
decimal places that are output (in analogy to the UNIT key for the type
QUAN). The reference eld does not impose a limit on the number of
decimal digits which can be input.

Short form: Extended monetary

Monetary amount in commercial notation with strict limit on the decimal


places (Currency Amount) A eld with this output style must have a reference eld of the domain
/ISCER/CURRENCY, which speci es the maximum number of decimal places
that can be output and input. This number is at the same time the minimum
number of decimal places which are output.

Short form: Monetary

When using Scientic notation, it is best to limit the number of mantissa digits displayed. This can be achieved by calling the RESCALE function with
the argument prec being the number of mantissa digits to be output. If vertically adjusted decimal points and exponents are required, the scale-
preserving scientic notation has to be used.

For input, all formats that are accepted by a MOVE from type C to a DECFLOAT type are allowed, but the character for the decimal point has to be
the same as when inputting a DEC-value. Additionally, thousands separators can be used. If rounding is necessary, the value is not accepted. There
is no other limit on the number of digits or decimal places unless Currency Amount has been specied. In analogy to existing P-based types, a minus
sign is allowed both as a pre x and post x. If the input contains an exponent, the sign is allowed as a pre x only. During input, the system normalizes
the values unless a scale-preserving notation is specied.

Note
If you hit the return key, in most cases the system redisplays the value in normalized form.

Caution
Constraints for the output length of DECFLOAT types:

The output length of DECFLOAT16 can be at most 24 characters.

The output length of DECFLOAT34 can be at most 46 characters.

The default values for the output length are 24 (DECFLOAT16) and 46 (DECFLOAT34).

For more information, see the ABAP Keyword documentation.

This is custom documentation. For more information, please visit the SAP Help Portal 49
6/5/2023

Constraints

The are two output styles that are allowed for monetary amounts:

Currency Amount

With Web Dynpro ABAP and with classical Dynpro, the number of decimal places is limited according to the currency.

Enhanced Currency Amount

There is no special limit on the number of decimal places.

When specifying a reference eld, the system checks whether the reference eld is of the domain /ISCER/CURRENCY. For each currency, the number
of decimal places is stored in the database table /ISCER/C_CUR. If the output style is not Currency Amount or Enhanced Currency Amount, you have
three options for the reference eld:

Reference eld of type UNIT (built-in type)

Reference eld of domain /ISQC/UNIT

No reference eld

Caution
If a DECFLOAT eld has a reference eld of type UNIT or /ISQC/UNIT, this has no effect on the output on Web Dynpro ABAP and the classical
Dynpro.

If a DECFLOAT eld with the Currency Amount output style is output on a classical Dynpro, you must round the value according to the
currency before the value is output.

Example
Here is an example of the various output styles:

Input -12.30 -12.3456 -1230E1

Commercial notation 12.3- 12.3456- 12,300-

Mathematical notation -12.3 -12.3456 -12,300

Scale-preserving notation -12.30 -12.3456 -1.230E+4

Scienti c notation -1.23E+01 -1.23456E+01 -1.23E+04

-0.123E+02 -0.123456E+02 -0.123E+05


Scienti c notation with a leading
zero

-1.230E+0001 -1.23456E+0001 -1.230E+0004


Scale-preserving scienti c notation

Engineering notation -12.3E+00 -12.3456E+00 -12.3E+03

Caution
There is a limit on the decimal places for currencies. When inputting a monetary amount, the user expects that the number of decimal places
is limited according to the currency used. This requirement is covered by output style Currency Amount. Before output, you must round the
value accordingly, otherwise there is a short dump. This also holds if the eld is not an input eld. The side effect of this policy is that the output
is right-adjusted.

This is custom documentation. For more information, please visit the SAP Help Portal 50
6/5/2023

Changing Domains

Procedure
1. Open the Repository Browser and navigate to the domain that you want to change.

2. Double-click on the required domain.

The maintenance screen for the domain appears in display mode.

3. Choose with the quick info text Display <-> Change.

You are now able to make changes to the domain.

Caution
All the tables and structures in which a eld or component refers to the particular domain are affected by changes made to the domain.

A conversion of these tables may be necessary. For more information, see Adjusting Database Structures. This is time-consuming for
tables containing a large number of records. Foreign keys also become inconsistent in such tables and structures. You must use the
where-used list before you change a domain.

To do the appropriate changes, choose one of the procedures below.

Changing the Data Type, Number of Places or Number of Decimal Places

You can change the data type and number of places or decimal places simply by overwriting the relevant data.

A change of this type can cause all tables that contain a eld referring to the changed domain to be converted.

You must nd out all the database tables in which a eld refers to the domain before making such a change. To do this, perform the following:

1. In the context menu of the domain, choose the Where-Used List.

A dialog box appears.

2. In the new dialog box, choose Indirect Application .

A list appears.

3. Select Database Tables and choose with the quick info text Execute.

4. The system displays all the database tables in which a eld refers to the domain.

Changing the Output Attributes

Changing the output attributes of a domain has an effect on the dialog behavior in all the screens in which a eld refers to this domain.

You must nd out which screens are affected before making such a change. To do this, perform the following.

1. In the context menu of the domain, choose the Where-Used List.

A dialog box appears

2. In the new dialog box, choose Indirect Application.


A list appears.

This is custom documentation. For more information, please visit the SAP Help Portal 51
6/5/2023

3. Select Screens and choose with the quick info text Execute.

All the screens in which a eld refers to the domain are listed.

Changing the Value Table

The value table is used as a proposal value for foreign key de nitions. If you change the value table, use the Where-Used List to check if foreign keys
that were already created also have to be changed. You can nd out which foreign keys are affected by
nding all the elds that refer to the domain and checking them against the changed value table.

Deleting Domains

Prerequisites
You can delete a domain only if it is no longer being used by a data element.

Procedure
1. Open the Repository Browser and navigate to the domain that you want to delete.

2. In the context menu of the domain, choose the Where-Used List to check if the domain is still being used in data elements.

3. In the context menu of the domain, choose Delete.

A dialog box appears in which you are asked to con rm the deletion request.

4. Con rm the deletion request.

Result
The domain is deleted if it is not being used in any data elements.

Search Helps

De nition
Search helps are objects that you can use to assign input help (F4 Help) to screen elds. You can do this by creating a search help in the ABAP Dictionary
and attaching it to the corresponding screen eld.

Use
The input help (F4 help) is a standard function of the SAP system. You can display the list of all possible input values for a screen eld using this help.
You can enhance possible input values with further information. This is approbiate especially when the eld requires the input of a formal key.

This is custom documentation. For more information, please visit the SAP Help Portal 52
6/5/2023

To understand the functionality of search helps in detail, you have to be familiar with the standard input help process.

Standard Input Help Process

You call an input help using the following steps (some steps can be omitted, depending on the de nition of the input help):

1. Start the input help to display the possible input values for a eld (search eld) in a screen template.

2. The system suggests you a number of possible search paths. You have to select one of these. Each search path suggests a number of
restrictions to limit the number of possible input values. These values are provided in a dialog box for value restriction when the search path
is selected.

3. Enter the restrictions, if required, and then start the search.

The following gure shows an example that explains the rst three steps.

1. The system determines the values that satisfy the entered restrictions (hits) and displays them as a list (hit list).

The following gure explains step 4 and step 5.

This is custom documentation. For more information, please visit the SAP Help Portal 53
6/5/2023

2. Select the most suitable line from the hit list by double-clicking it.

3. The value of the search eld is returned to the screen template (possibly together with other values).

Note
The system omits step 2 if there is only a single search path available. In this case the dialog box for the value selection is offered
immediately. You can also output the hit list directly after starting the input help. In this case the system omits steps 3 and 4.

Function of a Search Help

This standard process can be completely de ned by creating a search help in the ABAP Dictionary. This search help must be assigned only to the
screen elds in which it has to be available. (For more information, see Attaching Search Helps to Screen
Fields.)

There are two types of search helps:

Elementary search helps

These describe a search path. The elementary search help must de ne the following:

Where must the data of the hit list be read from (selection method)

Which enhanced options should be provided for the search method (type-ahead and full text search)

How the exchange of values between the screen template and selection method is implemented (the interface of the search help)

How the online input help must be de ned (online behavior of the search help).

Collective search helps

Collective search helps combine several elementary search helps. A collective search help can offer several alternative search paths.

Using Search Helps in Web Dynpro ABAP


You can use search helps from the ABAP Dictionary in Web Dynpro for ABAP. Additional information is available under ABAP Dictionary Search Helps.

This is custom documentation. For more information, please visit the SAP Help Portal 54
6/5/2023

See also:

Example for Search Helps

Creating Elementary Search Helps

Creating Collective Search Helps

Elementary Search Help

Use
An elementary search help de nes the standard ow of an input help. You can de ne the following components of this ow in the search help:

Where must the data displayed in the hit list come from (selection method)

Which enhanced options should be provided for the search method (type-ahead and full text search)

What information must be displayed in the dialog box for value selection and in the hit list (search help parameters)

Which eld contents can be taken into account for hit list selections and which values in the hit list can be returned to the screen elds (search
help parameters)

Which dialog steps must be executed in the input help (dialog behavior)

Features
Selection Method

The possible input values displayed for a eld in the hit list are determined at runtime by database selection. In the following gure you can see a simple
representation of this database selection.

This is custom documentation. For more information, please visit the SAP Help Portal 55
6/5/2023

If all the data required in the hit list comes from one single table, it is enough to select this table (or a projection view of this table) as the selection
method. If a text table exists for the table, its elds are also available in the input help. A table entry is linked with the corresponding text by the
existing foreign key.

If the data required in the hit list comes from more than one table, you must link these tables with a view (database view or help view). You must de
ne this view as the selection method.

If the underlying tables are client-specic, the client eld must be contained in the view. Otherwise the selection for the input help would be for all
clients.

Search Help Parameters

A search help has an interface consisting of parameters. These parameters de ne the elds of the selection method that is used in the input help.

A parameter of the search help must correspond to each eld in the dialog box for value selection and to each eld of the hit list. The parameters are
copied from the corresponding selection method, that is, they have the same name as the corresponding eld of the selection method.

If the search is restricted with a parameter of the search help, this is used in the data selection for formulating a WHERE condition for the eld of the
selection method with the same name. Conversely, the parameters of the search help are assigned to the contents of the elds of the selection
method with the same name.

Caution
The search help must not contain any parameters for the clients.
If the underlying table is client-dependent, the system automatically selects only those values for the input help that belong to the current client.

This is custom documentation. For more information, please visit the SAP Help Portal 56
6/5/2023

A data element must be assigned to each search help parameter. That is, a type must be de ned for the search help parameters.

A search help can contain further parameters that do not correspond to any eld of the selection method. This is necessary only if the standard ow of
the input help described by the search help still has to be modied with a search help exit.

Import and Export Parameters

When an input help is called, the entries that you already made in the input template are taken into consideration. For example, if you call the input
help for the ight number and you have already specied the carrier, only the numbers of ights of this carrier are offered.

On the other hand, if you select one row of the hit list, more than one eld of the input template has to be lled with data from the selected row of
the hit list. For example, if the ight number is obtained from the hit list, the city of departure and the destination must also be returned in the
screen template. The following gure explains this using an example.

The interface of a search help de nes the context data that can be used in the input help and the data that can be returned in the input template.

A parameter of a search help can be classied as:

Import parameters:
Parameters with which context information from the processed input template (screen) is copied to the help process.

Export parameters:

Parameters with which values from the hit list are returned to the input template.

This is custom documentation. For more information, please visit the SAP Help Portal 57
6/5/2023

Note
A parameter can be an input and an export parameter at the same time. A search help can also contain parameters that are neither
import nor export parameters. For example, such parameters could be required for the internal input help process.

When you attach a search help, you must de ne where the import parameters of the search help get their values from, and the elds in which the
contents of the export parameters are returned. For more information, see Value Transport for Input Helps.

Description of the Online Behavior

The online behavior de nes the steps executed in the input help process as well as the structure of the hit list and dialog box for value selection.

The dialog type de nes whether or not the dialog box for value selection is displayed. If you want to skip the dialog box for value selection, the hit list
is displayed directly after calling the input help.

When you de ne an elementary search help, you can de ne the appearance of the dialog box for value selection and the hit list. For example, you
can de ne the position of a parameter in the dialog box for value selection. You can also de ne the column position in which the values of a parameter
are displayed in the hit list.

Enhanced Search Help Functionality


You can enhance the functionality of a search help object to display possible search results and further values already while typing in a drop-down
box beneath the search eld. This assists the user who is searching for the desired entry. In addition, for fuzzy searches you can de ne an error-
tolerant value in order to de ne the deviation of the relevant results.

Note
In transaction SDSH_CONFIG, you can deactivate the enhanced options system-wide by deselecting the “Use proposal search for input eld”
option. Note that for this purpose the standard authorization 02 (‚changeʻ) of the authorization object S_DEVELOP is required.

Input elds that have a search help with enabled enhanced options assigned to them indicate this with a magnifying glass.

Search Methods

In transaction SE11, you can select the enhanced options for each elementary search help. Depending on the enhanced options selected and the
capabilities of the database, the following search methods are provided:

1. Type-ahead search: Input elds using this search help are enabled for the proposal search – that is, a magnifying glass will be shown. The
user´s search term is automatically completed and / or possible proposals of the search result are displayed in a drop-down box. From
this box you can select the matching database entries already while typing, without the need to invoke the traditional F4 help dialog. This
feature uses the standard pattern-based logic of the search help infrastructure and is therefore available on all databases.
2. Full text search: If the “Multi-column Full Text Search” option is enabled and the relevant database system supports it, a full text search is
also performed on the selection method(s). In contrast to the pattern-based logic, the system searches for the search string in all
columns that are marked as searchable. The full text search can be executed in an error-tolerant way (see table below for details).

Prerequisites

In order to provide an enhanced search help, you will need to take the following prerequisites into consideration:

SAP GUI version 7.30 for Windows Patch Level 5, recommended Patch Level 6

SAP NetWeaver 7.4 SP06

The fuzzy search is currently only supported for SAP HANA database on ABAP systems.

This is custom documentation. For more information, please visit the SAP Help Portal 58
6/5/2023

Limitations

The type-ahead and full text searches are currently only supported for SAP GUI screens on Windows. Other UI technologies such as Web
Dynpro are currently not supported. For more information, see SAP Note 1861491.

Enhanced Options

The following enhanced options are provided:

Option Relevant Search Method Description

This is custom documentation. For more information, please visit the SAP Help Portal 59
6/5/2023

Option Relevant Search Method Description

Proposal Search for Input Fields Type-ahead This option de nes that a search help object is
capable of running a type-ahead call. The search
results are displayed in a list generated on the
basis of the modeled LPos parameters. The values
of the parameter that belongs to the input eld are
always displayed in the rst column of the
dropdown box, irrespective of the LPos value. All
other parameters follow in accordance with their
LPos value.

Note

If only this eld is set, or if the "Multicolumn Full


Text Search" option is not supported by the
database used by the system, the search is
executed solely on the column of the database
that belongs to the
eld or the assigned search help parameter.

Additional selection conditions for other


columns of the table(s) or view will only be
taken into consideration as follows:

If these selection conditions are


modeled as additional IMPORT
parameters in the search help.

If values are stored in the user interface


or as default values in the search help
and if they can be matched to the
IMPORT parameters.

In the drop-down box of an entry or search eld, by


default 10 search results are
displayed.

Before you activate this option for search help


objects that contain exits with complex selection
conditions or implement longrunning operations,
you should test this search help object for its
runtime behavior. Moreover, you must ensure
that an existing search help exit does not call SAP
GUIspeci c logic (such as call own dialogs) on its
own.

Option Relevant Search Method Description

This is custom documentation. For more information, please visit the SAP Help Portal 60
6/5/2023

Multi-column Full Text Search (Database- Full text search


Speci c) The system performs a full text multicolumn
search in addition to the standard pattern-based
search. Results of both searches are combined
and returned in their order of relevance with
respect to the search query.

Note

You can only select this option if the


“Proposal Search for Input Fields” option is
already selected and the selection method(s)
support(s) full text search. This applies to tables,
text tables as well as standard and projection
views. Other variants are not supported.

The corresponding columns must be marked as


IMPORT or SPos parameters.

Accuracy Value for Error-tolerant Full Text Fuzzy search


The error-tolerant value determines the
Search
variation bandwidth of the displayed search
results. Thus, spelling mistakes can also be
considered.

Note

This value ranges between 0 and 1. A score of 0


means the search query and the search result do
not have anything in common. 1 means that
must be a complete match. Thus, the lower the
value, the more variations are displayed.

The error-tolerant value can only be applied to


the multi-column full text search.

See also:

Creating Elementary Search Helps

Example of Search Helps

Collective Search Help

Use
A collective search help combines several elementary search helps. You can choose one of several alternative search paths using a collective search
help.

When you de ne a collective search help, you only need to specify the search helps that are to be combined in the collective search help. In the
input help, the values are transported between the selected elementary search help and the input template using the collective search help. This is
the reason why a collective search help also has an interface for transporting the values.

Features
Interface of the Collective Search Help

This is custom documentation. For more information, please visit the SAP Help Portal 61
6/5/2023

Like an elementary search help, a collective search help has an interface of import and export parameters. The data is exchanged between the screen
template and the parameters of the assigned elementary search helps using this interface. The following gure explains in a simple way how this data
exchange is done.

Assigned Search Helps

A collective search help comprises several elementary search helps. It combines all the search paths that are meaningful for a eld.

Caution
The interface parameters (import and export parameters) of the included search helps must be assigned to the parameters of the collective
search help. Not all of the parameters need to be assigned, that is, the assignment can be left open for some of the parameters. The following
gure illustrates this using an example.

This is custom documentation. For more information, please visit the SAP Help Portal 62
6/5/2023

Both elementary search helps and other search helps can be included in a collective search help. If other collective search helps are contained in a
collective search help, they are expanded to the level of the elementary search helps when the input help is called.

Note
If you want to enable an input eld with a collective search help for type-ahead, the option “Proposal Search for Input Fields” must be enabled for
at least one of the assigned elementary search help objects.

If you call a collective search help with more than 2 elementary search helps that are type-ahead-enabled, the system considers the con
guration of the rst one for its behavior. You can change the order of sequence either statically in transaction SE11 or dynamically in a
search help exit.

See also:

Creating Collective Search Helps

Example for Search Helps

Append Search Helps

Use
You use an append search help to enhance a collective search help, which is not the original in the current system, with further search paths
(elementary search helps) without modications. This technique can be used for example by special

This is custom documentation. For more information, please visit the SAP Help Portal 63
6/5/2023

developments, country versions, SAP partners and SAP customers to add further search paths to a collective search help in the SAP standard version.

Features
An append search help has a xed assignment to a collective search help (of your appending object). This appending object is enhanced with an
append search help. The structure of an append search help corresponds to the structure of a collective search help.

The append search help takes on the parameters of your appending object and is automatically included in this object. The parameters of both search
helps with the same name are assigned to one another.

Tip
In the following gure you can see an example of a collective search help that is enhanced. The appended search help provides further search paths
through Elementary search help C and Elementary search help D.

Append search helps can also independently describe an input help. In this case they are used like collective search helps.

Note
A search help exit cannot be assigned to an append search help.
Elementary search helps without modications can be hidden in an SAP collective search help with an append search help. You have to include the
search help to be hidden in the append search help as well and hide the inclusion there. The search path de ned with this search help is no longer
offered in the appending search help.

This is custom documentation. For more information, please visit the SAP Help Portal 64
6/5/2023

Note
If the parameters of the appending object change, the system does not automatically make this change in the append search help. You are
informed that you must adjust the parameters of the append search help. In this case you have to check if you want to change the assignments
between the parameters of the append search help and the search helps included in them.

It is not rational to automatically change the interface of the appending objects: if the interface of the collective search help changes, some of the
contained elementary search helps must be adjusted to this change.

See also:

Creating an Append Search Help

Assignment of Search Helps to Screen Fields

Use
A search help can in uence the behavior of a eld when the input help is called. To do this, the search help must be assigned at rst to the desired eld.
You have the following options for this assignment:

Attach the search help to a data element

Attach the search help to a check table

Attach the search help to a table eld

Attach the search help to a screen eld

More than one search help can be assigned to a eld. Con icts when calling the input help are resolved with a hierarchy of search help attachments.

Example
In the following gure you see an example where four search helps are assigned to a eld. Search help A is assigned directly to a eld on the screen.
Search help B is attached to the corresponding table eld. There is a check table for the eld to which search help C is attached. Search help D is
attached to the data element of the eld.

This is custom documentation. For more information, please visit the SAP Help Portal 65
6/5/2023

Assignment of a Search Help to a Data Element

Use
Search helps that are assigned to a data element can be used by all screen elds that refer to that data element. All the elds with the same meaning
have an identical input help.

When you attach the search help to a data element, you must assign an export parameter of the search help to the data element. If you select a
line of the hit list in the input help, the contents of this parameter are returned to the corresponding screen eld.

Note
It is not possible to return several values when the search help is attached to a data element.

If the parameter assigned to the data element is also an import parameter of the search help, the contents of the search eld are used for the value
selection if they contain a pattern. Other import parameters of the search eld cannot be taken into consideration when the search help is attached
to a data element.
The attachment of the search help to the data element is part of the de nition of the data element. You can nd out how to attach a search help to a
data element in Creating Data Elements.

This is custom documentation. For more information, please visit the SAP Help Portal 66
6/5/2023

Example
Table SPFLI ( ight schedule) contains the eld DISTID for the unit (kilometers, miles) of the ight distance specied in the eld DISTANCE. The eld DISTID
refers to the data element S_DISTID. The elementary search help S_UNIT_DIST (search for distance units) is attached to this data element. The
export parameter MSEHI of the search help is assigned to the data element.

The search help S_UNIT_DIST is available for the DISTID eld when ight data is maintained in table SPFLI. If you select a line of the hit list in the input
help, the contents of parameter MSEHI are returned to the screen eld. The gure below shows how this process is done.

Assignment of a Search Help to a Check Table

Use
If a eld has a check table, the set of all possible entries in the eld is de ned by the contents of this check table. (For more information, see Foreign
Keys.) The contents of the key elds of the check table are automatically offered in the input help. If a text table is de ned for the check table, the
system also displays the contents of the rst text eld of this text table in the
user's logon language.

This is custom documentation. For more information, please visit the SAP Help Portal 67
6/5/2023

The input help coming from the check table can be further edited by assigning a search help to the check table. The assigned search help can then
be used by all screen elds that are checked against the table.

If a search help is attached to a check table, it display the data contained in this check table. In this case, the check table itself or a view of this check
table must be given as the selection method of the search help.

When a search help is assigned to a check table, there must be an assignment between the key elds of the check table and the parameters of the
search help. If an export parameter of the search help is assigned to a key eld of the check table, the contents of this parameter are returned to the
corresponding screen eld. This happens immediately when you select a line of the hit list in the input help. If an import parameter of the search help
is assigned to a key eld of the check table, the eld contents are used for the value selection. (For more information, see Value Transport for the Input
Help.)

The search help attachment is part of the de nition of the table/structure to which the search help is attached. For more information about attaching
a search help to a table, see Creating Tables.

Example
The system checks eld CONNID (number of the ight connection) of table SFLIGHT ( ights) against table SPFLI ( ight schedule). The elementary search
help H_SPFLI (search for ights by cities of departure and arrival) is allocated to table SPFLI. This search help is available for the CONNID eld when data
is entered in table SFLIGHT.

Search help H_SPFLI does not contain a client eld since for the input help the selection is made in the logon client of the user.

The following gure describes the relations between the tables and the search help in our example. You can see the actions that the system performs
when you use the input help for eld Connect.

This is custom documentation. For more information, please visit the SAP Help Portal 68
6/5/2023

Assignment of a Search Help to a Table Field or Structure Field

Use
The search help can be used by all screen elds that refer to the table eld or structure eld. The search help parameters and the elds of the table or
structure must be assigned to each other in this type of assignment.

If an export parameter of the search help is assigned to a table eld, the contents of this parameter are returned to the corresponding screen
eld. This happens immediately when you select a line of the hit list in the input help. If an import parameter of the search help is assigned
to a table eld, the eld contents are used for the value selection. (For more information, see Value Transport for the Input Help.)

Note
Some parameters of the search help cannot be assigned to a table eld. You can leave the assignment open for some search help parameters. A
constant or any other eld that is searched for in the module pool when the input help is called can also be assigned to a search help parameter.

This is custom documentation. For more information, please visit the SAP Help Portal 69
6/5/2023

The search help attachment is part of the de nition of the table/structure to which the search help is attached. For more information about attaching
a search help to a table eld, see Creating Tables.

Example
The search help STRAVELAG_NAME allows you to search for the number of a travel agency using supplementary information about the agency
(name, city, country). This search help must be available for all screen elds that refer to eld AGENCYNUM (number of the agency) in table
STRAVELAG. To do this, you must directly attach the search help to the eld AGENCYNUM of table STRAVELAG. All the parameters of the search
help can be allocated to the corresponding table elds. In the following
gure you can see the assignments between the search help parameters and the table elds in our example.

Direct Assignment of a Search Help to a Screen Field

Use
You can directly assign a search help to a screen eld. In this case, the search help is available only for the desired screen. If the same eld is used on
several screens, you must attach the search help to the referenced table eld or structure eld. (For more information, see Attaching to Table Fields.)

This is custom documentation. For more information, please visit the SAP Help Portal 70
6/5/2023

You can attach a search help directly to a screen in the following ways:

Using the Screen Painter

1. Open the Object Navigator, navigate to the required screen and then open it.

The Screen Painter for this screen appears in display mode.

2. Choose with the quick info text Display <-> Change.

3. Go to the Element List tab page and then select the References tab page.

4. In the Search Help column you can de ne the search help for the required screen eld.

The name of the search help can be de ned for selection screens in ABAP reports in the PARAMETERS or SELECTOPTIONS statement directly
following the supplement AS SEARCH PATTERN.

In both cases, this assigns the rst parameter of the search help to the screen eld. The result is that only a value from the hit list can be returned to
the screen template.

Caution
We do not recommend you attach search helps directly to screen elds.

You can assign search helps either statically or dynamically.

Static assignment:

Enter the name of the search help.

Dynamic assignment:

Enter a colon (:) followed by the name of a (program) eld. The content of the eld is interpreted at runtime as the name of a search help.

If you specify a search help with several parameters, the rst parameter of the search help is linked to the screen eld. It is not (currently) possible to
link further search help parameters to other screen elds. Instead, you can use the function in the ABAP Dictionary that allows you to link a search
help to a eld of a structure.

Reaction to the =- short notation

If you have specied a search help, entering =- at the beginning of a eld has a special meaning. The screen reacts to any function code by calling the
F4 help for the eld.

You can cause the same reaction without a search help by just entering the equals (=) sign.

Hierarchy of Search Help Calls


You can attach search helps to screen elds in different ways. Several search helps can be assigned to one screen eld. The system resolves con ict
situations when the input help is called due to a hierarchy of the different types of search help attachments.
When you call the input help for a screen eld, the system checks rst of all if an input help is de ned for the eld on the screen. Three cases are possible
here. If there is a programmed help with PROCESS ON VALUE-REQUEST, it is executed. If there is no programmed help, the system tries to
call the search help assigned to the eld on the screen. If no search help is assigned to the eld on the screen, the help de ned with FIELD SELECT
or FIELD VALUES is offered.

This is custom documentation. For more information, please visit the SAP Help Portal 71
6/5/2023

If no input help is de ned for the eld on the screen, the system tries to call the search help attached to the table eld. If there is no search help here,
it tries to display the check table help. There are two cases here. If a search help is attached to the check table, it is displayed. Otherwise, only the
key values of the check table are displayed. If there is a text table for the check table, the system adds the text for the key value in the user's logon
language.

If there is no check table for the eld, the system tries to call the search help from the data element. If there is no search help for the data element
either, existing domain xed values are displayed. The calendar help and time help are automatically provided for elds with data type DATS and
TIMS.

To get an idea of the structure of the hierarchy, see the gure below.

Value Transport for Input Helps

Use
There is a value transport between the eld contents on the screen and the interface of the search help when you call the input help and when you
select a line of the hit list. The values that you have already entered on the screen are used as restrictions for a selection from the hit list.

Note
The system displays only those hits that are consistent with the values that you have already entered on the screen.

This is custom documentation. For more information, please visit the SAP Help Portal 72
6/5/2023

Features
To explain better the specicity of the value transport, we examine the following example. In this example, screen elds A, B and C are linked with
parameters of the search help. As a result, values can be transported only between the screen and the search help for these three elds. You can use
existing contents of screen elds A and B to select the hit list since these elds are linked with an import parameter of the search help. The values of
parameters A and C can be returned to the screen from the hit list since these parameters are export parameters of the search help.

Parametrizing the Import Parameters of the Search Help

If the search help is attached to the screen eld with a data element or directly on the screen, only one search help parameter is assigned to this eld.
The value transport can take place only between the screen eld and this parameter.

If the search help is attached to the table eld or to the check table of the eld, a value transport can take place for all the screen elds that are linked
with a parameter of the search help.
When the input help is called, the system tries to nd a eld on the screen for each import parameter of the search help that is attached to a table or
structure eld. If a eld referencing this table or structure eld is found, the content of the screen eld is copied to the search help parameter.

There are at most four steps when searching for the screen eld with the same name:

1. If the input help is called in a step loop, the system searches for a eld with the same name in this step loop.

2. If the step loop does not contain a eld with the same name, the corresponding subscreen is searched.

3. If the subscreen does not have a eld with the same name, the main screen is searched.

4. If the main screen does not contain a eld with the same name either, the module pool of the corresponding screen is searched.

You can see these four steps in the gure below.

This is custom documentation. For more information, please visit the SAP Help Portal 73
6/5/2023

Returning the Values from the Hit List

Values are only returned at the level where the input help was called. For example, if the input help is called within a step loop, the values are only
returned from the hit list in elds of the corresponding line of this step loop.

Caution
The system does not return values from the hit list to the module pool of the screen.

The values of the hit list are returned only in input elds and in elds that are linked to only one export parameter of the search help (used to
parametrize pure text elds that are not used in the selection).
See also:

Assignment of a Search Help to Data Element

Assignment of a Search Help to a Check Table

Assignment of a Search Help to a Table Field or Structure Field

Direct Assignment of a Search Help to a Screen Field

Creating Elementary Search Helps


You create an elementary search help to de ne the standard ow of an input help.

This is custom documentation. For more information, please visit the SAP Help Portal 74
6/5/2023

Prerequisites
To provide the enhanced search help, you must consider the following ABAP back-end prerequisites:

SAP NetWeaver 7.4 SP06

The multi-column full text search is only supported for the SAP HANA database on ABAP systems.

In order to support the type-ahead and fuzzy searches, SAP GUI for HTML requries the 742 pl18 Kernel version

Context
For the creation of an elementary search help, the support of the type-ahead and fuzzy searches depends on the UI technology used.

The following UI technologies support these features, depending on their release level:

SAP GUI 7.30 for Windows Patch Level 5, recommended Patch Level 6 or higher

SAP GUI 7.40 for Java / HTML or higher

Web Client UI Framework: WEBCUIF EhP3 SP05 or higher SAP Fiori,

Note
Web Dynpro ABAP implements its own type-ahead solution that needs to be con gured independently from the elementary search help editor. For
more information, see Suggested Values for Input Fields

For more information, see the following SCN articles and SAP Note:

Spotlight on the Enhanced Search (F4 Help)

WEBCUIF EhP3 SP05 - Release Notes

SAP Note 2157163 - SAP GUI for Java 7.40 Release Notes

SAP Note 2049251 - Service handler for fuzzy/type-ahead search

Procedure
1. Open the Repository Browser (transaction SE80) and navigate to the package where you want to create the search help.
2. In the context menu of the package, choose Create Dictionary Object Search Help .

A dialog box appears in which you must enter the name of the search help.

3. Select the Elementary search help radio button and choose with the quick info text Continue.

The maintenance screen for elementary search helps appears.

4. Enter an explanatory text in the Short description eld.

You will be able to nd the search help at a later time using this short text.

5. On the De nition tab page, enter the selection method for the search help.

You can enter the name of a table or a view (database view, projection view, or help view). If you enter a table that has a text table, the
system automatically enters the name of the text table in the corresponding eld.

6. [Optional:] You can de ne a type-ahead search to display proposals of possible results in a dropdown box beneath the input eld. For this,
select the <Proposal Search for Input Fields> option in the Enhanced Option area.

7. [Optional:] You can de ne an error-tolerant fuzzy search to display the relevant search results and their values in a dropdown box beneath
the input eld. The values help the user to determine the desired search result. For this, select the following enhanced options and prede
ne the error-tolerant value:

This is custom documentation. For more information, please visit the SAP Help Portal 75
6/5/2023

Proposal Search for Input Fields to activate the type-ahead functionality.

Multi-Column Full Text Search (Database-Speci c) to activate the full text search over several columns. Note that this option can
only be selected if you have selected the “Proposal Search for Input Fields” option beforehand.

Accuracy Value for Error-Tolerant Full Text Search between 0 and 1 in order to de ne the fault tolerance of the displayed results. Note
that the lower the value, the higher the fault tolerance.

8. In the Search help parameter area, select elds of the selection method as parameters.

To do this, use the input help (F4 help). Select the elds that must be used in the dialog box for value selection or in the hit list.

If the selection method is a table that has a text table, both the elds of the table and the elds of the text table are provided in the input help.

The data element of the parameter is automatically copied from the selection method. The data element de nes the output attributes and
the F1 help of the parameter in the hit list and in the dialog box for value selection.

You can assign another data element to the parameter. To do so, perform the following steps:

a. On the De nition tab page, select the appropriate indicator in the Modied column.

The data element eld is now ready for input.

b. Select a data element using the input help (F4 help).

Caution
Only data elements whose data type, length, and number of decimal places are the same as those of the previous data element
can be assigned.

If you assign a new data element to the parameter, the system removes the link between the data element of the search help
parameter and the data element of the selection method eld having the same name. If you deselect the indicator in the Modied
column, the system uses again the data element of the assigned table eld.

9. De ne the attributes of the search help parameters.

a. Select the IMP indicator if it is an import parameter. Select the EXP indicator if it is an export parameter.

b. De ne the dialog (optionally) for the input help using the elds LPos, SPos and SDis.

c. Enter the parameter position in the hit list in LPos. If you enter nothing or the value 0 here, the system does not display the
parameter in the hit list.

d. Set the SDis indicator if the parameter must be a pure display eld in the dialog box for value selection. The user is informed that the
contents of the parameter restrict the value, but he or she cannot change this restriction. This is appropriate, for example, when
the parameter is an import parameter or if it has a default value.
e. In the Default value eld, you can assign a default value to the parameter.

10. Select the dialog type of the search help.

The dialog type de nes how the hit list is displayed in the input help.

11. Choose with the quick info text Save.

A dialog box appears in which you are asked to assign the search help to a package. You can change this package later using Goto
Object Directory Entry .

12. Choose with the quick info text Activate.

Caution
Do not forget to link the search help to a screen eld. The search help attachment is not part of the search help de nition; it is part of
the object de nition to which the search help is attached.

This is custom documentation. For more information, please visit the SAP Help Portal 76
6/5/2023

Results

The search help is activated. You can nd information about the activation ow in the activation log, which you can display by choosing Utilities
Activation log . If errors occur during activation, the system automatically displays the activation log. Additional Options

Assign a hot key:

If the search help is to be accessed through a hot key, you must enter a one-digit ID in the Hot Key eld. All the elementary search helps
contained in a collective search help must have different shortcuts.

Assign a search help exit:

In the case of exceptions, you have to change the standard ow de ned by the search help with a search help exit. In this case, enter the name
of the search help exit in the corresponding eld.

Test the search help:

To test the ow of an input help de ned by the elementary search help, choose with the quick info text Test. A dialog box appears in
which you can simulate the behavior of the search help under different conditions. You can obtain information about the options provided
in this window with .

Related Information
Elementary Search Help
Assignment of Search Helps to Screen Fields
Dialog Types
Hot Keys
Default Values for Search Help Parameters

Dialog Types

Use
You use the dialog type of an elementary search help to de ne how the hit list is displayed when the input help is called.

You can specify one of the following dialog types for an elementary search help:

Display values immediately:


The hit list is immediately displayed when the input help is called. This is rational only if the hit list contains a few entries. Dialog with value
restriction:

The dialog window for restricting values is offered immediately. Choose this option if the list of possible entries is large. If the user limits the
amount of data to be processed, the hit list becomes more comprehensible and the system load during value selection is reduced.

Dialog depends on set of values:

If the hit list contains less than 100 entries, it is displayed immediately. If the hit list contains more than 100 entries, the system displays the
dialog box for restricting values.

This is custom documentation. For more information, please visit the SAP Help Portal 77
6/5/2023

Hot Keys

Use
You use the hot key to select the elementary search help from the collective search help and to enter the restrictions in the dialog box for
restricting values directly from the entry eld. If the user frequently searches for values using the same search help, this procedure can save time.

The hot key is available only if for the relevant screen eld there is an entry in the Search help attribute in the Screen Painter, that is, if this attribute
is not initial. Two types of entries are possible:

If a search help is attached directly to the screen eld, its name appears in the Search help attribute. (For more information, see Attaching to
Screen Fields.) Thus the hot key is available for the screen eld.

If a search help is attached to the screen eld using a reference of the eld to the Dictionary, in the Search help attribute '=' must be specied
to make the hot key available for this eld. For more information about the assignment of search helps to screen elds, see Assignment of Search
Helps to Screen Fields.

The short cut must be entered in the input eld according to the following convention:

=<Hot key>.S1.S2.S3....

S1, S2, S3 and so on are the restrictions that would be entered in the corresponding dialog box in this order.

Note
Each entry is interpreted generically.

The following gure explains the functionality of a hot key using an example.

This is custom documentation. For more information, please visit the SAP Help Portal 78
6/5/2023

If the elementary search help stored as the standard search help is to be used, you do not need to specify the hot key. If S1 contains more than one
character, the rst separator '.' can also be omitted.

If you de ne the hot key without restrictions ( =<Hot key> ), the dialog box for restricting values is called. If restrictions are de ned, the system skips
the dialog box for restricting values and displays the hit list immediately. If exactly one hit is found, the hit list is not displayed. The values of the
found hits are immediately returned to the screen template in this case.

Default Values for Search Help Parameters


A default value can be assigned to a parameter of a search help.

The following default values are allowed:

Constants that are enclosed in apostrophes when they are de ned in the maintenance screen. The constant must be de ned in internal
representation for parameters whose data type has an editing template (such as date and time). For example, the date 01.03.1998 must
be de ned as '19980301'.

System elds, that is, elds of structure SYST, where the pre x SY- can be used instead of the pre x SYST-.

Get parameter IDs, which you can use to assign values to the parameter..

This is custom documentation. For more information, please visit the SAP Help Portal 79
6/5/2023

The default value is assigned to the parameter in the input help process in the following cases:

This is custom documentation. For more information, please visit the SAP Help Portal 71
6/5/2023

The parameter is not an import parameter.

Nothing was assigned to the parameter in the search help attachment with which the search help was attached to the screen eld.

A eld that does not exist in either the screen or the ow logic in the input help process was assigned to the parameter in the search help
attachment.

A search help is included in a collective search help and the parameter is not linked to any parameter of this collective search help.

Creating Collective Search Helps

Procedure
1. Open the Repository Browser (Transaction Code SE80) and navigate to the package in which you want to create the collective search help.

2. In the context menu of the package, choose Create → Dictionary Object → Search Help.

3. Select the Collective search help radio button and choose with the quick info text Continue.

The maintenance screen for collective search helps appears.

4. In the Short description eld, enter an explanatory text.

For example, you can nd the search help at a later time using this short text.

5. On the De nition tab page, enter the parameters of the collective search help.

a. In the Search help parameter area, enter the required parameter.

b. Select the indicator in column Imp if it is an import parameter.

c. Select the indicator in column Export if it is an export parameter.

d. De ne the types for the parameters of a collective search help by assigning a data element. In the Data element eld, enter the name
of the data element that describes the contents of the search help parameter.

e. In the Default value eld, assign a default value (optionally) to the parameter .

6. In exceptional cases you may need to change the standard process de ned by the search help. You can implement the deviation from the
standard using a search help exit.

In this case, enter the name of the search help exit in the Srch. help exit eld.

7. On the Included search helps tab page, de ne the search helps that you want to include in the collective search help.

Note
You can include elementary search helps and collective search helps.

Select the indicator in the Hidden column if you want to control whether an included search help must appear in the dialog box for selecting
the elementary search help. If the indicator is set, the search help is not offered.

It makes sense to hide search help inclusions if one or more search paths in the standard system must not be used in a specic SAP system.
Conversely, search help inclusions can also be already hidden in the standard system because they can be used meaningfully only in a few
cases. In this cases, you must deselect the indicator.

8. Position the cursor one after the other on each assigned search help and choose Param. assignment.

A new screen appears. Perform the following:

This is custom documentation. For more information, please visit the SAP Help Portal 80
6/5/2023

a. In the Reference parameter eld, enter the parameter names of the elementary search helps to which the corresponding parameters
of the collective search help must be assigned.

You can select the parameters contained in the included search help using the input help.

b. Choose Proposal to create a proposal for the assignment.

c. Choose Copy.

9. Choose with the quick info text Save.

A dialog box appears in which you are asked to assign the search help to a package. You can change this package at a later time by choosing
Goto → Object Directory Entry.

10. Choose with the quick info text Activate.

Result
The collective search help is activated. You can nd information about the activation ow in the activation log, which you can display by choosing
Utilities → Activation Log. If errors occur when you activate the collective search help, the activation log appears automatically.

Caution
Do not forget to link the search help to a screen eld. The search help attachment is not part of the search help de nition; it is part of the object de
nition to which the search help is attached.

Additional Options

To test the ow of an input help de ned by the collective search help, choose with the quick info text Test. A dialog box appears in which you can
simulate the behavior of the search help under different conditions. You obtain information about the options provided in this window by choosing
.

See also:

Structure of a Collective Search Help

Creating an Append Search Help


1. Open the Repository Browser (Transaction Code SE80) and navigate to the collective search help to which you want to add the append search
help.

2. Double-click on the required collective search help.

The maintenance screen of the collective search help appears in display mode.

3. Choose Goto → Append search helps.

A dialog box appears.

4. Enter the name of the append search help.

This name must lie in the customer namespace (or in the namespace of the partner or special development).

5. Choose with the quick info text Continue.


The maintenance screen of the append search help appears. You can now continue as when creating a collective search help.

This is custom documentation. For more information, please visit the SAP Help Portal 81
6/5/2023

Caution
The collective search help uses the interface of its appending objects. This is why you cannot change the entries on the De nition
tab page.

If you want to hide a search help included in the appending object with the append search help, you must include this search
help in the append search help. On the Included search helps tab page, enter the name of the search help to be hidden and select
the indicator in column Hidden.

The de nition of the appending search help is automatically adjusted when you activate the append search help. The system
automatically includes the append search help in the appending object.

See also:

Append Search Helps

Search Help Exit

Use
A search help describes the standard input help process. In exceptional cases it may be necessary to deviate in some points from this standard. You
use a search help exit to implement such a deviation from the standard.

Caution
The input help process must look as much the same as possible throughout the entire system. This is why search help exits must be used only for
exceptions.

Features
A search help exit is a function module that has a prede ned interface. A search help exit is called at certain times by the help processor. The
administrative data of the help processor is passed to the search help exit using the interface.

You can store your own program logic that manipulates this administrative data in the search help exit. Individual steps of the input help process can
be skipped with a search help exit.

Tip
Search help exit F4UT_OPTIMIZE_COLWIDTH adjusts the column width in the hit list to the contents of the column. It makes sense to use this
search help exit when the columns of the hit list have to be made wide for extreme cases (for example for name elds), but they contain much
smaller values.

Caution

Each search help exit must have the same interface as function module F4IF_SHLP_EXIT_EXAMPLE (is used as pattern for all the search help exits
to be created). You can nd more information about the interface in the documentation for this function module.
Calling the Search Help Exit

If a search help exit is assigned to a search help, the help processor calls it in the following situations:

Before displaying the dialog box for selecting the required search path

This is custom documentation. For more information, please visit the SAP Help Portal 82
6/5/2023

It is only called for collective search helps. Using the search help exit, the set of elementary search helps available can be restricted depending
on the context, for example.

Before starting the F4 process for the elementary search help

The call is triggered independently of whether the dialog window for entering the search conditions appears or whether the selection is
executed immediately (for example, because in the Hot key of the elementary search help Immediate value display is set).

Before displaying the dialog box for entering search conditions

You can either in uence the dialog for entering search conditions or skip it altogether here. You can also in uence how the selection screen
looks. The call is triggered only if there is no direct selection, that is, if in the Hot key of the elementary search help Immediate value
display is not set.

Before selecting data

The data selection can be partly or completely copied from the search help exit. This is necessary if the data selection cannot be implemented
with a SELECT statement for a table or a view.

Before displaying the hit list.

You can in uence the display of the hit list in this step with the search help exit. You can reduce the number of values displayed here. For
example, you can display only values for which the person calling the input help has authorization. You can also copy the complete hit list
from the search help exit.

Before returning the values selected by the user to the input template.

It is advisable to intervene at this time if control of the further transaction ow must depend on the value selected. A typical example is setting
set/get parameters.

In the process ow of the input help, rst the search help exit is called for this event, then the processing for this event is executed, and only then
is the next step determined. If within the search help exit a new next step is determined, the search help exit is not called again for this next
step.

Example
Search help SFLIGHT is used to nd ight data. When travel agencies look for ights, they need information about seats on the ight that are still available.
The selection method of the search help (view of tables SCARR, SFLIGHT and SPFLI) does not
directly contain this information. The selection method contains information only about the number of seats that are available on the ight and how
many seats are already reserved.

From this information, search help exit SAPBC_GLOBAL_F4_SFLIGHT computes the number of seats still available and returns the results in a
parameter of the search help. The number of seats still available can thus be displayed in the hit list.

You have to program only one action in the search help exit for the call before the hit list is displayed.

The following gure shows the functionality of the search help exit. You can see the succession of the different steps that are performed when a search
help exit is used.

This is custom documentation. For more information, please visit the SAP Help Portal 83
6/5/2023

Lock Objects

De nition
The SAP system synchronizes several users' simultaneous access to the same data records with a lock mechanism. When interactive
transactions are programmed, the system sets and releases locks by calling function modules (see Function Modules for Lock Requests). These
function modules are automatically generated from the de nition of lock objects in the ABAP Dictionary.

Structure
In a lock object, you must de ne the tables in which data records must be locked with a lock request, and the key elds of these tables. When you
select the tables, you must rst select the primary table. You can also add further tables (secondary tables), using foreign key relationships (see
Conditions for Foreign Keys). The following gure shows a primary table and its relations with two other tables (secondary tables).

This is custom documentation. For more information, please visit the SAP Help Portal 84
6/5/2023

Lock Arguments

The lock argument of a table in the lock object consists of the key elds of the table.

The lock argument elds of a lock object are used as input parameters in the function modules for setting and removing locks generated from the
lock object de nition. When these function modules are called, the table rows to be locked or unlocked are specied by de ning certain values in
these elds. These values can also be generic. The lock argument elds de ne which subset of the table rows must be locked.

The simplest case of a lock object consists of exactly one table and the lock argument of the table is the primary key of this table. You can also
include several tables in a lock object. A lock request can lock not only a record of a table, but also an entire logical object. Such a logical object

This is custom documentation. For more information, please visit the SAP Help Portal 85
6/5/2023

can be a document comprising an entry in a header table and N entries in a position table, for example. The gure below shows the locked records
in an example with three tables.

Note
Locks can also be set from programs in other systems with the corresponding interfaces if the lock object was de ned with RFC
authorization.

A lock mode can be assigned to each table in the lock object. This mode de nes how other users can access a locked record of the table.

Lock Mode

Use
You use the lock mode to control whether several users can access data records at the same time. The lock mode can be assigned separately
for each table in the lock object. When the lock is set, the corresponding lock entry is stored in the lock table of the system for each table.

Different types of locks synchronize access for several users. For more information, see the section SAP Lock Concept.

See also:
Lock Collisions

This is custom documentation. For more information, please visit the SAP Help Portal 86
6/5/2023

Function Modules for Lock Requests

Use
When you activate a lock object in the ABAP Dictionary, the system automatically creates function modules for setting (ENQUEUE_<lock object
name>) and releasing (DEQUEUE_<lock object name>) locks.

Caution
The system automatically assigns the generated function modules to function groups. You must not change these function modules and their
assignment to function groups since the function modules are generated again each time you activate the lock object.

Do not transport the function groups that contain the automatically generated function modules. The generated function modules of a lock
object could reside in a different function group in the target system. You must always transport the lock objects. When you activate a lock
object in the target system, the function modules are generated again and correctly assigned to function groups.

Features
Parameters of the Function Modules

Field Names of the Lock Object

The keys to be locked must be passed here.

A further parameter X_< eld> that de nes the lock behavior when the initial value is passed exists for every lock eld < eld>. If the initial value is
assigned to < eld> and X_< eld>, then a generic lock is initialized with respect to < eld>. If < eld> is assigned to the initial value and the X_< eld> is de
ned as X, the lock is set with exactly the initial value of < eld>.

Parameters for Passing Locks to the Update Program

The system removes the lock at the end of the transaction or when the corresponding DEQUEUE function module is called.

Caution
This is not the case if the transaction has called update routines. In this case, a parameter must check that the lock has been removed.

Parameter _SCOPE controls how the lock or lock release is passed to the update program (see The Owner Concept for Locks). You have the following
options:

_SCOPE = 1:

Locks or lock releases are not passed to the update program. The system removes the lock when the transaction is ended.

_SCOPE = 2:
The lock or lock release is passed to the update program. The update program is responsible for removing the lock. The interactive program
with which the lock was requested no longer has an in uence over the lock behavior. This is the standard setting for the ENQUEUE function
module.

_SCOPE = 3:

The lock or lock release is also passed to the update program. The lock must be removed in both the interactive program and in the update
program. This is the standard setting for the DEQUEUE function module.

This is custom documentation. For more information, please visit the SAP Help Portal 87
6/5/2023

Parameters for Lock Mode

A parameter MODE_<TAB> exists for each base table TAB of the lock object. The lock mode for this base table can be set dynamically with this
parameter. The values allowed for this parameter are S (read lock), E (write lock), X (extended write lock), and O (optimistic lock).

The lock mode specied when you create the lock object for the table is the default value for this parameter. You can override this default value as
required when the function module is called.

If a lock set with a lock mode is to be removed by calling the DEQUEUE function module, this call must have the same value for the parameter
MODE_<TAB>.

Controlling Lock Transmission

Parameter _COLLECT controls whether the lock request or lock release must be performed directly, or whether it must rst be written to the local lock
container. This parameter can have the following values:

Initial Value:

The system sends the lock request or lock release directly to the lock server.

X:

The system places the lock request or lock release in the local lock container. The lock requests and lock releases collected in this
lock container can then be sent to the lock server at a later time as a group by calling the function module FLUSH_ENQUEUE.

Caution
Whenever you have lock mode X (extended write lock), locks must not be written to the local lock container if many locks refer to the
same lock table. In this case, there is a considerable loss in performance in comparison with direct transmission of locks.

Behavior for Lock Con icts (ENQUEUE only)

The ENQUEUE function module also has the parameter _WAIT. This parameter determines the lock behavior when there is a lock con ict.

You have the following options:

Initial Value:

If a lock attempt fails because there is a competing lock, the exception FOREIGN_LOCK is triggered.

X:

If a lock attempt fails because there is a competing lock, the system repeats the lock attempt after a certain time. The exception
FOREIGN_LOCK is triggered only if a certain time limit has elapsed since the rst lock attempt. The waiting time and the time limit are de
ned by pro le parameters.

Controlling Deletion of the Lock Entry (DEQUEUE only)


The DEQUEUE function module also has the parameter _SYNCHRON.

If X is passed, the DEQUEUE function waits until the entry has been removed from the lock table. Otherwise it is deleted asynchronously, that is, if
the lock table of the system is read directly after the remove of the lock, the entry in the lock table can still exist.

Exceptions of the ENQUEUE Function Module

FOREIGN_LOCK':

A competing lock already exists. You can nd out the name of the user holding the lock by looking at system variable SYMSGV1.

SYSTEM_FAILURE:

This is custom documentation. For more information, please visit the SAP Help Portal 88
6/5/2023

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.

If the exceptions are not processed by the calling program itself, appropriate messages are issued for all exceptions.

Reference Fields for RFC-Enabled Lock Objects

The type of an RFC-enabled function module must be completely de ned. The parameters of the generated function module have the following
reference elds for RFC-enabled lock objects:

Parameters Reference elds

X_< eld name> DDENQ_LIKE-XPARFLAG

_WAIT DDENQ_LIKE-WAITFLAG

_SCOPE DDENQ_LIKE-SCOPE

_SYNCHRON DDENQ_LIKE-SYNCHRON

See also:

Example of Lock Objects

Conditions Required of Foreign Keys


All the tables that can be included in a lock object must be linked with foreign keys. There are a number of restrictions to the valid relationships:

The foreign key relationships of the tables of the lock object must form a tree. The tables are the nodes of the tree. The links of the tree
mean is the check table of.

The foreign key elds must be key elds of the foreign key table.

The foreign key relationships de ned between the base tables of the lock objects cannot have any eld that is checked against more than
one other eld. A eld cannot occur twice as a foreign key eld in a relationship and cannot be checked against two different elds in two different
foreign key relationships.

This is custom documentation. For more information, please visit the SAP Help Portal 89
6/5/2023

You must keep one restriction in mind for multi-structured foreign keys. If a eld is assigned to a eld that is outside the check table, the table
containing this eld must be in a subtree that contains the check table of this foreign key relationship as a root.

If the key of the foreign key table is an extension of the key of the check table, it always satis es the listed conditions above.

Conditions 2, 3 and 4 are meaningless if the particular foreign key eld was excluded from the assignment to the key elds of the check table by
marking it as generic or setting it to a constant. This is also true for multi-structured foreign keys if the foreign key eld refers to a table that is not
contained in the lock object.

Lock Mechanism

Use
You use a logical lock mechanism to synchronize access by several programs to the same data. This lock mechanism fullls two main functions:

A program can tell other programs which data records it is just reading or changing.

A program can prevent itself from reading data that is just being changed by another program.

Features
The data records of a table to be locked are de ned by a logical condition. When a lock is set, the system enters this logical condition in a lock table.
This entry is retained until it is removed by the program or the program comes to an end. The system removes all the locks set by a program at the
end of the program. In the following gure you can see the mechanism for locking a table.

When accessing data records, the records just being edited by other programs can be identied by the entry in the lock table. Such an entry for the
lock must de ne a number of fully specied key elds, that is, either a value is passed for the key eld or the lock for this eld is generic.

This is custom documentation. For more information, please visit the SAP Help Portal 90
6/5/2023

Setting a lock

To set locks, a lock object must be de ned in the ABAP Dictionary. When you activate this lock object, two function modules (see Function Modules
for Lock Requests) are generated with the names ENQUEUE_<lockobjectname> and DEQUEUE_<lockobjectname>.

If data records are to be locked, you must call function module ENQUEUE_<lockobjectname>. The values of the key elds that specify the records to
be locked are passed for all the tables contained in the lock object when the function module is called. There is a generic lock if a value is not
passed for all the key elds. The function module writes the appropriate lock entry. For more information, see Example of Lock Objects. If another
program also requests a lock, it is accepted or rejected depending on the lock mode. For more information, see Lock Collisions. The program can
then react to this situation.

Locked data records can be unlocked by calling function module DEQUEUE_<lockobjectname>. The key values and the lock mode used to set the
lock must be passed to the function module. The following gure shows what happens when a program calls the ENQUEUE function module of
the lock object.

This lock procedure requires all programs that are used to cooperate with each other. Inconsistencies can occur if a program reads or changes data
without having previously locked it. When you set a lock, the data records are protected only against changes by another program if this program
also requests a lock before accessing the data.

Instead of writing lock requests or lock releases directly in the lock table, it is also possible to collect them rst in a local lock container. The
collected locks can be sent at a later time as a group. A parameter of the relevant function module controls whether the system sends the lock
requests or lock releases directly.

For more information about the lock concept and how lock management works, see The SAP Lock Concept.

Local Lock Containers

This is custom documentation. For more information, please visit the SAP Help Portal 91
6/5/2023

Use
You use a local lock container to collect lock requests and lock releases. You can then send them together by calling the FLUSH_ENQUEUE function
module.

This has two advantages over sending the lock requests directly:

You minimize the communications with the lock server if the lock requests are sent as a group.

The collected lock requests are handled as a group, that is, they are written to the lock table only if this is possible for all the individual requests.

Features
The system empties the local lock container if all the collected lock requests can be executed. Otherwise its contents remain unchanged. The following
gure explains the relations between an ABAP program, the local lock container and the lock server.

The local lock container can be emptied by calling the RESET_ENQUEUE function module. The system deletes all the collected lock requests or
lock releases. The local lock container is automatically emptied when the corresponding internal session is ended.

Lock requests and lock releases are managed together in the local lock container. When these collected assignments are sent, the system sends the
lock requests rst of all. If all the requested locks have already been assigned, the system sends the lock releases.

Note
The lock requests and lock releases are not adjusted in the local lock container. The order in which the individual requests are written in the local
lock container is of no importance.

This is custom documentation. For more information, please visit the SAP Help Portal 92
6/5/2023

Creating Lock Objects

Procedure
1. Open the Repository Browser and navigate to the package in which you want to create the lock object.

2. In the context menu of the package, choose Create → Dictionary Object → Lock object.

A dialog box appears.

3. In the new dialog box, enter the name of the lock object and choose with the quick info text Continue.

The maintenance screen for lock objects is displayed.

Caution
The name of a lock object must begin with E (Enqueue).

4. In the eld Short Description, enter an explanatory short text.

You can use this short text to nd the lock object at a later time, for example with the SAP Repository Information System.

5. Choose the Tables tab page and enter the name of the primary table of the lock object in the Name eld.

Caution
All other tables in the lock object must be linked with the primary table using foreign keys. There are also some restrictions on the valid
foreign key relationships.

6. Select the lock mode of the primary table in the Lock Mode eld.

The lock mode is used as the default value for the corresponding parameters of the function modules generated from the lock object.

7. On the Tables tab page, choose Add if you want to lock records in more than one table with the lock object.

A list of all the tables linked with the primary table using valid foreign keys appears. Select the appropriate table. The lock mode of the
primary table is copied as the lock mode. You can change this setting as required, for example you can assign the lock mode separately for
each table.

Similarly, you can add a table linked with the secondary table that was just added with foreign keys. To do this, select the name of the
secondary table and choose Add.

Note
If no lock mode is assigned to a table, the system does not set a lock for the entries in this table when the generated function modules
are called. You must not assign a lock mode if a secondary table is only used to de ne a path between the primary table and another
secondary table with foreign keys.
8. Choose with the quick info text Save.

A dialog box appears in which you must assign the lock object to a package. To change this package at a later time, choose Goto → Object
Dirrectory Entry.

9. On the Lock parameter tab page, you can (optionally) exclude lock parameters (see lock objects) from the function module generation. This
makes sense if you always want to lock a parameter generically, for example.

To do this, deselect the indicator for the parameter in column W. The system does not take the parameter into consideration in the generated
function modules. Then the system always locks this parameter generically.

This is custom documentation. For more information, please visit the SAP Help Portal 93
6/5/2023

The name of a lock parameter is in most cases the name of the corresponding table eld.

Note
If two elds with the same name are used as lock parameters in the lock object from different tables, you must choose a new name for
one of the elds in the Lock parameter eld.

10. On the Attributes tab page, you can de ne whether the function modules generated from the lock object must be RFCenabled.

If you set the Allow RFC indicator, the generated function modules can be called from within another system with Remote Function Call.

If you allow Remote Function Calls(RFC) for an existing lock object, you must ensure that the generated function modules are called from
within an ABAP program with parameters appropriate for the type. You must check all programs that use the associated function modules
before activating the lock object with the new option.

11. Choose with the quick info text Activate.

Result
When you activate the lock object, the two function modules ENQUEUE_<lockobjectname> and DEQUEUE_<lockobjectname> are generated from
its de nition to set and release locks.

You can nd information about the activation ow in the activation log, which you can display with Utilities → Activation Log. If errors occur during
activation, the system displays the activation log automatically.

Deleting Lock Objects

Prerequisites
When you delete a lock object, the function modules generated when you activated the lock object are automatically deleted as well. These
generated function modules can still be used in programs or classes. Before deleting a lock object, you must nd all programs or classes that contain
these function modules and remove the calls to the function modules.

Procedure
1. Open the Repository Browser and navigate to the lock object that you want to delete.

2. In the context menu of the lock object, choose the Where-Used List to nd all the programs or classes that are still using the lock object.

3. Remove the lock module calls in the objects you found.


4. In the context menu of the lock object, choose Delete.

A dialog box appears in which you must con rm the deletion request. If the function modules belonging to the lock object are still in use in
programs or classes, a corresponding warning appears. In this case you must adjust the programs or classes affected before deleting the
lock object.

5. Con rm the deletion request.

Result
The lock object is deleted together with the function modules generated from this lock object.

This is custom documentation. For more information, please visit the SAP Help Portal 94
6/5/2023

Example of Lock Objects


When booking ights, you have to prevent ights from being overbooked. For this reason, you have to lock the particular ight as well as all the bookings
existing for this ight during processing. You can do this with lock object E_BOOKING.

The system records the ights in table SFLIGHT and the bookings for the ights in table SBOOK. The two tables are linked with a foreign key. Lock
object E_BOOKING must contain table SFLIGHT as the primary table and table SBOOK as the secondary table. In the following gure you can see the
relations between the primary and the secondary table in our example.

The lock argument of table SFLIGHT thus contains the elds MANDT, CARRID, CONNID, and FLDATE. The lock argument of table SBOOK thus contains
the elds MANDT, CARRID, CONNID, FLDATE, BOOKID and CUSTOMID.

Select exclusive lock mode, that is, the locked data can only be displayed and edited by one user.

When the lock object is activated, the following function modules are generated from its de nition:

ENQUEUE_ E_BOOKING (set locks)

DEQUEUE_ E_BOOKING (release locks)

This is custom documentation. For more information, please visit the SAP Help Portal 95
6/5/2023

These function modules can now be linked to ABAP programs.

The following gure shows how function module ENQUEUE_ E_BOOKING is called.

With this call, ight LH 400 on November 29,1998 is exclusively locked (lock mode E) in table SFLIGHT. It is locked together with all the bookings
entered in table SBOOK for this ight (since the initial value 0 is transferred for BOOKID and CUSTOMID). The lock is sent to the update program
(_SCOPE = '2'). If there is a lock con ict, the system makes another attempt to set the lock after a certain time (_WAIT = 'X').

The set locks can be removed by calling the function module DEQUEUE_E_BOOKING as follows:

This is custom documentation. For more information, please visit the SAP Help Portal 96
6/5/2023

The existing exclusive lock entries for ight LH 400 are deleted in table SFLIGHT and the bookings for this ight are deleted in table SBOOK. The request
to delete the lock entries is passed on to the update program (_SCOPE = '3').

See also:

Function Modules for Lock Requests

Adjustment of Database Structures

Use
To enable ABAP programs to access database tables correctly, the runtime object of a table must correspond to the structure of the table in the
database. If the table is changed in the ABAP Dictionary, you must ensure that the database structure of the table is adjusted to the change in the
ABAP Dictionary during activation (when the runtime object is rewritten). This process is clearly explained in the gure below.

This is custom documentation. For more information, please visit the SAP Help Portal 97
6/5/2023

Features
The database structure does not need to be changed for certain changes in the ABAP Dictionary. For example, the database table does not need
to be adjusted to a change in the eld sequence (except for key elds) in the ABAP Dictionary. The eld sequence in the ABAP Dictionary does not
have to correspond to the eld sequence in the database. In this case, the changed structure is simply activated in the ABAP Dictionary and the
database structure remains unchanged, but the runtime object must be rewritten.

The database structure of a table can be adjusted to its changed ABAP Dictionary de nition in three ways:

By deleting and re-creating the database table

The table is deleted in the database. The revised version of the table is then activated in the ABAP Dictionary and created again in the
database.

Caution
You lose the data in the table during this process.

By changing the database catalog (ALTER TABLE)

Only the de nition of the table is changed in the database. Sometimes when you use ALTER TABLE, there are additional actions possible.
For example, if you change a column from null to not null, you get time-intensive actions like: UPDATE""

SET "F01"='…'

WHERE 'F01' IS NULL


When you use ALTER TABLE, the data in the table is retained (for some databases, when you add a not null column, the system writes the
default value into each line).

This is custom documentation. For more information, please visit the SAP Help Portal 98
6/5/2023

Caution
The indexes on the table have to be rebuilt.

By converting the table (for more information, see Conversion Process)

The system renames the database table and it serves as a temporary buffer for the data. The revised version of the table is activated in the
ABAP Dictionary and created in the database. The data is reloaded from the temporary buffer to the new database table (with MOVE-
CORRESPONDING) and the indexes on the table are built.

The procedure actually used by the system in a particular case depends on:

The type of structural change

The database system used

Whether data already exists in the table

If the table does not contain any data, the existing table is deleted in the database and recreated. If there is data in the table, the system tries to
change the structure using ALTER TABLE. If the database system used cannot execute the structural change with ALTER TABLE, the table is
converted.

Conversion is the most resource-intensive method of adjusting structures. However, structural changes involving changes to the database catalog
can also result in costly internal data reorganizations in some database systems. For information about the processes occurring in the database for
structural changes with ALTER TABLE, see your database system documentation.

Caution
You must not adjust the database structure during production. At least all the applications that access the table must be deactivated during
the structural adjustment. Since the table data is not consistent during the structural adjustment (in particular during conversion), programs
may behave incorrectly when they access this data.

See also:

Conversion Problems

Example of Conversion
The following example explains how the system converts the table when you change its de nition in the ABAP Dictionary.

Initial Situation:

Table TAB was changed in the ABAP Dictionary. At this time, the length of a eld (Field 3) was reduced from 60 to 30 places. The ABAP Dictionary
contains an active version (where the eld has a length of 60 places) and a revised version (where the eld has a length of 30 places) of the table.

The system creates the active version of the table in the database, that is, Field 3 currently has 60 places in the database. Two secondary indexes
that were also created in the database are de ned in the ABAP Dictionary for the table. The table already contains data.

This is custom documentation. For more information, please visit the SAP Help Portal 99
6/5/2023

Reducing the length of a eld results in a table conversion. The following seven steps describe the table conversion in detail.

1. Set Lock

The system locks the table against further structural changes. This lock mechanism prevents a new structural change from being made before
the conversion has nished correctly.

All the views that use the table are deleted from the database.

2. Rename Table

The system renames the table in the database. All indexes on the table are deleted. The name of the new table consists of the pre x QCM
and the table name. The name of the temporary table for table TAB is thus QCMTAB. If a table named QCMTAB already exists in the database
(for example, from a previous conversion attempt), this table is deleted before the table is renamed.

1. Activating Tables

The revised version of the table is activated in the ABAP Dictionary. The ABAP Dictionary now contains only one active version of table TAB,
in which Field 3 has a length of 30.

The system creates table TAB in the database with its new structure under the name QCM8TAB. In addition, the system creates the
primary index of the table in the database. The structure of database table QCM8TAB thus corresponds to the structure of table TAB in the
ABAP Dictionary after this step. The database table does not contain any data.

This is custom documentation. For more information, please visit the SAP Help Portal 100
6/5/2023

1. Reload Data

The data is copied from table QCMTAB to table QCM8TAB (with the ABAP command MOVE-CORRESPONDING). After this step, the data is
present in both tables, requiring additional space.

Caution
Before converting large tables, you must check whether the relevant tablespace has enough space left.

You can nd information about how existing entries are handled in a eld when the eld type changes in the ABAP documentation concerning
the MOVE-CORRESPONDING statement.

When you copy data from table QCMTAB into table QCM8TAB, a database commit is stored after 16 MB. The conversion process needs 16
MB of resources in the rollback segment.

This is custom documentation. For more information, please visit the SAP Help Portal 101
6/5/2023

When the length of a eld is reduced, the extra places are truncated when the eld is reloaded. When the length of a key is reduced and there are
several records whose new key cannot be distinguished, only one of these records can be reloaded. It is not possible to determine in advance which
record is kept by the system. In such a case, you must clean up the data of the table before the conversion.

1. Delete the QCM Table

The data in table QCMTAB is no longer required at the end of the conversion. The table is deleted if all records could be copied from table
QCMTAB into table QCM8TAB. If duplicate records appeared in table QCM8TAB, for example, because the key of table TAB was shortened,
the system keeps table QCMTAB for safety reasons.

2. Rename Table and Create Secondary Indexes

Table QCM8TAB is renamed to TAB. The system recreates the secondary indexes for the table de ned in the ABAP Dictionary in the
database. The system also creates the views on the table that were deleted in the rst step again in the database.

3. Remove the Lock

The lock that was set at the beginning of the conversion is removed.

This is custom documentation. For more information, please visit the SAP Help Portal 102
6/5/2023

Note
During the conversion process, the table is not available in the database under its original name. The table data is consistent again only if Step 4
has been completed. For this reason, programs must not access the table while the conversion is running. Otherwise a program could behave
incorrectly when reading the table since some of the records were not yet copied back from the temporary table. For this reason conversions are
not running during production. At least all the applications that use the table to be converted must be deactivated.

If the conversion aborts, the table stays locked and the system writes a reset log. Each successful step of the conversion is recorded in this reset
log. The restart log is deleted together with the lock when the conversion has been completed. If the conversion aborts, you can nd the place
where the conversion terminated in the reset log (last step to be executed). For more information about some of the problem, that can occur, see
Conversion Problems.

Caution
You must clean up terminated conversions.

Otherwise problems can occur with programs that access this table. You must nd out why the conversion terminated (for example over ow of the
corresponding tablespace) and correct it. You must then continue the terminated conversion. For more information, see Continuing Terminated
Conversions.

Note
The conversion process described is valid only for transparent tables. For pooled and cluster tables , the system creates a database table with the
name QCM<table_name>, corresponding to the structure of the pooled/cluster table and copies the data to this table. Then the data is deleted
from the physical table pool/table cluster. Finally, the data is copied from the QCM table back to the physical table pool/table cluster according
to the new table de nition.

This is custom documentation. For more information, please visit the SAP Help Portal 103
6/5/2023

See also:

Conversion Problems

Finding Terminated Conversions

Conversion Problems
Some of the problems that occur during conversions are listed below. For more information about the conversion process, see Conversion Process.

Termination due to Tablespace Over ow

Since the data is present in both the QCM8 table and the QCM table during the conversion, more space is required when the system performs
the conversion. Before converting large tables, you must check whether there is enough space in the tablespace concerned.

If there is a tablespace over ow when the system reloads data from the QCM table into the QCM8 table, the conversion terminates at this point.

Caution
If this happens, you must extend the tablespace and resume the conversion in the database utility with Continue adjustment.

The system then continues the conversion at the point at which it terminated. For more information, see Continuing Terminated Conversions.

Deletion of a Client Field

If the client eld is removed from a client-specic table, it is no longer possible to distinguish the new key of records from different clients.

If deleting a client eld resulted in records having the same key, only one of these records can be reloaded into the table. Which record this is depends
on the order in which the records are reloaded to the table. You cannot be sure that the reloaded records come from only one client.

Caution
In such a case, you must clean up the table before the conversion.

Data Loss when Keys are Shortened

If a table key is shortened (for example, by removing or shortening the eld length of key elds), the system can no longer distinguish the new key of
the existing table records. When data is reloaded from the QCM table, only one of these records can be reloaded into the table (since the database
does not allow duplicate records).

Caution
It is not possible to know in advance which of the records can be reloaded. If there are records that you want to reload, you must clean up the
table before the conversion.

Type Conversion not Possible

During a conversion, the data is copied from the QCM table back to the QCM8 table using the ABAP command MOVE-
CORRESPONDING. A type can be changed during a conversion only if this can be executed with MOVE-CORRESPONDING. If a eld type cannot be
changed using MOVE-CORRESPONDING, the conversion terminates when the data is reloaded into the QCM8 table.

This is custom documentation. For more information, please visit the SAP Help Portal 104
6/5/2023

If the conversion terminates because a type change is not supported, you must restore the old state before the conversion.

To do this, you need to delete the QCM8 table in the rst step and rename the QCM table to its original name. In the second step, you have to
remove the lock in the database utility with Unlock table. Then you must reconstruct the runtime object for the table using the database utility
(see Editing Database Tables and Indexes) and return the table de nition in the ABAP Dictionary to the state it had before the conversion. The
last step is to activate the table in the ABAP Dictionary.

Caution
Problems occurring during type conversions depend on the contents of the eld concerned.

Tip
You reduce the accuracy of a DECIMAL eld (the number of places before the period). If there are entries in the eld in which all positions before
the period are used, a termination occurs when the records are reloaded into the table. If there are no such entries, the records can be reloaded.

Termination during Conversion of Pooled or Cluster Tables

When a pooled or cluster table is converted (see Pooled and Cluster Tables), the system creates the QCM table in the database as a transparent table
and the data from the pooled or cluster table is copied to it. There is an upper limit for the number of
elds in a database table depending on the database system used.

Caution
It is not possible to convert pooled and cluster tables if the number of elds in the pooled or cluster table exceeds the maximum number of elds
possible in a database table.

See also:

Continuing Terminated Conversions

Finding Terminated Conversions

The Database Utility

Continuing Terminated Conversions

Prerequisites
If a conversion terminates, the system retains the lock entry that is set at the beginning of the conversion process for the table. For more information,
see Conversion Process. You cannot edit the table with the ABAP Dictionary maintenance tools (transaction SE11).

If a table conversion terminates, you must correct it. Otherwise, applications that access this table are not able to read any data correctly. These
applications function improperly or fail to run.

Procedure
1. Open the Repository Browser and navigate to the required table.

2. Double-click on the table.

This is custom documentation. For more information, please visit the SAP Help Portal 105
6/5/2023

The maintenance screen for the table appears in display mode.

3. Choose Utilities → Database Object → Database Utility.

The screen for the database utility appears.

4. Choose Analyze adjustment.

The next screen lists the conversion steps that were processed correctly. It also shows the status of the tables involved in the conversion
(the table with the old structure, QCM table and the table with the new structure). It can also be used to display the existing system log
entries or short dumps.

5. Choose Object log.

You can nd out the exact cause of the termination from the object log. If the object log does not provide any information about the error,
you have to analyze the system log or the short dumps.

6. Correct the errors found in the object log or system log or in the short dumps (for more information, see Conversion Problems).

The conversion can be continued only if the error causing the termination has been corrected.

7. Go back to the previous maintenance screen and continue the conversion there with Continue adjustment.

Result
The system now tries to continue the conversion from the termination point.

Caution
Besides Continue adjustment, there is also the Unlock table option This option deletes only the lock entry that exists for the table. Do not choose
Unlock table for a terminated conversion if the data exists only in the temporary table, that is, the conversion that was terminated after step 2 is
completed and before step 4 is completed.

Finding Terminated Conversions

Procedure
1. On the initial screen of the ABAP Dictionary, choose Utilities → Database Utility (transaction SE14).

The initial screen of the database utility appears.


2. Choose DB requests → Terminated.

The terminated conversions in the system are listed. You can nd the table name in the rst column of the list.

3. To go to the maintenance screen of the database utility for the particular table, double-click on the corresponding line of the list.

You can analyze the reason for the termination there and continue the terminated conversion.

For more information, see Continuing Terminated Conversions.

Caution
If a table is locked due to a terminated conversion, this must be corrected. Otherwise, applications that access this table are not able to
read any data. Applications accessing such tables do not work properly or fail to run.

This is custom documentation. For more information, please visit the SAP Help Portal 106
6/5/2023

Activation

Use
When tables, types (data elements, structures, table types) and views are activated, they are placed at the disposal of the runtime environment in
the form of runtime objects. These runtime objects contain information about the object in a form that is optimal for access by ABAP programs and
screens. The runtime objects are buffered so that ABAP programs and screens can access the information relevant to them quickly.

Tip
The information about a table is divided amongst domains, data elements, eld de nitions, and the table de nitions in the ABAP Dictionary. The
runtime object of the table contains this information in an optimized form. You can see the function of the runtime object in the following gure.

ABAP programs and screens get the required information about ABAP Dictionary objects from the runtime objects.

Caution
Changes to ABAP Dictionary objects are determined by comparing the time stamps (for more information, see Runtime Objects).Changes to ABAP
Dictionary objects become effective in all system components when the objects are activated.

When an object is activated, all the objects dependent on it are also reactivated.

Tip
This is custom documentation. For more information, please visit the SAP Help Portal 107
6/5/2023

You change the data type or the length of a domain. After such a change, you must reactivate all tables in which a eld refers to this domain. This
ensures that all these tables are adjusted to the changed technical eld information. The following gure presents a domain that is used in ve
different tables. All these tables must be reactivated.

Caution
Activating an object can affect numerous dependent objects. Before you activate a modied object, you have to nd out the effect of this action.
To display all the objects that are dependent on an object, choose with the quick info text WhereUsed List on the maintenance screen of
the object.

You can activate a large number of objects simultaneously using the mass activation program.

If a long runtime is expected in an activation because of a large number of dependent objects, you must choose Activating Objects in the
Background for the object. Such a long runtime is expected, for example, when a domain that is used in many tables is to be activated.

Runtime Objects

This is custom documentation. For more information, please visit the SAP Help Portal 108
6/5/2023

Use
Tables, views and types (data elements, structures and table types) have runtime objects that contain the information about the object that is
relevant for ABAP programs or screens. The runtime object (nametab) is generated the rst time an object is activated. Runtime objects are
subsequently adjusted to the most recent version of the objects each time these objects are

This is custom documentation. For more information, please visit the SAP Help Portal 101
6/5/2023

activated thereafter. The runtime objects are buffered so that ABAP programs and screens can quickly access the information relevant to them.

Features
Time stamps are used to ensure that ABAP programs and screens access the most up-to-date information. When an object is activated in the ABAP
Dictionary, the time stamp of the runtime object and the time stamp of all programs and screens that use this object are adjusted.

Note
The time stamp of dependent programs and screens is adjusted only if there was a change relevant to programs or screens during activation.

The next time the program or screen is called, the time stamps can be compared to determine whether the program or screen can be executed
directly or must be regenerated. This avoids unnecessary generating, and several consecutive changes to an object can be made in a single
generating step. The gure below explains this process in detail.

Mass Activation

This is custom documentation. For more information, please visit the SAP Help Portal 110
6/5/2023

Use
You use mass activation with program RADMASG0 to activate a large set of objects simultaneously (for example, after importing data). This program
is called the mass activation program in the following text.

The mass activation program is automatically called when a transport request is imported into a system. The mass activation program must get a list
of ABAP Dictionary objects. All objects in the list are then activated in one action.

The mass activation program has two advantages over activating objects one at a time:

If dependent tables are affected by changes to different domains or data elements, they have to be reactivated only once.

Related objects, for example, a domain and its associated value table, can be activated together. If you are activating objects individually,
you need to activate each of the objects separately and in the correct sequence. For example, before activating a table, you must activate all
domains and data elements to which the table elds refer.

You can pass the ABAP Dictionary objects to be activated to the mass activation program as follows:

Transport request:

All the Dictionary objects contained in the transport request are activated.

External table:

The external table must be a pooled table from the ATAB pool and must have the same structure as table TACOB. You can also de ne table
TACOB itself. All the objects entered in this table are activated (see Activating in the Background).

Direct objects:

The objects to be activated are entered directly with an input template when the mass activation program is called.

You must call the mass activation program from reporting (transaction SE38). The mass activation program has several input parameters. For more
information about them and the possible entries, use the F1 and F4 help.

Activating Objects in the Background

Prerequisites
You activate objects in the background if the activation of a large number of objects is likely to result in long runtimes. In this case you must select a
start time that ensures the objects are activated at a time when the system is not so busy.

Procedure
1. Choose System → Services → Table maintenance → Extended table maintenance.

The initial screen of the Extended Table Maintenance appears.

2. Enter table name TACOBand choose Maintain.

Specify the object to be activated in the next screen with the object type and object name.
3. Enter the object types and object names.

There is an input helpfor the Type eld that displays the possible object types.

4. Save your entries and exit the Extended table maintenance.

This is custom documentation. For more information, please visit the SAP Help Portal 111
6/5/2023

With the mass activation program, now schedule a background job for activating the entries in table TACOB (call report
RADMASG0).

Data Types in the ABAP Dictionary

Use
The data type in the ABAP Dictionary is the user's view of the data, that is, the data format at the user interface. This data format depends on the
database system that you use. When you de ne a table in the ABAP Dictionary, the data types de ned in the ABAP Dictionary are copied to the data
types of the database system used.

If an ABAP Dictionary object (data element, structure, table type, table, or view) is used in an ABAP program, the system converts the Dictionary
data types of the object elds to the corresponding ABAP data types. You can see an example of such a conversion in the following gure.

Note
Some data types have a prede ned length and set templates for output.

Existing Data Types

This is custom documentation. For more information, please visit the SAP Help Portal 112
6/5/2023

ACCP: Posting period. The length is set to 6 places for this data type. The format is YYYYMM. In input and output, the system inserts a point between
the year and month, so the template of this data type has the format '____.__'.

CHAR: Character string. Fields of type CHAR can have a maximum length of 1333 in tables. If you want to use longer character elds in tables, you must
choose data type LCHR. There are no restrictions on the length of such elds in structures.

CLNT: Client. Client elds always have three places.

CUKY: Currency key. Fields of this type are referenced by elds of type CURR. The length is set to 5 places for this data type.

CURR: Currency eld. Equivalent to an amount eld DEC. A eld of this type must refer to a eld of type CUKY (reference eld). The maximum length for
this data type is 31 places.

DATS: Date. The length is set to 8 places for this data type. The output template can be de ned with the user pro le.

DEC: Counter or amount eld with decimal point, sign, and commas separating thousands. A DEC eld has a maximum length of 31 places.

FLTP: Floating point number. The length (including decimal places) is set to 16 places for this data type.

DF34_RAW: Normalized decimal oating point number. Representation on the database based on type RAW. The values can be sorted and
compared according to their numerical value, and they can be used in indexes. Database arithmetic is not available. Decimal oating point numbers
of this type have 34 digits in the mantissa, and conform to the IEEE 754r standard. Valid values are numbers between 1E-6143 and
9.999999999999999999999999999999999E+6144, plus the corresponding negative numbers and zero.

DF34_SCL: Scaled decimal oating point number. The difference between this type and DF34_RAWis that DF34_SCL has an additional column of the
type INT2 for the scale. This column is visible, but its value is written and read automatically. The values having this data type can be sorted and
compared according to their numerical value, and they can be used in indexes. Database arithmetic is not available. The system supports up to 34
decimal digits in the coefficient. Decimal oating point numbers of this type are represented internally with 34 decimal places according to the IEEE-
754 standard. Valid values are numbers between 1E-6143 and 9.999999999999999999999999999999999E+6144, plus the corresponding negative
numbers and zero.

DF34_DEC: Decimal oating point number. Representation on the database with type DEC, length and number of decimal places must be specied by
the programmer. The values have at most 31 digits on the database, with at most 14 decimal places. The advantage of this type is that database
arithmetic is available. The disadvantage is that values are silently rounded to the specied number of decimal places when they are written into the
database. An over ow can also occur when writing values into the database. In this case the system throws an ABAP-OO exception.

DF16_RAW: Normalized decimal oating point number. Representation based on type RAW. The values can be sorted and compared according to
their numerical value, and they can be used in indexes. Database arithmetic is not available. The system supports up to 16 decimal digits in the
coefficient. Decimal oating point numbers of this type are represented internally with 16 decimal places according to the IEEE-754r standard. Valid
values are numbers between 1E-383 and 9.999999999999999E+384, plus the corresponding negative numbers plus zero.

DF16_SCL: Scaled decimal oating point number. The difference between this type and DF16_RAWis that DF16_SCL has an additional column of type
INT2 for the scale. This column is visible, but the value is written and read automatically. The values having this data type can be sorted and
compared according to their numerical value, and they can be used in indexes.
Database arithmetic is not available. The system supports up to 16 decimal digits in the coefficient. Decimal oating point numbers of this type are
represented internally with 16 decimal places according to the IEEE-754r standard. Valid values are numbers between 1E-383 and
9.999999999999999E+384, plus the corresponding negative numbers plus zero.

DF16_DEC: Decimal oating point number. Representation on the database with type DEC, length and number of decimal places must be specied by
the programmer. The values have at most 15 digits on the database, with at most 14 decimal places. The advantage of this type is that database
arithmetic is available. The disadvantage is that values are silently rounded to the specied number of decimal places when they are written into the
database. An over ow can also occur when writing values into the database. In this case, the system throws an ABAP-OO exception.

This is custom documentation. For more information, please visit the SAP Help Portal 113
6/5/2023

INT1: 1-byte integer between 0 and 255. The length is set to 3 places for this data type.

INT2: 2-byte integer between -32767 and 32767. Fields of this type must be used only for length elds. The system positions these length elds
immediately in front of a long eld (type LCHR, LRAW). With INSERT or UPDATE on the long eld, the database interface enters the length which was
actually used in the length eld. The length is set to 5 places for this data type.

INT4: 4-byte integer between -2147483648 and 2147483647.The length for this data type is limited to 10 places.

LANG: Language key. It has its own eld format for special functions. This data type always has length 1. The language key is displayed at the user
interface with 2 places, but is stored with 1 place in the database. The conversion exit ISOLA converts the display at the user interface for the
database and vice versa. This conversion exit is automatically allocated to a domain with data type LANG at activation.

LCHR: Character string of any length, but has to be declared with a minimum of 256 characters. You must locate elds of this type at the end of
transparent tables (in each table there can be only one such eld) and must be preceded by a length eld of type INT2. If there is an INSERT or UPDATE
in ABAP programs, this length eld must be lled with the length actually required. If the length eld is not lled correctly, this leads to a data loss in the
LCHR eld. Fields of this type cannot be used in the WHERE condition of a SELECT statement.

LRAW: Uninterpreted byte string of any length, but has to be declared with a minimum length of 256. You must locate elds of this type at the end of
transparent tables (in each table there can be only one such eld) and must be preceded by a length eld of type INT2. If there is an INSERT or UPDATE
in ABAP programs, this length eld must be lled with the length actually required. If the length eld is not lled correctly, this leads to a data loss in the
LRAW eld. A eld of this type cannot be used in the WHERE condition of a SELECT statement.

NUMC: Long character eld in which only numbers can be entered. The length of this eld is limited to a maximum of 255 places.

PREC: Obsolete data type. The length is set to 2 places for this data type but internally it is treated like INT2. Dynpro elds of type PREC are restricted
to 2 places and must not contain a sign.

QUAN: Quantity. Equivalent to an amount eld DEC. A eld of this type must always refer to a units eld with UNIT format (reference eld). The maximum
length for this data type is 31 places.

RAW: Uninterpreted byte string. Fields of type RAW may have only a maximum length of 255 in tables. If longer raw elds are required in tables, you
should select data type LRAW.

RAWSTRING: Uninterpreted byte string of variable length. In the Dictionary a length can be specied for this type (at least 256 characters). This data
type can be used in types (data elements, structures, table types) and domains. You can store binary data of type RAWSTRING in the database.
There are restrictions; for a description of them, refer to the documentation of the ABAP statement 'STRING'. In ABAP, this type is implemented as
a reference to a storage area of variable size. The system proposes 132 characters as the default for the output length. You cannot attach search
helps to components of this type.

STRING: Character string with variable length This data type can be used only in types (data elements, structures, table types) and domains. In the
dictionary a length can be specied for this type (at least 256 characters). It can be used in database tables only with restrictions. For a description of
them, refer to the documentation of the ABAP statement 'STRING'. In ABAP, this type is implemented as a reference to a storage area of variable
size. The system proposes 132 characters as default for the output length. You cannot attach search helps to components of this type.

SSTRING: Short character string with variable length. In the Dictionary the number of characters can be specied for this type (from 1 to 1333). This
data type can be used only in types (data elements, structures, table types) and domains. It can be used in database tables. To do so, refer to the
documentation of the ABAP statement 'STRING'. In ABAP, this type is implemented as a reference to a storage area of variable size. String elds of
this type can be used in indexes and in the WHERE condition of a SELECT statement. You cannot use them in table keys.

TIMS: Time. The length is set to 6 places for this data type. The format is HHMMSS. The template for input and output has the form '__.__.__'.

UNIT: Unit. Fields of this type are referenced by elds of type QUAN. The length of this data type is set to 2 or 3 places.

VARC: Character eld of variable length. Creation of new elds of this data type is no longer supported.

This is custom documentation. For more information, please visit the SAP Help Portal 114
6/5/2023

Notes
When using the numeric data types CURR, DEC, FLPT, INT2, INT4 and QUAN, you can choose whether or not a sign must be output on
screens.

With the data types CURR, DEC and QUAN, the system sets commas separating thousands and decimal points. The output length (number
of places plus the number of necessary editing characters such as commas separating thousands and decimal points) is greater than the
specied length.

The system omits editing characters if the output length specied in the domain maintenance is too small.

The types RAWSTRING and STRING or LOBs have a variable length. You can specify a maximum length, but there is no upper limit.

The type SSTRING also has a variable length, but there is an upper limit. The maximum length is 1333. The bene t of using it, and not CHAR,
is that it is assigned to the ABAP type string. Its advantage over STRING is that it can also be used for key elds in database tables.

The maximum length of data types that are based on RAWSTRING, STRING, and SSTRING can be determined using the prede ned function
dbmaxlen.

The maximum number of characters of the types LCHR and LRAW is the value of a precedingINT2 eld in a transparent database table.

If a data type CURR, DEC, DF34_DEC, DF16_DEC, or QUAN has an even number of characters (not recommend), the length of the associated
ABAP type p is rounded up and hence becomes the next highest uneven number.

The data type PREC is obsolete and you should no longer use it. In ABAP Dictionary and in ABAP programs, it is handled like INT2, despite
the prede ned length (2). The length 2 is relevant only for screen elds of the type PREC, which can have two-character positive values at most.
The property sign cannot be set for a domain of the type PREC

Caution
A column of type DF16_SCL or DF34_SCL cannot occur in the primary key.

See also:

Mapping of the ABAP Data Types

Prede ned ABAP Types

Mapping of ABAP Data Types


The following table lists the prede ned types in the ABAP Dictionary. These types cannot be used directly in ABAP programs and are known as
external data types. They are used in the ABAP Dictionary for de nition of data types to which ABAP programs can refer.

The prede ned data types of the ABAP Dictionary must also be taken into account in Open SQL statements and when working with screens. Open
SQL statements work with database tables de ned in the ABAP Dictionary whose columns have external data types. Screen elds are also declared in
the Screen Painter with reference to external data types.

If a data element or a eld of an ABAP Dictionary object (structure, table type, table, or view) is used in an ABAP program, the dictionary data type is
converted to the corresponding ABAP data type.

Mapping of the ABAP Dictionary and ABAP Processor Data Types

Type Permitted Places m Meaning ABAP Type

ACCP 6 Accounting period n(6)

CHAR 1-1333 Character string c(m)

This is custom documentation. For more information, please visit the SAP Help Portal 115
6/5/2023

CLNT 3 Client c(3)

CUKY 5 Currency key c(5)

CURR 1-31 Currency eld p((m+1)/2)

DATS 8 Date d

DEC 1-31 Calculation/amount eld p((m+1)/2)

DF16_RAW 16 dec oat16


Normalized decimal oating point
number

DF16_SCL 16 dec oat16


Scaled decimal oating point
number

DF34_RAW 34 dec oat34


Normalized decimal oating point
number

DF34_SCL 34 dec oat34


Scaled decimal oating point
number

FLTP 16 Floating point number f(8)

INT1 3 1 byte integer b

INT2 5 2 byte integer s

INT4 10 4 byte integer i

LANG 1 Language c(1)

LCHR 256-… Long character string c(m)

LRAW 256-… Long byte string x(m)

NUMC 1-255 Numeric text n(m)

PREC 2 Obsolete data type s

QUAN 1-31 Quantity eld P((m+1)/2)

RAW 1-255 Byte sequence x(m)

RAWSTRING 256-… Byte sequence xstring

Type Permitted Places m Meaning ABAP Type

SSTRING 1-255 Character string string

STRING 256-… Character string string

TIMS 6 Time t

UNIT 2-3 Unit key c(m)

This is custom documentation. For more information, please visit the SAP Help Portal 116
6/5/2023

Note
The character m used in the table species the number of places of the eld in the ABAP Dictionary.

For types LCHR and LRAW, the maximum number of places in a transparent database table is the value of the preceding INT2 eld.

The types RAWSTRING and STRING have a variable length. A maximum length for these types can be specied, but has no upper limit.

The type SSTRING has a variable length. Its maximum length must be specied and is limited to 255. The advantage of this type compared
with CHAR is that it is assigned to the ABAP type string.

The type PREC is obsolete and should not be used.

The table below shows the data types of the ABAP Dictionary that are based on the prede ned types in the above table and that can be addressed in
an ABAP program. The elementary components of these data types are converted to prede ned ABAP data types according to the nal column in the
above table, whereby the number of places m of each type is converted to lengths.

Data types in the ABAP Dictionary Data types in ABAP

Data element Elementary data type, reference type

Structure, database table, view Structured data type

Table type Table type

The Database Utility

Use
The database utility is the interface between the ABAP Dictionary and the relational database underlying the SAP system. The database utility allows
you to edit (create, delete and adjust to changes to their de nition in the ABAP Dictionary) database objects derived from objects of the ABAP
Dictionary. In the following gure, you can see the place of the database utility.

This is custom documentation. For more information, please visit the SAP Help Portal 117
6/5/2023

Features
Editing Database Objects

You can use the database utility to edit all the database objects that are generated from objects of the ABAP Dictionary. These are database tables
that are generated from transparent tables or physical table pools or table clusters, indexes, and database views.

To call the database utility for a object, proceed as follows:

1. Open the Repository Browser (Transaction Code SE80) and navigate to the required object.

2. Open the object in display mode by double-clicking on it.

3. Choose Utilities → Database Object → Database Utility.

Since different functions are required for different object types, a separate maintenance screen is displayed for each object type.

Note
All screens of the database utility use the Enter button as refresh.

Note
If you want to use the database utility, you need authorization for authorization object S_DDIC_OBJ, for example S_DDIC_ALL.
For more information about the functions provided, see:

This is custom documentation. For more information, please visit the SAP Help Portal 118
6/5/2023

Editing Tables and Indexes in the Database

Editing Views in the Database

Editing Table Pools and Table Clusters in the Database

Analyzing and Continuing Terminated Conversions

If a conversion terminates, you can nd the reason using the database utility. After correcting the error you can continue the conversion with the
database utility. For more information, see:

Conversion Problems

Continuing Terminated Conversions Finding

Terminated Conversions

Administration of Requests for Database Modi cations

The database utility provides a number of options for administering and monitoring requests for database modications. You can perform these
functions directly on the initial screen of the database utility (transaction SE14).

You can:

Schedule jobs for mass processing

Display requests for mass processing

Display logs for mass processing

Display temporary tables without restart logs

Executing and Monitoring Incremental Conversions

You can reorganize a table and change its structure with an incremental table conversion. In contrast to a standard conversion, when an
incremental conversion is performed the system can continue using the table during the data transfer. This means that there is much more time
available for the data transfer and larger sets of data can be converted than with the standard conversion method. There is a short reduction in
productivity only when initializing the incremental conversion and when switching to the new table.

The monitor for the incremental conversion can be displayed from the initial screen of the database utility with DB requests → Incremental.

To display more information about the ow of an incremental conversion in the monitor of the incremental conversion, choose with the quick info
text Information. An assistant helps you to perform an incremental conversion.

See also:

Adjusting Database Structures

Activation

Oracle Database Storage Parameters in the ABAP Dictionary

This is custom documentation. For more information, please visit the SAP Help Portal 119
6/5/2023

Functions for Editing Tables and Indexes in the Database

Use
Basic Functions

The functions Create database table, Delete database table and Activate and adjust database are provided for transparent tables. To go to the Utilities
for Database Tables screen, perform the following:

1. Open the Repository Browser (transaction SE80) and navigate to the required database table.

2. Double-click on the database table.

3. Choose Utilities → Database Object → Database Utility.

The Utilities for Database Tables screen appears.

To execute one of the functions described above (Create database table, Delete database table or Activate and adjust database), select the processing
type and press the corresponding button.

Create database table:

Caution
The runtime object must already exist.

The system creates the table in the database with its active version and the primary index. The system also creates active secondary
indexes in the database if this was not explicitly excluded when the index was de ned (see Creating Secondary Indexes).

Delete database table:

The table and all its indexes are deleted from the database. The runtime object and all ABAP Dictionary sources remain.

Activate and adjust database:

The revised version of the table is activated and the database table is adjusted to this modied table de nition. You can select the Save data
or the Delete data radio button. With Delete data, the table is deleted in the database and created again with the new de nition. Data in
the table is lost. With Save data, the system attempts to perform an adjustment with an ALTER TABLE statement. If this is not possible, a
table conversion is triggered.

Note
Since pooled and cluster tables are not separate tables in the database, the functions Create database table and Delete database table
are not applicable to these table categories. The Delete data function is offered instead. It deletes the table data from the corresponding
physical table pool or table cluster.

Functions for Indexes

To go to the Utility for Database Indexes screen, open the Database Utility screen for the required object and choose Indexes. A list of all the indexes
that exist for this Dictionary object appears. Select the required index by double-clicking it. The following functions are offered on the next screen:

Create database index:

Create a secondary index or the primary index of a transparent table in the database.

Delete database index:

Delete a secondary index of a transparent table in the database.


The de nition of the index in the ABAP Dictionary remains.

This is custom documentation. For more information, please visit the SAP Help Portal 120
6/5/2023

Caution
The primary index of a transparent table created in the database cannot be deleted as long as the table still exists in the database.

Activate and adjust database:

The index is deleted from the database. The revised version of the index is activated. After that the system creates the index and builds it
again in the database.

Additional Functions

The database utility also offers a number of check and repair functions for tables.

Maintain storage parameters:

Storage Parameters that in uence the database settings (such as extent sizes or partitioning) for the table can be maintained for transparent
tables. You can display the corresponding maintenance screen with Storage Parameters.

Check consistency:

You can compare the table de nition in the database with the runtime object of the table by choosing Extras → Database object → Check.
The indexes on the table in the ABAP Dictionary are compared with the indexes on the database. You can compare the runtime object of
the table with the information entered in the ABAP Dictionary maintenance screen with Extras → Runtime object → Check. Both de nitions
are displayed. The differences found are highlighted. In both cases you can switch between a delta (only differences) or full (all
information) display of the check results.

Check the Existence of Data:

To check if the table contains data, choose Table → Data exists?. The system selects the data for all clients. This function is of use for
example to check whether a table is empty prior to a conversion. You can display the data in the logon client by choosing Table → Table
contents.

Display the Runtime Object and Database Table:

To list the structure of the table in the database and the indexes de ned for the table, choose Extras → Database object → Display. This
function is useful for database tables without an ABAP Dictionary de nition.

To display the runtime object of the table, choose Extras → Runtime object → Display.

To display more information about interpreting the displayed data, choose .

Force conversion:

You can trigger a table conversion with Extras → Force conversion. This function is useful, for example, if only the storage parameters of the
table were modied, but the table structure was not changed. Some of the modied settings can only
take effect in the database once the table has been converted.

Note
A table conversion cannot be triggered with the Activate and adjust database function in this case because the table structure has not
changed.

Reconstruct:

You can create a suitable runtime object for the database table by choosing Table → Reconstruct. This runtime object contains only the
information about the table that is available in the database, such as the eld name and data types. It does not contain other information
about the table that exists in the ABAP Dictionary, such as specications for buffering. Only user DDIC has the authorization to execute this
function.
Caution
Use this function only to correct inconsistencies temporarily (if the database status and runtime object differ) and be sure to adjust the
table in the usual way in the ABAP Dictionary and activate it there.

This is custom documentation. For more information, please visit the SAP Help Portal 121
6/5/2023

Functions for Editing Views in the Database

Use
Basic Functions

The database utility provides the Create database view, Delete database viewand Activate and adjust databasefunctions for editing database views.
To execute one of these functions, go to the Utility for Database Viewsscreen, choose a processing type and press the corresponding button.

Create database view:

Caution
The runtime object must already exist.

When you de ne a database view in the ABAP Dictionary, the system creates it physically in the database.

Delete database view:

The database view is deleted from the database, but the runtime object remains.

Activate and adjust database:

The view is deleted from the database. The revised version of the view is activated and the system creates the new version in the database.

Additional Functions

The database utility also offers a number of check functions for database views:

Check consistency:

You can compare the view de nition in the database with the runtime object of the view by choosing Extras → Database object → Check.
You can compare the runtime object of the view with the information given in the ABAP Dictionary maintenance screen by choosing Extras
→ Runtime object → Check. Both de nitions are displayed. The differences found are highlighted. In both cases you can choose either a
delta (only differences) or full (all information) display of the check results.

Display the view de nition in the database:

To list the de nition of the view in the database, choose Extras → Database object →Display.

Display the Runtime Object:

To list the information in the runtime object for the view, choose Extras →Runtime object →Display. To display more information about
interpreting the displayed data, choose with the quick info text Information.

See also:
Views

This is custom documentation. For more information, please visit the SAP Help Portal 122
6/5/2023

Functions for Editing Pools and Clusters in the Database

Use
Basic Functions

The database utility provides the functions Create database table and Delete database table for editing pooled and cluster tables. To execute such a
function, choose a processing type and press the corresponding button.

Create database table:

Creates the physical pool or cluster in the database.

Delete database table:

Deletes the physical pool or cluster from the database.

Additional Functions

The database utility also offers a number of check functions for pooled and cluster tables:

Maintain storage parameters:

To maintain storage parameters for pooled and cluster tables that affect the database settings of the table (such as extent sizes), chooseGoto
→ Storage parameters. For more information, see Storage Parameters.

Check consistency:

To compare the de nition of the pool or cluster in the database with the runtime object of the pool or cluster, choose Extras → Database
object → Check.

To compare the runtime object of the pool or cluster with the information entered on the ABAP Dictionary maintenance screen, choose
Extras → Runtime object → Check. In both cases you can choose either a delta (only differences) or full (all information) display of the
check results.

Display the runtime object and de ne it in the database:

To list the structure of the pool or cluster in the database, choose Extras → Database object → Display.

To list the information contained in the runtime object, choose Extras → Runtime object → Display. You can display more information about
interpreting the displayed data by choosing .

See also:

Pooled and Cluster Tables

Processing Types
Use
The database utility can be used to make modications to database objects with various processing types.

Note
The Enter button refreshes the display and allows you to follow the processing changes.

This is custom documentation. For more information, please visit the SAP Help Portal 123
6/5/2023

You can choose between three processing types: Direct, Backgroundand Enter for mass processing.

Direct

The required database modications are carried out immediately.

This processing type is not suitable for converting large tables. First of all, the conversion places a great load on the system. Secondly, the conversion
can terminate due to a runtime restriction.

Caution
You must choose the processing type Background or Mass processing when converting large tables.

You must also choose the processing type Background if you change the indexes or add not null columns to large tables.

Background

A background job is scheduled for the required database modications.

You can specify the time at which the background processing must begin. If you wish, you can choose to start background processing
immediately. The advantage of selecting this processing type rather than Direct is that there is no danger of the operation terminating as the
result of a runtime restriction.

Enter for mass processing

If you choose this processing type, entries are created with the corresponding function in a system table (TBATG). The requests collected in this
table can then be processed in the background at xed times (most times overnight). The background process for editing the requests must be
scheduled explicitly as a job. For more information, see Scheduling Jobs for Mass Processing.

To display the objects already scheduled for mass processing, perform the following:

1. On the ABAP Dictionary initial screen, choose Utilities →Database Utility.

2. From the initial screen of the database utility with DB requests → Mass Processing.

The interpretation of the displayed list is described in Displaying Requests for Mass Processing.

The background program writes messages in a log le. To display these day logs, choose Extras → Logson the initial screen of the database utility. The
interpretation of the displayed list is described in Displaying Requests for Mass Processing.

Displaying and Maintaining the Storage Parameters

Procedure
1. Open the Repository Browser and navigate to the required table.

2. Open the table in display mode by double-clicking it.

3. Choose Utilities → Database Object → Database Utility.

The Utility for database tables screen appears.

4. To display the storage parameters that are currently valid for the table and its indexes, choose Storage Parameters.

This is custom documentation. For more information, please visit the SAP Help Portal 124
6/5/2023

Note
The parameters displayed here depend on the database system used. To nd information about the meaning of the displayed parameters,
select the parameter and press F1.

5. Choose with the quick info text Display<->Change.

You can now enter values for the changeable parameters.

Caution
You can change only some storage parameters directly.

6. Make your changes and choose Apply.

The changed settings are now active in the database.

Tip
For example, if you change the next extent size directly, the next table extent is created with the new size. This change has no effect on
existing extents.

The table space in which the table lies cannot be changed directly. Such a change requires you to delete the table in the old table space
and create a new one in the new tablespace.

7. To display which storage parameters would be computed from the current values of the technical settings, choose Technical settings.

You can also explicitly de ne which storage parameters must be used next time the table or an index of the table is created. For example,
this may be necessary if you changed the technical settings of the table and want to make sure that these changed settings are used
when the table is converted.

To do this, proceed as follows:

a. Choose For new creation.

b. On the following screen, you can create a template for the parameters.

You can decide here if you want to use one of the following as a template:

The storage parameters currently valid in the database (Current database parameters)

The storage parameters computed from the technical settings (Computed from the technical settings)

The non-valuated default values of the database system (Database default values)

The parameters of another table (Database parameters from the table)

8. Choose with the quick info text Copy.

9. Maintain all the parameters and enter the required values.

10. Save your entries.

If you create the table again in the database (for example, during a conversion), the system uses the parameters that you have entered.

Displaying Requests for Mass Processing

Procedure
1. On the initial screen of the ABAP Dictionary (transaction SE11), choose Utilities → Database Utility.

The Database Utilityscreen appears.

2. On the initial screen of the database utility, choose DB Requests → Mass Processing.

This is custom documentation. For more information, please visit the SAP Help Portal 125
6/5/2023

You obtain a list of all entries for mass processing that you have scheduled and which have not been processed yet.

Caution
The system only displays those requests for which no job has been scheduled for processing yet and those which are still running or have
terminated.

3. To obtain the list of all scheduled and not processed requests in the system, choose All Requests.

To return to the display of the requests that you have scheduled, choose Own Requests.

4. To obtain a list of all entries for mass processing which arose from an import of objects from another system, and which have not yet been
processed successfully, choose DB Requests → Created with Import on the Database Utility initial screen.

Information in the Lists

These lists of mass processing requests contain the following information:

Column name Description

Object Object type

Object name Name of the ABAP Dictionary object

ID Name of a table index

Fct (Function)
Function to be carried out for the object in the database. Possible entries
are CRE (create), DEL (delete), DNA (delete the object in the database and
delete the runtime object), MDF (delete, create again) and CFR (convert
force)

User User who entered the request in TBATG

Job status Status of the job scheduled for the conversion

Start date, Start time Date and time when the job must be started

Job name
Name of the scheduled job. This name always has the form TBATG-
<Date job is scheduled>

Job count
Identi er with which several jobs scheduled on the same day can be
distinguished

Date entered Date when the request was entered in TBATG

Order If several requests exist for an object, the sequence is given here

Scheduling jobs

Caution
A corresponding job must be scheduled so that the requests for mass processing can be processed. Requests for which no job has been entered
in the eld Job name yet are not processed.

This is custom documentation. For more information, please visit the SAP Help Portal 126
6/5/2023

To schedule a job for the displayed request directly, select the required entries in the rst column and choose Schedule Selections. A dialog box appears
in which you can specify the time when the job is to be started.

Deleting Scheduled Requests

To delete scheduled requests, select the corresponding line and choose Selected.

Scheduling Jobs for Mass Processing

Prerequisites
If you choose the processing type Enter for mass processing, the action is not executed immediately. Instead, entries with the corresponding
function are generated in a system table (TBATG). The requests collected in this table are processed in the background at xed times. The
background process must be scheduled explicitly as a job.

Procedure
1. To schedule the job, choose Extras → Schedule Job on the initial screen of the database utility (transaction SE14).

A dialog box is displayed in which you can schedule the job. You can enter the date and time when the job starts here.

2. The job can also be started depending on a certain event, certain operating mode or when another job has ended.

To do this, choose the relevant pushbuttons (After event, At operation mode or After job) and make the necessary entries.

3. If you want to schedule the job periodically, you must set the Periodic job indicator.

In this case you also need to choose the period values. To do this proceed as follows: a. Choose
Period values.

The possible values appear in a dialog box.

b. Select the value you require and choose with the quick info text Save.

4. Choose with the quick info text Save.

A dialog box appears in which you can enter further restrictions for the requests to be processed by the job. The job then only processes
the TABTG entries that satisfy the specied restrictions. The F1 help for the input elds tells you what the individual parameters of this screen
mean.

5. Choose Schedule in job.

The job is scheduled. The job processes all requests scheduled for mass processing (TBATG entries) that match the selection conditions.

See also:

Processing Types

Displaying Logs for Mass Processing


This is custom documentation. For more information, please visit the SAP Help Portal 127
6/5/2023

Procedure
1. To obtain the logs of all the requests for mass processing that have been processed in the background, select Extras → Logs on the initial
screen of the database utility (transaction SE14).

Information in the List

The list contains the following information:

Column name Description

Log name Name of the background job

Severity
Maximum error severity (' ' = no error, W = warning, E = error) for a
processing step within the job

Length Number of lines in the mass processing log

User Name of the user who scheduled the background job

Date, Time Date and time when the job was started

Actions in the List

You can perform the following operations from within this list:

Display a log:

Select the log name and choose with the quick info text Display.

Change the log name:

To assign another name to the log, choose Edit → Rename

To copy the log to a log with another name, choose Edit → Copy.

Delete a log:

Select the log to be deleted and choose with the quick info text Delete Selections.

Displaying Temporary Tables without Restart Logs

Procedure
To display the temporary tables in your system (QCM tables) for which no restart log exists, choose Extras → Invalid Temp. Table.

Caution
Tables for which there is a restart log because the conversion has terminated are not displayed here.

This is custom documentation. For more information, please visit the SAP Help Portal 128
6/5/2023

The system creates these temporary tables during the conversion (see Conversion Process). In such a conversion, the data from the table is saved
in a temporary table. After the table has been created in the database with its new structure, the data is reloaded to the original table. If the
conversion runs without any errors, the temporary table is no longer required.

Caution
When deleting the temporary tables displayed, you must make sure that no terminated conversion was unlocked by mistake. In this case the
existing restart log would be deleted. If the conversion terminated at a time when the data was present only in the temporary table, there is a
danger of data loss.

If you are not sure whether this is the case, you must check whether the original table exists in the database and contains the expected volume
of data before you delete the temporary table.

Pooled and Cluster Tables

Use
Table pools (pools) and table clusters (clusters) are special table types in the ABAP Dictionary. The data from several different tables can be stored
together in a table pool or table cluster. Tables assigned to a table pool or table cluster are indicated as pooled tables or cluster tables.

You must use a table pool or table cluster exclusively for storing internal control information (screen sequences, program parameters, temporary
data, continuous texts such as documentation). Data of commercial relevance is stored in transparent tables.

Features
Table Pools

A table pool corresponds to a table in the database in which all records from the pooled tables assigned to the table pool are stored.

The de nition of a pool consists of two key elds (Tabname and Varkey) and a long argument eld (Vardata). A pool has the following structure:

Field Data type Description

Tabname CHAR(10) Name of pooled table

Varkey CHAR (n)


Contains the entries from all key elds of the
pooled table record as a string. The maximum
length for n is 110.

This is custom documentation. For more information, please visit the SAP Help Portal 129
6/5/2023

Field Data type Description

Dataln INT2(5) Length of the string in Vardata

Vardata RAW (n)


Contains the entries from all data elds of the
pooled table record as a string. The maximum
length n depends on the database system
used.

If you save a pooled table record, the system stores it in the corresponding table pool. The name of the pooled table is written to the Tabname eld.
The contents of all key elds of the pooled table are written as a string to the Varkey eld and the contents of all data elds as a string to the Vardata
eld. The database interface enters the length of the string stored in Vardata in the Dataln eld. In the following gure you can see the structure of a
table pool. The gure presents an example of a table pool with two assigned pooled tables.

Constraints

Due to the structure of a table pool, there are certain restrictions on the pooled tables assigned to it:

The name of a pooled table cannot exceed 10 characters.

Since Varkey is a character eld, all key elds of a pooled table must have character data types (for example, CHAR, NUMC, CLNT).

The total length of all key elds or all data elds of a pooled table must not exceed the length of the Varkey or Vardata eld of the corresponding
pool.

Table Clusters

This is custom documentation. For more information, please visit the SAP Help Portal 130
6/5/2023

Several logical data records from different cluster tables can be stored together in one physical record in a table cluster.

A cluster key consists of a series of freely de nable key elds and a eld (Pageno) for distinguishing continuation records. A cluster also contains a
long eld (Vardata) that contains the contents of the data elds of the cluster tables for this key. If the data does not t into the long eld, the system
creates continuation records. Furthermore, control information about the structure of the data string is written at the beginning of the Vardata
eld. A table cluster has the following structure:

Field Data type Description

CLKEY1 * First key eld

CLKEY2 * Second key eld

... ... ...

CLKEYn * nth key eld

Pageno INT2(5) Number of the continuation record

Timestamp CHAR(14) Time stamps

Pagelg INT2(5) Length of the string in Vardata

Vardata RAW (n)


Contains the entries from the data elds of the
assigned cluster tables as a string. The
maximum length n depends on the database
system used.

The records of all cluster tables with the same key are stored under one key in the assigned table cluster. The values of the key elds are stored in the
corresponding key elds of the table cluster. The values of all data elds of the assigned cluster tables
are written as a string to the Vardata eld of the table cluster. Besides the actual data values, the data string contains information about the structure
of the data and which table it comes from. If the string exceeds the maximum length of the Vardata eld, the system writes a continuation record with
the same key values. The continuation records for a key are distinguished by their value in the Pageno eld. The actual length of the string in the
Vardata eld is stored in the Pagelg eld by the database interface.

In the following gure, you can see the structure of a table cluster. The gure presents an example of a table cluster which contains two cluster tables.

This is custom documentation. For more information, please visit the SAP Help Portal 131
6/5/2023

Caution
You need the structural information stored in the ABAP Dictionary to read the data from a pooled table or cluster table correctly. These tables
can only be processed using Open SQL with the cluster interface, and not with Native SQL directly in the database.

See also:

Creating Table Pools/Table Clusters

Deleting Table Pools/Table Clusters

Creating Pooled Tables/Cluster Tables

Changing Pooled Tables/Cluster Tables

Creating Table Pools/Table Clusters

This is custom documentation. For more information, please visit the SAP Help Portal 132
6/5/2023

Procedure
1. On the initial screen of the ABAP Dictionary (transaction code SE11), choose Utilities → Other Dictionary Objects.

A dialog box appears.

2. Select the object type Table pool/cluster and enter the object name.

3. Choose with the quick info text Create.

A new dialog box appears.

4. Select the required object type (Table pool or Table cluster) and choose with the quick info text Continue.

The maintenance screen for table pools/clusters appears.

The system automatically makes the necessary entries for the elds for table pools since a table pool has a xed structure.

Caution
You must not change these standard settings if you can avoid it.

The structure of a table cluster is also xed. Certain elds are proposed when the table cluster is created. You can adjust this proposal to your
requirements, for example by inserting further key elds.

Caution
Make sure you conform to the structure necessary for a table cluster.

5. In the Short Description eld, enter an explanatory text.

If necessary, select the activation type of the table pool/cluster by choosing Utilities → Activation type.

6. To create documentation about the table pool/cluster, choose Goto → Documentation.

This documentation must describe what the table pool/cluster is used for. The documentation is also output when the table pool/cluster is
printed.

7. Go to the maintenance screen for the technical settings by choosing Goto → Technical Settings.

You can de ne only the size category here. All other attributes of the technical settings are preset.

8. Choose with the quick info text Save.

9. Choose with the quick info text Activate.

Result
The table pool/cluster is activated.

To look at the activation log, choose Utilities → Activation Log. If errors occur during activation, the system automatically displays the activation log.

After the table pool/cluster has been activated, you need to create it in the database. To do this, use the databaseutility. To go to the database utility
initial screen, choose Utilities → Database Utility.

Caution
Once a table pool contains data, it can no longer be changed.

This is custom documentation. For more information, please visit the SAP Help Portal 133
6/5/2023

Deleting Table Pools/Table Clusters

Prerequisites
You can delete a table pool or table cluster only if it does not contain any pooled or cluster tables.

Procedure
1. On the initial screen of the ABAP Dictionary (transaction code SE11), choose Utilities → Other Dictionary Objects.

A dialog box appears.

2. Select object type Table pool/cluster.

3. Enter the name of the table pool or table cluster.

4. Choose with the quick info text Delete.

You are informed if the table pool or table cluster still contains data. If it does not contain any data, a dialog box appears in which you are
asked to con rm the deletion request.

Caution
If pooled or cluster tables are still assigned to the table pool or table cluster, you cannot delete it.

5. Con rm the deletion request.

Result
The pool or cluster is deleted in the ABAP Dictionary and in the database.

Creating Pooled Tables/Cluster Tables

Procedure
1. Open the Repository Browser (Transaction Code SE80) and navigate to the package in which you want to create the pooled/cluster table.

2. In the context menu of the package, choose Create → Dictionary Object → Database Table.

A dialog box appears.

3. In the new dialog box, enter the name of the table and choose with the quick info text Continue.

The maintenance screen for the table appears. The system sets table type Transparent table as default.

4. Make the necessary entries in the Short Description and Delivery class elds on the Delivery and Maintenance tab page.

5. De ne the elds of the table.

Proceed as when creating a transparent table.

Caution
The types DF16_DEC/DF34_DEC/DF16_RAW/DF34_RAW are not allowed in the primary key of cluster and pool tables.

This is custom documentation. For more information, please visit the SAP Help Portal 134
6/5/2023

The types DF16_SCL/DF34_SCL are not allowed in cluster and pool tables.

6. Choose with the quick info text Save.

7. Choose Extras → Change table category.

A dialog box appears in which you have to select the table type Pooled table or Cluster table.

8. Choose Copy.

You return to the eld maintenance screen for the table. The Pool/cluster eld is displayed on the Delivery and Maintenance tab page in
addition to the standard elds.

9. In the Pool/cluster eld, enter the name of the table pool or table cluster to which you want to assign the pooled table or cluster table.

Caution
The total key length of a pooled table cannot exceed the key length of the associated table pool. The key of a cluster table must correspond
to the key of the associated table cluster.

10. Proceed as when creating a transparent table (see Creating Tables).

Caution
You cannot create indexes for pooled or cluster tables.

All the attributes of the technical settings can be maintained for pooled tables and cluster tables. Before you can access these attributes,
you must convert the table to a transparent table.

Changing Pooled and Cluster Tables

Procedure
To change a pooled or cluster table, proceed as described for transparent tables. For more information, see Changing Tables.

Constraints

However, there are certain differences between pooled/cluster tables and transparent tables with regard to the effect of such changes.

If you append new elds to a pooled or cluster table, it is not necessary to convert the table. Unlike for transparent tables, inserting new elds in
a pooled or cluster table and making changes to the eld sequence always causes the table to be converted.

If a pooled or cluster table is assigned to another physical table pool or table cluster, this leads to a table conversion.

Caution
Pooled and cluster tables with more than 749 elds cannot be converted. You must not make changes to such tables that would make it
necessary to convert the table (for example, inserting elds, changing the eld sequence, deleting
elds). New elds must be appended at the end of the table.

This is custom documentation. For more information, please visit the SAP Help Portal 135

You might also like