Ansicht
Dokumentation
/ISDFPS/SYNC_BAL_DB_SAVE - Anwendungs-Log: Datenbank: Protokolle sichern
CL_GUI_FRONTEND_SERVICES - Frontend Services ROGBILLS - Synchronize billing plansDiese Dokumentation steht unter dem Copyright der SAP AG.
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
Application Log: Technische Dokumentation
Parameter
E_NEW_LOGNUMBERSI_CLIENT
I_IN_UPDATE_TASK
I_SAVE_ALL
I_T_LOG_HANDLE
Ausnahmen
LOG_NOT_FOUNDNUMBERING_ERROR
SAVE_NOT_ALLOWED
Funktionsgruppe
FPS/SAPLLOG_REMOTErdisp/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 )