Prüfen ob Eintrag in DB Tabelle schon vorhanden

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

Prüfen ob Eintrag in DB Tabelle schon vorhanden

Beitrag von clinke (ForumUser / 28 / 0 / 0 ) »
Wie mach ich das am Besten??
Die Anweisung Read Table ist laut Hilfe obsolet. Ich will nur wissen ob der Eintrag existiert und keine Daten an eine wa o.ä. übergeben. Über sy-subrc möchte ich abfragen ob Eintrag existiert oder nicht.

Danke im Voraus

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


Beitrag von DeathGuardian (Expert / 759 / 0 / 3 ) »
READ TABLE obsolet?
Kann nicht sein, bzw die Kurzform ist in OO nicht mehr erlaubt.
Sprich du brauchst einen wa oder du verwendest beim REA TABLE den Zusatz TRANSPORTING NO-FIELDS (zum reinen sy-subrc abfragen ist das sogar performant).

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo zusammen,

es ist tatsächlich so, dass es mal eine Anweising 'READ TABLE dbtab.' gab, die jetzt obsolet ist. Abgesehen davon funktionierte sie nur bei R/2-artigen Txxxx-Tabellen, zumal sie auch ein Relikt aus dem R/2 ist.

Zum Lesen eines einzelnen Satzes von der Datenbank benutzt man 'SELECT SINGLE' oder 'SELECT UP TO n ROWS'. Je nachdem, ob der Schlüssel eindeutig mitgegeben werden kann. Natürlich kann man den SELECT SINGLE auch bei unqualifizierten Zugriffen benutzt werden, suggeriert aber einen eindeutigen Zugriff...

Anmerkung:
'SELECT UP TO n ROWS' muss als SELECT.ENDSELECT-Schleife programmiert werden.

PS:
sollten mehrfach einzelne Sätze gelesen werden, ist eventuell ein Array-SELECT (SELECT INTO TABLE) mit anschließenden READ TABLE itab performanter.
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Re: Prüfen ob Eintrag in DB Tabelle schon vorhanden

Beitrag von ewx (Top Expert / 4904 / 328 / 646 ) »
clinke hat geschrieben: Über sy-subrc möchte ich abfragen ob Eintrag existiert oder nicht.
Hi clinke,

wenn ich prüfen will, ob ein Eintrag gleichen Schlüssels schon vorhanden ist, dann mach ich immer folgendes (Beispiel VBAK, in lv_vbeln steht meine Belegnummer, die ich prüfen möchte):

Code: Alles auswählen.

SELECT SINGLE vbeln FROM vbak 
   INTO lv_vbeln
 WHERE vbeln = lv_vbeln.
IF sy-subrc = 0.
...
ENDIF.
Sieht zwar bescheuert aus, ist aber ganz praktisch, da man keine zusätzliche Variable benötigt.
Wenn der Eintrag vorhanden ist, wird die Variablen eben mit dem gleichen Wert wie vorher überschrieben, wenn nicht, dann passiert halt nix und SY-SUBRC ist 4.

Gruß,
Enno.

Beitrag von se80 (ForumUser / 21 / 0 / 0 ) »
Hallo,

noch einfacher ist

Code: Alles auswählen.

SELECT SINGLE count(*) FROM vbak 
  WHERE vbeln = i_vbeln.
IF sy-subrc = 0.
  ...
ENDIF.
Gruß

Gerd

Beitrag von clinke (ForumUser / 28 / 0 / 0 ) »
Danke für die Tipps, Problem gelöst.

Seite 1 von 1

Vergleichbare Themen

22
Antw.
23555
Views
Binary search SY-SUBRC = 4 obwohl Eintrag vorhanden (HEX identisch)
von Romaniac » 31.01.2024 13:39 • Verfasst in ABAP® Core
0
Antw.
3630
Views
3
Antw.
2736
Views
Benutzerauswahl auf Eintrag in DB prüfen - Pop-Up wenn ja
von vcelik » 30.06.2017 13:55 • Verfasst in ABAP® für Anfänger
2
Antw.
10737
Views
Datensatz in interner Tabelle vorhanden?
von Nautilus » 15.05.2006 09:37 • Verfasst in ABAP® Core
4
Antw.
6064
Views
Eintrag aus internen Tabelle lesen
von MadMax » 14.05.2014 09:52 • 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

Zukunft des ABAP Entwicklers
vor 18 Stunden von ralf.wenzel 14 / 864
HR in der Zukunft?
vor 20 Stunden von DeathAndPain 6 / 2785
Prüfzeugnisse Anlagen finden
vor 3 Tagen von ewx gelöst 2 / 311
Spool vereinen OTF und PDF
vor 6 Tagen von anna2205 1 / 284

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

Zukunft des ABAP Entwicklers
vor 18 Stunden von ralf.wenzel 14 / 864
HR in der Zukunft?
vor 20 Stunden von DeathAndPain 6 / 2785
Prüfzeugnisse Anlagen finden
vor 3 Tagen von ewx gelöst 2 / 311
Spool vereinen OTF und PDF
vor 6 Tagen von anna2205 1 / 284

Unbeantwortete Forenbeiträge

Spool vereinen OTF und PDF
vor 6 Tagen von anna2205 1 / 284
XSLT und Loipro05 Transformation
letzen Monat von Torsten1965 1 / 6450
VOLL Artikel in einem Display Typ 12
November 2025 von ThomasM84 1 / 24215