Ansicht
Dokumentation

ABAPDATA_COMMON - DATA COMMON

ABAPDATA_COMMON - DATA COMMON

Vendor Master (General Section)   BAL_S_LOG - Application Log: Log header data  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

DATA, COMMON PART

Kurzreferenz



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


Wirkung

Diese Variante der Anweisung DATA mit den Zusätzen BEGIN OF COMMON PART und END OF COMMON PART definiert einen globalen Schnittstellen-Arbeitsbereich, der von den Programmen einer Programmgruppe gemeinsam benutzt werden kann. Alle zwischen diesen Anweisungen mit DATA deklarierten Datenobjekte sind Teil dieses Common-Bereichs.

Der Zusatz COMMON PART kann nur im globalen Deklarationsteil eines ABAP-Programms verwendet werden. In einem Programm können mehrere gemeinsame Datenbereiche deklariert, diese aber nicht geschachtelt werden. Jedem gemeinsamen Datenbereich muss mit dem Zusatz name ein eindeutiger Name gegeben werden. Der Zusatz name kann nur bei einem einzigen gemeinsamen Datenbereich eines Programms weggelassen werden.

Es gelten folgende Regeln:

  • In allen Programmen einer Programmgruppe, die gemeinsame Datenbereiche des gleichen Namens deklarieren, müssen diese identisch aufgebaut sein. Hierfür werden die gemeinsamen Datenbereiche wie Strukturen betrachtet deren Strukturfragmentsicht gleich sein muss und deren tiefen Komponenten paarweise kompatibel sein müssen. Andernfalls kommt es zum Laufzeitfehler LOAD_COMMON_PART_STRUCT.
  • In einem gemeinsamen Datenbereich dürfen keine Objektreferenzvariablen mit dem statischen Typ programmlokaler Klassen und Interfaces sowie keine Datenreferenzvariablen mit dem statischen Typ programmlokaler strukturierter Typen deklariert werden.

Hinweise

  • Die Verwendung gemeinsamer Datenbereiche in ansonsten unabhängigen Programmen ist sowohl in Bezug auf ihre Wartbarkeit als auch auf ihre Funktion höchst fehleranfällig. Daher sollen gemeinsame Datenbereiche nicht mehr verwendet werden. Für den Datenaustausch zwischen Programmen stehen die Parameterschnittstellen von Prozeduren zur Verfügung.
  • Die gleichartige Deklaration gemeinsamer Datenbereiche für verschiedene Programme geschieht in der Regel in einem Include-Programm, das von allen beteiligten Programmen eingebunden wird. Die Mehrfachverwendung von Include-Programmen wird aber ebenfalls nicht mehr empfohlen.

Beispiel

Deklaration eines gemeinsamen Datenbereichs struc im Include-Programm part. Durch Einbinden des Include-Programms haben die drei Programme param, sum und disp gemeinsam Zugriff auf den Datenbereich struc, wenn sie zu einer Programmgruppe gehören. Letzteres wird dadurch bewerkstelligt, dass die Programme sum und disp durch externe Unterprogrammaufrufe in die Programmgruppe von param geladen werden. Das Unterprogramm display im Programm disp gibt die Eingabewerte in das Programm param und das Ergebnis der Summation im Unterprogramm summing aus.

* 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.







ROGBILLS - Synchronize billing plans   General Data in Customer Master  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 5483 Date: 20240329 Time: 013413     sap01-206 ( 84 ms )