Ansicht
Dokumentation

SAPMSGTB - DB-Utilities für DD-Tabellen

SAPMSGTB - DB-Utilities für DD-Tabellen

CPI1466 during Backup   ROGBILLS - Synchronize billing plans  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Beschreibung

Das Datenbank-Utility bildet die Schnittstelle zwischen dem Data Dictionary und der dem SAP-System unterliegenden relationalen Datenbank.
Bisher war das Datenbank-Utility nur für Tabellen verfügbar. Ab Release 2.1 werden im Datenbank-Utility alle relevanten Data Dictionary Objekte unterstützt.

Dies sind:

  • Tabellen,
  • Tabellenindizes,
  • Views,
  • Matchcodes,
  • Pool/Cluster.

Basisfunktionen

Nachfolgend werden die für die einzelnen Objekte realisierten Basisfunktionen beschrieben:

Tabelle

  • Anlegen
    Eine transparente Tabelle wird gemäß der aktiven Data Dictionary Definition auf der Datenbank angelegt, einschließlich eines Unique-Index auf den Schlüsselfeldern und aller Sekundärindizes.
  • Löschen
    Transparente Tabelle: Die Tabelle wird auf der Datenbank einschließlich
    aller Indizes gelöscht.
    Pool-/Clustertabelle: Die Daten der Tabelle werden aus der physischen
    Pool-/Clustertabelle gelöscht.
  • Umsetzen
    Die Daten werden aus der Tabelle entladen, die überarbeitete Tabellenstruktur wird aktiviert und die Daten werden zurückgeladen.

    Eine Umsetzung ist i. A. bei Strukturänderungen notwendig, wenn Daten aus den Tabellen mit der alten Struktur übernommen werden sollen.

    Folgende Strukturänderungen werden unterstützt:
    - Hinzufügen, Löschen von Feldern, Änderung der Feldreihenfolge,
    - Änderung der Feldformate,
    - Änderung des Primärschlüssels, außer bei Prüftabellen,
    - Änderung der Tabellenklasse (TRANSP, POOL, CLUSTER),
    - Änderung des physischen Pools/Clusters, sofern noch keine Daten
    vorhanden sind.

    Die Tabelle wird während der Umsetzung aktiviert.
    Nach einer Umsetzung muß das entsprechende Tabellendynpro (falls vorhanden) manuell angepaßt bzw. gelöscht und neu angelegt werden.

    In gewissen Fällen ist keine Datenumsetzung notwendig, z.B. wenn in einer Tabelle oder einem Matchcode Felder angehängt werden. Es wird dann nur die Tabellendefinition auf der Datenbank modifiziert und die Tabelle im Data Dictionary aktiviert.
  • Löschen, neu Anlegen
    Diese Funktion beinhaltet folgende Schritte:
    1. Löschen der Tabelle,
    2. Aktivieren der überarbeiteten Tabellenstruktur,
    3. Anlegen der Tabelle.
    Die Daten werden also nicht erhalten !

Tabellenindex (nur Sekundärindex)

  • Anlegen
    Anlegen eines Sekundärindexes zu einer transparenten Tabelle auf der Datenbank.
  • Löschen
    Löschen eines Sekundärindexes zu einer transparenten Tabellen auf der Datenbank.
  • Löschen, neu Anlegen
    Löschen und Wiederanlegen eines Sekundärindexes sowie Aktivierung des Indexes im Data Dictionary.

View

  • Anlegen
    Anlegen eines Views auf der Datenbank.
  • Löschen
    Löschen eines Views auf der Datenbank.
  • Löschen, neu Anlegen
    Löschen und Wiederanlegen eines Datenbankviews entsprechend der Definition im Data Dictionary. Der View wird dabei aktiviert.

Matchcodes

  • Anlegen
    Matchcodeobjekt: Anlegen des Matchcodepools auf der Datenbank.
    Matchcode-Id: Aufbauen der Matchcode-Id zu einem Matchcodeobjekt
    für alle Mandanten.
  • Löschen
    Matchcodeobjekt: Löschen des Matchcodepools auf der Datenbank.
    Matchcode-Id: Löschen der Einträge einer Matchcode-Id im
    Matchcodepool für alle Mandanten.

Das Ändern von Matchcodestrukturen, wenn diese schon Daten enthalten, wird nicht unterstützt.

Da die Matchcodedaten aus den Daten der referierten Tabellen aufgebaut werden, brauchen auch diese nicht umgesetzt werden.

Pool/Cluster

  • Anlegen
    Anlegen der (physischen) Pool-/Clusterstruktur auf der Datenbank.
  • Löschen
    Löschen der (physischen) Pool-/Clusterstruktur auf der Datenbank.

Das Ändern von Pool-/Clusterstrukturen, wenn diese schon Daten enthalten, wird nicht unterstützt.

