Ansicht
Dokumentation

/ISDFPS/SYNC_BAL_DB_SAVE - Anwendungs-Log: Datenbank: Protokolle sichern

/ISDFPS/SYNC_BAL_DB_SAVE - Anwendungs-Log: Datenbank: Protokolle sichern

CL_GUI_FRONTEND_SERVICES - Frontend Services   ROGBILLS - Synchronize billing plans  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Protokolle im Hauptspeicher können mit dem Funktionsbaustein BAL_DB_SAVE gesichert werden. Dieser kann die gesamten Daten des Hauptspeichers auf der Datenbank ablegen (Importing-Parameter I_SAVE_ALL = 'X'), man kann aber auch gezielt eine Teilmenge spezifizieren durch Angabe eine Menge von Protokollhandles (Importing-Parameter I_T_LOG_HANDLE).

Diese Tabelle von Protokollhandles kann man sich z.B. besorgen durch Aufruf des Funktionsbausteins BAL_GLB_SEARCH_LOG, welcher im Hauptspeicher Protokolle nach bestimmten Filterkriterien sucht.

Beim Sichern von Protokollen wird eine interne Protokollnummer vergeben (Feld LOGNUMBER). Zur Laufzeit ist dieses Feld hingegen nur mit einem temporären Wert gefüllt (z.B. $00001).

Daher liefert der Funktionsbaustein BAL_DB_SAVE eine Tabelle zurück (Exporting-Parameter E_NEW_LOGNUMBERS), die LOG_HANDLE, externe Nummer EXTNUMBER, temporäre LOGNUMBER und endgültige LOGNUMBER gegenüberstellt. auf diese Weise kann man nach dem Sichern auf jeden Fall herausfinden, welche Nummer für ein Protokoll vergeben wurde.

Das Sichern kann auch IN UPDATE TASK erfolgen (Importing-Parameter I_IN_UPDATE_TASK = 'X').

Es ist außerdem möglich, die Protokolle in einem anderen Mandanten zu sichern (Parameter I_CLIENT). Wird I_CLIENT nicht angegeben, so wird im aktuellen Mandanten gesichert.

Hinweise

Nach dem Sichern von Protokollen befinden sich diese weiterhin im Hauptspeicher. Ihr Zustand ist so, als wären sie gerade von der Datenbank geladen worden. Möchte man bereits gesicherte Protokolle aus dem Hauptspeicher entfernen, kann man entweder den Funktionsbaustein BAL_LOG_REFRESH (für ein Protokoll) oder BAL_GLB_MEMORY_REFRESH (für mehrere bzw. alle Protokolle) verwenden.

Das Feld LOGNUMBER ist aus Kompatibilitätsgründen weiterhin für den Aufrufer sichtbar. Es birgt aber den Nachteil, daß es zur Laufzeit zunächst nur einen temporären Wert besitzt und erst beim Sichern endgültig wird. Dadurch müssen alle Anwendungstabellen, die mittels der LOGNUMBER auf ein Protokoll zeigen, beim Sichern aktualisiert werden.
Bei Nutzung des Feldes LOG_HANDLE entfällt dieser Aufwand. LOG_HANDLE besitzt sofort beim Erzeugen eines Protokolls (mit BAL_LOG_CREATE) seinen endgültigen Wert.

Beispiel

Report SBAL_DEMO_05 (==>Ausführen ==>Coding) simuliert einen Abrechnungslauf für alle Flüge, die an einem bestimmten Datum stattgefunden haben. Man hat die Wahl, zwischen drei Menüpunkten:

  • Abrechnung nur "simulativ" durchzuführen.
    Die "Belege" werden nur im Hauptspeicher gesammelt und haben nur temporäre Nummern. Entsprechend enthält das Protokoll temporäre Nummern.
  • Abrechnung "real" durchführen.
    Es wird ein Protokoll auf der Datenbank gespeichert. Zuvor werden jedoch die temporären Belegnummern durch "endgültige" im Protokoll ersetzt.
  • Protokolle anzeigen.

Verwandte Funktionsbausteine

Protokolle Sichern und Laden
Protokolle Löschen

Weiterführende Informationen

Übersicht der wichtigsten Funktionsgruppen

Quickstart-Dokumentation

Application Log: Technische Dokumentation





Parameter

E_NEW_LOGNUMBERS
I_CLIENT
I_IN_UPDATE_TASK
I_SAVE_ALL
I_T_LOG_HANDLE

Ausnahmen

LOG_NOT_FOUND
NUMBERING_ERROR
SAVE_NOT_ALLOWED

Funktionsgruppe

FPS/SAPLLOG_REMOTE

rdisp/max_wprun_time - Maximum work process run time   General Material Data  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 5179 Date: 20240426 Time: 155202     sap01-206 ( 79 ms )