Definition
Archivierungsklassen sollten bereitgestellt werden, wenn komplexe logische Objekte als Servicefunktionen bei der Archivierung von Anwendungsdaten mit archiviert werden müssen. Hierdurch werden Dateninkonsistenzen vermieden. Vor allem wenn ein logisches Objekt Bestandteil einer Archivierung sein soll, aber Verarbeitungslogiken nicht mit den Methoden der Standardklasse abgedeckt werden können, ist es notwendig Archivierungsklassen zu verwenden.
Wenn Sie eine der folgenden Fragen mit "Ja" beantworten können, sollten Sie für die Daten, die ein betriebswirtschaftliches Objekt darstellen, eine Archivierungsklasse anlegen:
Struktur
Dienste der Archivierungsklassen
Folgende Dienste sind von den Archivierungsklassen anzubieten:
Auch für Klassen die bereits einen klassenspezifischen Lesebaustein haben, wird zusätzlich ein Funktionsbaustein mit normierter Schnittstelle benötigt, damit externe Programme oder Werkzeuge wie SAP AS diesen verwenden können. Für Klassen, die noch gar keinen Lesefunktionsbaustein haben, sollte ein Baustein mit normierter Schnittstelle zur Verfügung gestellt werden.

Der Parameter ARCHIVE_HANDLE ist in der Schnittstelle aller Funktionsbausteine einer Archivierungsklasse enthalten.
Funktionsbausteine
Jede Archivierungsklasse muß einen Funktionsbaustein anbieten, mit dem ein Archivierungsprogramm die zu archivierenden Daten einer Klasse bekannt machen kann. Dieser Funktionsbaustein unterliegt einer Namenskonvention; d.h. er muß mit dem Namen der Archivierungsklasse beginnen und mit "_ARCHIVE_OBJECT" enden.

Archivierungsklasse |
Funktionsbaustein |
CHANGEDOCU |
CHANGEDOCU_ARCHIVE_OBJECT |
TEXT |
TEXT_ARCHIVE_OBJECT |
Ferner wird für Auswertungsprogramme in der Regel ein Funktionsbaustein zum Lesen von archivierten Daten angeboten. Dieser Funktionsbaustein unterliegt nach herkömmlicher Methode keiner Namenskonvention. Er wird niemals vom ADK direkt aufgerufen. Es kann sein, daß dieser Funktionsbaustein sowohl in der Datenbank als auch in der Archivdatei lesen kann.

Diese Steuerung erfolgt in diesem Fall mit dem Parameter ARCHIVE_HANDLE. Wird für den ARCHIVE_HANDLE der Wert "0" übergeben, so liest der Funktionsbaustein in der Datenbank, anderenfalls in der zum Archiv-Handle gehörigen Archivdatei.
Die Daten zum Lesen erhält die Archivierungsklasse über den Aufruf eines Unterprogramms, die beim Aufruf des Funktionsbausteins ARCHIVE_GET_NEXT_OBJECT vom ADK angestoßen wird.
Schnittstelle zum ADK
Ferner enthält die Funktionsgruppe der Archivierungsklasse standardisierte Unterprogramme, die das ADK immer dann benötigt, wenn Funktionsbausteine des Archivierungsobjekts aufgerufen wurden.
Beim Einbinden einer bestehenden Archivierungsklasse in ein Archivierungsobjekt bedarf es keinerlei Kenntnisse über diese Unterprogramme, da deren Aufruf durch die Funktionsbausteine des ADK im Hintergrund erfolgt.