Dynamischer Select

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

Dynamischer Select

Beitrag von BesenWesen (Specialist / 183 / 0 / 0 ) »
Hallo Zusammen,

ich hab folgendes kleines Problem.

ich will einen select dynamisch gestalten.

Code: Alles auswählen.

   SELECT SINGLE * FROM t005 WHERE land1 = xxx-land1.  
   IF xxx-land1 = 'DE'.                                   
     infosatz_i1-yzauslindik = 0.                          
   ELSE.                                                   
     IF t005-xegld EQ 'x' OR t005-xegld EQ 'X'.            
       infosatz_i1-yzauslindik = 1.                        
     ENDIF.                                                
     IF t005-xegld EQ space.                               
       infosatz_i1-yzauslindik = 2.                        
     ENDIF.                                                
   ENDIF.                                                  
an die stelle der xxx soll dynamisch der tabellenname eingefuegt werden.
der tabellenname wird vor dem UP-Aufruf gefuellt.
entweder mit KNA1 oder LFA1.

ist das irgendwie moeglich? wenn ja, wie?

so long
Gruss
BesenWesen

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


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

Jau, das geht. Hierzu musst Du Deine komplette Where-Klausel in eine Interne Tabelle schreiben und diese dann im Select-Statement angeben

Code: Alles auswählen.

DATA: gt_sel TYPE TABLE OF STRING
    , g_sel  TYPE STRING.

CONCATENATE 'LANDL =' g_tabname '-LANDL'
   INTO  g_sel.
APPEND g_sel TO gt_sel.

SELECT SINGLE *
   FROM  t005
   INTO gt_data
   WHERE (gt_sel).
Ist aus dem Kopf zusammengeschrieben, muesste aber ungefaehr funzen.

Gruss,
Haubi
Das ABAP Kochbuch ab sofort bei Amazon...

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

Beitrag von Hans-Hermann ( / / 0 / 3 ) »
Haubis Vorschlag macht nur den SELECT dynamisch, nicht die anschließende IF-Abfrage. Natürlich kann man hier auch XXX-LANDL durch T005-LANDL ersetzen, oder man arbeitet mit einem Feldsymbol.

Code: Alles auswählen.

data: land(10) value '____-LANDL'.
field-symbols <fs>.
land(4) = 'LFA1' "(oder KNA1)
assign (land) to <fs>.
select single * from t005 where landl = <fs>.
if <fs> = 'DE'.

Beitrag von BesenWesen (Specialist / 183 / 0 / 0 ) »
super, danke fuer eure Hilfe!!
Gruss
BesenWesen

Seite 1 von 1

Vergleichbare Themen

9
Antw.
5623
Views
Dynamischer Select
von m.schwertle » 22.02.2008 11:09 • Verfasst in ABAP® Core
6
Antw.
1424
Views
Dynamischer Platzhalter im Select
von kaim77 » 07.09.2022 17:42 • Verfasst in ABAP® Core
3
Antw.
2520
Views
Select mit dynamischer Range
von platx » 15.08.2009 10:59 • Verfasst in ABAP® für Anfänger
1
Antw.
309
Views
SQL-Injection - dynamischer select
von Xilukarim » 01.07.2026 16:38 • Verfasst in ABAP® Core
13
Antw.
11124
Views
Dynamischer Selection Screen mit dynamischer Suchhilfe
von Johnny11 » 26.03.2014 08:19 • Verfasst in ABAP® Core

Ü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.