DATA - COMMON PART
DATA BEGIN OF COMMON PART [name].
DATA END OF COMMON PART [name].
This variant of the statement
with the additions
BEGIN OF COMMON PART and
END OF COMMON PART defines a global
interface work area, that can be used jointly by the programs of a
program group. All data objects declared between these statements using
DATA are part of this
COMMON PART addition can only be used in the global declaration section of an ABAP program. Multiple common
data areas can be declared
in a program, but they cannot be nested. Every common data area must be given a unique name using the
name addition. You can only omit the
name addition if there is just one common data area in a program.
In all programs of a program group that access the data of a common data area, this area must be declared with the same name and exactly the same structure, otherwise there is no guarantee that it will work correctly and non-handleable exceptions can be raised.
- The use of common data areas in otherwise independent programs can be very problematic, with regard to both the maintainability and the functions. Therefore, common data areas should no longer be used. The parameter interfaces of procedures are available for exchanging data between programs.
- Common data areas for various programs are generally declared in an include program that is embedded in all programs involved. However, multiple use of include programs is no longer recommended.
For more information about issues related to interface work areas, see Program Groups in External Procedure Calls.
In this example, a common data area
struc is declared in the include program
part. By incorporating the include program, the three programs
dis have shared access to the data area
struc if they are part of a program group. The latter is accomplished by
loading the programs
disp into the program
param using external subroutine calls. The subroutine
in the program
disp outputs the input values to the program
param and the result of the summation in the subroutine
DATA: BEGIN OF COMMON PART struc,
f1 TYPE i,
f2 TYPE i,
s TYPE i,
END OF COMMON PART struc.
p1 TYPE i DEFAULT 20,
p2 TYPE i DEFAULT 90.
f1 = p1.
f2 = p2.
PERFORM summming IN PROGRAM sum.
s = f1 + f2.
PERFORM display IN PROGRAM disp.
WRITE: / f1, f2, s.