Verarbeitungsart

Die Basisfunktionen (Anlegen, Löschen, Löschen und Wiederanlegen, Umsetzen) sind sowohl Online als auch im Batch ausführbar.

Um das Online-System nicht zu überlasten und um tagsüber bestimmte Sperrsituationen auf der Datenbank zu umgehen, ist es wünschenswert, Datenbankänderungen nicht sofort, sondern nachts durchzuführen.
Außerdem kann es beim Schreiben von Tabellen während einer Umsetzung zu Datenverlust kommen.

Die Verarbeitungsart 'Online' sollte also mit Vorsicht gewählt werden.
Es wird ein Programm generiert, welches die gewünschten Datenbankänderungen beinhaltet (Programmvorlage). Dieses Programm wird sofort ausgeführt.
Das Protokoll zur Datenbankänderung wird als Liste ausgegeben.

Normalerweise sollte die Verarbeitungsart 'Batch' gewählt werden, durch welche ein Eintrag mit der entsprechenden Funktion in der Tabelle "TBATG" erzeugt wird.
Die Eintragung kann über Übersicht → Batchanforderungen kontrolliert werden.
Die in der "TBATG" gesammelten Aufträge werden im Batch (i.A. nachts) abgearbeitet.
Abgebrochene Batchumsetzungen werden in der Übersicht der Batchanforderungen durch ein 'E' in der letzten Spalte ("Fehler") gekennzeichnet.
Das Batchprogramm schreibt Meldungen in eine Protokolldatei. Diese Tagesprotokokolle lassen sich mit der Funktion 'Protokollanzeige' anzeigen.

Die Wahl der Verarbeitungsart 'Programm generieren' erzeugt nur das Programm, ohne dies auszuführen.
Diese Möglichkeit wird für Tabellen, Pool/Cluster und Matchcodeobjekte angeboten. Das generierte Programm kann nachträglich modifiziert werden,was für die Umsetzung von Tabellen sinnvoll ist, wenn z.B. ein Feld 'umbenannt' wurde.

Die Programmnamen werden gebildet aus '{' (1. Phase) und/oder '}' (2. Phase) plus Tabellenname. Die zweite Phase wird jedoch nur generiert, falls eine Umsetzung erforderlich ist.

Existiert ein Aufsetzprotokoll (siehe unten) zu einer durchgeführten Datenbankoperation, so kann diesem die Abbruchstelle entnommen werden (letzter ausgeführter Schritt).
Das Objekt ist dann gesperrt (siehe unten)!
Durch Wiederaufsetzen kann die Datenbankaktion wieder aufgenommen werden. Ist ein Wiederaufsetzen nicht möglich oder nicht sinnvoll, so kann das Objekt entsperrt werden (siehe unten).

Sperrmechanismus

Sperrtabelle "TGTB"

Es wurde ein Sperrmechanismus realisiert, der verhindert, daß eine neue Datenbankoperation angestoßen wird, solange eine bestehende noch nicht korrekt abgeschlossen ist.
Das Datenbank-Utility fügt am Anfang der Bearbeitung einen Sperreintrag für das zu bearbeitende Objekt in eine Sperrtabelle (Wiederaufsetztabelle "TGTB") ein, markiert die ausgeführten Schritte und entfernt den Sperreintrag nach erfolgreicher Bearbeitung.
Wird die Bearbeitung abgebrochen, so bleibt das Objekt für das Datenbank-Utility gesperrt (keine Kurzzeitsperre!).
Auch wenn nur das Programm generiert wird, wird ein Sperreintrag geschrieben!
Über die Funktion 'Entsperren' (Info → Aufsetzprotokoll → Entsperren) kann die Sperre auf einer Tabelle wieder aufgehoben werden. Es kann nun eine neue Datenbankoperation angestoßen werden.
Erfolgt der Abbruch jedoch zu einem Zeitpunkt, zu dem Daten nur noch temporär existieren, so sollte die Funktion 'Wiederaufsetzen' (Info → Aufsetzprotokoll → Wiederaufsetzen) gewählt werden, da das Entsperren in diesem Fall zu einem Datenverlust führen könnte.
Beim Wiederaufsetzen wird der Sperreintrag für die Tabelle ausgewertet und die Verarbeitung nach dem zuletzt ausgeführten Schritt fortgesetzt.
Das Wiederaufsetzen kann z.Z. nur im Online erfolgen.

Aufsetzprotokoll (zur Interpretation der Sperreinträge)

