Warum man SAP_CONVERT_TO_CSV_FORMAT nicht verwenden sollte bzw. was es zu beachten gilt

Hinweise, Tips und Tricks, FAQs - keine Anfragen!!
4 Beiträge • Seite 1 von 1
4 Beiträge Seite 1 von 1

Warum man SAP_CONVERT_TO_CSV_FORMAT nicht verwenden sollte bzw. was es zu beachten gilt

Beitrag von a-dead-trousers (Top Expert / 4281 / 214 / 1140 ) »
1.) Der Funktionsbaustein kann nicht mit Sonderzeichen umgehen.

Gegeben sei das folgende Programm:

Code: Alles auswählen.

DATA:
  lt_table TYPE flighttab,
  lt_csv   TYPE truxs_t_text_data.

APPEND VALUE #( mandt      = sy-mandt
                carrid     = 'LH'
                connid     = '0731'
                fldate     = sy-datum
                price      = '15.25'
                currency   = 'EUR'
                planetype  = 'BOIN;"MAX"'
                seatsmax   = 12
                seatsocc   = 11
                paymentsum = '1242.30'
                seatsmax_b = 1
                seatsocc_b = 1
                seatsmax_f = 2
                seatsocc_f = 2 ) TO lt_table.

APPEND VALUE #( mandt      = sy-mandt
                carrid     = 'AA'
                connid     = '0731'
                fldate     = sy-datum
                price      = '15.15'
                currency   = 'EUR'
                planetype  = 'BOIN "MIN"'
                seatsmax   = 13
                seatsocc   = 12
                paymentsum = '1232.30'
                seatsmax_b = 1
                seatsocc_b = 1
                seatsmax_f = 2
                seatsocc_f = 2 ) TO lt_table.

CALL FUNCTION 'SAP_CONVERT_TO_CSV_FORMAT'
  TABLES
    i_tab_sap_data       = lt_table
  CHANGING
    i_tab_converted_data = lt_csv
  EXCEPTIONS
    conversion_failed    = 1
    OTHERS               = 2.
Das Ergebnis in LT_CSV sieht dann so aus:

Code: Alles auswählen.

091;LH;0731;03.08.2022;15,25;EUR;BOIN;"MAX";12;11;1.242,30;1;1;2;2
091;AA;0731;03.08.2022;15,15;EUR;BOIN "MIN";13;12;1.232,30;1;1;2;2
Das ist aber nicht korrekt.
Richtig wäre hingegen:

Code: Alles auswählen.

091;LH;0731;03.08.2022;15,25;EUR;"BOIN;""MAX""";12;11;1.242,30;1;1;2;2
091;AA;0731;03.08.2022;15,15;EUR;"BOIN ""MIN""";13;12;1.232,30;1;1;2;2
Somit fehlt die Maskierung von ; und ". Das müsste man bereits vor dem Aufruf des Funktionsbausteins berücksichtigen und entsprechende Felder vorab maskieren. Dazu müsste man aber wiederum die betroffenen Felder "vergrößern" um Platz für die zusätzlichen Zeichen zu schaffen. Wenn ich dann mein Programm aber schon soweit umbauen muss, dann kann ich doch gleich auch meine eigene CSV Generierung schreiben.

2.) Die Zeilenlänge ist auf 4096 Zeichen beschränkt
Gut, das ist jetzt nur eine kleiner Nachteil. Wer hat schon derart breite Tabellen? Nur sollte man das als mögliche Fehlerquelle nicht außer acht lassen.

3.) Während der Verarbeitung wird ein Fortschrittsindikator angezeigt.
Auch hier muss man das jetzt nicht so eng sehen, nur hätte ich halt gerne die Möglichkeit gehabt das auch irgendwie unterdrücken zu können.

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

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

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


