Show TOC

  Archivierungsobjekt in d. Anwendung einbinden (Archiving Workb.)

Verwendung

Immer wenn ein Archivierungsobjekt mit der Archiving Workbench (CA-GTF-TS-GMA) erzeugt wurde, müssen Sie als Entwickler der entsprechenden Anwendung, deren Daten archiviert werden sollen, die Anbindung an Ihre Anwendung sicherstellen.

Sie sind anwendungsseitig für Folgendes zuständig:

  • für die Programmierung der betriebswirtschaftlichen Prüfung, mit deren Hilfe das System feststellt, ob die vorliegenden Daten archivierbar sind oder nicht.

    Hierzu müssen Sie sicherstellen, dass nur solche Daten archiviert werden, die im operativen System nicht mehr gebraucht werden.

    Typische Fragestellungen für eine solche Prüfung sind:

    • Hat der Eintrag der führenden Tabelle ein Status-Attribut, von dessen Werten sich die Archivierbarkeit bzw. die Nicht-Archivierbarkeit eines Datenobjekts ableiten lässt?

    • Sind Datenobjekte anderer Anwendungen vom zu prüfenden Datenobjekt abhängig?

      (legt implizit eine Archivierungsreihenfolge zwischen Datenobjekten verschiedener Archivierungsobjekte fest)

    • Muss eine lückenlose zeitliche Archivierung der Datenobjekte einer Anwendung garantiert werden? Gibt es mehrere Datenobjekte desselben Archivierungsobjektes, die gleichzeitig archiviert werden müssen?

      (legt implizit eine Archivierungsreihenfolge zwischen Datenobjekten desselben Archivierungsobjektes fest)

  • für die Berechnung des Wiedervorlagedatums, anhand dessen das System feststellt, ob die Datenbankzugriffe vor dem Hintergrund des Archivierungsstatus des betroffenen Datensatzes noch erlaubt sind.

    Hinweis Hinweis

    Dieses Dokument enthält eine Auflistung dessen, worauf Sie bei der Integration des Archivierungsobjekts in seine Anwendung achten sollten. Sie sollten es auch dann lesen, wenn Sie der Entwickler des Archivierungsobjekts und nicht der Anwendung sind.

    Ende des Hinweises

Voraussetzungen

Bevor Sie aktiv werden können, muss das entsprechende Archivierungsobjekt mit der Archiving Workbench bereits erzeugt worden sein.

Betriebswirtschaftlicher Prüfbaustein

Schnittstelle des Prüfbausteins

Der Prüfbaustein wird durch den Analyseprozess der Archivierung aufgerufen. In ihm übergibt das System Einträge der führenden Tabelle, für die die Residenzzeit abgelaufen ist.

  1. Geben Sie für die Schnittstelle in der Registerkarte Changing des entsprechenden Funktionsbausteins folgende Daten an:

    • Parametername : s[Präfix]_[Archivierungsobjektname]_CHECK_ARCHIVE

    • Typisierung : TYPE

    • Bezugstyp : [Präfix]_tab_[Name der führenden Tabelle]_rt

  2. Sorgen Sie dafür, dass der Prüfbaustein in einer Funktionsgruppe Ihrer Anwendung liegt, da Sie für diesen Funktionsbaustein verantwortlich sind.

    Hinweis Hinweis

    Der Tabellentyp [Präfix]_tab_[Name der führenden Tabelle]_rtist hingegen im Paket enthalten, das die Archiving Workbench für das vorliegende Archivierungsobjekt generiert hat. Dieser Tabellentyp enthält neben Feldern zur Steuerung der Archivierung einige oder alle Felder der führendenden Tabelle des Archivierungsobjekts.

    Klären Sie, welche Felder für Ihre Prüfung erforderlich sind. Eine Verkürzung der Struktur auf ausschließlich benötigte Felder kann einen deutlichen Performancegewinn bringen. Sie sollten jedoch alle Felder mit aufnehmen , die der Kunde im Rahmen einer Kundenerweiterung nutzen könnte.

    Ende des Hinweises
Erlaubte Aktivitäten im Prüfbaustein

Wenn die Prüfungen für einen Datensatz der übergebenen Tabelle ergeben, dass dieser nicht archivierbar ist, stellen Sie sicher, dass das System das Kennzeichen ARCHIVE_STATUS von 2 (archivierbar) auf 1 (nicht archivierbar) ändert.

Wenn die Prüfungen ergeben, das der Datensatz archivierbar ist, brauchen Sie nicht aktiv werden.

Stellen Sie weiterhin Folgendes sicher:

  • dass das System keine Sätze aus der internen Tabelle entfernt oder ihr Sätze hinzufügt.

  • dass das System keine Attribute außer ARCHIVE_STATUS ändert. Dies gilt insbesondere auch für das Wiedervorlagedatum ARCHIVE_FLUD . Letzteres berechnet das System archivierungsseitig, d.h. anwendungsübergreifend.

    Hinweis Hinweis

    Diese Regeln gelten auch für das Programmieren der Kundenerweiterung (BTE, BadI).

    Ende des Hinweises
Einzubindende Includes

Verwenden Sie das Include AFX_GLOBAL_ARCHSTAT_PUBLIC für die Konstanten g_con_archive_status_arch und g_con_archive_status_noarch .

Prüfabfolge

Hinweis Hinweis

  • Führen Sie selektive und/oder billige Prüfungen vor unselektiven und/order teuren durch.

  • Stellen Sie sicher, dass das System alle weiteren Prüfungen überspringt, sobald das System die Nichtarchivierbarkeit eines Datensatzes feststellt.

  • Nehmen Sie Kundenerweiterungen (BTE, BAdi) an das Ende der Prüfungskette auf.

