Übergabe SELECT an Struktur/Tabelle

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

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

Übergabe SELECT an Struktur/Tabelle

Beitrag von m4nu (ForumUser / 15 / 3 / 0 ) »
Hallo zusammen,

ich habe im Bereich der Übergabe der Daten eines Select-Statements nachfolgendes Problem.

Zunächst meine grobe Vorgehensweise:
Ich erstelle eine Struktur und darauf basierend eine Tabelle.

Code: Alles auswählen.

TYPES:
      BEGIN OF ...,
        vbeln LIKE VBRK-VBELN,
        vbak_vbeln LIKE VBAK-VBELN,
        ...
      END OF ... .

DATA: .... TYPE STANDARD TABLE OF ... WITH HEADER LINE.
Anschließend befülle ich diese mit einem Join über die Tabellen VBRK/VBRP/VBAP/VBAK, also Faktura-Kopf/-Pos sowie Verkaufsbeleg-Kopf/Pos, mit

Code: Alles auswählen.

INTO CORRESPONDING FIELDS OF TABLE ....
Funktioniert soweit auch bestens, lediglich habe ich das Problem, dass die Nummer der Faktura und des Verkaufsbelegs beide den Feldnamen "VBELN" besitzen, wodurch nur eines davon in der Struktur/Tabelle zugeordnet werden kann. Je nachdem welches Feld ich als "vbeln" deklariere...

Gibt es hierbei irgendwie einen Trick oder eine Möglichkeit beide Werte korrekt zuzuordnen?
Oder verfolge ich dabei einen falschen Ansatz, um meinen Anforderungen gerecht zu werden?

Vielen Dank bereits im Voraus!

Viele Grüße

Manu

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


Re: Übergabe SELECT an Struktur/Tabelle

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
Hilfe zu SELECT:

SELECT - columns


Alternative 2

... {col1|aggregate( [DISTINCT] col1 )} [AS a1]
{col2|aggregate( [DISTINCT] col2 )} [AS a2] ...


Wirkung

Zum Aufbau der Ergebnismenge aus einzelnen Spalten wird eine Liste von Spaltenbezeichnern col1 col2 ... angegeben. Eine einzelne Spalte kann direkt oder als Argument einer Aggregatfunktion aggregate angegeben werden. Die Reihenfolge, in der die Spaltenbezeichner angegebenen werden, ist beliebig und definiert die Reihenfolge der Spalten in der Ergebnismenge. Nur wenn eine Spalte vom Typ LCHAR oder LRAW aufgeführt wird, muss auch das zugehörige Längenfeld unmittelbar davor aufgeführt werden. Eine einzelne Spalte kann auch mehrmals angegeben werden.

Durch den Zusatz AS kann für jeden Spaltenbezeichner col1 col2 ... ein maximal vierzehnstelliger alternativer Spaltenname a1 a2 ... in der Ergebnismenge definiert werden. Das System verwendet den alternativen Spaltennamen in den Zusätzen INTO|APPENDING CORRESPONDING FIELDS und ORDER BY.

Spaltenbezeichner

Es sind folgende Spaltenbezeichner möglich:

Wenn hinter FROM nur eine einzige Datenbanktabelle bzw. ein einziger View angegeben ist, können für col1 col2 ... direkt die Bezeichnungen der Spalten in der Datenbanktabelle d.h. die Namen der Komponenten comp1 comp2 ... in der Struktur des ABAP Dictionarys angegeben werden.

Wenn die Bezeichnung der Komponente in mehreren Datenbanktabellen des FROM-Zusatzes vorkommt und die gewünschte Datenbanktabelle bzw. der View dbtab aber nur einmal hinter FROM angegeben ist, müssen für col1 col2 ... die Bezeichnungen dbtab~comp1 dbtab~comp2 ... angegeben werden. Dabei sind comp1 comp2 ... die Namen der Komponenten in der Struktur des ABAP Dictionarys und ~ ist der Spaltenselektor.

Kommt die gewünschte Datenbanktabelle bzw. der View mehrmals hinter FROM vor, müssen für col1 col2 ... die Bezeichnungen tabalias~comp1 tabalias~comp2 ... angegeben werden. tabalias ist dabei der hinter FROM definierte alternative Tabellenname der Datenbanktabelle bzw. des Views, comp1 comp2 ... sind die Namen der Komponenten in der Struktur des ABAP Dictionarys und ~ ist der Spaltenselektor.

Der Datentyp einer einzelnen Spalte in der Ergebnismenge ist der Datentyp der entsprechenden Komponente im ABAP Dictionary. Das entsprechende Datenobjekt hinter INTO bzw. APPENDING muss passend gewählt werden.
Hinweis

Sind hinter FROM mehrere Datenbanktabellen angegeben, kann bei der Angabe einzelner Spalten durch die Verwendung von Alternativnamen verhindert werden, dass mehrere Spalten den gleichen Namen haben.

Folgende Benutzer bedankten sich beim Autor Unit605 für den Beitrag:
m4nu


Re: Übergabe SELECT an Struktur/Tabelle

Beitrag von m4nu (ForumUser / 15 / 3 / 0 ) »
Vielen Dank für die ausführliche und schnelle Antwort.

Hat bestens funktioniert! :up:

Seite 1 von 1

Vergleichbare Themen

1
Antw.
2694
Views
Call TRansaction und übergabe einer Select-Otion Tabelle
von alicemal » 02.07.2008 17:40 • Verfasst in ABAP® Core
3
Antw.
6769
Views
Übergabe einer SELECT-OPTIONS Tabelle an FORM Routine
von m4rkusr » 20.09.2006 09:04 • Verfasst in ABAP® Core
2
Antw.
213
Views
Interne Tabelle BAdi Übergabe
von Maggonski » 05.04.2023 10:36 • Verfasst in ABAP® für Anfänger
11
Antw.
6056
Views
Übergabe einer Tabelle an Unterprogramm
von Steffi221185 » 15.08.2006 10:48 • Verfasst in ABAP® Core
1
Antw.
2582
Views
Select auf Struktur..?
von b0rsti » 02.06.2008 12:30 • 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

Aktuelle Forenbeiträge

Dialog-Container mit Toolbar/Status
vor 12 Stunden von DeathAndPain gelöst 22 / 3135
Daten an Tabelle binden
vor 17 Stunden von Lukas Sanders 2 / 1024
Zeilenumbrüche ersetzen
vor 2 Tagen von ralf.wenzel 6 / 598

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

Dialog-Container mit Toolbar/Status
vor 12 Stunden von DeathAndPain gelöst 22 / 3135
Daten an Tabelle binden
vor 17 Stunden von Lukas Sanders 2 / 1024
Zeilenumbrüche ersetzen
vor 2 Tagen von ralf.wenzel 6 / 598

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2598
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9183