Select * und Select von einzelnen Werten zugleich

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

Select * und Select von einzelnen Werten zugleich

Beitrag von StefanJue (ForumUser / 4 / 0 / 0 ) »
Hallo Leute,
mein Problem: Ich möchte einen SELECT über die likp, lips und vbuk machen. Dabei möchte ich bei der likp und lips alle felder selektieren, bei der vbuk jedoch nur einige ausgewählte. Alle Felder aller Tabellen per "globales" SELECT * will ich nicht machen.

Also etwa so in der Art:

SELECT lk~*
ls~*
vu~koquk
FROM ( likp AS lk INNER JOIN lips AS ls
ON lk~vbeln = ls~vbeln )
INNER JOIN vbuk AS vu
ON lk~vbeln = vu~vbeln
INTO ......
WHERE .......


Ist dies irgendwie möglich, bzw. wie lautet die syntax für solch einen fall?

Vielen dank für eure antworten..


mfg
Stefan

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


Beitrag von se80 (ForumUser / 21 / 0 / 0 ) »
Hallo Stefan,

da es sicher zu mühsam und fehleranfällig wäre, die Felder der LIKP und LIPS einzeln aufzuzählen, empfehle ich Dir, die zu selektierenden Felder in einen String oder eine interne Tabelle zu stellen und dynamisch beim SELECT anzugeben.

Die Felder lassen sich einfach dynamisch mittels RTTI ermitteln. Doppelte Feldnamen (z.B. LIKP/LIPS-ERNAM) müssen selbstverständlich unbeachtet bleiben oder mit AS umbenannt werden.

Beispiel:

Code: Alles auswählen.

PROGRAM.
*----------------------------------------------------------------------*
DATA:
  BEGIN OF xdata,
    trkorr   TYPE e070-trkorr,
    trstatus TYPE e070-trstatus,
    pgmid    TYPE e071-pgmid,
    object   TYPE e071-object,
    obj_name TYPE e071-obj_name,
  END   OF xdata,
  idata LIKE TABLE OF xdata,
  fd  TYPE string,
  ifd TYPE string_table.
*----------------------------------------------------------------------*
START-OF-SELECTION.
  fd = 'E070~TRKORR E070~TRSTATUS E071~PGMID E071~OBJECT E071~OBJ_NAME'.
  SELECT (fd) INTO TABLE idata UP TO 100 ROWS
                               FROM e070
                               JOIN e071 ON e071~trkorr = e070~trkorr.
  BREAK-POINT.
  APPEND: 'E070~TRKORR'   TO ifd,
          'E070~TRSTATUS' TO ifd,
          'E071~PGMID'    TO ifd,
          'E071~OBJECT'   TO ifd,
          'E071~OBJ_NAME' TO ifd.
  SELECT (ifd) INTO TABLE idata UP TO 100 ROWS
                                FROM e070
                                JOIN e071 ON e071~trkorr = e070~trkorr.
  BREAK-POINT.
Gruß

Gerd

Beitrag von Asaph (Expert / 580 / 6 / 1 ) »
Hi,

hole dir die feldbnamen mit fuba DD_GET_NAMETAB

und stelle diese mit : concatenate vu~ itab-name into fldtab

in eine interne Tabelle.

prüfe vorher, ob mit read table , ob der Feldname schon enthalten ist


lag Andreas

Seite 1 von 1

Vergleichbare Themen

2
Antw.
1863
Views
Select bei mehreren eindeutigen Werten
von mydigitalme » 07.06.2017 17:38 • Verfasst in ABAP® für Anfänger
4
Antw.
2605
Views
Select-options Intervallabfrage bei char werten
von tmxx » 07.02.2008 14:08 • Verfasst in ABAP® für Anfänger
2
Antw.
1347
Views
SQ02: ein eigenes Select-Options anlegen und mit den Werten arbeiten
von Rude1986 » 16.01.2021 19:35 • Verfasst in ABAP® für Anfänger
4
Antw.
18636
Views
Select nach Parameter & Select-Options
von doeme » 10.07.2012 16:37 • Verfasst in ABAP® für Anfänger
10
Antw.
6646
Views
2 Select-Options zu einem für Select zusammenfügen
von manuk » 23.03.2005 11:02 • 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.

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
Gestern von Bright4.5 1 / 499
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2139
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8735