In einer Anwendung, IDOC Verarbeitung, sollen die Informationen, die zur Zeit in Statussätzen abgelegt werden, im Application Log gespeichert werden. Soweit ich in den FuBa BAL_DB_SAVE verstehe wird bei jedem Aufruf eine neue Lognummer vergeben. Diese kann im IDOC-Statussatz EDIDS-APPL_LOG gespeichert werden (es soll und muss nur noch ein Statussatz pro Verabeitung abgelegt werden) und damit wird in der Anzeige des IDOC-Status-Satzes ein Button für den Absprung in das Application-Log aktiviert.
Soweit so gut, für fehlerhafte IDOC's gibt es bereits jetzt die Möglichkeit die IDOC's nach der Korrektur der Fehler (Stammdaten oder Customizing) erneut zu starten. Wie kann ich erreichen, dass die Medungen aus dem Restart ebenfalls an die bereits vorhandene LogNummer angefügt werden und der FuBa BAL_DB_SAVE keine neue LogNummer vergibt?
ich denke über den Baustein BAL_DB_LOAD könntest Du anhand der Log-Nummer aus dem letzten Statussatz das Anwendungslog wieder in den Hauptspeicher laden und das Protokoll um Meldungen erweiteren. Der Baustein gibt Dir ja auch die interne Log-Nummer zurück (das Log-Handle).
Allerdings würde ich diese Vorgehensweise so nicht umsetzen, denn aus meiner Sicht bedeutet: wenn ich ein IDoc erneute zur Verarbeitung anstoße, weil es beim ersten mal auf Fehler gelaufen ist, würde ich einen zweiten Statussatz erwarten und damit auch ein zweites Application-Log. Damit lösst sich auch besser nachvollziehen, dass das IDoc beim ersten mal auf Fehler gelaufen ist und beim zweiten Mal dann erfolgreich verarbeitet wurde. Abgesehen davon sollte es auch nicht möglich sein, den Status des Statussatzes z.B. von 51 (Fehler) auf 53 (Erfolgreich) umzuschießen. Das würde eigentlich einen zweiten Statussatz erfordern.
Viele Grüße
Lars
Folgende Benutzer bedankten sich beim Autor larsi für den Beitrag: SAP_ENTWICKLER