Inkonsistenten SHMA reaktivieren und Daten erhalten

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

Inkonsistenten SHMA reaktivieren und Daten erhalten

Beitrag von bapimueller (Specialist / 113 / 9 / 1 ) »
Hallo,
für die Änderung des Kreditlimits für einen Kunden (TA:FD32) habe ich einen Genehmigungsworkflow gebaut. Es werden die alten und neuen Werte aus der FD32 sowie einer eigenen FI Anwendung angezeigt und können entweder genehmigt oder abgewiesen werden.
Damit dies sessionübergreifend funktioniert, verwende ich ein Shared Memory Objekt bzw. ein SHMA.
Es kommt jetzt manchmal vor, dass der SHMA invalidiert ist. Ich vermute mal, dass hängt z.B. mit einem Transport von Dev nach Test zusammen.
Gibt es eine Möglichkeit zur Laufzeit diesen inkonsistenten Zustand zu beseitigen und die Daten zu erhalten?
Wenn dies nicht möglich ist, wie kann ich die zuvor abgelegten Daten aus einem inkonsistenten SHMA auslesen und sichern?
Viele Grüße,
Thomas
Thomas Müller
SAP Beratung
M: +49 (0) 173 / 870 39 31
T: +49 (0) 6228 / 924 560
F: +49 (0) 6228 / 924 559

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


Re: Inkonsistenten SHMA reaktivieren und Daten erhalten

Beitrag von a-dead-trousers (Top Expert / 4419 / 224 / 1189 ) »
Ne, soweit ich weiß sind die Daten, wenn sie einmal invalidiert worden sind, weg.
Ich glaube ja auch du verwendest das SHMA für etwas, für das es nicht gemacht ist.
Das SHMA sollte eher für die Aufbewahrung von Stammdaten verwendet werden, die nicht so oft verändert werden und im Fall der Fälle von einer Datenbanktabelle nachgelesen werden können. Für Daten die sich oft ändern (vulgo Bewegungsdaten) wie z.B. im einem Workflow ist das Ganze eher ungeeignet. Vor Allem deine Aussage, dass du die Daten von einem invalidierten Memory auslesen möchtest beweist eingentlich schon sehr gut, dass da was falsch verwendet wird.
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: Inkonsistenten SHMA reaktivieren und Daten erhalten

Beitrag von bapimueller (Specialist / 113 / 9 / 1 ) »
Hallo,
so wie ich das Thema SHMO/SHMA verstehe, handelt es sich hier um einen Speicherbereich auf dem Applikationsserver, der aus den versch. Sessions beschrieben und ausgelesen werden kann. Denn mit dem ABAP Memory habe ich keine Chance Daten aus einer anderen Transaktion (in einer anderen Session) abzugreifen oder auch mit einem 'dirty' assign komme ich weiter.
In der Beschreibung habe ich auch nichts gelesen, daß das SHMA primär nur für Stammdaten verwendet werden soll. Denn, was macht es für einen Unterschied, ob es sich um Stamm- oder Bewegungsdaten handelt und wie oft diese aktualisiert werden?
Das mit der Validierung habe ich befürchtet, hatte aber die Hoffnung, daß es doch eine Möglichkeit gibt, irgendwie an die Daten wieder heran zukommen. Aber das verhält sich wahrscheinlich analog zu einer Klasseninstanz. Wenn die weg ist oder invalidiert, dann komme ich auch nicht mehr an die Daten.
Viele Grüße,
Thomas/bapimueller
Thomas Müller
SAP Beratung
M: +49 (0) 173 / 870 39 31
T: +49 (0) 6228 / 924 560
F: +49 (0) 6228 / 924 559

Re: Inkonsistenten SHMA reaktivieren und Daten erhalten

Beitrag von bapimueller (Specialist / 113 / 9 / 1 ) »
Noch eine kurze Anmerkung:
Gerade in einem Genehmigungprozeß, sollte ich mich darauf verlassen können, daß ich wieder an die 'zwischengespeicherten' Daten herankomme.
Thomas Müller
SAP Beratung
M: +49 (0) 173 / 870 39 31
T: +49 (0) 6228 / 924 560
F: +49 (0) 6228 / 924 559

Re: Inkonsistenten SHMA reaktivieren und Daten erhalten