Ende des Hinweises
Fehlerbehandlung und Protokoll

Stellen Sie sicher, dass das System die Datensätze als nicht archivierbar kennzeichnet, wenn es im Rahmen der Prüfung eines Datensatzes zu einem Fehler kommt. Ist der Fehler gravierend, d.h. führt dieser zu inkonsistenten Daten, dann protokollieren Sie wie folgt:

  • Schreiben Sie pro Datensatz nur eine Meldung in das Fehlerprotokoll.

  • Sorgen Sie dafür, dass nur der Prüfbaustein selbst und keine von ihm aufgerufenen Funktionsbausteine Meldungen in das Protokoll schreiben. Schalten Sie das Protokoll vor dem Aufrufen anderer Funktionsbausteine aus.

  • Stellen Sie sicher, dass die Fehlermeldung neben einer kurzen Fehlerinformation den Objektschlüssel und den Hinweis enthält, dass das System diesen Datensatz als nicht archivierbar gekennzeichnet hat.

  • Schreiben Sie keine Statusmeldungen in das Protokoll. Das Nichteintreten einer betriebswirtschaftlichen Voraussetzung für die Archivierbarkeit ist kein Fehler. Stellen Sie sicher, dass das System für schwerwiegende Fehler einen Systemabbruch verursacht, wenn dieser für alle nachfolgenden Datensätze Auswirkungen haben kann.

Sonstiges

Paketkonzept

Sofern in Ihrem Projekt das Paketkonzept (d. h. Definition von Paketschnittstellen und Verwendungserklärungen) zum Einsatz kommt, beachten Sie, dass Sie eine Verwendungserklärung gegen die Paketschnittstelle _ABA_PLUS_DEFAULT und gegen die am Paket des Archivierungsobjektes definierte Paketschnittstelle abgeben.

Bestimmung des Archivierungsstatus und des Wiedervorlagedatums bei Neuanlage eines Datensatzes

Füllen Sie bei Neuanlage eines Datenobjekts mit Hilfe des Funktionsbausteins [Präfix]_API_AR_[Kürzel des Archivierungsobjekts]_FLU_STA_GET die beiden neu hinzugefügten Felder ARCHIVE_STATUS und ARCHIVE_FLUD der führenden Tabelle .

Hinweis Hinweis

Beachten Sie, dass die Workbench diesen Funktionsbaustein in ihrer aktuellen Version noch nicht generiert. Wenn Sie diesen Funktionsbaustein erstellen, achten Sie darauf, dass dieser die Residenzzeit korrekt berechnet (hier können Sie das Coding des Analyseprogramms wiederverwenden.). Beachten Sie zudem, dass Sie den Wert des ARCHIVE_STATUS auf 1 (nicht archivierbar) setzen, da das System hier keine betriebswirtschaftliche Prüfung durchläuft.

Ende des Hinweises

Hinweis Hinweis

Beachten Sie, dass es je nach betriebswirtschaftlichem Kontext erforderlich sein kann, das Wiedervorlagedatum auch bei Datenbankaktualisierungen des betreffenden Datenobjekts durch das System berechnen zu lassen .In Einzelfällen kann es sogar sinnvoll sein, diese Berechnung ausschließlich bei Updates durchführen zu lassen.

Ende des Hinweises
Prüfung gegen das Feld ARCHIVE_STATUS

Beachten Sie hier Folgendes:

  • Da das Archivierungsobjekt, so wie es generiert wurde, nicht an einer Sperrlogik teilnimmt, die Sie evtl. in Ihrem Projekt realisiert haben, ist es wichtig, dass Sie zu Beginn einer Logischen Verarbeitungseinheit (Logical Unit of Work) und vor einer Datenbankaktualisierung den Wert des Feldes ARCHIVE_STATUS prüfen.

    Hinweis Hinweis

    Der Einsatz von Sperren im Rahmen des Archivierungsprozesses kann sich besonders im Massendatenumfeld als performancekritisch erweisen. Prüfen Sie daher für Ihr Projekt, ob das Setzen von Sperren unbedingt erforderlich ist.

    Ende des Hinweises
  • Beim Start der Logischen Verarbeitungseinheit (Logical Unit of Work) dürfen Sie zu ändernde Daten nur dann selektieren, wenn der Wert des Attributs ARCHIVE_STATUS der führenden Tabelle g_con_archive_status_noarch 1 (nicht archivierbar) lautet.

  • Vor jeder Aktualisierung eines Eintrags der führenden Tabelle müssen Sie die Prüfung erneut durchführen.

  • Stellen Sie sicher, dass das System die Verarbeitung mit einer Fehlermeldung abbricht, wenn einer der beiden folgenden Fälle eintritt:

    • Fall 1: Das Attribut ARCHIVE_STATUS hat den Wert 2 (archivierbar), weil das System den Eintrag der führenden Tabelle inzwischen analysiert und für archivierbar befunden hat.

    • Fall 2: Der Datensatz ist nicht mehr vorhanden, weil das System diesen zwischenzeitlich analysiert, archiviert und gelöscht hat.

Ergebnis

Wenn Sie alle beschriebenen Arbeitsanweisungen ausgeführt haben, ist das Archivierungsobjekt von der Anwendungsseite entwicklungstechnisch abgeschlossen. Es sind jedoch noch verwaltungstechnische Aktivitäten offen (wie z,B. das Einhängen der Transaktionen), die der Entwickler des Archivierungsobjekts zusammen mit einigen anderen manuellen Nacharbeiten durchführen sollte. Weitere Informationen hierzu finden Sie im Abschnitt Manuelle Nacharbeiten durchführen (Archiving Workbench) der SAP-Bibliothek.