DATA - COMMON PART

Short Reference

Syntax

DATA BEGIN OF COMMON PART [name].
  ...
  DATA ...
  ...
DATA END OF COMMON PART [name].


Effect

DATA statements with the additions BEGIN OF COMMON PART and END OF COMMON PART define 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 area.

The COMMON PART addition can only be used in the global declaration section of an ABAP program. Several 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 and exception that cannot be handled is raised.

Note

The declaration of common data areas for different programs is usually carried out in an include program, which is then integrated in all the programs involved. 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.

Example

In this example, a common data are struc is declared in the include program part. By incorporating the include program, the three programs param, sum and 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 sum and disp into the program group of param using external subroutine calls. The subroutine display in the program disp outputs the input values in the program param and the result of the summation in the subroutine summing.

* INCLUDE part.
DATA: BEGIN OF COMMON PART struc,
        f1 TYPE i,
        f2 TYPE i,
        s  TYPE i,
      END OF COMMON PART struc.

PROGRAM param.
INCLUDE part.
PARAMETERS:
  p1 TYPE i DEFAULT 20,
  p2 TYPE i DEFAULT 90.
f1 = p1.
f2 = p2.
PERFORM summming IN PROGRAM sum.

PROGRAM sum.
INCLUDE part.
FORM summing.
  s = f1 + f2.
  PERFORM display IN PROGRAM disp.
ENDFORM.

PROGRAM disp.
INCLUDE part.
FORM display.
  WRITE: / f1, f2, s.
ENDFORM.