Knoten im Hirn --> CK11N, nach sichern in Erweiterung weitere Kalkulationen ohne Endlosschleife

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).
2 Beiträge • Seite 1 von 1
2 Beiträge Seite 1 von 1

Knoten im Hirn --> CK11N, nach sichern in Erweiterung weitere Kalkulationen ohne Endlosschleife

Beitrag von Romaniac (Specialist / 216 / 62 / 27 ) »
Hallo zusammen,

ich stecke gedanklich in einer Sackgasse bei folgendem Problem:

Wenn ein User im Dialog ein Material kalkuliert, sollen weitere Kalkulationen über eine Tabelle angelegt werden. Dazu rufe ich in einer Erweiterung beim Sichern der CK11N einen FB auf, der zuerst prüft oder diese Kalkulation relevant ist und loopt dann über eine Tabelle mit folgenden Feldern:

Kalk.variante_Source Werk_source Kalk.variante_target Werk_target

mit folgenden beispielhaften Inhalt:
1 PPC1 5051 ZPC1 5051
2 PPC1 5051 PPC1 5752
3 PPC1 5752 ZPC1 5752

Beim der ersten manuellen Kalkulation wird dann Eintrag 1 verarbeitet und eine ZPC1 erstellt. Beim 2. Loop wird dann die PPC1 in 5752 angelegt usw.

Aber: schon beim ersten Loop wird der FB wieder aufgerufen und loopt die Tabelle parallel zum anderen Prozess wieder ab, somit hätte ich eine Endlosschleife.

Ich müsste also sicherstellen, dass die Tabelle nur beim ersten Aufruf abgearbeitet wird, bei dem Zweiten dann nicht mehr. Ich habe schon an eine statische Klasseninstanz gedacht die ich abfrage, aber wie halte ich die bei parallel ausgeführten Transaktionen von Usern dann auseinender? Statische Variable mit Username?

Hat jemand vielleicht einen Tipp für meinen Knoten im Hirn?

Vielen Dank

Gruß Wolfgang
Geht nicht gibts nicht

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


Re: Knoten im Hirn --> CK11N, nach sichern in Erweiterung weitere Kalkulationen ohne Endlosschleife

Beitrag von Romaniac (Specialist / 216 / 62 / 27 ) »
Ich habe übers Wochenende nochmal nachgedacht und Google gequält, im Endeffekt muss ich mir nur Material, Kalk.variante und Werk merken das gerade prozessiert wird, einen zweiten Start kann ich damit verhindern. Die Frage war jetzt aber, wo ich das verwalte. Optionen sind Klasse mit statischem Attribut, MEMORY, SHARED MEMORY oder Datenbanktabelle. Dabei bin ich über den Post eines Users hier im Forum gestolpert:(https://www.abapforum.com/forum/viewtopic.php?t=25457

Da ich einen FB mit starting new Task aufrufe habe ich keinen Zugriff mehr auf die Klasse mit statischem Attribut und auch nicht auf IMPORT/EXPORT - MEMORY. Dann bleibt also nur Shared Memory oder eine DB Tabelle in der ich den aktuellen Status der Kalkulationserweiterung verwalte samt Sperrobjekt. Da ich die Datenbankabfrage in meinem FB mache, würde die Laufzeit nicht auf Kosten der Kalkulation selbst gehen.
Geht nicht gibts nicht

Seite 1 von 1

Vergleichbare Themen

4
Antw.
4112
Views
User-Exit PPCO0001 Erweiterung beim Sichern des Auftrags
von crayfish » 18.04.2006 21:03 • Verfasst in ABAP® Core
1
Antw.
1169
Views
vergleichen von Kalkulationen
von Elmar » 25.01.2006 18:05 • Verfasst in Financials
0
Antw.
766
Views
Customizing CK11N
von charlie01 » 30.08.2020 20:05 • Verfasst in Financials
1
Antw.
2198
Views
0
Antw.
705
Views
Kundenkalkulation VA02 -> CK11N
von charlie01 » 07.10.2022 08:31 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag

Romaniac

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

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.