Tabellenstruktur, ohne deren Feldtypen kopieren

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
1 Beitrag • Seite 1 von 1
1 Beitrag Seite 1 von 1

Tabellenstruktur, ohne deren Feldtypen kopieren

Beitrag von Replica (ForumUser / 2 / 1 / 0 ) »
Hallo zusammen,

ich schreibe z.Zt. einen Report, der (unter anderem) eine Datenbank-Tabelle samt Feldnamen nach Excel importiert.
Den entsprechenden Funktionsbaustein habe ich gefunden und erfolgreich getestet, da gibts keine Probleme. Es wird einfach eine interne Tabelle übergeben, der dann als Excel-Datei gespeichert wird.

Das ganze soll generisch gehalten werden und mit beliebigen Tabellen funktionieren. Dazu schreibe ich über einen Select die Datenbankinhalte in eine interne Tabelle, die ich mit

Code: Alles auswählen.

DATA: it_table LIKE TABLE OF tabellenname WITH HEADER LINE.
deklariert habe.
Über das Directory lese ich dann die entsprechenden Conversion-Exits aus und möchte sie nun anwenden.

Das Problem dabei ist, dass z.B. ein Datum laut Directory als DATUM_INV bzw C(8) gespeichert wird. Nach dem Konvertieren ist das Datum aber durch die zwei "." 10 Stellen lang und nach dem Ändern habe ich dann so Daten wie "03.04.20", was natürlich nicht akzeptabel ist.
Beim Datum konnte ich mir zunächst so helfen, dass ich nach dem Konvertieren das Datum auf "03.04.09" und somit 8 Stellen gekürzt habe.
Diese Lösung ist aber nicht grade dynamisch und bei anderen Feldern, sowie den Feldnamen, die ich in der Excel-Datei dringend als Kopfzeile benötige, geht das aber nicht.

Die einzige Möglichkeit, welche mir jetzt noch einfällt, ist, eine zweite interne Tabelle zu erzeugen, welche später an den Excel-Funktionsbaustein übergeben wird, in der jedes Feld vom Typ c(50) ist. Die Anzahl der Spalten wäre ja vorher bekannt. Aber hier kenne ich leider keine Methode, mit der ich dynamisch eine Tabelle erzeugen kann, welche die passende Anzahl an Spalten zur Verfügung stellt.
Eine hardgecodete Version mit

Code: Alles auswählen.

TYPES: BEGIN OF it_col,
         f1(50) TYPE c,
         f2(50) TYPE c,
         f3(50) TYPE c,
         f4(50) TYPE c,
         f5(50) TYPE c,
         f6(50) TYPE c,
         f7(50) TYPE c,
         f8(50) TYPE c,
         f9(50) TYPE c,
         f10(50) TYPE c,
         f11(50) TYPE c,
         f12(50) TYPE c,
ist ja weder effektiv, noch übersichtlich, oder ressourcensparend...
Am besten wäre eine interne Tabelle, welche die richtige (ja vorher bekannte) Anzahl an Feldern hat, die Feldnamen, aber NICHT deren Feldtypen, sondern c(50) übernimmt.

Könnt ihr mir vielleicht einen Tipp geben, wie ich dieses Problem lösen kann?

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


Seite 1 von 1

Vergleichbare Themen

10
Antw.
3480
Views
Feldtypen
von Kelly » 21.09.2005 12:37 • Verfasst in ABAP® für Anfänger
6
Antw.
5748
Views
Längengrenze für ALV - Feldtypen C oder String
von Svenson » 13.01.2006 14:36 • Verfasst in Dialogprogrammierung
1
Antw.
1623
Views
Feldtypen CURR / QUAN im Unterprogramm ermitteln, geht das?
von Gast » 25.01.2006 16:21 • Verfasst in ABAP® Core
7
Antw.
4682
Views
Wertebereich Parameter EDIT_MODE und deren Bedeutung?
von Nordlicht » 11.10.2006 09:21 • Verfasst in ABAP Objects®
2
Antw.
1463
Views
Tabellenstruktur
von Ines » 12.10.2006 22:51 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag

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

Aktuelle Forenbeiträge

RFC vs. ODATA
vor 3 Tagen von DeathAndPain 8 / 1654
Frage zur redefinierten Methode
vor 6 Tagen von ralf.wenzel 12 / 2123

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

RFC vs. ODATA
vor 3 Tagen von DeathAndPain 8 / 1654
Frage zur redefinierten Methode
vor 6 Tagen von ralf.wenzel 12 / 2123