Problem mit dynamischen SELECT-Statement

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
8 Beiträge • Seite 1 von 1
8 Beiträge Seite 1 von 1

Problem mit dynamischen SELECT-Statement

Beitrag von Falloutboy3k (ForumUser / 11 / 0 / 0 ) »
Hallo,

ich hab im Moment ein Problem und ich komm absolut nicht dahinter, was falsch ist... und zwar:

SELECT (lt_fieldnames)
FROM (ls_tdas_cust-tablename)
INTO (lv_field_value, lv_obj_key_value).


Ich möchte gerne mit diesem Select aus einer zur Laufzeit bestimmten Tabelle aus zwei Spalten (die Namen sind in der iTab lt_fieldnames enthalten) selektieren.
Beim Ausführen bekomme ich immer einen Dump mit der Meldung "Fehler im Modul RSQL der Datenbankschnittstelle". Hat jemand von euch vielleicht eine Idee?

Was ich schon probiert habe:
- als Selektionsziel hab ich eine generische interne Tabelle angegeben, die mit CREATE DATA erst direkt vor dem SELECT einen Typ zugewiesen bekam. Leider lies das die Workbench nicht zu und meldete "Keine interne Tabelle".

Vielen Dank schonmal.
Viele Grüße, Jan

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


Re: Problem mit dynamischen SELECT-Statement

Beitrag von JHM (Top Expert / 1197 / 1 / 197 ) »
Falloutboy3k hat geschrieben:- als Selektionsziel hab ich eine generische interne Tabelle angegeben, die mit CREATE DATA erst direkt vor dem SELECT einen Typ zugewiesen bekam. Leider lies das die Workbench nicht zu und meldete "Keine interne Tabelle".
Du mußt die mit CREATE DATA erzeugte Tabelle erst dereferenzieren:

Code: Alles auswählen.

PARAMETER: p_tab TYPE dd03l-tabname VALUE CHECK.

DATA:           gr_tab  TYPE REF TO data.
FIELD-SYMBOLS: <gt_tab> TYPE STANDARD TABLE.

*** Daten erzeugen und dereferenzieren ***
  CREATE DATA gr_tab     TYPE TABLE OF (p_tab)
  ASSIGN gr_tab->*     TO <gt_tab>.

*** Daten lesen     ***
  SELECT *
    FROM (p_tab)
    INTO TABLE <gt_tab>.
Hoffe es wird jetzt klarer.
Gruß Hendrik

Beitrag von DeathGuardian (Expert / 759 / 0 / 3 ) »
Spontan würde ich sagen, das entweder ein "ENDSELECT" oder beim SELECT ein "SINGLE" fehlt.

Beitrag von Falloutboy3k (ForumUser / 11 / 0 / 0 ) »
@DeathGuardian: Das ENDSELECT hab ich nur vergessen hierrein zu kopieren ^^

@JHM: Das funktioniert, was du beschrieben hast.... Vielen Dank! :)
Jetzt hab ich nur das Problem: Wie kann ich auf die Komponenten der internen Tabelle zugreifen? Also da ich ja jetzt meine interne Tabelle hab würde ich gerne drüberloopen und mir aus den relevanten Feldern die Werte holen...
Wie kann ich generisch auf die Komponeten zugreifen?

Der SELECT siet jetzt so aus:

SELECT (lt_fieldnames)
FROM (ls_tdas_cust-tablename)
INTO CORRESPONDING FIELDS OF TABLE <lt_tab>.

...und ich möchte jetzt von jeder Zeile aus zwei Spalten (deren Namen erst zur Laufzeit bekannt sind) die Werte rausziehen.

Beitrag von Falloutboy3k (ForumUser / 11 / 0 / 0 ) »
Der Kern der Frage ist also:

LOOP AT <lt_tab> ASSIGNING <ls_tab>.
ENDLOOP.

Wie kann ich auf die Komponenten von <ls_tab> generisch zugriefen? :?:

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
mit

Code: Alles auswählen.

ASSIGN COMPONENT {Name} OF STRUCTURE <ls_tab> TO <lv_field>.
Gruß
Ereglam


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

Beitrag von JHM (Top Expert / 1197 / 1 / 197 ) »
Falloutboy3k hat geschrieben:Wie kann ich auf die Komponenten von <ls_tab> generisch zugriefen? :?:
EDIT: ereglam war schneller und seine Lösung ist richtiger/besser.
Gruß Hendrik

Beitrag von Falloutboy3k (ForumUser / 11 / 0 / 0 ) »
:D Klasse... vielen Dank an euch! Jetzt funzt alles! 8)

Seite 1 von 1

Vergleichbare Themen

1
Antw.
1354
Views
problem mit Select - Statement
von liberado » 31.07.2007 08:26 • Verfasst in ABAP® für Anfänger
13
Antw.
4570
Views
Select-Statement
von Chilledkroete » 01.07.2013 12:23 • Verfasst in ABAP® für Anfänger
18
Antw.
9499
Views
ABAP 7.40 - SELECT-Statement
von ralf.wenzel » 05.03.2016 12:19 • Verfasst in ABAP® Core
6
Antw.
1270
Views
Select Statement mit inner und outer
von Bernd_AD » 08.06.2020 15:56 • Verfasst in ABAP® für Anfänger
2
Antw.
1372
Views
Punktoperator im Select Statement?
von Tom_KN » 21.09.2006 10:11 • Verfasst in ABAP® Core

Aktuelle Forenbeiträge

Dialog-Container mit Toolbar/Status
vor 14 Stunden von DeathAndPain gelöst 22 / 3187
Daten an Tabelle binden
vor 19 Stunden von Lukas Sanders 2 / 1053
Zeilenumbrüche ersetzen
vor 2 Tagen von ralf.wenzel 6 / 622

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

Dialog-Container mit Toolbar/Status
vor 14 Stunden von DeathAndPain gelöst 22 / 3187
Daten an Tabelle binden
vor 19 Stunden von Lukas Sanders 2 / 1053
Zeilenumbrüche ersetzen
vor 2 Tagen von ralf.wenzel 6 / 622

Unbeantwortete Forenbeiträge

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