Ungewollte Leerzeichen in CSV

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

Ungewollte Leerzeichen in CSV

Beitrag von andipalamos (ForumUser / 5 / 1 / 0 ) »
Hallo alle zusammen,

verzeiht mir bitte, wenn das eine dumme Fragen ist, aber ich probiere mich erst seit ein paar Wochen an ABAP und finde im Netz einfach nicht passendes dazu.

ich habe eine Anforderung aus dem Inhalt einer internen Tabelle eine .CSV-Datei zu erstellen und diese an eine E-Mail anzuhängen.
Es funktioniert auch alles wie gewollt bis auf den Inhalt in der CSV Datei und zwar enthält der Inhalt meiner ersten Spalte ab der zweiten Zeile bis zur letzten gefüllten Zeile eine große Anzahl an Leerzeichen, wie im angehängten Image zu sehen.
Bild

So sollte es aussehen:
Bild

Für die Befüllung der CSV-Datei verwendet ich den CONCATENATE-Befehl
Ich bin mir ziemlich sicher, dass dieser Fehler durch die Verwendung der Methode

Code: Alles auswählen.

CL_ABAP_CHAR_UTILITIES=>NEWLINE
ausgelöst wird, aber ich finde trotz intensiver suche im Netz keine andere Möglichkeit einen Zeilenumbruch zu erzeugen.

Code: Alles auswählen.

 Loop At TAB into wa_TAB.

    CONCATENATE wa_tab-spalte1 wa_tab-spalte2 wa_tab-spalte3 CL_ABAP_CHAR_UTILITIES=>NEWLINE into l_inhalt_csv SEPARATED BY ';'.

    l_w_attachment-line = l_inhalt_csv.
    APPEND l_w_attachment TO l_i_attachment.

  Endloop.
Um die Leerzeichen zu entfernen habe ich bereits die Befehle FIND, REPLACE, SHIFT und LEFT DELETING verwendet. Für den Zeilenumbruch habe ich auch schon versucht den Datentyp als xstring zu definieren, damit bekomme ich aber immer einen Syntaxfehler, dass in CONCATENATE dieser Datentyp nicht erlaubt ist.

Wie werde ich die Leerzeichen los?

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


Re: Ungewollte Leerzeichen in CSV

Beitrag von Thanatos82 (Expert / 699 / 32 / 123 ) »
Hi,

lass den Zeilenumbruch einfach mal weg.
Durch den APPEND wird ja jedes mal eine neue Zeile in die Tabelle eingefügt. Das sollte m.M.n. eigentlich genügen.
Gruß,
der Matze

Re: Ungewollte Leerzeichen in CSV

Beitrag von andipalamos (ForumUser / 5 / 1 / 0 ) »
hey,
das habe ich auch ausprobiert, aber in dem fall fügt er mir den gesamten Inhalt in eine Zeile.


Grüße

Re: Ungewollte Leerzeichen in CSV

Beitrag von Thanatos82 (Expert / 699 / 32 / 123 ) »
Hm,

wärst du so nett die Struktur der Übergabetabelle und den Exportbefehl zu posten? Ich vermute, dass da ein Fehler drin ist.
Gruß,
der Matze

Re: Ungewollte Leerzeichen in CSV

Beitrag von black_adept (Top Expert / 4099 / 128 / 941 ) »
Hallo Andi,

probier folgendes Vorgehen.

1.) Concateniere alle deine Daten in einen langen String inkl. des Zeilenumbruchs ( warum eigentlich nicht CR_LF sondern NEWLINE ?) Damit hast du all deine Daten dann ohne die Leerzeichen vorhanden.
2.) Wandle diesen langen String in eine Tabelle um, die du als Attachment versenden kannst. Ich nehme mal an dass du eine Tabelle vom Type SOLIX benötigst --> verwende die Methode CL_BCS_CONVERT=>STRING_TO_SOLIX
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Ungewollte Leerzeichen in CSV

Beitrag von andipalamos (ForumUser / 5 / 1 / 0 ) »
hey,
ich hoffe ich habe dich jetzt richtig verstanden :)

