Ausgabe aus Applikationsserver verursacht Zeilenumbrüche die da nicht sein sollten

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

Getting started ... Alles für einen gelungenen Start.
16 Beiträge • Seite 1 von 2 (current) Nächste
16 Beiträge Seite 1 von 2 (current) Nächste

Ausgabe aus Applikationsserver verursacht Zeilenumbrüche die da nicht sein sollten

Beitrag von MS-K (ForumUser / 11 / 0 / 0 ) »
Hallo zusammen,

ich bin irgendwie ratlos. Ich versuche eingie Felder mit concatenate als Textdatei auf einen Applikationserver zu schreiben und plötzlich werden Zeilenumbrüche generiert die da eigentlich nicht sein sollten. Hat jemand eine Idee wieso so etwas passiert?

Danke im Voraus.

Gruß
MS-K

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


Re: Ausgabe aus Applikationsserver verursacht Zeilenumbrüche die da nicht sein sollten

Beitrag von black_adept (Top Expert / 4099 / 128 / 941 ) »
Bitte poste mal den Teil des Codings mit den folgenden Schlüsselworten: OPEN DATASET und TRANSFER
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Ausgabe aus Applikationsserver verursacht Zeilenumbrüche die da nicht sein sollten

Beitrag von MS-K (ForumUser / 11 / 0 / 0 ) »
black_adept hat geschrieben:
04.10.2024 09:38
Bitte poste mal den Teil des Codings mit den folgenden Schlüsselworten: OPEN DATASET und TRANSFER
Hallo Stefan,
das Coding sieht so aus.

OPEN DATASET l_var_pfad_datei1 FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
TRANSFER l_var_zeile1 TO l_var_pfad_datei1.
CLOSE DATASET l_var_pfad_datei1.

Gruß
Miguel

Re: Ausgabe aus Applikationsserver verursacht Zeilenumbrüche die da nicht sein sollten

Beitrag von black_adept (Top Expert / 4099 / 128 / 941 ) »
Exakt 1 TRANSFER oder mehrere TRANSFER innerhalb eines LOOPs?
Und ich würde gerne noch mal den Teil des Codings mit dem CONCATENATE sehen wollen.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Ausgabe aus Applikationsserver verursacht Zeilenumbrüche die da nicht sein sollten

Beitrag von MS-K (ForumUser / 11 / 0 / 0 ) »
black_adept hat geschrieben:
04.10.2024 10:09
Exakt 1 TRANSFER oder mehrere TRANSFER innerhalb eines LOOPs?
Und ich würde gerne noch mal den Teil des Codings mit dem CONCATENATE sehen wollen.
v_zaehler2 = 0.


LOOP AT lt_zwerg1 into ls_zwerg1.

Replace all occurrences of CL_ABAP_CHAR_UTILITIES=>CR_LF in ls_zwerg1-DESCRIPTION with space.

CONCATENATE
ls_zwerg1-MONTHYEAR';'
ls_zwerg1-EXT_ADDR';'
ls_zwerg1-INT_ADDR';'
ls_zwerg1-DESCRIPTION';'
ls_zwerg1-ATTACHMENT';'
ls_zwerg1-SVTOPK';'
ls_zwerg1-PKTOSV


INTO l_var_zeile1.

TRANSFER l_var_zeile1 TO l_var_pfad_datei1.

v_zaehler2 = v_zaehler2 + 1.

ENDLOOP.

Re: Ausgabe aus Applikationsserver verursacht Zeilenumbrüche die da nicht sein sollten

Beitrag von a-dead-trousers (Top Expert / 4400 / 223 / 1182 ) »
Blöde Fragen:
Wo befinden sich diese "ungewünschten" Zeilenumbrüche in deiner Datei? Zwischen den einzelnen Datensätzen oder (auch) innerhalb der Datensätze? Wie "überprüfst" du deine Datei? Mit welchem (Text-)Editor?
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: Ausgabe aus Applikationsserver verursacht Zeilenumbrüche die da nicht sein sollten

Beitrag von a-dead-trousers (Top Expert / 4400 / 223 / 1182 ) »
Wenn es um die Zeilenumbrüche zwischen den Datensätzen geht, lies dir noch mal die ABAP-Hilfe zu TRANSFER durch. Besonders den Abschnitt mit der Ablageart bzw. den Zusatz NO END OF LINE.
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: Ausgabe aus Applikationsserver verursacht Zeilenumbrüche die da nicht sein sollten

