Ansicht
Dokumentation

ARCHIVE_GIVE_STATISTICS - Übergabe von Statistikdaten in Programmen der Datenarchivierung

ARCHIVE_GIVE_STATISTICS - Übergabe von Statistikdaten in Programmen der Datenarchivierung

BAL Application Log Documentation   PERFORM Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Der Funktionsbaustein ARCHIVE_GIVE_STATISTICS wird in Schreib-, Lösch-, Rücklade- und Leseprogrammen der Datenarchivierung zur Übergabe von Statistikdaten an das Archive Development Kit (ADK) verwendet.

Nutzen

Die mit dem Funktionsbaustein ARCHIVE_GIVE_STATISTICS gesammelten Statistikdaten werden in unterschiedlichen Kontexten der Datenarchivierung verwendet. Unter anderem können die Statistiken mit dem Funktionsbaustein ARCHIVE_WRITE_STATISTICS am Bildschirm ausgegeben werden. Auch wenn der Funktionsbaustein ARCHIVE_WRITE_STATISTICS nicht verwendet wird, muss der Funktionsbaustein ARCHIVE_GIVE_STATISTICS immer an den vorgeschriebenen Stellen (siehe Verwefndung) aufgerufen werden. Eine fehlende bzw. inkorrekte Verwendung des Funktionsbausteins verfälscht die Statistikdaten! So wird z.B. durch einen fehlenden Aufruf des Funktionsbausteins ARCHIVE_GIVE_STATISTICS der Wert des belegten bzw. gelöschten Datenbankplatzes in der Verwaltung der Archivadministration falsch angezeigt.

Verwendung

Um korrekte Statistikdaten zu erhalten, darf der Funktionsbaustein ARCHIVE_GIVE_STATISTICS in den Schreib-, Lösch-, Rücklade- und Leseprogrammen der Datenarchivierung nur entsprechend der nachfolgenden Definition verwendet werden. Grundsätzlich wird ein Aufruf nur im Produktivmodus empfohlen.

In allen anderen Programmen, wie z.B. Konvertierungs-, Vor- und Nachlaufprogrammen, darfdieser Funktionsbaustein nicht verwendet werden.

Schreibprogramm

Archivierungsobjekt

Der Funktionsbaustein ARCHIVE_GIVE_STATISTICS darfim Schreibprogramm nicht aufgerufen werden.

Archivierungsklasse

Der Funktionsbaustein ARCHIVE_GIVE_STATISTICS darf im Unterprogramm <KLASSE>_GET_DATA nicht aufgerufen werden, wenn die Klassendaten mit dem Funktionsbaustein ARCHIVE_PUT_TABLE dem ADK übergeben werden; er muss im Unterprogramm <KLASSE>_GET_DATA aufgerufen werden, wenn die Klassendaten nicht mit dem Funktionsbaustein ARCHIVE_PUT_TABLE dem ADK übergeben werden.

Löschprogramm

Archivierungsobjekt

Der Funktionsbaustein ARCHIVE_GIVE_STATISTICS muss im Löschprogramm unmittelbar nach dem Löschen der Objektdaten aufgerufen werden. Die Anzahl der gelöschten Sätze kann über die Systemvariable SY-DBCNT ermittelt werden. Es ist nicht erforderlich (aber möglich), den Funktionsbaustein ARCHIVE_GIVE_STATISTICS jeweils pro Datenobjekt aufzurufen; z.B. kann der Aufruf entsprechend dem Commit-Counter gebündelt werden.

Archivierungsklasse

Der Funktionsbaustein ARCHIVE_GIVE_STATISTICS muss im eigentlichen PERFORM ... ON COMMIT Löschunterprogramm (das vom Unterprogramm <KLASSE> _DELETE_ARCHIVE_OBJ gerufen wird) jeweils handleweise aufgerufen werden. Die Anzahl der gelöschten Sätze kann über die Systemvariable SY-DBCNT ermittelt werden.

Testmodus

ARCHIVE_GIVE_STATISTICS muss vom Löschprogramm auch im Testmodus aufgerufen werden. Voraussetzung für die Übermittlung korrekter Statistikdaten ist jedoch, dass alle verwendeten Archivierungsklassen eine Formroutine <KLASSE>_DELETE_ TEST_OBJ implementiert haben. Wenn eine Klasse diese Routine nicht bereitstellt, kann das ADK beim Löschen im Testmodus für diese Klasse keine Statistikdaten fortschreiben. Von daher muss ARCHIVE_GIVE_STATISTICS auch von Archivierungsklassen beim Löschen im Testmodus aufgerufen werden, um die Statistikdaten zu ermitteln. Verwendungsbeispiele bieten die Archivierungsklasse BC_DEMO (Funktionsgruppe DEMOCLASS) sowie das Löschprogramm SFLIGHTD (Archivierungsobjekt BC_SFLIGHT).

