CSV Spalten einlesen

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

CSV Spalten einlesen

Beitrag von Phame (ForumUser / 14 / 8 / 0 ) »
Hallo,

ich steh vor folgendem Problem, ich hab eine CSV und möchte diese in eine interne Tabelle einlesen. Dabei hab ich jedoch immer das Problem, dass jede Spalte abgeschnitten wird, egal ob ich mit GUI_UPLOAD oder KCD_CSV_FILE_TO_INTERN_CONVERT meine Datei importiere. Dabei ist es auch egal ob ich in einen String schreibe, oder ein Char1024, ich hab immer der CSV in meinem Feld.

Welche Möglichkeit gibt es solche längeren Spalten einzulesen, so dass keine Zeichen verloren gehen? Hab schon einige Sachen über die Suchfunktion in Erwägung gezogen, aber leider hat noch nichts geholfen.


Lg
Zuletzt geändert von Phame am 20.04.2016 13:02, insgesamt 1-mal geändert.

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


Re: CSV Spalten mit mehr als 255 Zeichen einlesen.

Beitrag von black_adept (Top Expert / 3946 / 105 / 886 ) »
Hallo Phame,

lies dir die Datei zeilenweise in eine Stringtabelle ein und verwende dann zeilenweise die Klasse CL_RSDA_CSV_CONVERTER. Die kann auch mit langen Spalten umgehen.

Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
Phame

live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: CSV Spalten mit mehr als 255 Zeichen einlesen.

Beitrag von Phame (ForumUser / 14 / 8 / 0 ) »
Danke für den Tipp,

nur ich schaffs leider nicht eine ganze Zeile mit dem Inhalt der Spalte einzulesen, ohne dass die ab 256 abgeschnitten wird.

Re: CSV Spalten mit mehr als 255 Zeichen einlesen.

Beitrag von black_adept (Top Expert / 3946 / 105 / 886 ) »
Einlesen in "lange" Zeilen

Code: Alles auswählen.

data: gt_data type STANDARD TABLE OF string.
cl_gui_frontend_services=>gui_upload(
  EXPORTING
    filename                = `hier muss der Dateiname rein`
  CHANGING
    data_tab                = gt_data
  EXCEPTIONS
    file_open_error         = 1
    file_read_error         = 2
    no_batch                = 3
    gui_refuse_filetransfer = 4
    invalid_type            = 5
    no_authority            = 6
    unknown_error           = 7
    bad_data_format         = 8
    header_not_allowed      = 9
    separator_not_allowed   = 10
    header_too_long         = 11
    unknown_dp_error        = 12
    access_denied           = 13
    dp_out_of_memory        = 14
    disk_full               = 15
    dp_timeout              = 16
    not_supported_by_gui    = 17
    error_no_gui            = 18
    others                  = 19
       ).

Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
Phame

live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: CSV Spalten mit mehr als 255 Zeichen einlesen.

Beitrag von Phame (ForumUser / 14 / 8 / 0 ) »
Mit gui_upload und diversen anderen FUBS hab ich es schon probiert, liest zwar immer alle Spalten ein, aber keine mit mehr als 255 Zeichen, egal ob ich es nun als .xsl, csv oder txt speichere.

Wenn ich es so mach wie oben, dann hab ich eine Zeile mit 255 Zeichen, der Rest der Zeile fehlt dann in der jeweiligen Line der gt_dat

Re: CSV Spalten mit mehr als 255 Zeichen einlesen.

Beitrag von a-dead-trousers (Top Expert / 4285 / 214 / 1141 ) »
Alternativ könnte man den Upload als 'BIN' in eine RAW-Tabelle durchführen.
Dann kann man sich im SAP um die Umwandlung in eine Text-Tabelle kümmern. Die korrekte Erkennung von den Zeilenumbrüchen inklusive.

Diverse Beispiele für Upload: https://abapcodexperiments.wordpress.co ... ary-files/
XSTRING in STRING umwandeln: https://scn.sap.com/thread/1098684#6415751
STRING in STRINGTAB: SPLIT string AT cl_abap_char_utilities=>cr_lf INTO TABLE stringtab.

lg ADT

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
Phame

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: CSV Spalten mit mehr als 255 Zeichen einlesen.

Beitrag von Phame (ForumUser / 14 / 8 / 0 ) »
Danke für eure Hinweise, ich glaub ich hab gar keinen Fehler, liegt wohl einfach an der Anzeige.

Sowohl im ALV wo ich es ausgebe, als auch im Debugger in der Standardansicht werden wohl nur 255 Zeichen angegeben, stell ich im Debugger die Ansicht auf tabellarisch, dann ist alles da :D

Re: CSV Spalten mit mehr als 255 Zeichen einlesen.

Beitrag von a-dead-trousers (Top Expert / 4285 / 214 / 1141 ) »
Phame hat geschrieben:Sowohl im ALV wo ich es ausgebe, als auch im Debugger in der Standardansicht werden wohl nur 255 Zeichen angegeben, stell ich im Debugger die Ansicht auf tabellarisch, dann ist alles da :D
Ok, das hättest du evtl. früher sagen sollen. :wink:
Laut Hinweis 422660 kann ein ALV-Grid übrigens sogar nur 128 Zeichen darstellen.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Seite 1 von 1

Vergleichbare Themen

10
Antw.
18745
Views
csv einlesen
von bohne » 05.12.2006 14:37 • Verfasst in ABAP® für Anfänger
6
Antw.
2025
Views
Webseite einlesen
von Abapanfänger » 26.08.2016 10:30 • Verfasst in ABAP® für Anfänger
8
Antw.
3195
Views
Batchinputmappe einlesen
von Ifrit » 21.11.2006 10:57 • Verfasst in ABAP® für Anfänger
0
Antw.
1036
Views
XML Dateien einlesen!
von Rabea1103 » 02.03.2009 11:32 • Verfasst in ABAP® Core
0
Antw.
3691
Views
xml Datei einlesen
von Rabea1103 » 05.03.2009 13:58 • Verfasst in ABAP® Core

Ü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.