REPORT z_file_write LINE-SIZE 1023
.
DATA fname(60) TYPE c VALUE 'myfile'.
CONSTANTS: slist_max_linesize TYPE i VALUE 1023.
DATA: text1(100) TYPE c VALUE
'dddddwwwwwwddddddddddddddddddddddddddddddddddddddddddddddddddddddddd'
,
text2(10) TYPE c VALUE '1234567890',
text3(800) TYPE c,
text4(800) TYPE c,
leng TYPE i.
CONCATENATE text1 text2 INTO text4.
DO 200 TIMES.
CONCATENATE text4 text2 INTO text4.
ENDDO.
OPEN DATASET fname FOR OUTPUT IN BINARY MODE.
TRANSFER: text4 TO fname LENGTH 1000.
WRITE: /(1023) text4.
leng = STRLEN( text4 ).
WRITE: / leng.
CLOSE DATASET fname.
OPEN DATASET fname FOR INPUT IN BINARY MODE.
READ DATASET fname INTO text3 LENGTH leng.
WRITE: / text3, leng.
ich hatte letztens dasselbe problem. hatte ne zeile von 2005 zeichen und die hat er auch nicht reinbekommen, auch nicht mit dem zusatz LENGTH.
warum benutzt du denn binary mode und nicht text mode?
ich habe dann einfach die GUI_DOWNLOAD-funktion benutzt. also ne itab aufgebaut und dann alles auf einmal rüber.
mich würde die lösung also auch mal interessieren.
was ist denn eigentlich besser? beim OPEN DATASET wird die datei geöffnet und reingeschrieben und ich muss sie explizit auch wieder schließen. sie ist aber die ganze zeit offen, während man schreib und laufend auf und zu machen ist doch bestimmt auch nicht effizient, oder? und beim itab-DONWLOAD wird das ja irgendwie automatisch gemacht. wozu dann das open dataset?