OPEN DATASET: Leerzeile einfügen in CSV-Datei

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

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).
3 Beiträge • Seite 1 von 1
3 Beiträge Seite 1 von 1

OPEN DATASET: Leerzeile einfügen in CSV-Datei

Beitrag von sapdepp (Specialist / 218 / 37 / 2 ) »
Guten Tag,

ich möchte gern per OPEN DATASET eine Leerzeile zwischen der 2. und 3. Zeile in eine CSV-Datei einfügen. Das klappt aber nicht. Folgendes habe ich probiert:

1. Möglichkeit (vereinfacht):

Code: Alles auswählen.

OPEN DATASET g_adatei FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
DATA newline TYPE abap_char1 VALUE cl_abap_char_utilities=>newline.

c_zeile = |[Header]{ newline }Source=OP{ newline }{ newline }[Data]|.

TRANSFER c_zeile TO g_adatei.
CLOSE DATASET g_adatei.
2. Möglichkeit (vereinfacht):

Code: Alles auswählen.

OPEN DATASET g_adatei FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
c_zeile = |[Header]|.
TRANSFER c_zeile TO g_adatei.
c_zeile = |Source=OP|.
TRANSFER c_zeile TO g_adatei.
c_zeile = ' '.
TRANSFER c_zeile TO g_adatei.
c_zeile = |[Data]|.
TRANSFER c_zeile TO g_adatei.
CLOSE DATASET g_adatei.
Mit cr_lf anstatt newline klappt es übrigens auch nicht.

Aussehen soll es so:
[Header]
Source=OP

[Data]

Aussehen tut es so momentan:
[Header]
Source=OP
[Data]

Bin dankbar für Denkanstoß.

Vielen Dank und viele Grüße

sapdepp

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


Re: OPEN DATASET: Leerzeile einfügen in CSV-Datei

Beitrag von a-dead-trousers (Top Expert / 4397 / 223 / 1182 ) »
Da du im TEXT MODE unterwegs bist übernimmt das TRANSFER die "Zeilenschaltung".
Du könntest also entweder einen kompletten String inkl. CR und/oder LF erstellen. Diesen dann in einen XSTRING umwandlen (Codepage!) und im BINARY MODE schreiben.
ODER
Du machst einfach für jede Leerzeile ein TRANSFER mit einem leeren String.

Mir persönlich ist die Variante mit BINARY MODE lieber (sowohl für Lesen als auch schreiben) weil man da viel genauer mit der Codepage arbeiten kann und dadurch auch flexibler ist.

EDIT:
Ich hab gerade gesehen du versuchst es ja bereits mit einem Leerzeichen.
Wie ist C_ZEILE definiert? Wenn es ein CHAR-Feld ist wird das nicht funktionieren. Wenn es ein STRING ist musst du ` ` anstatt ' ' verwenden um ein Leerzeichen im String zu haben und damit eine NICHT INITIALE Zeile zu bekommen.

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

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: OPEN DATASET: Leerzeile einfügen in CSV-Datei

Beitrag von sapdepp (Specialist / 218 / 37 / 2 ) »
Hi ADT,

das mit dem leeren String und TRANSFER hatte ich im 2. Beispiel schon vergeblich versucht. Aber du hast es ja schon gelesen jetzt. C_STRING hatte ich als String definiert, die `` funktionieren nun wie erhofft. :)

Im BINARY MODE kommt leider nur Kauderwelsch heraus.

Im BINARY MODE habe ich das eingegeben. Bei Ausgabe im BINARY MODE fehlen nun allerdings die Einträge in der CSV, sie ist leer. Nutze ich die System-Codepage 4103, dumpt es.

Code: Alles auswählen.

OPEN DATASET g_adatei FOR OUTPUT IN LEGACY BINARY MODE CODE PAGE '1100'.
c_zeile = |[Header]{ cr_lf }Source=OP{ cr_lf }{ cr_lf }[Data]|.
data(x_zeile) = CONV xstring( c_zeile ).
TRANSFER x_zeile TO g_datei.
CLOSE DATASET g_adatei.
Vielen Dank. Das mit dem TEXT MODE hat ja geklappt, wie gesagt.

sapdepp

Seite 1 von 1

Vergleichbare Themen

15
Antw.
2059
Views
CSV Datei mit open dataset
von lisa » 18.05.2021 10:19 • Verfasst in ABAP® für Anfänger
2
Antw.
3867
Views
Datei anlegen mit Open Dataset
von ostpower » 22.10.2012 16:12 • Verfasst in Human Resources
3
Antw.
1773
Views
Mit Open Dataset eine CSV-Datei erstellen
von L0w-RiDer » 01.11.2019 09:38 • Verfasst in ABAP® für Anfänger
7
Antw.
6436
Views
OPEN DATASET öffnet die Datei nicht
von Marwin » 20.04.2005 11:17 • Verfasst in ABAP® Core
1
Antw.
4054
Views
OPEN DATASET for Input einer CSV-Datei
von Tina » 20.06.2006 15:08 • Verfasst in Basis

Ü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

Trennen Strasse und Hausnummer
vor 6 Stunden von msfox 18 / 10937
Dialog-Container mit Toolbar/Status
vor 9 Stunden von black_adept gelöst 27 / 4039
IT0024 Qualifikationen CP-ID
vor 11 Stunden von ArjenR 1 / 78

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

Trennen Strasse und Hausnummer
vor 6 Stunden von msfox 18 / 10937
Dialog-Container mit Toolbar/Status
vor 9 Stunden von black_adept gelöst 27 / 4039
IT0024 Qualifikationen CP-ID
vor 11 Stunden von ArjenR 1 / 78

Unbeantwortete Forenbeiträge

IT0024 Qualifikationen CP-ID
vor 11 Stunden von ArjenR 1 / 78
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 3012
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9603