Select über 3 Tabellen

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

Select über 3 Tabellen

Beitrag von Papst BenR (ForumUser / 3 / 2 / 0 ) »
Hallo,

ich würde gerne ein Select über 3 Tabellen machen und diese in einer itab schreiben.
Die Felder die ich benötige sind:

Tabelle-Feld
VBAP-MATNR
VBAK-KUNNR
VBUP-LFSTA

Der Anfang macht das Feld LFSTA. Wenn in diesem ein "a" steht, dann möchte ich gerne aus der Tabelle das Feld VBELN zwischenspeichern. In den anderen Tabellen wird dann abgefragt: Wenn VBELN vorhanden, dann speicher KUNNR bzw. MATNR.

mfg

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


Re: Select über 3 Tabellen

Beitrag von Bugfix13 (ForumUser / 97 / 17 / 5 ) »
Guten Morgen.

Das sollte dir weiterhelfen:

Code: Alles auswählen.

TYPES: BEGIN OF r_itab,
  matnr TYPE vbap-matnr,
  kunnr TYPE vbak-kunnr,
  vbeln TYPE vbup-vbeln,
       END OF r_itab.

DATA: lt_itab TYPE TABLE OF r_itab.

SELECT vbap~matnr vbak~kunnr vbup~vbeln
  INTO CORRESPONDING FIELDS OF TABLE lt_itab
  FROM vbup AS vbup
  INNER JOIN vbap AS vbap ON vbup~vbeln EQ vbap~vbeln
  INNER JOIN vbak AS vbak ON vbup~vbeln EQ vbak~vbeln
  WHERE vbup~lfsta EQ 'A'.


Folgende Benutzer bedankten sich beim Autor Bugfix13 für den Beitrag:
Papst BenR


Re: Select über 3 Tabellen

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Ich frag mal doof: Warum vergibst du Aliase, wenn die doch den gleichen Namen haben wie die Tabelle? Also "VBUP AS VBUP"? Dann kann man das auch weglassen....
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Select über 3 Tabellen

Beitrag von Tron (Top Expert / 1327 / 35 / 331 ) »
Moin.
... und warum into corresponding ? und nicht:

Code: Alles auswählen.

    SELECT vbap~matnr vbak~kunnr vbup~vbeln
      INTO table lt_itab
      FROM vbup AS vbup
      INNER JOIN vbap  EQ vbap~vbeln
      INNER JOIN vbak  EQ vbak~vbeln
      WHERE vbup~lfsta EQ 'A'.

das ist erheblich performanter.

lg Jens

Folgende Benutzer bedankten sich beim Autor Tron für den Beitrag:
Papst BenR

<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Re: Select über 3 Tabellen

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Tron hat geschrieben:Moin.
das ist erheblich performanter.
Darüber streiten sich die Geister ;)
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Select über 3 Tabellen

Beitrag von Tron (Top Expert / 1327 / 35 / 331 ) »
.. ja, da hast Du recht.
Verbreiten wir unsere Erfahrungen am besten nur nach Null Uhr. Dann ist ja die Geisterstunde vorbei :wink:
lg Jens
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Re: Select über 3 Tabellen

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Nach Null Uhr ist vor Null Uhr ;)
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Select über 3 Tabellen

Beitrag von Bugfix13 (ForumUser / 97 / 17 / 5 ) »
Ich frag mal doof: Warum vergibst du Aliase, wenn die doch den gleichen Namen haben wie die Tabelle? Also "VBUP AS VBUP"? Dann kann man das auch weglassen....
:x Ja die kann man natürlich auch weglassen! Dachte immer die braucht es ^^..

Re: Select über 3 Tabellen

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Ist ja nicht schlimm - und nicht vergleichbar mit dem Quatsch, den ICH manchmal denke ;)

Will heißen: Ich hab hier schon dümmere Fragen gestellt....
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Select über 3 Tabellen

Beitrag von Papst BenR (ForumUser / 3 / 2 / 0 ) »
Hallo,

danke erstmal für eure Hilfe. Leider komme ich nicht ganz so gut voran.

Code: Alles auswählen.

* Datendeklarationen
*   Object Map
    data: lo_object_map type ref to cl_object_map.

*   Business-Objekt-Referenz
    data: lo_auftrag type ref to zvg_bo_auftrag.

*   Interne Tabelle vom Typ ZVG__ST_AUFTRAG
    data: lt_auftraege type table of zvg_st_auftrag.

*   Field-Symbol für einen Datensatz
    field-symbols: <auftrag> type zvg_ST_AUFTRAG.

*   Erzeugen der Object-Map
    create object LO_OBJECT_MAP.

*   Datenbankselektion
    SELECT vbap~matnr
           vbak~kunnr
           vbup~vbeln
           vbap~erdat

      INTO CORRESPONDING FIELDS OF TABLE lt_auftraege
      FROM vbup AS vbup
        INNER JOIN vbap AS vbap ON vbup~vbeln EQ vbap~vbeln
        INNER JOIN vbak AS vbak ON vbup~vbeln EQ vbak~vbeln
      WHERE vbup~lfsta EQ 'a'.

*   Befüllen der Objekt-Map im Loop
    loop at LT_AUFTRAEGE ASSIGNING <AUFTRAG>.
      create OBJECT LO_AUFTRAG.
      if LO_AUFTRAG is BOUND.
        LO_AUFTRAG->SET_DATA( IS_DATA = <AUFTRAG> ).
        LO_OBJECT_MAP->PUT( key = <AUFTRAG>-VBELN
                            value = LO_AUFTRAG ).
      endif.
      clear LO_AUFTRAG.
     endloop.
*   Belege Rückgabestrukur
    RETURN ?= LO_OBJECT_MAP.
Mein Struktur sieht so aus:
LFSTA
VBELN
MATNR
ERDAT

Aktivieren lässt sich das ganze bereits. Jedoch bekomme ich in der Testumgebung, wenn ich die Methode ausführe als aller erstes ein Fenster mit dem Titel "Setzen der generischen Parameter". Das machte mich schon stuzig.
Dannach hab ich das Fenster einfach mit OK bestätigt und wollte mir die Object Map angucken. Diese ist jedoch leider leer :(
Weiß jemand Rat, woran es liegen könnte?

Seite 1 von 1

Vergleichbare Themen

13
Antw.
7744
Views
Select auf 2 große Tabellen
von ann_bine » 01.06.2012 14:56 • Verfasst in ABAP® für Anfänger
6
Antw.
3311
Views
select mehrere tabellen
von thr-hn » 04.04.2014 13:39 • Verfasst in ABAP® für Anfänger
2
Antw.
2373
Views
SELECT über 6 DB-Tabellen
von Mavrix » 14.06.2007 07:48 • Verfasst in ABAP® für Anfänger
7
Antw.
8366
Views
Select auf zwei Tabellen
von mip » 27.03.2008 16:05 • Verfasst in ABAP® für Anfänger
7
Antw.
7379
Views
Select Options und Range Tabellen
von gs3rr4 » 29.12.2016 14:12 • Verfasst in ABAP® für Anfänger

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