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.
5539
Views
Dynamischer Select
von m.schwertle » 22.02.2008 11:09 • Verfasst in ABAP® Core
6
Antw.
1303
Views
Dynamischer Platzhalter im Select
von kaim77 » 07.09.2022 17:42 • Verfasst in ABAP® Core
3
Antw.
2491
Views
Select mit dynamischer Range
von platx » 15.08.2009 10:59 • Verfasst in ABAP® für Anfänger
13
Antw.
10938
Views
Dynamischer Selection Screen mit dynamischer Suchhilfe
von Johnny11 » 26.03.2014 08:19 • Verfasst in ABAP® Core
5
Antw.
7467
Views
Dynamischer Methodenaufruf mit dynamischer Tabelle
von Tommy Nightmare » 08.09.2017 13:23 • Verfasst in ABAP Objects®

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

BAPI zur ABSO?
vor 15 Stunden von DeathAndPain 2 / 381
Materialstammerweiterung: Neuer Reiter
vor einer Woche von DeathAndPain gelöst 4 / 1012
Ermittlung der Arbeitstage (Mosid)
vor einer Woche von Radinator 11 / 46680
LSMW-Problem
vor 3 Wochen von DeathAndPain gelöst 6 / 4573

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

BAPI zur ABSO?
vor 15 Stunden von DeathAndPain 2 / 381
Materialstammerweiterung: Neuer Reiter
vor einer Woche von DeathAndPain gelöst 4 / 1012
Ermittlung der Arbeitstage (Mosid)
vor einer Woche von Radinator 11 / 46680
LSMW-Problem
vor 3 Wochen von DeathAndPain gelöst 6 / 4573