Re: Warum man SAP_CONVERT_TO_CSV_FORMAT nicht verwenden sollte bzw. was es zu beachten gilt

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
a-dead-trousers hat geschrieben:
03.08.2022 09:00
2.) Die Zeilenlänge ist auf 4096 Zeichen beschränkt
Gut, das ist jetzt nur eine kleiner Nachteil. Wer hat schon derart breite Tabellen? Nur sollte man das als mögliche Fehlerquelle nicht außer acht lassen.
Wieviele Migrationen soll ich dir nennen, wo ich das hatte? ;) Ein Limit ist immer doof, ich z. B. habe ständig Probleme mit den max. 30 Zeichen für Namen von Klassen und Methoden, zumal wir nur Großbuchstaben haben und daher viele '_' einsetzen müssen, um Worte zu trennen.


Ralf

Folgende Benutzer bedankten sich beim Autor ralf.wenzel für den Beitrag (Insgesamt 2):
Haubia-dead-trousers

Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Warum man SAP_CONVERT_TO_CSV_FORMAT nicht verwenden sollte bzw. was es zu beachten gilt

Beitrag von gtoXX (Specialist / 185 / 34 / 31 ) »
ralf.wenzel hat geschrieben:
23.08.2022 10:15
a-dead-trousers hat geschrieben:
03.08.2022 09:00
2.) Die Zeilenlänge ist auf 4096 Zeichen beschränkt
Gut, das ist jetzt nur eine kleiner Nachteil. Wer hat schon derart breite Tabellen? Nur sollte man das als mögliche Fehlerquelle nicht außer acht lassen.
Wieviele Migrationen soll ich dir nennen, wo ich das hatte? ;) Ein Limit ist immer doof, ich z. B. habe ständig Probleme mit den max. 30 Zeichen für Namen von Klassen und Methoden, zumal wir nur Großbuchstaben haben und daher viele '_' einsetzen müssen, um Worte zu trennen.


Ralf
Da kenne ich in SAP aber schlimmere Limits.. Tabellennamen.. Berechtigungsobjekte etc. Dem Literaten wären auch 100 char nicht genug ^^
"Code lügt nicht ^^"

Re: Warum man SAP_CONVERT_TO_CSV_FORMAT nicht verwenden sollte bzw. was es zu beachten gilt

Beitrag von Shortcut IT (ForumUser / 50 / 2 / 13 ) »
Hallo,
3.) Während der Verarbeitung wird ein Fortschrittsindikator angezeigt.
den man aber abschalten kann.

Code: Alles auswählen.

get parameter id 'SIN' field data(olsSINValue).
set parameter id 'SIN' field '0'.
call function ...
set parameter id 'SIN' field oldSINValue.
Aber klar, die Möglichkeiten über Klasse CL_RSDA_CSV_CONVERTER (weiß nicht, ob es noch weitere gibt, eigenentwickelte mal ausgenommen) sind natürlich vorzuziehen.

Viele Grüße
Shortcut IT

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


Seite 1 von 1

Vergleichbare Themen

1
Antw.
3981
Views
Convert report output to TIFF format
von Techiee1 » 14.03.2005 09:06 • Verfasst in Development Related
12
Antw.
11950
Views
Konvertierung Internes Format <-> Externes Format in SE16N
von kdo » 26.08.2010 10:16 • Verfasst in ABAP® für Anfänger
13
Antw.
5721
Views
groß und kleinschreibung nicht beachten
von liberado » 03.05.2007 08:42 • Verfasst in ABAP® Core
2
Antw.
5320
Views
PARAMETERS Groß- und Kleinschreibung beachten
von wummy » 27.02.2007 08:59 • Verfasst in ABAP® Core

Aktuelle Forenbeiträge

RFC FuBa Call - Korrupte Daten
vor 16 Minuten von der_neuling 3 / 26
SELECT CHAR16 in CHAR12-Feld
vor 8 Stunden von Shortcut IT 3 / 34
alv_grid aktualisieren
vor 8 Stunden von a-dead-trousers 3 / 70

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 FuBa Call - Korrupte Daten
vor 16 Minuten von der_neuling 3 / 26
SELECT CHAR16 in CHAR12-Feld
vor 8 Stunden von Shortcut IT 3 / 34
alv_grid aktualisieren
vor 8 Stunden von a-dead-trousers 3 / 70

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 4 Wochen von Lucyalison 1 / 134
Group Items auf einer Filterbar
vor 5 Wochen von Bright4.5 1 / 168