Abarbeitung einer internen Tabelle

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

Abarbeitung einer internen Tabelle

Beitrag von Micha_ela (ForumUser / 29 / 0 / 0 ) »
Guten Morgen, bin ganz ganz neu in der Abap Programmierung.
Im programm wird aus Schnittstellen eine interne Tabelle aufgebaut, in der geänderte Positionen stehen . Diese sollen in SAP übernommen werden.
Vor dem Schreiben in eine SAP Tabelle will ich mit enqueue_read überprüfen, ob der betroffene Satz gerade in bearbeitung(gesperrt ist).
Falls ja, soll der Update zurückgestellt werden und es später wieder versucht werden.
Wie mache ich das am einfachsten?

Danke für eure Ideen
Lissi

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


Re: Abarbeitung einer internen Tabelle

Beitrag von A6272 (Specialist / 238 / 8 / 36 ) »
Hallo,
SAP Standard Tabellen (vereinfacht, alles was nicht mit Z beginnt) haben üblicherweise Methoden, Funktionsbausteine welche Änderungen übernehmen und auch prüfen. Die liefern auch einen RC, falls z.B. eine Sperre vorhanden war. SAP Standard Tabellen sollte man nicht direkt mit modyfi, insert, delete ändern.

Generell liefert der spezifische enqueue Baustein der Tabelle, die Info, ob es gesperrt ist oder nicht. Daher ist ein expliziertes Lesen der Sperre unnötig.

Ich würde die originale interne Tabelle duplizieren. Über das Duplikat einen loop.
Den RC der Verbuchungslogik auswerten und bei bei erfolgreicher Verbuchung den Datensatz aus dem original löschen.
Über diese Logik eine Schleife legen, die beendet wird, wenn die Originaltabelle keine Einträge mehr hat.
Und zur Sicherheit noch ein 2. Abbruchkriterium, nicht dass das endlos läuft.
Vor dem 2 und folgende Durchgänge schadet auch ein Warteschritt nicht.
Clear Duplikat[] an passender Stelle nicht vergessen.

Man kann auch im Fehlerfall eine 2. Tabelle füllen anstatt aus der Gesamtheit zu löschen, kommt auf selbe heraus.

Anstatt über diese Logik eine Schleife legen, könnte man das in eine Methode/FuBa packen und rekursiv aufrufen.

Re: Abarbeitung einer internen Tabelle

Beitrag von Micha_ela (ForumUser / 29 / 0 / 0 ) »
Hallo, danke für deine Ideen, ich hatte auch die Idee mit dem Duplikate, aber deine mit der "Fehlertabelle" gefällt mir besser

Seite 1 von 1

Vergleichbare Themen

2
Antw.
549
Views
CT04 Zusatzdaten Reihenfolge der Abarbeitung
von norbert1962_sap » 28.08.2020 14:11 • Verfasst in ABAP® Core
2
Antw.
3741
Views
Daten aus internen Tabelle in Tabelle speichern
von Stahle71 » 03.06.2015 11:03 • Verfasst in ABAP® für Anfänger
4
Antw.
2573
Views
Probleme mit der internen Tabelle
von swonny » 09.01.2007 09:11 • Verfasst in ABAP® für Anfänger
4
Antw.
4695
Views
DELETE aus internen Tabelle
von meistercoach » 15.04.2015 09:09 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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.

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
Gestern von Bright4.5 1 / 516
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2149
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8744