Zeilenumbruch ??

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
11 Beiträge • Seite 1 von 1
11 Beiträge Seite 1 von 1

Zeilenumbruch ??

Beitrag von steffi_ma (ForumUser / 55 / 0 / 0 ) »
Hallo,
ich lasse mir über einen Funktionsbaustein den Inhalt einer Datei über TABLES zurückliefern mit je max 255 Zeichen.

Die Ausgabe habe ich bisher über:
LOOP AT text.
WRITE: / text-line.
ENDLOOP.
Es werden auch alle Zeichen dargestellt.
Jetzt möchte ich aber an den Zeilenumbrüchen der Datei auch im angezeigten Text Zeilenumbrüche haben. Als Text steht dann immer ein ##. Wie ist denn der Code für einen Zeilenumbruch???

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


Beitrag von Gast ( / / 0 / 3 ) »
Das hier müßte Dir weiterhelfen.

http://www.abapforum.com/forum/viewtopic.php?t=2541

Beitrag von Gast ( / / 0 / 3 ) »
nein, das hilft leider nicht weiter :-(

in meiner Zeile ist das '##' zu finden. ich möchte bei der Ausgabe der Zeile an der Stelle einen Zeilenumbruch darstellen. Es wird aber immer nur das '##' angezeigt im Text.

Beitrag von steffi_ma (ForumUser / 55 / 0 / 0 ) »
die zeichen werden mit crlf(2) TYPE x VALUE '0D0A' erkannt. Soweit so gut. jetzt muss nur an der Stelle ein Enter eingesetzt werden...wie funktioniert das??

Beitrag von ewx (Top Expert / 4844 / 311 / 640 ) »

Code: Alles auswählen.

SPLIT AT crlf INTO TABLE itab.
Loop At itab.
 write...
Endloop.
Gruß und schönes WE,
Enno

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
ich würde folgendes Vorgehen benutzen.

Code: Alles auswählen.

CONSTANTS:
  c_crlf(2) TYPE x VALUE '0D0A'.

DATA:
  lt_text   TYPE TABLE OF char255
            WITH HEADER LINE,
  lt_string TYPE TABLE OF string
            WITH HEADER LINE,
  ls_string TYPE string.

* alle Zeilen in eine langen String zusammenfügen
LOOP AT lt_text.
  CONCATENATE
    ls_string
    lt_text
    INTO ls_string.
ENDLOOP.

IF sy-subrc EQ 0.
* String an den CRLF's auftrennen
  SPLIT ls_string
    AT c_crlf
    INTO TABLE lt_string.
* und jetzt kann man die Ausgabe zeilenweise vornehmen
  LOOP AT lt_string.
    WRITE:
      / lt_string.
  ENDLOOP.
ENDIF.
Alternativ sollte man versuchen, den Dateiinhalt direkt als String zu erhalten. Dann fällt der Zwischenschritt weg.
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von Gast ( / / 0 / 3 ) »
danke, der Tipp hat mir sehr geholfen!!!
steffi

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Anonymous hat geschrieben:danke, der Tipp hat mir sehr geholfen!!!
steffi
wessen Tipp??
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von black_adept (Top Expert / 4087 / 126 / 940 ) »
ereglam hat geschrieben:* alle Zeilen in eine langen String zusammenfügen
LOOP AT lt_text.
CONCATENATE
ls_string
lt_text
INTO ls_string.
ENDLOOP.
Sowas hab ich auch mal probiert und später wieder wg. folgendem Problem fallen gelassen:

Wenn der Fließtext zufällig so aufgebaut ist, dass aufeinanderfolgende Leerzeichen über die (Tabellen)Zeilengrenze hinaus laufen, ( z.B. ein Leerzeichen auf Position 255 von Zeile x, ein Leerzeichen auf Position 0 von Zeile x+1 ) schrumpft der CONCATENATE diese auf ein Leerzeichen zusammen.
Solange dieser Effekt egal ist, ist deine Methode sehr elegant - wenn nicht kommts zu Verschiebungen im Text. :(
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
black_adept hat geschrieben:
ereglam hat geschrieben:* alle Zeilen in eine langen String zusammenfügen
LOOP AT lt_text.
CONCATENATE
ls_string
lt_text
INTO ls_string.
ENDLOOP.
Sowas hab ich auch mal probiert und später wieder wg. folgendem Problem fallen gelassen:

Wenn der Fließtext zufällig so aufgebaut ist, dass aufeinanderfolgende Leerzeichen über die (Tabellen)Zeilengrenze hinaus laufen, ( z.B. ein Leerzeichen auf Position 255 von Zeile x, ein Leerzeichen auf Position 0 von Zeile x+1 ) schrumpft der CONCATENATE diese auf ein Leerzeichen zusammen.
Solange dieser Effekt egal ist, ist deine Methode sehr elegant - wenn nicht kommts zu Verschiebungen im Text. :(
deshalb wäre ein Import der Datei als einzelner String die beste Lösung, da in diesem Fall solche CONCAT-Probleme nicht auftreten.

Wenn Sie den FB GUI_UPLOAD bzw. Methode CL_GUI_FRONTEND_SERVICES=>GUI_UPLOAD verwendet, kann sie die Datentabelle auch als 'TABLE OF string' definieren und hat somit keine Längenbeschränkung der Zeilen.
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Re: Zeilenumbruch ??

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
steffi_ma hat geschrieben:Hallo,
ich lasse mir über einen Funktionsbaustein den Inhalt einer Datei über TABLES zurückliefern mit je max 255 Zeichen.

Die Ausgabe habe ich bisher über:
LOOP AT text.
WRITE: / text-line.
ENDLOOP.
Es werden auch alle Zeichen dargestellt.
Jetzt möchte ich aber an den Zeilenumbrüchen der Datei auch im angezeigten Text Zeilenumbrüche haben. Als Text steht dann immer ein ##. Wie ist denn der Code für einen Zeilenumbruch???
warum machen wir es eigentlich immer so kompliziert... :?

Nimm den FB GUI_UPLOAD bzw. Methode CL_GUI_FRONTEND_SERVICES=>GUI_UPLOAD.
Dann kann die Datentabelle auch als 'TABLE OF string' definiert werden und damit bekommst Du die Datei automatisch unter Verwendung von 'Filetype = ASC' zeilenweise.

Seite 1 von 1

Vergleichbare Themen

1
Antw.
1599
Views
Zeilenumbruch als ## dargestellt
von Gregor » 07.02.2006 14:01 • Verfasst in ABAP® Core
1
Antw.
5618
Views
Zeilenumbruch SAPScript
von Tobbworld » 11.01.2006 15:34 • Verfasst in ABAP® für Anfänger
3
Antw.
6337
Views
Zeilenumbruch erzwingen
von nachtfalkeBS » 07.05.2008 09:41 • Verfasst in ABAP® für Anfänger
2
Antw.
3264
Views
Zeilenumbruch verhindern
von bliP! » 15.02.2006 14:03 • Verfasst in ABAP® für Anfänger
1
Antw.
1961
Views
Zeilenumbruch im ALV-Grid
von Kaiwalker » 17.05.2005 07:58 • Verfasst in ABAP Objects®

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

Daten an Tabelle binden
Gestern von Bright4.5 1 / 510
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2145
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8741