Beitrag von MS-K (ForumUser / 11 / 0 / 0 ) »
a-dead-trousers hat geschrieben:
04.10.2024 10:59
Blöde Fragen:
Wo befinden sich diese "ungewünschten" Zeilenumbrüche in deiner Datei? Zwischen den einzelnen Datensätzen oder (auch) innerhalb der Datensätze? Wie "überprüfst" du deine Datei? Mit welchem (Text-)Editor?
Die unerwünschten Umbrüche entstehen scheinbar beim CONCATENATE da wir zwischen 2 Zeichen scheinbar willkürlich ein Umbruch eingefügt.
Im entsprechenden Feld der Datenbanktabelle ist der nicht drin.

Re: Ausgabe aus Applikationsserver verursacht Zeilenumbrüche die da nicht sein sollten

Beitrag von black_adept (Top Expert / 4099 / 128 / 941 ) »
MS-K hat geschrieben:
04.10.2024 11:56
Die unerwünschten Umbrüche entstehen scheinbar beim CONCATENATE da wir zwischen 2 Zeichen scheinbar willkürlich ein Umbruch eingefügt.
Im entsprechenden Feld der Datenbanktabelle ist der nicht drin.
Das glaube ich nicht. Eher wird in irgendwelchen der zusammengefügten Felder am Ende schon ein Zeilenumbruch ( nicht unbedingt CRLF sondern evtl. nur CR oder nur LF ) vorhanden sein. Schau dir mal im Debugger die jeweiligen Felder als HEX an und schau, ob diese mit "0A" oder "0D" enden. Passiert manchmal, wenn User Daten aus dem Internet mittels Copy&Paste in SAP-Felder einfügen oder wenn man Dateien mal von Unix und mal von Windows lädt. Das ist nie schön, aber auch nicht völlig unerwartet. Du solltest vorab alle Felder 1x bereinigen - und eben nicht nur nach CRLF sondern einzeln nach CR und LF.
Das Feld, was am Ende einer unerwartet unterbrochenen Zeile steht ist dasjenige, welches mit dem doofen Wert endet - da kannst du also gezielt nachschauen.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Ausgabe aus Applikationsserver verursacht Zeilenumbrüche die da nicht sein sollten

Beitrag von black_adept (Top Expert / 4099 / 128 / 941 ) »
Triggerhappy - die Seite war zu langsam und daher der Doppelpost.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Ausgabe aus Applikationsserver verursacht Zeilenumbrüche die da nicht sein sollten

Beitrag von a-dead-trousers (Top Expert / 4400 / 223 / 1182 ) »
Vielleicht probierst du es mal damit bevor du den TRANSFER machst:

Code: Alles auswählen.

Replace all occurrences of regex |[{ CL_ABAP_CHAR_UTILITIES=>CR_LF }]| in l_var_zeile1 with space.
Das sollte alle möglichen Zeilenumbruchzeichen (Mac, Win, Unix/Linux, ...) von deinem Text vor der Dateiausgabe enfernen.
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: Ausgabe aus Applikationsserver verursacht Zeilenumbrüche die da nicht sein sollten

Beitrag von black_adept (Top Expert / 4099 / 128 / 941 ) »
a-dead-trousers hat geschrieben:
04.10.2024 12:52
Vielleicht probierst du es mal damit bevor du den TRANSFER machst:

Code: Alles auswählen.

Replace all occurrences of regex |[{ CL_ABAP_CHAR_UTILITIES=>CR_LF }]| in l_var_zeile1 with space.
Das sollte alle möglichen Zeilenumbruchzeichen (Mac, Win, Unix/Linux, ...) von deinem Text vor der Dateiausgabe enfernen.
Nimm statt "WITH SPACE" lieber "WITH ``", sonst erzeugst du "trailing blanks" - und die will man eigentlich auch nicht haben.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Ausgabe aus Applikationsserver verursacht Zeilenumbrüche die da nicht sein sollten

Beitrag von black_adept (Top Expert / 4099 / 128 / 941 ) »
a-dead-trousers hat geschrieben:
04.10.2024 12:52
Vielleicht probierst du es mal damit bevor du den TRANSFER machst:

