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 / 4849 / 313 / 642 ) »
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

1
Antw.
4999
Views
Select-Abfrage ob Eintrag vorhanden oder nicht
von Danny » 27.01.2005 08:04 • Verfasst in ABAP® Core
22
Antw.
6393
Views
Binary search SY-SUBRC = 4 obwohl Eintrag vorhanden (HEX identisch)
von Romaniac » 31.01.2024 13:39 • Verfasst in ABAP® Core
0
Antw.
2867
Views
3
Antw.
2460
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.
9811
Views
Datensatz in interner Tabelle vorhanden?
von Nautilus » 15.05.2006 09:37 • Verfasst in ABAP® Core

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Programm anlegen mit Vorlage
vor 2 Stunden von DeathAndPain 2 / 45
IT0024 Qualifikationen CP-ID
vor 2 Stunden von DeathAndPain 2 / 291
BUSOBJEKT zu CMIS PHIO ermitteln
vor 4 Stunden von snooga87 1 / 34
Bedarfszusammenfassung "Einzelbedarfe"
vor 5 Stunden von harri 2 / 1221

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

Programm anlegen mit Vorlage
vor 2 Stunden von DeathAndPain 2 / 45
IT0024 Qualifikationen CP-ID
vor 2 Stunden von DeathAndPain 2 / 291
BUSOBJEKT zu CMIS PHIO ermitteln
vor 4 Stunden von snooga87 1 / 34
Bedarfszusammenfassung "Einzelbedarfe"
vor 5 Stunden von harri 2 / 1221

Unbeantwortete Forenbeiträge

BUSOBJEKT zu CMIS PHIO ermitteln
vor 4 Stunden von snooga87 1 / 34
aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3213
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9803