Select bei interner Tabelle

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

Select bei interner Tabelle

Beitrag von Buetzy (ForumUser / 35 / 0 / 0 ) »
Hallo,

folgendes Problem:
Ich habe Datensätze in einer internen Tabelle. Hier gibt es Feld_1 und Feld_2. Es kann sein das im Feld_1 eines Datensatzes die gleiche Nr. steht wie im Feld_2 eines anderen. Diese möchte ich haben. Also die Nr. aus Feld_2 nehmen und in der internen Tabelle in Feld_1 suchen.

LOOP AT it_intern into wa_intern.

Select Single From it_intern
where feld_2 EQ wa_intern_feld1.
ENDLOOP.
Hier kommt folgenden Fehlermeldung

Programm XXX
"it_intern" ist im ABAP-Dictionary nicht als Tabelle, Projektions- oder
Datenbank-View deklariert.

Wie gehts richtig, Danke
Stefan

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


Beitrag von khb (Specialist / 184 / 7 / 1 ) »
Hallo Buetzy,

select-statements funktionieren nicht bei internen Tabellen.

Hierzu nimmst Du read table .... with key ... und am besten mit binary search.

Die F1-Hilfe ist hier recht gut.

VLG khb

Es wird nur ein Datensatz gelesen

Beitrag von Buetzy (ForumUser / 35 / 0 / 0 ) »
Hallo,
erstmal Danke für die schnelle Antwort. Mit der Read Anweisung klappt es erstmal. Allerdings wird nur ein Datensatz gefunden, es müssten aber mehrere sein. Folgenden Code habe ich verwendet:

WHILE sy-subrc = 0.
READ TABLE it_intern
WITH KEY feld_1 = it_intern_1-Feld_2.
if sy-subrc = 0.
MOVE-CORRESPONDING: it_intern TO it_intern_3.
APPEND it_intern_3.
Else.
exit.
endif.
CLEAR: it_intern_1-Feld_2.
ENDWHILE.

Wo liegt mein Fehler, Danke
Stefan

Beitrag von khb (Specialist / 184 / 7 / 1 ) »
Stehen die gesuchten Datensätze hintereinander?

Dann: Sy-Tabix in Variable schreiben, variable um 1 erhöhen, intern_3 füllen und lesen mit read table ... index ... .

stehen sie nicht hintereinander, die interne Tabelle mit loop at ... where ... lesen.

Schau Dir mal die F!-Hilfe zum loop an.

GL khb

Beitrag von SkyHobbit (Specialist / 170 / 0 / 1 ) »
Hallo Buetzy,

in der Doku zu Read steht, dass nur ein Satz gelesen wird ... eigentlich sollten Schlüssel auch eindeutig sein.

Wenn Du mehrere Treffer erwartest, loope doch mit ' LOOP AT itab' über Deine Tabelle.

Gruß.
Ulf

Beitrag von Buetzy (ForumUser / 35 / 0 / 0 ) »
Vielen Dank für Eure Hinweise,

ich habe es jetzt folgendermassen gelöst:

LOOP AT it_intern.
MOVE-CORRESPONDING: it_inter TO it_intern2.
append it_intern2.
ENDLOOP.

Loop At it_intern.
if feld_S = '1'
Loop At it_intern2
where feld_1 EQ it_intern-feld_2.
if sy-subrc = 0.
MOVE-CORRESPONDING: it_intern2 TO it_intern3.
APPEND it_intern3..
endif.
ENDLOOP.
endif.
endloop.
Stefan

Beitrag von khb (Specialist / 184 / 7 / 1 ) »
Hallo Buetzy,

innerhalb des loop at ... where .. brauchst Du keine Abfrage auf SY-SUBRC = 0. Wenn es nicht geklappt hätte, wärts Du ja nicht im Loop, oder :wink: .

VLG khb

Seite 1 von 1

Vergleichbare Themen

10
Antw.
3887
Views
Select mit interner Tabelle
von Kenny » 13.11.2013 12:17 • Verfasst in ABAP® für Anfänger
5
Antw.
2934
Views
Prüfung interner Tabelle
von knut » 27.06.2005 14:44 • Verfasst in ABAP® Core
3
Antw.
2714
Views
Types mit interner Tabelle?
von Gast » 19.07.2005 17:43 • Verfasst in ABAP® für Anfänger
6
Antw.
3869
Views
Key Felder von interner Tabelle auf dem ALV
von thesaint » 14.07.2005 16:32 • Verfasst in ABAP Objects®
14
Antw.
10402
Views
Löschen aus interner Tabelle
von Beginner014 » 21.11.2014 09:26 • 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

Trennen Strasse und Hausnummer
vor 2 Minuten von black_adept 15 / 10755
Dialog-Container mit Toolbar/Status
vor 6 Minuten von black_adept gelöst 25 / 3893
User Exit EXIT_RQCPRM10_001
vor 21 Stunden von a-dead-trousers 2 / 349
Daten an Tabelle binden
Gestern von Lukas Sanders 2 / 1402

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

Trennen Strasse und Hausnummer
vor 2 Minuten von black_adept 15 / 10755
Dialog-Container mit Toolbar/Status
vor 6 Minuten von black_adept gelöst 25 / 3893
User Exit EXIT_RQCPRM10_001
vor 21 Stunden von a-dead-trousers 2 / 349
Daten an Tabelle binden
Gestern von Lukas Sanders 2 / 1402

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2932
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9525