SELECT in interne Tabelle in Abhängigkeit von..

Getting started ... Alles für einen gelungenen Start.
26 Beiträge • Seite 1 von 2 (current) Nächste
26 Beiträge Seite 1 von 2 (current) Nächste

SELECT in interne Tabelle in Abhängigkeit von..

Beitrag von fl0w (ForumUser / 13 / 0 / 0 ) »
Hallo zusammen,

vorweg, ich bin absoluter ABAP-Anfänger, aber ich befinde mich ja im richtigen Forum. :)


Ich soll aus der DB-Tabelle DBTAB alle Warennummern WRNUM in eine interne Tabelle selektieren, bei denen ein Eintrag mit XXX vorhanden ist.

Code: Alles auswählen.

SELECT WRNUM FROM DBTAB INTO CORRESPONDING FIELDS OF TABLE itab_DBTAB WHERE DBTAB-WRNUM = 'XXX'.
Fehlermeldung: Feld DBTAB-WARNUM unbekannt.


Wie geht es richtig?



Danke und Gruß fl0w

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


Beitrag von brinam (Specialist / 111 / 0 / 0 ) »
WHERE WRNUM = 'XXX'.

from dbtab sagt ja schon, aus welcher Tabelle das Feld gelesen wird.
Viele Grüße
Britta

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

DBTAB ist ein Datenelement und kann daher kein Element WRNUM haben. Überprüfe bitte, welche Tabelle Du benutzen sollst, um die 'WRNUM' aus der entsprechenden Tabelle zu lesen.

Ansonsten ist der Syntax von brinam richtig, da dem Feld i.d.R. kein Tabellenname vorangestellt wird.
Gruß
Ereglam


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

Beitrag von fl0w (ForumUser / 13 / 0 / 0 ) »
Hi ereglam,

DBTAB habe ich jetzt hier nur als Beispiel genannt - Den richtigen Namen der Tabelle habe ich natürlich.

Danke an brinam so ist der Fehler weg - Wie kann ich jetzt am besten testen, ob er auch die richtigen Datensätze selektiert?

Beitrag von brinam (Specialist / 111 / 0 / 0 ) »
Hallo fl0w,

naja, indem Du z.B. das Ergebnis Deines Programms mit dem Ergebnis der SE16 vergleichst.
Viele Grüße
Britta

Beitrag von fl0w (ForumUser / 13 / 0 / 0 ) »
Kann ich das Ergebnis nicht per WRITE-Anweisung nach Durchlauf des Reports anzeigen lassen?

Beitrag von khb (Specialist / 184 / 7 / 1 ) »
hallo flow,

klar geht das. Loop über die interne Tabelle und Ausgabe mit write.

Viel Erfolg

khb

Beitrag von fl0w (ForumUser / 13 / 0 / 0 ) »

Code: Alles auswählen.

LOOP AT itab_DBTAB.
 WRITE itab_DBTAB.
ENDLOOP.
Syntaxfehler: Die interne Tabelle itab_DBTAB hat keine Kopfzeile - Angabe eines der Zusätze 'INTO WA', 'ASSIGNING', 'REFERENCE INTO', 'TRANSPORTING NO FIELDS' erforderlich.



Code: Alles auswählen.

LOOP AT itab_DBTAB INTO wa_itab_DBTAB.
 WRITE wa_itab_DBTAB.
ENDLOOP.
Syntaxfehler: wa_itab_DBTAB und der Zeilentyp von itab_DBTAB ist nicht ineinander konvertierbar.

Beitrag von brinam (Specialist / 111 / 0 / 0 ) »
WRITE itab_DBTAB.->
Diese Anweisung funktioniert nur, wenn Deine itab eine Kopfzeile hat (?WITH HEADER LINE). In diesem Fall wird der gesamte Datensatz in einem string ausgegeben (ohne spaces zwischen den Feldern).
Willst du einzelne Felder ausgeben, dann musst Du schreiben:
write itab_dbtab-feld1, itab_dbtab-feld2 usw.

Wenn die itab keine Kopfzeile hat, dann nimmt man einen Arbeitsbereich wa_itab_DBTAB. Dieser muss aber vom Typ her einer Zeile der itab entsprechen.
write wa_itab_dbtab-feld1, wa_itab_dbtab-feld2 usw.