Beitrag von a-dead-trousers (Top Expert / 4419 / 224 / 1189 ) »
bapimueller hat geschrieben:
03.03.2022 08:17
Gerade in einem Genehmigungprozeß, sollte ich mich darauf verlassen können, daß ich wieder an die 'zwischengespeicherten' Daten herankomme.
Dafür hat SAP eine Datenbank wo Daten über einen längeren Zeitraum gesichert abgelegt werden können.
bapimueller hat geschrieben:
03.03.2022 08:12
so wie ich das Thema SHMO/SHMA verstehe, handelt es sich hier um einen Speicherbereich auf dem Applikationsserver, der aus den versch. Sessions beschrieben und ausgelesen werden kann. Denn mit dem ABAP Memory habe ich keine Chance Daten aus einer anderen Transaktion (in einer anderen Session) abzugreifen oder auch mit einem 'dirty' assign komme ich weiter.
Das ABAP Memory ist ja auch nur eine Art von Zwischenspeicher, der keine gesicherte Aufbewahrung garantiert.
bapimueller hat geschrieben:
03.03.2022 08:12
In der Beschreibung habe ich auch nichts gelesen, daß das SHMA primär nur für Stammdaten verwendet werden soll. Denn, was macht es für einen Unterschied, ob es sich um Stamm- oder Bewegungsdaten handelt und wie oft diese aktualisiert werden?
Das geht aus dem "Kontext" hervor. Gebietskonstruktor, Gebietsaufbau (automatisch bei Leseanfrage, manuell) usw.
Das heißt soviel wie, dass das ganze Ding auch ohne expliziter Befüllung loslegen kann indem es sich selbstständig die Daten von der Datenbank besorgt und vorhalten kann. Zudem liegt es auf dem Applikationsserver. Wenn du also mehrere Instanzen hast, kannst du auch nicht auf die Daten zugreifen die auf einer anderen Instanz eingegeben wurden. Zu allem Überfluss hab ich irgendwo mal gelesen, dass die Schreiboperation auf eine Gebietsinstanz einen ziemlichen Overhead hat, vorallem weil die einzelnen Sessions die auf dem Applikationsserver laufen über Änderungen informiert werden müssen. Und die Sperrverwaltung selbst ist auch nicht gerade billig.
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: Inkonsistenten SHMA reaktivieren und Daten erhalten

Beitrag von a-dead-trousers (Top Expert / 4419 / 224 / 1189 ) »
In pre-HANA Zeiten hatte die SHMA meines Erachtens noch wirklich Sinn. Mittlerweile nutze ich das nur mehr, wenn ich (große) Stammdatenmengen, die oft benötigt werden und meist noch irgendeine Art von Aufbereitung benötigen (Texttabellen, Ikonen, Berechnungen), vorhalten muss. Vorallem in Hinblick auf breite Tabellen hat die HANA mit ihrem Columnstore ja einige Nachteile gegenüber klassischen Rowstore Varianten (Stichwort SELECT *).

Dadurch muss dann nicht jede Benutzer Session das (teure) Laden und Aufbereiten jedes Mal beim Starten der Transaktion ausführen, sondern kann sich bequem aus dem SHMA bedienen.
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

Seite 1 von 1

Vergleichbare Themen

0
Antw.
1222
Views
ALV-Liste Spaltenreihenfolge aufrecht erhalten
von fitzinger » 28.09.2007 11:22 • Verfasst in ABAP® für Anfänger
0
Antw.
3022
Views
Wert aus eingebundener Control erhalten
von Dyrdek » 09.10.2015 09:46 • Verfasst in ABAP® für Anfänger
0
Antw.
1510
Views
3
Antw.
3290
Views
Planstellenkürzel ändern, aber Verknüpfungen erhalten
von JoergS » 04.04.2007 14:39 • Verfasst in Human Resources
4
Antw.
3770
Views
ALV-liste-Daten mit der DB-Tabelle-Daten vergleichen
von Nadine_2706 » 31.08.2011 11:57 • Verfasst in ABAP® für Anfänger

Aktuelle Forenbeiträge

Mahnung erstellen
Gestern von wreichelt 2 / 50
Absprung VA02 Position
Gestern von gs3rr4 gelöst 3 / 68
OPD Druck im SPOOL
Gestern von Manfred K. 1 / 42

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.

Aktuelle Forenbeiträge

Mahnung erstellen
Gestern von wreichelt 2 / 50
Absprung VA02 Position
Gestern von gs3rr4 gelöst 3 / 68
OPD Druck im SPOOL
Gestern von Manfred K. 1 / 42