SO in SELECT-Anweisung mit dynamischer Where-Bedingung

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

SO in SELECT-Anweisung mit dynamischer Where-Bedingung

Beitrag von Marcus ( / / 0 / 3 ) »
Hallo zusammen,

ich möchte gern eine SELECT-Anweisung mit dynamischer WHERE-Bedingung erzeugen, die auch SELECT-OPTIONS oder RANGES verarbeiten kann.

bisher:
SELECT-OPTIONS

DATA where_clause TYPE string.

CONCATENATE 'feld1 IN so_feld2'
INTO where_clause.

SELECT *
FROM table
INTO itab
WHERE (where_clause).

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


Re: SO in SELECT-Anweisung mit dynamischer Where-Bedingung

Beitrag von Haubi (Expert / 625 / 20 / 30 ) »
Moinsen.

Probier mal folgendes:

Code: Alles auswählen.

SELECT-OPTIONS
    : so_feld2 FOR table-feld1
    .

DATA
    : gt_where TYPE twhere
    , g_where  TYPE text72
    .

g_where = 'FELD1 IN SO_FELD2'.
APPEND g_where TO gt_where.

SELECT *
  FROM table
  INTO itab
 WHERE (gt_where).
Gruss,
Haubi
Das ABAP Kochbuch ab sofort bei Amazon...

I'd rather write code that writes code than write code...

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Enthält keine Tipps und Tricks, daher verschoben
Gruß
Ereglam


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

Re: SO in SELECT-Anweisung mit dynamischer Where-Bedingung

Beitrag von Frank Dittrich (Expert / 674 / 0 / 15 ) »
Haubi hat geschrieben:Probier mal folgendes:

Code: Alles auswählen.

SELECT-OPTIONS
    : so_feld2 FOR table-feld1
    .

DATA
    : gt_where TYPE twhere
    , g_where  TYPE text72
    .

g_where = 'FELD1 IN SO_FELD2'.
APPEND g_where TO gt_where.

SELECT *
  FROM table
  INTO itab
 WHERE (gt_where).
Wenigstens steht jetzt die WHERE-Bedingung in einer itab.
(Obwohl das lt. Doku zu 6.x nicht mehr nötig ist.
Wozu eigentlich die Einführung eines weiteten Sonderfalls?
Wenn hier eine itab mit Kopfzeile angegeben wird, wird der itab-body ausgewertet, im Gegensatz zu CLEAR, MOVE, ...)
Aber 'feld IN range' kann man nicht mit WHERE (itab) o.ä. als eine dynamische WHERE-Bedingung übergeben.
Wozu auch?
Die Select-Option oder Range ist doch schon selbst "dynamisch".
Man nehme eine Range pro Feld der DB-Tabelle und hat ein unheimlich dynamisches SELECT.

Beitrag von Bakky ( / / 0 / 3 ) »
Hallo,

soweit ich weis muss man bei einer dynamischen Where bedingung die Tabelle so befüllen als wären sämtliche Bedingungen hart verdrahtet. Man muss also SO und Ranges selber auflösen. Wenn also in einer SO für Belgart steht I EQ XY muss man dafür eine Zeile in die Tabelle eintragen in der Form
"BlART = 'XY' " (um ein " ' " zu schreiben muss mann v_hkomma = '''' zuweisen)

Mann kann auch mischen in der Form
select * from tab into wa
whers f1 in so_f1
and f2 in so_f2
and (Gt_where).

FREE_SELECTIONS_RANGE_2_WHERE

Beitrag von mtakacs (ForumUser / 3 / 0 / 0 ) »
Hallo, schau mal den FuBa FREE_SELECTIONS_RANGE_2_WHERE und die gesamte Funktionsgruppe SSEL. Nicht einfach aber nutzlich.
(Wir haben SAP 46B)
Gruss Misi

Seite 1 von 1

Vergleichbare Themen

2
Antw.
1278
Views
Subquery in dynamischer Where-Bedingung
von Stefan7777 » 22.11.2005 10:36 • Verfasst in ABAP® Core
4
Antw.
3761
Views
Range mit IN-Operator in dynamischer Where-Bedingung
von fawkes » 24.05.2007 09:08 • Verfasst in ABAP Objects®
3
Antw.
1722
Views
Select-Anweisung
von phil1982 » 02.08.2007 08:30 • Verfasst in ABAP® für Anfänger
9
Antw.
6117
Views
Select-Anweisung
von ??? » 23.05.2005 10:22 • Verfasst in ABAP® für Anfänger
2
Antw.
10624
Views
Select where Bedingung mit @
von Niels » 11.12.2015 10:11 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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.

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
vor 15 Stunden von Bright4.5 1 / 328
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 1969
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8570