Spalte in interner Tabelle hinzufügen

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

Spalte in interner Tabelle hinzufügen

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

bei mir liegt folgende Situation vor...

Ich habe aus einer Datenbanktabelle bestimmte Materialien selektiert und diese dann im ALV ausgegeben. Nun soll ich zu diesen selektierten Materialien den dazugehörigen Kurztext aus einer anderen Datenbanktabelle selektieren und ihn ebenfalls ausgeben, aber eben so, dass zu meiner internen Tabelle, die ich ausgebe, die Spalte "Kurztext" mit den entsprechenden Texten hinzugefügt wird. Ich hoffe man kann verstehen was ich meine.

Die Datenbanktabelle mit den Kurztexten ist die makt und das entsprechende Feld lautet maktx. Ich weiß nun nicht wirklich wie ich weiter vorgehen soll. Ich weiß, dass ich zuerst eine neue Spalte zu meiner internen Tabelle hinzufügen muss, um dann die selektierten Kurztexte dort hinterlegen zu können, aber wie mache ich das? Mein Code ist bisher folgender:


TABLES: mara, makt.

SELECT-OPTIONS:

so_matnr FOR mara-matnr,
so_mtart for mara-mtart,
so_maktx for makt-maktx.

START-OF-SELECTION.

DATA: lt_mara TYPE TABLE OF mara,
lr_table TYPE REF TO cl_salv_table,
iv_test TYPE string.

SELECT * up to 10 rows
FROM mara
INTO TABLE lt_mara
WHERE matnr IN so_matnr AND mtart in so_mtart.


CALL METHOD cl_salv_table=>factory
IMPORTING
r_salv_table = lr_table
CHANGING
t_table = lt_mara.

LOOP at lt_mara ASSIGNING FIELD-SYMBOL(<ls_test>).
<ls_test>-aenam = 'Test'.
ENDLOOP.


lr_table->display( ).

------------------------------------------------------------------------------------
Danke im Voraus für eure Hilfe

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


Re: Spalte in interner Tabelle hinzufügen

Beitrag von LeMinion (ForumUser / 20 / 1 / 6 ) »
Du mußt einen entsprechenden Typ am Start haben und dann mittels JOIN die benötigten Daten aus beiden Tabellen lesen, z.B. so:

Code: Alles auswählen.

TABLES: mara, makt.

SELECT-OPTIONS:
  so_matnr FOR mara-matnr,
  so_mtart FOR mara-mtart,
  so_maktx FOR makt-maktx.

START-OF-SELECTION.
  TYPES:
    BEGIN OF material.
      INCLUDE TYPE mara AS base. TYPES:
      text TYPE makt-maktx,
    END OF material,
    materials TYPE STANDARD TABLE OF material WITH EMPTY KEY.

  DATA alv TYPE REF TO cl_salv_table.
  DATA materialsWithTexts TYPE materials.

  SELECT mara~*, coalesce( makt~maktx, 'No text maintained' )
    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 TABLE @materialsWithTexts
    UP TO 10 ROWS.


  cl_salv_table=>factory(
    IMPORTING r_salv_table = alv
    CHANGING  t_table = materialsWithTexts
  ).

  LOOP AT materialsWithTexts REFERENCE INTO DATA(materialWithText).
    materialWithText->aenam = 'Test'.
  ENDLOOP.

  alv->display( ).

Seite 1 von 1

Vergleichbare Themen

0
Antw.
429
Views
2
Antw.
2435
Views
Einer Tabelle eine Spalte hinzufügen
von Accetron » 19.04.2021 08:58 • Verfasst in ABAP® für Anfänger
6
Antw.
793
Views
In einer interne Tabelle eine Spalte mit Daten hinzufügen
von HH_ABAP » 29.04.2023 17:48 • Verfasst in ABAP® für Anfänger
0
Antw.
2036
Views
Stückliste - CS03 - Spalte hinzufügen
von Tobbworld » 10.07.2006 07:21 • Verfasst in Dialogprogrammierung
8
Antw.
1781
Views
Zuweisung Zeile 1. Tabelle zu Spalte 2. Tabelle
von menkto1 » 25.01.2019 16:14 • 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.