Code: Alles auswählen.

Replace all occurrences of regex |[{ CL_ABAP_CHAR_UTILITIES=>CR_LF }]| in l_var_zeile1 with space.
Das sollte alle möglichen Zeilenumbruchzeichen (Mac, Win, Unix/Linux, ...) von deinem Text vor der Dateiausgabe enfernen.
Nimm statt "WITH SPACE" lieber "WITH ``", sonst erzeugst du "trailing blanks" - und die will man eigentlich auch nicht haben.
@a-d-t: Warum das "CL_..=>CR_LF" als String expression. Das kann man auch direkt verwenden und wenn man schon so vorgeht: Es gibt einen Replaceoperator, der alle nicht druckbaren Zeichen entsorgt, den ich aber nicht auswendig weiß. Der entsorgt CR_LF, CR, LF, TAB und was sonst noch an Anfug in solchen Feldern stehen kann.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Ausgabe aus Applikationsserver verursacht Zeilenumbrüche die da nicht sein sollten

Beitrag von a-dead-trousers (Top Expert / 4400 / 223 / 1182 ) »
black_adept hat geschrieben:
04.10.2024 13:17
@a-d-t: Warum das "CL_..=>CR_LF" als String expression. Das kann man auch direkt verwenden und wenn man schon so vorgeht: Es gibt einen Replaceoperator, der alle nicht druckbaren Zeichen entsorgt, den ich aber nicht auswendig weiß. Der entsorgt CR_LF, CR, LF, TAB und was sonst noch an Anfug in solchen Feldern stehen kann.
Damit ich die Regex [<CR><LF>] habe, also die beiden Zeichen in beliebiger Kombination.
Du meinst wohl [[:cntrl:]].
https://help.sap.com/doc/abapdocu_751_i ... ecials.htm
Ich vertraue den vorgefertigten Mengen nicht so ganz, weil nirgendwo genau beschrieben ist, was wirklich inkludiert ist.

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag (Insgesamt 2):
black_adeptrob_abc

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: Ausgabe aus Applikationsserver verursacht Zeilenumbrüche die da nicht sein sollten

Beitrag von black_adept (Top Expert / 4099 / 128 / 941 ) »
a-dead-trousers hat geschrieben:
04.10.2024 13:39
Damit ich die Regex [<CR><LF>] habe, also die beiden Zeichen in beliebiger Kombination.
Cooooool - das geht in mein Repertoire.....
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Vergleichbare Themen

3
Antw.
2185
Views
Zeilenumbrüche im String
von ABAPlerv » 01.09.2023 11:40 • Verfasst in ABAP® für Anfänger
5
Antw.
817
Views
Zeilenumbrüche ersetzen
von ralf.wenzel » 23.11.2024 13:34 • Verfasst in ABAP® Core
7
Antw.
2665
Views
Write-Ausgabe vor Alv-Grid Ausgabe
von L0w-RiDer » 14.08.2019 14:09 • Verfasst in ABAP® für Anfänger
2
Antw.
3420
Views
präsentation- und applikationsserver
von kostonstyle » 27.07.2008 20:28 • Verfasst in ABAP® für Anfänger
3
Antw.
4036
Views
PDF auf Applikationsserver ablegen
von basstos » 23.07.2008 15:04 • 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

Rechnung: Belegspez. Adresse
vor 9 Stunden von ewx 2 / 362
Daten an Tabelle binden
vor 15 Stunden von Lukas Sanders 4 / 2222
Regex in where
vor 2 Tagen von tar 8 / 1037
Programm anlegen mit Vorlage
vor 4 Tagen von DeathAndPain 2 / 807

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

Rechnung: Belegspez. Adresse
vor 9 Stunden von ewx 2 / 362
Daten an Tabelle binden
vor 15 Stunden von Lukas Sanders 4 / 2222
Regex in where
vor 2 Tagen von tar 8 / 1037
Programm anlegen mit Vorlage
vor 4 Tagen von DeathAndPain 2 / 807

Unbeantwortete Forenbeiträge

BUSOBJEKT zu CMIS PHIO ermitteln
vor 4 Tagen von snooga87 1 / 700
aRFC im OO-Kontext
letzen Monat von ralf.wenzel 1 / 3885
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 10311