Datenbankabfrage vor einer Reservierung

Getting started ... Alles für einen gelungenen Start.
5 Beiträge • Seite 1 von 1
5 Beiträge Seite 1 von 1

Datenbankabfrage vor einer Reservierung

Beitrag von SYsa (ForumUser / 2 / 0 / 0 ) »
Hallo @ll,
könnte mir vielleicht jemand einen Tipp geben zum folgendem Problem:

Es existiert eine Tabelle, die eine maximale Reservierung von z.b. "1" Mitarbeiter darf sich reservieren hat.

Rufen nun zwei Mitarbeiter die dynpro/url auf ist die Reservierung noch auf 0 gesetzt. Reserviert sich nun Mitarbeiter A wird die Reservierung gesetzt und auch die Anzeige auf 1 gesetzt. Mitarbeiter B hat noch die "alte dynpro/url" auf und bekommt noch die 0 gezeigt. Reserviert er sich nun auch sind 2 Reservierungen enthalten obwohl nur eine festgelegt wurde.

Danke.

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


Re: Datenbankabfrage vor einer Reservierung

Beitrag von Somani (ForumUser / 81 / 12 / 20 ) »
Hallo

Mögliche Lösungsansätze gibt es da verschiedene. Du kannst z.B. beim "Reservieren" nachlesen ob zwischenzeitlich sich was geändert hat und entsprechende Fehlermeldungen erzeugen.
Je nachdem könnte eine "schönere" Lösung aber das Arbeiten mit einer Sperre sein, so dass du gleichzeitig immer nur einen User die Transaktion im "ändern" Modus für ein Event aufrufen lässt (siehe: https://help.sap.com/saphelp_nwmobile71 ... ameset.htm).
Wenn du mit Fioris arbeitest könntest du dir den Datenpunkt wohl auch zyklisch asynchron aktualisieren (müsste in der Theorie gehen, Erfahrung habe ich da keine).

Grüsse

Re: Datenbankabfrage vor einer Reservierung

Beitrag von SYsa (ForumUser / 2 / 0 / 0 ) »
"Du kannst z.B. beim "Reservieren" nachlesen ob zwischenzeitlich sich was geändert hat und entsprechende Fehlermeldungen erzeugen."

Das habe ich auch vor, aber mir fehlt da irgendwie der Ansatz, komme da nicht weiter?!
Habe es mitm Timer "geschafft", der refreshed die Seite alle 10 Sekunden z.B. aber da treten leider Probleme auf und auf eine Sekunde setzen geht gar nicht, da bekomme ich Fehler wenn man nicht schnell genug in die Tabelle klickt.

Re: Datenbankabfrage vor einer Reservierung

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
Es gibt verschiedene Moeglichkeiten wie man an die Sachen gehen kann.
Hier mal zwei Moeglichkeiten, die mir auf anhieb einfallen.

1. Daten blockieren, Daten lesen, Daten aendern, Daten updaten, Daten entblocken.

2. Daten lesen und zwischenspeichern in DATEN_SAVE, Daten aendern, Daten blockieren und pruefen ob Daten auf der Datenbank immer noch gleich der zwischengespeichert Daten in DATEN_SAVE sind.
Falls ja, Daten updaten und Daten entblockieren.
Falls nein, Meldung: Daten wurden zwischenzeitlich geaendert, bitte neu ......

Kommt auch sehr auf die Art der Daten an. Daten die selten geaendert werden, kann man "grosszuegiger" Blockieren, evtl. sogar ganze Tabelle.
Sensitive Daten/oft genutzte Daten sollte man nur speichern soweit und solange noetig.

Ganz eindeutig Sperre

Beitrag von DeathAndPain (Top Expert / 1947 / 257 / 413 ) »
Also das ist der klassische Fall, wo man eine Sperre braucht. Es darf immer nur ein Benutzer diese Reservierung im Änderungsmodus offen haben (deshalb gibt es in allen Ecken des SAP-Systems die Unterscheidung zwischen Anzeige- und Änderungsmodus). Einen passenden Link hat Somani Dir ja schon gegeben. Dein Problem ist ein Klassiker, deshalb hat die SAP sich ja die Mühe gemacht, solch ein Sperrkonzept zu implementieren. Leider sind diese SAP-Dokus meist sehr theoretisch, aber in der Praxis legst Du rasch solch ein Sperrobjekt an, und dann werden automatisch Funktionsbausteine erzeugt, mit Denen Du Dein Reservierungsobjekt sperren und wieder freigeben kannst. Versuch Dir am besten ein Beispiel zur Nutzung von Sperrobjekten in ABAP zu ergooglen.

Wenn Du das nicht so machst, dann würde das bedeuten, dass Du zu faul bist und den Aufwand scheust. In dem Fall kannst Du natürlich versuchen, irgend einen Pfuschel-Workaround zu implementieren, aber wie man das macht, solltest Du dann nicht hier fragen.

Seite 1 von 1

Vergleichbare Themen

1
Antw.
1201
Views
Datenbankabfrage
von SLUK » 19.02.2018 18:48 • Verfasst in ABAP® für Anfänger
0
Antw.
2038
Views
1
Antw.
1273
Views
Datenbankabfrage mit inner join
von egge » 05.02.2008 12:12 • Verfasst in ABAP® für Anfänger
9
Antw.
4218
Views
Problem bei der Datenbankabfrage
von vman » 16.05.2007 10:00 • Verfasst in ABAP® für Anfänger
2
Antw.
1583
Views
Datenbankabfrage einschränken erzet = 8 bis 18 Uhr
von thomasxy » 04.01.2008 10:36 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Dialog-Container mit Toolbar/Status
vor 17 Minuten von black_adept gelöst 27 / 3944
IT0024 Qualifikationen CP-ID
vor 2 Stunden von ArjenR 1 / 23
Trennen Strasse und Hausnummer
vor 2 Stunden von ewx 17 / 10828

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

Dialog-Container mit Toolbar/Status
vor 17 Minuten von black_adept gelöst 27 / 3944
IT0024 Qualifikationen CP-ID
vor 2 Stunden von ArjenR 1 / 23
Trennen Strasse und Hausnummer
vor 2 Stunden von ewx 17 / 10828

Unbeantwortete Forenbeiträge

IT0024 Qualifikationen CP-ID
vor 2 Stunden von ArjenR 1 / 23
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2963
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9552