für den email versand benutze ich die klasse cl_bcs und definiere die Tabelle und die Struktur folgendermaßen:

Code: Alles auswählen.

DATA: l_i_attachment TYPE soli_tab.
DATA: l_w_attachment TYPE LINE OF soli_tab.

Und so sieht mein Export aus:

Code: Alles auswählen.

"Erstellt E-Mail-Objekt
l_o_send_request = CL_BCS=>CREATE_PERSISTENT( ).

"Angaben zum Versender
l_o_sender = CL_CAM_ADDRESS_BCS=>CREATE_INTERNET_ADDRESS( 'test@test.de' ).
l_o_send_request->set_sender( i_sender = l_o_sender ).

"Angaben zum Empfänger
l_o_recipient = cl_cam_address_bcs=>create_internet_address( 'test@test.de' ).
l_o_send_request->add_recipient(
i_recipient = l_o_recipient
i_copy = ''  " CC indi
).

"Angaben zum Kopieempfänger
l_o_recipient = cl_cam_address_bcs=>create_internet_address( 'test@test.de' ).
l_o_send_request->add_recipient(
i_recipient = l_o_recipient
i_copy = 'X'
).

"Dokument erstellen
l_o_document = cl_document_bcs=>create_document(
i_type = 'RAW'
i_text = l_it_contents
i_subject = l_subject
).

"Dokument anhängen
l_o_document->add_attachment(
i_attachment_type = 'CSV'
i_attachment_subject = datei_name
i_att_content_text = l_i_attachment
).

l_o_send_request->set_document( l_o_document ).

"E-Mail verschicken
l_v_ret = l_o_send_request->send( ).

Re: Ungewollte Leerzeichen in CSV

Beitrag von andipalamos (ForumUser / 5 / 1 / 0 ) »
hallo black_adept,
wie bekomme ich den gesamten inhalts des loops in einen gesamtstring?
der loop überschreibt mir den inhalt des strings mit dem nächsten durchlauf im loop mit den neuen inhalten.

viele grüße

Re: Ungewollte Leerzeichen in CSV

Beitrag von black_adept (Top Expert / 4099 / 128 / 941 ) »
concatenate gesamtstring neue zeile into gesamtstring

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

live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Ungewollte Leerzeichen in CSV

Beitrag von andipalamos (ForumUser / 5 / 1 / 0 ) »
Vielen Dank,
funktioniert jetzt perfekt.

Seite 1 von 1

Vergleichbare Themen

10
Antw.
4550
Views
Ungewollte Listausgabe nach Dynpro
von mawi » 05.06.2007 17:14 • Verfasst in Dialogprogrammierung
7
Antw.
1517
Views
Vererbung - Ungewollte Referenz auf Oberklasse
von der_neuling » 22.02.2021 12:12 • Verfasst in ABAP Objects®
4
Antw.
6439
Views
Leerzeichen löschen
von MarkusW » 28.02.2007 15:27 • Verfasst in ABAP® für Anfänger
3
Antw.
2937
Views
REPLACE von Leerzeichen
von dingo » 26.03.2009 08:07 • Verfasst in ABAP® für Anfänger
5
Antw.
3937
Views
Leerzeichen ausgeben
von Gast » 29.08.2005 11:39 • Verfasst in ABAP® Core

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

Aktuelle Forenbeiträge

Regex in where
vor 19 Stunden von tar 8 / 367
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1636
Programm anlegen mit Vorlage
vor 2 Tagen von DeathAndPain 2 / 285
IT0024 Qualifikationen CP-ID
vor 2 Tagen von DeathAndPain 2 / 528

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 19 Stunden von tar 8 / 367
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1636
Programm anlegen mit Vorlage
vor 2 Tagen von DeathAndPain 2 / 285
IT0024 Qualifikationen CP-ID
vor 2 Tagen von DeathAndPain 2 / 528

Unbeantwortete Forenbeiträge

BUSOBJEKT zu CMIS PHIO ermitteln
vor 2 Tagen von snooga87 1 / 221
aRFC im OO-Kontext
letzen Monat von ralf.wenzel 1 / 3403
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9953