Die ersten 10 Spalten einer Datenbanktabelle selektieren

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

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

Die ersten 10 Spalten einer Datenbanktabelle selektieren

Beitrag von Gekomo (ForumUser / 10 / 4 / 0 ) »
Hallo,

ich weiß, dass man mit up to n rows eine bestimmte Anzahl an Zeilen selektieren kann, aber wie macht man das ganze denn bei Spalten? Es geht um folgenden Bereich des Codes:

SELECT mara~*, makt~maktx
FROM mara
LEFT OUTER JOIN makt
ON makt~matnr = mara~matnr
AND makt~spras = @sy-langu
WHERE mara~matnr in @so_matnr AND mtart in @so_mtart
INTO CORRESPONDING FIELDS OF TABLE @lt_materialundText.


Hier soll ich statt die gesamte Mara, nur die ersten 10 Spalten aus ihr selektieren. Ich finde aber irgendwie nichts dazu. Ich komme immer wieder bei up to n rows heraus.

Vielen Dank im Voraus für eure Hilfe

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


Re: Die ersten 10 Spalten einer Datenbanktabelle selektieren

Beitrag von sap_enthusiast (ForumUser / 95 / 25 / 23 ) »
am einfachsten:

Code: Alles auswählen.

SELECT 
mara~spalte1, 
mara~spalte2, 
mara~spalte3,
... 
mara~spalte10,
makt~maktx
FROM mara
LEFT OUTER JOIN makt
ON makt~matnr = mara~matnr
AND makt~spras = @sy-langu
WHERE mara~matnr in @so_matnr AND mtart in @so_mtart
INTO CORRESPONDING FIELDS OF TABLE @lt_materialundText.

Folgende Benutzer bedankten sich beim Autor sap_enthusiast für den Beitrag:
Gekomo


Re: Die ersten 10 Spalten einer Datenbanktabelle selektieren

Beitrag von Gekomo (ForumUser / 10 / 4 / 0 ) »
Vielen Dank sap_enthusiast ,

ich habe über eine Srukturdefinition eine interne Tabelle erstellt, in die ich diese 10 ersten Spalten der Mara und noch zwei weitere Spalten aus anderen Tabellen packe. Die Strukturdefinition sieht folgendermaßen aus:

TYPES: BEGIN OF lt_material.
include TYPE mara. TYPES: maktx TYPE makt-maktx, werks TYPE marc-werks,
end of lt_material,
lt_materials type standard table of lt_material WITH EMPTY KEY.

Wenn ich das über den alv ausgebe, sieht es so aus, dass die ersten 10 Spalten der mara gefüllt werden, dann kommt ewig lange nichts und dann die zwei zusätzlichen Spalten. Kann ich das Ganze irgendwie so gestalten, dass ich nur die ersten 10 Spalten der mara + die zwei Spalten aus den anderen Tabellen ausgebe? Ich bin mir nicht sicher ob ich dafür etwas an der Struktur oder an der alv-Ausgabe ändern muss

Re: Die ersten 10 Spalten einer Datenbanktabelle selektieren

Beitrag von PeterPaletti (Specialist / 350 / 32 / 97 ) »
Ja, klar. Du hast eine Strukturdefinition mit der kompletten MARA, liest aber nur die ersten 10 Spalten von der Datenbank aus. Bei der Ausgabe sind die Spalten der MARA, die über die ersten 10 hinausgehen natürlich leer.

Wie wäre es so?

Code: Alles auswählen.

TYPES: BEGIN OF lt_material.
spalte1 type mara-spalte1, 
spalte2 type mara-spalte2,
....
spalte10 type mara-spalte10,  
maktx TYPE makt-maktx, 
werks TYPE marc-werks,
end of lt_material,
lt_materials type standard table of lt_material WITH EMPTY KEY.

Folgende Benutzer bedankten sich beim Autor PeterPaletti für den Beitrag:
Gekomo


Seite 1 von 1

Vergleichbare Themen

3
Antw.
3695
Views
ALV: Die ersten 5 Zeilen fixieren / maximale Anzahl Spalten
von marcel.kupper » 21.04.2007 16:55 • Verfasst in ABAP Objects®
1
Antw.
2261
Views
Multiplikation zweier Spalten einer Datenbanktabelle
von Niko_BC » 08.06.2017 15:52 • Verfasst in ABAP® für Anfänger
1
Antw.
1378
Views
zum ersten Mal Sap-Script
von bohne » 07.04.2005 14:51 • Verfasst in ABAP® für Anfänger
1
Antw.
2686
Views
ersten 3 Zeichen bei Select
von L0w-RiDer » 02.10.2019 16:29 • Verfasst in ABAP® für Anfänger
2
Antw.
1499
Views
OK-Code beim ersten mal falsch?
von qyurryus » 13.03.2019 09:45 • Verfasst in ABAP® Core

Ü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

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.