Ansicht
Dokumentation

/ISDFPS/SYNC_BAL_DB_SAVE_PREP - Anwendungs-Log: Datenbank: Vorbereitung (Ersetzen temp. Nummern)

/ISDFPS/SYNC_BAL_DB_SAVE_PREP - Anwendungs-Log: Datenbank: Vorbereitung (Ersetzen temp. Nummern)

TXBHW - Original Tax Base Amount in Local Currency   Vendor Master (General Section)  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Manchmal kommt es bei den Meldungen des Application Logs vor, daß die Message-Variablen oder auch die Kontexte Daten enthalten, die noch nicht ihre endgültigen Werte besitzen.

Ein typisches Beispiel sind Belegnummern. Wird ein Beleg angelegt, so wird anfangs erst eine temporäre Nummer vergeben (z.B. ‘$0001’). Nur wenn der Beleg gespeichert wird, wird aus einem Nummernkreisintervall eine endgültige Nummer gezogen.

Wenn nun für so einen Beleg Meldungen erzeugt wurden, dann können z.B. die Message-Variablen temporäre Nummern enthalten. Beim Sichern sollten nun diese temporären Werte durch endgültige ersetzt werden (also z.B. $0001 durch 0000123456), denn das Protokoll ist ja sonst wertlos.

Eine derartige Ersetzung kann man vom Funktionsbaustein BAL_DB_SAVE_PREPARE durchführen lassen.
Diesem übergibt man Ersetzungsmuster (Tabellentyp BAL_T_RPLV), die z.B. beschreiben, daß Message-Variablen mit dem alten Inhalt ‘$0001’ (Feld OLD_VALUE) durch den neuen Wert ‘12345’ (Feld NEW_VALUE) ersetzt werden sollen. Ebenso ‘$0002’ durch ‘67890’ etc.

Auch für Kontext-Informationen kann man Ersetzungen definieren (Tabellentyp BAL_T_RPLC). Zum Beispiel soll in allen Kontexten, die die DDIC-Struktur ‘MY_STRUC’ (TABNAME) haben, Daten im Feld ‘VBELN’ (FIELDNAME) ersetzt werden, und zwar ‘$0001’ (OLD_VALUE) durch ‘12345’ (NEW_VALUE), etc.

Mit I_REPLACE_IN_ALL_LOGS = 'X' gibt man vor, daß die Ersetzung in allen Protokollen erfolgen soll, die sich im Hauptspeicher befinden. Möchte man hingegen nur in bestimmten Protokollen eine Ersetzung durchführen, so kann man I_REPLACE_IN_ALL_LOGS = ' ' setzen und die gewünschten Protokollhandles I_T_REPLACE_IN_THESE_LOGS angeben.

  • ==>Hinweis
    Die Ersetzung der Message-Variablen ist im allgemeinen eine etwas unsichere Sache, denn man weiß nicht mehr mit Sicherheit, ob z.B. der Inhalt der Message-Variablen MSGV1 bei einer bestimmten Meldung wirklich eine Auftragsnummer enthielt. Es könnte sich ja auch um eine (zufälligerweise gleichlautende) temporäre Nummer eines ganz anderen Beleges handeln, der im Hintergrund erzeugt wurde und zu dem auch Meldungen erfaßt wurden.
    Um diese Mehrdeutigkeit zu verhindern, besteht die Möglichkeit, die Herkunft einer Message-Variablen beim Absetzen einer Meldung zu spezifizieren. Dies geschieht durch Angaben in den Feldern MSGV1_SRC, ..., MSGV4_SRC in der Struktur BAL_S_MSG. Bei der Ersetzung der Message-Variablen mit BAL_DB_SAVE_PREPARE kann man sich dann auf diese Indikatoren beziehen (Feld MSGV_SRC).

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

I_REPLACE_IN_ALL_LOGS
I_T_REPLACE_CONTEXT_FIELDS
I_T_REPLACE_IN_THESE_LOGS
I_T_REPLACE_MESSAGE_VARIABLES

Ausnahmen

LOG_NOT_FOUND

Funktionsgruppe

FPS/SAPLLOG_REMOTE

ABAP Short Reference   rdisp/max_wprun_time - Maximum work process run time  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 5344 Date: 20240426 Time: 082729     sap01-206 ( 116 ms )