Folgende Schritte bilden den vollständigen Ablauf der Tabellenumsetzung. Einige der Schritte können in bestimmten Fällen entfallen.

  1. 'Tabelle entladen' (Programmvorlage 1. Phase)
  • Step 9 temporäre Tabelle löschen ( QCM )

  • Step 1 temporäre Tabellenkopie anlegen ( QCM )

  • Step 2 Tabellensätze kopieren

  • Step 3 aktuelle Datenbanktabelle oder Daten löschen

  • Step 4 Tabelle im Data Dictionary generieren

  1. 'Tabelle zurückladen' (Programmvorlage 2. Phase)
  • Step 5 neue Tabelle anlegen

  • Step 6 neuen Primärindex anlegen

  • Step 7 Datensicherung zurückladen

  • Step 8 ALTER TABLE

Zusatzfunktionen

Diese Funktionen sind nur Online ausführbar.

Definitionsvergleich

Mit dem Definitionsvergleich lassen für einzelne Objekte Unterschiede zwischen der Data Dictionary Definition und der Definition auf der Datenbank bzw. - bei logischen Objekten (Pool-/Clustertabellen) - der Laufzeitobjekte feststellen.

  • Tabelle
  • Transparente Tabelle:
    Vergleich der zuletzt abgespeicherten Version der Tabellendefinition im Data Dictionary (überarbeitete oder aktive Version) mit der aktuellen Definition auf der Datenbank.

  • (Logische) Pool- oder Clustertabelle:
    Vergleich der zuletzt abgespeicherten Version der Tabellendefinition im Data Dictionary (überarbeitete oder aktive Version) mit der aktuellen Nametab-Definition.

  • Tabellenindex (nur Sekundärindizes)
    Vergleich der zuletzt abgespeicherten Version der Tabellendefinition im Data Dictionary (überarbeitete oder aktive Version) mit der aktuellen Definition auf der Datenbank.
  • Pool/Cluster (physisch)
    Vergleich der zuletzt abgespeicherten Version der Tabellendefinition im Data Dictionary (überarbeitete oder aktive Version) mit der aktuellen Tabellendefinition auf der Datenbank.
  • Matchcode
    Vergleich der zuletzt abgespeicherten Version der Tabellendefinition im Data Dictionary (überarbeitete oder aktive Version) mit der aktuellen Tabellendefinition auf der Datenbank.
    Diese Funktion steht nur für Matchcodeobjekte (nicht für Matchcode-Id's) zur Verfügung.
  • View
    Vergleich der zuletzt abgespeicherten Version der Viewdefinition im Data Dictionary (überarbeitete oder aktive Version) mit der aktuellen Definition auf der Datenbank.
    Es werden die Struktur sowie die Selektionsbedingungen verglichen.

Existenzprüfung

Die Existenz des jeweiligen Objektes auf der Datenbank wird geprüft.
Diese Funktion ist für alle Objekte, mit Ausnahme von Matchcode-Id's verfügbar.

Datenbank-Parameter (Storage-Parameter)

Für Tabellen, Matchcodeobjekte sowie physische Pool/Cluster können Datenbankparameter benutzerspezifisch eingestellt werden.

Die Quelle gibt die Herkunft der Parameter an.

  • USR: Benutzerspezifische Einstellungen.
    Diese können vom Benutzer direkt gepflegt werden.
  • DBS: Storage-Parameter, wie sie die Datenbank verwendet
    (nur bei existierendem Objekt auf der Datenbank!).
  • DEF: Standardeinstellung, falls keine technischen Eigenschaften zu der Tabelle gepflegt sind.
  • CMP: Berechnete Parameter aus den technischen Eigenschaften
    'Tabellenkategorie' und 'Tabellenart'.
    Durch das "Use-Flag" wird festgelegt, welche Parameter beim nächsten Anlegen der Tabelle (durch 'Anlegen', 'Löschen, neu Anlegen' oder 'Umsetzen') auf der Datenbank angewendet werden. Ohne angegebene Quelle gilt die Reihenfolge DBS, CMP oder DEF (je nachdem, welche Quelle vorhanden ist).
    Beim Sichern der Storage-Parameter werden das Use-Flag (wenn gesetzt) und die eingegebenen Storage-Parameter (Quelle USR, falls angegeben) gesichert.

Mit der Funktion 'Sofort anwenden' werden die mit dem Use-Flag gekennzeichneten Storage-Parameter sofort auf der Datenbank wirksam, falls dies ohne Umsetzen möglich ist.
Je nach Datenbank können nicht sämtliche Parameter ohne Umsetzung sofort angewendet werden. Für Oracle sind der maximale Extent und die Größe des nächsten Extents sofort änderbar. Der Tablespace z.B. kann jedoch ohne Neuanlegen der Tabelle nicht geändert werden.

Voraussetzungen

Die Benutzung der Datenbank-Utilities ist nur mit der Systemberechtigung Administration möglich.

Ausgabe

Beispiel






Fill RESBD Structure from EBP Component Structure   TXBHW - Original Tax Base Amount in Local Currency  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 15310 Date: 20240601 Time: 134315     sap01-206 ( 177 ms )