Verbucher mit gemeinsamem Application Log

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
10 Beiträge • Seite 1 von 1
10 Beiträge Seite 1 von 1

Verbucher mit gemeinsamem Application Log

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Moin,

ich habe eine Datenänderung, die ich aus verschiedenen Gründen in Paketen zu 5.000 an einen Funktionsbaustein IN UPDATE TASK übergebe. Der Funktionsbaustein wie auch das rufende Programm pflegen Meldungen in das Application Log ein.

Versucht habe ich, das Log-Handle an den FB zu übergeben und von dort aus das schon existierende Applog aufzurufen - der das aber nicht findet. Warum, erschließt sich bei etwas Nachdenken sehr schnell.

Frage: Gibt es irgendeinen Trick, wie ich das trotzdem erreichen kann, dass alle "Verbucher-Instanzen" in das Log des rufenden Reports schreiben?

Gruß

Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Verbucher mit gemeinsamem Application Log

Beitrag von black_adept (Top Expert / 3943 / 105 / 886 ) »
Vielleicht das Log vor dem Buchen persistieren und dann einen neuen Handle auf das jetzt nicht mehr nur im Speicher residierende Log geben lassen und mit dem weiterarbeiten?
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Verbucher mit gemeinsamem Application Log

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
Wenn das Log erst mit den tatsächlichen Änderungen geschrieben werden darf, könnte man auch dessen Erstellung komplett in den Verbucher auslagern.

z.B.
Fub Z_CREATE_LOG bekommt die allgemeinen Daten übergeben, legt das Log an und speichert den Handle global (oder statisch) in einer Variable
Fub Z_BOOK_DATA verwendet den globalen Handle für das Schreiben seines Anteils am Log.
Fub Z_COMMIT_LOG speichert zum Abschluss das fertige Log.

Da der Verbuchungsprozess nacheinander alle registrierten Fubs abarbeitet bleibt das Log dabei für den kompletten Verbuchungslauf geladen.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Verbucher mit gemeinsamem Application Log

Beitrag von black_adept (Top Expert / 3943 / 105 / 886 ) »
@a-d-t: Da bei "in update task" eine neue Session aufgemacht wird ( bei update task local eine internal session, sonst eine update session ) sollten sich die diversen FuBa eigentlich keine Daten im Hauptspeicher teilen dürfen, so dass sie m.E. nur dann auf das gleiche Log zugreifen können sollten, wenn dieses schon persistiert wurde.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Verbucher mit gemeinsamem Application Log

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Jetzt ist der Fall klar - die AppLog-Klasse sucht nur im Hauptspeicher....


Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Verbucher mit gemeinsamem Application Log

Beitrag von black_adept (Top Expert / 3943 / 105 / 886 ) »
@Ralf: Wenn du das BAL_LOG.... verwendest: Die zugehörigen FuBa haben ein sehr! ausführliche Erklärung. Dort wird auch das mit dem Speicher erklärt.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Verbucher mit gemeinsamem Application Log

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
@Black_Adept: Das ist mir schon klar, ich kenne das Log ziemlich gut ;)

Jetzt kriege ich Verbucherabbrüche im BAL_DB_SAVE "Objekt ist momentan gesperrt durch User...." (also durch mich selbst).

Ich schätze, dass die verschiedenen Instanzen des Verbuchers sich gegenseitig das Log sperren.

Tja. Da ist wohl das Ende der Geschichte...


Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Verbucher mit gemeinsamem Application Log

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
black_adept hat geschrieben:
28.06.2021 15:31
@a-d-t: Da bei "in update task" eine neue Session aufgemacht wird ( bei update task local eine internal session, sonst eine update session ) sollten sich die diversen FuBa eigentlich keine Daten im Hauptspeicher teilen dürfen, so dass sie m.E. nur dann auf das gleiche Log zugreifen können sollten, wenn dieses schon persistiert wurde.
Ja, aber innerhalb der Verbucher Session teilen sie sich den Hauptspeicher 😉
Deswegen macht der erste Baustein (im Verbucher) in meinem Vorschlag das Log auf und der letzte schließt es ab.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Verbucher mit gemeinsamem Application Log

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
ralf.wenzel hat geschrieben:
28.06.2021 18:33
Ich schätze, dass die verschiedenen Instanzen des Verbuchers sich gegenseitig das Log sperren.

Tja. Da ist wohl das Ende der Geschichte...
Natürlich, wenn mehrere Verbucherinstanzen laufen, dann ist die Sperre natürlich ein Problem.

Eine Variante wäre dann, eine asynchrone Erstellung des Applikation Log zu forcieren.
In unserem Modul (IS-H + IS-H*MED) gibt es im Applog die Möglichkeit die Daten in eine Puffertabelle zu schreiben. Ein Report, der periodisch eingeplant wird, holt dann die Daten aus dem Puffer und schreibt sie ins "echte" Applog. Ich weiß jetzt aber nicht ob das eine Erweiterung für unser Modul war oder ob es das auch im Standard gibt aber auch wenn nicht, wäre das trotzdem eine mögliche Lösung.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Verbucher mit gemeinsamem Application Log

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Das kann man machen, aber der Anwender braucht dann auch zeitnah das Log, um die Nacharbeiten machen zu starten. Ich werde beim geteilten Log bleiben.


Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Seite 1 von 1

Vergleichbare Themen

2
Antw.
2558
Views
Belege im Verbucher? / Verbucher sperren / Semaphoren
von christop » 20.02.2006 08:51 • Verfasst in Financials
3
Antw.
3181
Views
Bin ich im Verbucher?
von Troilus » 21.01.2008 11:40 • Verfasst in ABAP® Core
1
Antw.
774
Views
Sapscript aus dem Verbucher
von GERDLA » 19.09.2005 09:38 • Verfasst in ABAP® Core
3
Antw.
2010
Views
Drucken aus Verbucher mit USER-EXIT
von Gast » 04.10.2005 15:12 • Verfasst in ABAP® Core
6
Antw.
2459
Views
Aufrufstelle eines Verbucher(prozess) ermitteln
von a-dead-trousers » 11.12.2013 13:02 • Verfasst in ABAP® Core

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.