Dynamisch erzeugte interne Tabelle ausgeben.

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
5 Beiträge • Seite 1 von 1
5 Beiträge Seite 1 von 1

Dynamisch erzeugte interne Tabelle ausgeben.

Beitrag von gabo (ForumUser / 6 / 0 / 0 ) »
Hallo,
ich habe im Forum schon einiges zu dynamisch erzeugten Tabellen gefunden doch ich sehe leider nicht wie ich das auf mein Problem übertragen kann.

Ich bekomme zur Laufzeit eine Tabelle übergeben die als Struktur im DDIC hinterlegt ist. (ich weiß aber vorher nicht welche der 10 möglichen es ist)

Von dieser Tabelle soll eine Kopie erzeugt werden die einige zusätzliche Felder enthält. Und die Felder die vom Typ CHAR sind sollen in der neuen Tabelle die dreifache Feldlänge aufweisen.

Dann sollen mit jedem Feld der neuen Tabelle einfache Rechenoperationen durchgeführt werden, ich will also über alle Felder laufen um z.B. 1 zu addieren, ohne die Felder dabei aber konkret benennen zu müssen.

Und dann muss das Ganze noch als ALV-Liste ausgegeben werden..

Scheint mir alles über die DD03 Tabelle zu lösen zu sein, oder nicht?
Aber wie am besten und wie implementiere ich es konkret??

Viele Grüße und dank im Vorraus.
Mark

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


Beitrag von gabo (ForumUser / 6 / 0 / 0 ) »
Moin,
war die Frage zu unklar, oder geht soetwas einfach nicht?

Grüße
Mark

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
gabo hat geschrieben:Moin,
war die Frage zu unklar, oder geht soetwas einfach nicht?

Grüße
Mark
Hallo Mark,

Es geht schon.
Je nach Release kannst Du entweder mit den RTTI-Klassen CL_ABAP_*DESCR oder musst mit der Klasse CL_ALV_TABLE_CREATE und dem FuBa REUSE_ALV_TABLE_MERGE arbeiten...
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von JHM (Top Expert / 1197 / 1 / 197 ) »
gabo hat geschrieben:war die Frage zu unklar, oder geht soetwas einfach nicht?
Unklar nicht, aber wenn du gesucht schon gesucht hast müßtest du über die möglichen Techniken gestolpert sein.

Die RTTS-Klassen und CREATE DATA sind eine Möglichkeit oder über CL_ALV_TABLE_CREATE könnte man es auch lösen, hat beides seine Vor- und Nachteile. Evtl. ist auch eine Kombination von beidem möglich/sinnvoll.

Ich würde es über RTTS (cl_abap_tabledescr, cl_abap_structdescr, etc.) lösen:
- Tabellenbeschreibung der übergebenen Tabelle ermitteln
- Strukturbeschreibung der Tabellenbeschreibung ermitteln
- Komponentenliste der Strukturbeschreibung ermitteln
- Komponentenliste nach eigenen Wünschen anpassen (Feldlänge, neue Felder)
- neue Strukturbeschreibung aus geänderter Komponentenliste erzeugen
- neue Tabellenbeschreibung aus neuer Strukturbeschreibung erzeugen
- mittels CREATE DATA TYPE HANDLE neue Tabelle/Struktur erzeugen



Ob Rechenoperationen auf CHAR-Feldern gehen weiß ich nicht, hier müßtest du evtl. casten.

Wenn du auf die einzelenen Felder einer Zeile zugreifen willst:

Code: Alles auswählen.

DO.
  ASSIGNG COMPONENT sy-index OF STRUCTURE <ZEILE> TO <COMP>.
  IF sy-subrc = 0.
*  Rechen:
    <COMP> = <COMP> + 1.    
  ELSE.
*   letztes Feld erreicht DO verlassen.
    EXIT.
  ENDIF.
ENDDO.
Der ALV sollte ansich kein Problem sein, den würde ich erst später in Angriff nehmen.

Kleine Frage zum Schluß:
Bekommst du den Namen der DB-Tab über die die interne Tabelle definiert wurde mit übergeben?
Gruß Hendrik

Beitrag von gabo (ForumUser / 6 / 0 / 0 ) »
Moin,
danke für den Tipp. Also das mit dem Reflection war mir neu, hatte ich im Zusammenhang mit dynamisch erzeugten internen Tabellen auch noch nicht gelesen.

Also die interne Tabelle besteht immer aus zwei von ca. 10 verschiedenen DDIC-Strukturen.

Grüße
Mark

Seite 1 von 1

Vergleichbare Themen

4
Antw.
9123
Views
Dynamisch erzeugte Tabelle füllen
von reinhold_j » 16.05.2006 13:18 • Verfasst in ABAP Objects®
2
Antw.
4192
Views
Dynamisch erzeugte Tabelle erweitern
von ewx » 18.01.2007 14:57 • Verfasst in ABAP Objects®
3
Antw.
3351
Views
Innterne Tabelle dynamisch generieren und in ALV ausgeben
von SAP_ENTWICKLER » 29.01.2018 15:49 • Verfasst in ABAP® Core
2
Antw.
6792
Views
describe_by_name für dynamisch erzeugte ITAB
von Der Formulator » 12.11.2021 15:07 • Verfasst in ABAP® Core
8
Antw.
4191
Views
Select/Endselect in dynamisch erzeugte itab
von nickname8 » 20.07.2015 13:15 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Regex in where
vor 7 Stunden von edwin 7 / 163
Daten an Tabelle binden
vor 20 Stunden von Bright4.5 3 / 1487

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

Regex in where
vor 7 Stunden von edwin 7 / 163
Daten an Tabelle binden
vor 20 Stunden von Bright4.5 3 / 1487

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3261
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9822