Dynam. SQL-Anweisung in String

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

Dynam. SQL-Anweisung in String

Beitrag von m.schwertle (ForumUser / 94 / 0 / 0 ) »
Ich versuche, eine SQL-Anweisung dynamisch zu erstellen - speichere sie also in als String zwischen. Sagen wir einfach mal (auch wenn die Anweisung jetzt datenbankergebnistechnisch nicht unbedingt Sinn ergibt), der String ist

Code: Alles auswählen.

SELECT BUKRS BELNR GJAHR BLART BLDAT BUDAT FROM BKPF WHERE MANDT EQ 903 AND BUKRS EQ 1000 AND BELNR BETWEEN 1000 AND 2000 AND GJAHR EQ 2007 AND BLART BETWEEN A AND F.
Gibt es nun eine Möglichkeit, diesen String als konkrete DB-Anweisung auszuführen? Und wenn ja natürlich auch noch das obligatorische: wie?

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


Beitrag von airwaver (Specialist / 134 / 0 / 1 ) »
Hallo,

hast du dir schonmal die Hilfe zum SELECT angeschaut? Da steht drin, wie du einen Select dynamisch aufbaust.

Code: Alles auswählen.

DATA: felder type string,
           tabelle type string,
          bedingungen type string.

SELECT (felder) FROM (tabelle) INTO workarea WHERE (bedingungen).
Gruß Andy

Beitrag von Steffi221185 (Specialist / 132 / 0 / 0 ) »
Willst du das auf eine externe Datenbank ausführen?
Willst du nur einen String haben und diesen ausführen?

Wenn nicht, gehts wie zuvor beschrieben?

Ansonsten musst du mit

Code: Alles auswählen.

Exec SQL.
    sql statement
ENDEXEC.
aber das ganze dynamisch zusammensetzen und ein GENERATE_SUBROUTINE_POOL ausführen. Welcher dann dein STATEMENT ausführt und dir die DAten über ein Unterprogram zurückgibt.

Beitrag von m.schwertle (ForumUser / 94 / 0 / 0 ) »
Es geht im Grunde um das altbewährte Problem, was so ziemlich in jedem Forum auch angesprochen wird: Ich möchte ziemlich simpel, aber flexibel (also dynamisch) SAP-Tabellen auslesen, um sie in externen Dateien zu speichern.

Der Anwender soll Tabellen und Felder bestimmen können, die ausgelesen werden sollen. Deshalb reicht dies hier

Code: Alles auswählen.

DATA: felder type string, 
           tabelle type string, 
          bedingungen type string. 

SELECT (felder) FROM (tabelle) INTO workarea WHERE (bedingungen).
leider nicht. Denn ich habe nach wie vor ein Problem. Ich kann dem Programm in einer TABLES Anweisung nicht einfach mitteilen, mal eben alle ~320.000 Tabellen für einen Download vorzubereiten. Und auch mein INTO TABLE soll gleich richtig funktionieren.

Nur funktioniert das hier leider nicht...

Code: Alles auswählen.

TABLES: (p_tabname).
DATA:
        itab LIKE TABLE OF (p_tabname).

SELECT (p_fields)
FROM (p_tabname)
INTO itab
WHERE (p_where).
Ist jemand auch schonmal über dieses Problem gestolpert und/oder hat auch ne Lösung parat?

Beitrag von Steffi221185 (Specialist / 132 / 0 / 0 ) »
:D wär das schön wenn es ne dynamische Tables-Anweisung gäbe.

Leider kann man mit ABAP nicht immer so dynamisch Programmieren wie man möchte und wenn nur mit hohem Aufwand.

Also solch Probleme lös ich halt immer mit nen Generate-Subroutine-Pool bzw. über eigene Klassen die das dann für mich machen :D

Beitrag von m.schwertle (ForumUser / 94 / 0 / 0 ) »
Herrlich, eine sehr gute und vergleichsweise einfache Lösung (ohne GENERATE_SUBROUTINE_POOL u.ä.) habe ich hier gefunden:

Dynamisches Open SQL
http://www.sap-press.de/download/dateie ... ittene.pdf

Seite 1 von 1

Vergleichbare Themen

1
Antw.
1362
Views
Variable String und LOOP Anweisung
von dyv » 04.09.2014 12:26 • Verfasst in ABAP® für Anfänger
8
Antw.
3458
Views
dynam. Select mit Join
von madeleine104 » 29.09.2016 11:42 • Verfasst in ABAP® für Anfänger
9
Antw.
3504
Views
IF Anweisung
von Mathan » 06.09.2006 13:07 • Verfasst in ABAP® Core
11
Antw.
6113
Views
JOIN-Anweisung
von honeyjam » 04.01.2011 16:41 • Verfasst in ABAP® für Anfänger
9
Antw.
6121
Views
Select-Anweisung
von ??? » 23.05.2005 10:22 • 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

IT0024 Qualifikationen CP-ID
vor einer Stunde von ArjenR 1 / 20
Trennen Strasse und Hausnummer
vor 2 Stunden von ewx 17 / 10824
Dialog-Container mit Toolbar/Status
vor 2 Stunden von tar gelöst 26 / 3941

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

IT0024 Qualifikationen CP-ID
vor einer Stunde von ArjenR 1 / 20
Trennen Strasse und Hausnummer
vor 2 Stunden von ewx 17 / 10824
Dialog-Container mit Toolbar/Status
vor 2 Stunden von tar gelöst 26 / 3941

Unbeantwortete Forenbeiträge

IT0024 Qualifikationen CP-ID
vor einer Stunde von ArjenR 1 / 20
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2961
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9550