Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 3

Logical Databases

Logical databases are special ABAP programs that retrieve data and make it available to
application programs. The most common use of logical databases is still to read data from
database tables by linking them to executable ABAP programs.

However, from Release 4.5A, it has also been possible to call logical databases using the
function module LDB_PROCESS. This allows you to call several logical databases from any
ABAP program, nested in any way. It is also possible to call a logical database more than once in
a program, if it has been programmed to allow this. This is particularly useful for programs with
type 1.

Logical databases contain Open SQL statements that read data from the database. You do not
therefore need to use SQL in your own programs. The logical database reads the program, stores
them in the program if necessary, and then passes them line by line to the application program or
the function module LDB_PROCESS using an interface work area.

Logical Databases - Views of Data


A logical database provides a particular view of database tables in the R/3 System. It is always
worth using logical databases if the structure of the data that you want to read corresponds to a
view available through a logical database.

The data structure in a logical database is hierarchical. Many tables in the R/3 System are linked
to each other using foreign key relationships. Some of these dependencies form tree-like
hierarchical structures. Logical databases read data from database tables that are part of these
structures.
The diagram illustrates how the R/3 System might represent the structure of a company. A logical
database can read the lines of these tables one after the other into an executable program in a
sequence which is normally defined by the hierarchical structure. The term logical database is
sometimes used to mean not only the program itself, but also the data that it can procure.

Tasks of Logical Databases


As well as allowing you to read data from the database, logical databases also allow you to
program other tasks centrally, making your application programs less complicated. They can be
used for the following tasks:

• Reading the same data for several programs.

The individual programs do not then need to know the exact structure of the relevant
database tables (and especially not their foreign key relationships). Instead, they can rely
on the logical database to read the database entries in the right order during the GET
event.

• Defining the same user interface for several programs.

Logical databases have a built-in selection screen. Therefore, all of the programs that
use the logical database have the same user interface.
• Central authorization checks

Authorization checks for central and sensitive data can be programmed centrally in the
database to prevent them from being bypassed by simple application programs.

• Improving performance

If you want to improve response times, logical databases permit you to take a number of
measures to achieve this (for example, using joins instead of nested SELECT
statements). These become immediately effective in all of the application programs
concerned and save you from having to modify their source code.

You might also like