Anfang des Inhaltsbereichs

Hintergrunddokumentation Datenbank-Strukturen anpassen  Dokument im Navigationsbaum lokalisieren

Damit ein korrekter Zugriff von ABAP Programmen auf Datenbanktabellen möglich ist, muß das Laufzeitobjekt der Tabelle zur Struktur der Tabelle auf der Datenbank passen. Bei einer Änderung der Tabelle im ABAP Dictionary muß somit bei der Aktivierung (bei der das Laufzeitobjekt neu geschrieben wird) sichergestellt werden, daß die Datenbank-Struktur der Tabelle an die Änderung im ABAP Dictionary angepaßt wird.

Diese Grafik wird im zugehörigen Text erklärt

Bei einigen Änderungen im ABAP Dictionary ist keine Änderung der Datenbank-Struktur notwendig. Zum Beispiel muß die Datenbanktabelle nicht an eine Änderung der Feldreihenfolge (außer bei Schlüsselfeldern) im ABAP Dictionary angepaßt werden, da die Feldreihenfolge im ABAP Dictionary nicht mit der Feldreihenfolge auf der Datenbank übereinstimmen muß. In diesem Fall wird einfach die geänderte Struktur im ABAP Dictionary aktiviert und die Datenbank-Struktur bleibt unverändert.

Die Anpassung der Datenbankstruktur einer Tabelle an ihre veränderte ABAP Dictionary Definition kann auf drei Arten erfolgen:

Welche dieser Aktionen vom System in einem konkreten Fall angewandt wird, hängt ab von

Enthält die Tabelle keine Daten, so wird die vorhandene Tabelle auf der Datenbank gelöscht und neu angelegt. Sind Daten in der Tabelle vorhanden, so wird versucht die Strukturänderung durch ein ALTER TABLE durchzuführen. Falls das verwendete Datenbanksystem die Strukturänderung nicht durch ein ALTER TABLE abbilden kann, wird eine Umsetzung durchgeführt.

Eine Umsetzung ist in der Regel bzgl. der benötigten Resourcen die aufwendigste Art der Strukturanpassung. Aber auch bei Strukturänderungen durch Änderungen des Datenbank-Katalogs können bei einigen Datenbank-Systemen aufwendige interne Reorganisationen der Daten ablaufen. Details über die in der Datenbank ablaufenden Prozesse bei Strukturänderungen durch ALTER TABLE finden Sie in der Dokumentation Ihres Datenbank-Systems.

Achtung

Eine Anpassung der Datenbankstruktur sollte in der Regel nicht während des Produktivbetriebs durchgeführt werden. Zumindest sollten alle Applikationen, die auf die Tabelle zugreifen, während der Strukturanpassung deaktiviert sein. Da der Datenbestand einer Tabelle während der Strukturanpassung (insbesondere bei Umsetzungen) nicht konsistent ist, können sich Programme beim Zugriff auf diesen Datenbestand fehlerhaft verhalten!

Siehe auch:

Probleme bei Umsetzungen