Es mejor escribir el archivo como desees solo una vez. Por lo tanto, no, no vuelvas a leer el archivo, simplemente créalos correctamente la primera vez.
DATA(string_of_all_lines) = concat_lines_of( sep = |\r\n| table = VALUE string_table(
( |primera línea| )
( |segunda línea| ) ).
DATA(xstring_of_text_in_utf8) = cl_abap_codepage=>convert_to( string_of_all_lines ).
OPEN DATASET dsetpath IN BINARY MODE...
TRANSFER xstring TO dsetpath.
CLOSE DATASET dsetpath.
El resultado es un archivo de texto en UTF-8, todas las líneas están separadas por CRLF y la última línea del archivo no está seguida por un CRLF.