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

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

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

Beitrag von MS-K (ForumUser / 10 / 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 / 4019 / 113 / 913 ) »
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 / 10 / 0 / 0 ) »
black_adept hat geschrieben:
Heute 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 / 4019 / 113 / 913 ) »
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 / 10 / 0 / 0 ) »
black_adept hat geschrieben:
Heute 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 / 4356 / 219 / 1169 ) »
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 / 4356 / 219 / 1169 ) »
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 / 10 / 0 / 0 ) »
a-dead-trousers hat geschrieben:
Heute 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 / 4019 / 113 / 913 ) »
MS-K hat geschrieben:
Heute 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 / 4019 / 113 / 913 ) »
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 / 4356 / 219 / 1169 ) »
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 / 4019 / 113 / 913 ) »
a-dead-trousers hat geschrieben:
Heute 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 / 4019 / 113 / 913 ) »
a-dead-trousers hat geschrieben:
Heute 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 / 4356 / 219 / 1169 ) »
black_adept hat geschrieben:
Heute 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:
black_adept

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 / 4019 / 113 / 913 ) »
a-dead-trousers hat geschrieben:
Heute 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

Seite 1 von 1

Vergleichbare Themen

3
Antw.
1273
Views
Zeilenumbrüche im String
von ABAPlerv » 01.09.2023 11:40 • Verfasst in ABAP® für Anfänger
10
Antw.
13896
Views
Zeilenumbrüche in Stings erkennen
von Gast » 07.12.2004 14:13 • Verfasst in ABAP® Core
7
Antw.
2225
Views
Write-Ausgabe vor Alv-Grid Ausgabe
von L0w-RiDer » 14.08.2019 14:09 • Verfasst in ABAP® für Anfänger
3
Antw.
1865
Views
Dateiliste Applikationsserver
von rbotsch » 11.04.2006 13:28 • Verfasst in ABAP Objects®
2
Antw.
1378
Views
Benutzerzuordnung zu Applikationsserver
von Thomas R. » 13.07.2007 10:52 • Verfasst in Basis

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.

Unbeantwortete Forenbeiträge

Entityset aufrufen in App
vor einer Minute von Bright4.5 1 / 1
Hilfe bei SWEC/SWE2
vor einer Woche von retsch 1 / 424