P.S. Die Online-Hilfe zur Syntax ist eigentlich sehr gut. Stell den Cursor auf das Schlüsselwort (z.B. loop, write und dann F1 und dann lesen, lesen ?)
Viele Grüße
Britta

Beitrag von fl0w (ForumUser / 13 / 0 / 0 ) »
Hallo zusammen,

nachdem ich nun die Warennummern mit dem Wert XXX erfolgreich in eine interne Tabelle selektiert habe, soll aus einer weiteren DB-Tabelle für jeden Eintrag (Warennummer) der internen Tabelle die passende, momentan zugeordnete Wareneinheit ausgelesen werden.

Code: Alles auswählen.

SELECT WARART FROM DBTAB_2 INTO CORRESPONDING FIELDS OF TABLE itab_WAR FOR ALL ENTRIES IN itab_DBTAB.
Ist die Syntax korrekt?


Eine weitere Frage wäre dann, wie ich das Ganze zum überprüfen wieder als einfache Listausgabe anzeigen lassen kann.

Beitrag von fl0w (ForumUser / 13 / 0 / 0 ) »

Code: Alles auswählen.

SELECT WARART FROM DBTAB_2 INTO CORRESPONDING FIELDS OF TABLE itab_WAR FOR ALL ENTRIES IN itab_DBTAB WHERE DTVON < SY-DATUM AND DTBIS > SY-DATUM.

Fehler: In der WHERE-Bedingung wird nicht auf die FOR ALL ENTRIES Tabelle
Bezug genommen.


Ich bin am Ende, lach. ;)

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

es muss aber noch ein Vergleich zwischen der DBTAB_2 und der internen Tabelle geben:

Code: Alles auswählen.

SELECT WARART FROM DBTAB_2 INTO CORRESPONDING FIELDS OF TABLE itab_WAR 
FOR ALL ENTRIES IN itab_DBTAB 
WHERE <Feld aus DBTAB_2> = <Feld aus itab_DBTAB>
AND      DTVON < SY-DATUM AND DTBIS > SY-DATUM.
s.a. F1-Hilfe zu select.

Nur nicht aufgeben, :wink:

Gruß khb

Beitrag von fl0w (ForumUser / 13 / 0 / 0 ) »
Feld unbekannt.

Auch nach Defeinition immer noch der gleiche Fehler.


Schreibe ich itab_dbtab-Feldname sagt er itab hat keine Kopfzeile.

Beitrag von brinam (Specialist / 111 / 0 / 0 ) »
Hallo fl0w,
Feld unbekannt.
Wie, was???
nachdem ich nun die Warennummern mit dem Wert XXX erfolgreich in eine interne Tabelle selektiert habe, soll aus einer weiteren DB-Tabelle für jeden Eintrag (Warennummer) ...
Ich tippe mal, dass das Feld Warennummer dein Feld ist, das in beiden Tabellen vorkommt und über das du deshalb die Verknüpfung machen musst.

Code: Alles auswählen.

SELECT  ... FROM DBTAB2
          FOR ALL ENTRIES IN itab_dbtab1
          WHERE  WARENNUMMER EQ itab_dbtab1-warennummer.
Viele Grüße
Britta

Beitrag von khb (Specialist / 184 / 7 / 1 ) »
Hallo flOw,
Feld unbekannt.
Auch nach Defeinition immer noch der gleiche Fehler.
Schreibe ich itab_dbtab-Feldname sagt er itab hat keine Kopfzeile
Vielleicht kannst Du uns das Coding mal posten? So ist es etwas schwierig.

Gruß
khb

Vergleichbare Themen

34
Antw.
5141
Views
Abhängigkeit von Select-Options
von patlau » 14.05.2013 09:47 • Verfasst in ABAP® für Anfänger
16
Antw.
5440
Views
SELECT auf interne Tabelle?
von Spookykid » 24.03.2011 14:18 • Verfasst in ABAP® für Anfänger
2
Antw.
2832
Views
SELECT über interne Tabelle
von codierknecht » 26.10.2006 15:32 • Verfasst in ABAP® für Anfänger
3
Antw.
2883
Views
Interne Tabelle dynamisch im Select verwenden
von Dude » 14.11.2006 11:26 • Verfasst in ABAP® Core
5
Antw.
36108
Views
Select-Anweisung auf eine interne Tabelle ???
von bohne » 21.01.2007 23:46 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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.