Löschfunktion, die auch außerhalb der Archivierung verwendet wird

Löschfunktionen, die sowohl im Rahmen der Archivierung als auch außerhalb der Archivierung verwendet werden, sollten ebenfalls den Funktionsbaustein ARCHIVE_GIVE_STATISTICS aufrufen. Da im Kontext der Löschfunktion kein Handle bekannt ist, muss der Aufruf hier mit dem definierten Wert "-1" für den Parameter ARCHIVE_HANDLE erfolgen. In diesem Fall wird die Tabelle der bereits existierenden Handle ausgewertet. Wenn exakt ein gültiges Handle bekannt ist, wird dieses Handle verwendet. Ist kein Handle bekannt (z.B. wenn der Löschbaustein außerhalb der Archivierung verwendet wird) oder existieren mehrere gültige Handle, wird die Verarbeitung im Funktionsbaustein verlassen ohne eine Ausnahme auszulösen.

Rückladeprogramm

Archivierungsobjekt

a) in Datenbank zurückgeladene Daten (Lese-Handle)

Der Funktionsbaustein ARCHIVE_GIVE_STATISTICS muss im Rückladeprogramm unmittelbar nach dem Einfügen der Objektdaten in die Datenbank mit dem Lese-Handle aufgerufen werden. Die Anzahl der eingefügten Sätze kann über die Systemvariable SY-DBCNT ermittelt werden. Es ist nicht erforderlich (aber möglich), den Funktionsbaustein ARCHIVE_GIVE_STATISTICS jeweils pro Datenobjekt aufzurufen; der Aufruf kann auch entsprechend dem Commit-Counter gebündelt werden.

b) in neuen Archivierungslauf geschriebene Daten (Schreib-Handle)

Der Funktionsbaustein ARCHIVE_GIVE_STATISTICS darf im Rückladeprogramm nicht mit dem Schreib-Handle aufgerufen werden.

Archivierungsklasse

a) in Datenbank zurückgeladene Daten (Lese-Handle)

Der Funktionsbaustein ARCHIVE_GIVE_STATISTICS muss im Unterprogramm <KLASSE>_RELOAD_ARCHIVE_OBJECT unmittelbar nach dem Einfügen der Klassendaten in die Datenbank mit dem Lese-Handle aufgerufen werden. Die Anzahl der zurückgeladenen Sätze kann über die Systemvariable SY-DBCNT ermittelt werden.

b) in neuen Archivierungslauf geschriebene Daten (Schreib-Handle)

Der Funktionsbaustein ARCHIVE_GIVE_STATISTICS darf nicht mit dem Schreib-Handleaufgerufen werden.

Leseprogramm

Archivierungsobjekt

Der Funktionsbaustein ARCHIVE_GIVE_STATISTICS kann im Leseprogramm aufgerufen werden.

Archivierungsklasse

Der Funktionsbaustein ARCHIVE_GIVE_STATISTICS darf(z.B. im Unterprogramm <class>_PUT_DATA) nicht aufgerufen werden.

Archivierungsobjektübergreifende Prüf- und Löschprogramme

Bei Aufruf des Funktionsbausteins ARCHIVE_GIVE_STATISTICS mit Handle -1 wird geprüft, ob vorher der Funktionsbaustein ARCHIVE_INIT_STATISTICS zur Übergabe einer GUID für das objektunabhängige Prüfen oder Löschen aufgerufen wurde. Wenn dies der Fall ist und es existiert eine gültige GUID, werden Statistiken für das objektunabhängige Prüfen oder Löschen in die Tabelle ARCDEL_DEL_STAT fortgeschrieben.

Beispiel

Die richtige Verwendung des Funktionsbausteins ARCHIVE_GIVE_STATISTICS wird in den Programmen des Archivierungsobjekts BC_SFLIGHT bzw. in der Archivierungsklasse BC_DEMO veranschaulicht.





Parameter

ARCHIVE_HANDLE
TABLE

Ausnahmen

INTERNAL_ERROR
WRONG_ACCESS_TO_ARCHIVE

Funktionsgruppe

ARCH

BAL Application Log Documentation   BAL_S_LOG - Application Log: Log header data  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 8832 Date: 20240523 Time: 124237     sap01-206 ( 163 ms )