Code: Alles auswählen.
OPEN DATASET DATEINAME FOR OUTPUT IN TEXT MODE ENCODING UTF-8 MESSAGE ERRORMESSAGE.
IF SY-SUBRC <> 0.
WRITE: / 'File output failed for ', P_FILE.
RETURN.
ENDIF.
LOOP AT AUSGABETABELLE ASSIGNING FIELD-SYMBOL(<AUSGABETABELLE>).
TRANSFER <AUSGABETABELLE> TO DATEINAME.
ENDLOOP.
CLOSE DATASET DATEINAME.
Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
DeathAndPain
Folgende Benutzer bedankten sich beim Autor Shortcut IT für den Beitrag:
DeathAndPain
Code: Alles auswählen.
OPEN DATASET DATEINAME FOR OUTPUT IN TEXT MODE ENCODING UTF-8 MESSAGE ERRORMESSAGE.
IF SY-SUBRC <> 0.
WRITE: / 'File output failed for ', P_FILE.
RETURN.
ENDIF.
LOOP AT AUSGABETABELLE ASSIGNING FIELD-SYMBOL(<AUSGABETABELLE>) TO LINES( AUSGABETABELLE ) - 1.
TRANSFER <AUSGABETABELLE> TO DATEINAME.
ENDLOOP.
ASSIGN AUSGABETABELLE[ LINES( AUSGABETABELLE ) ] TO <AUSGABETABELLE>.
TRANSFER <AUSGABETABELLE> TO DATEINAME NO END OF LINE.
CLOSE DATASET DATEINAME.
OPEN DATASET os_AdditionsDann wird standardmäßig an den verbleibenden Inhalt des Datenobjekts bzw. an das Ergebnis der Konvertierung die beim Öffnen der Datei festgelegte Zeilenende-Markierung angefügt und das Resultat byteweise in die Datei geschrieben.
Wenn das alles nicht funktioniert, würde ich SAP den Fehler melden.Das Anhängen der Zeilenende-Markierung kann mit dem Zusatz NO END OF LINE verhindert werden.
Code: Alles auswählen.
LOOP AT AUSGABETABELLE ASSIGNING FIELD-SYMBOL(<AUSGABETABELLE>) TO LINES( AUSGABETABELLE ) - 1.
AUSGABE_ALS_XSTRING = AUSGABE_ALS_XSTRING && CL_ABAP_CODEPAGE=>CONVERT_TO( SOURCE = CONV STRING( <AUSGABETABELLE> ) && CL_ABAP_CHAR_UTILITIES=>CR_LF ).
ENDLOOP.
ASSIGN AUSGABETABELLE[ LINES( AUSGABETABELLE ) ] TO <AUSGABETABELLE>.
AUSGABE_ALS_XSTRING = AUSGABE_ALS_XSTRING && CL_ABAP_CODEPAGE=>CONVERT_TO( SOURCE = CONV STRING( <AUSGABETABELLE> ) ).
OPEN DATASET DATEINAME FOR OUTPUT IN BINARY MODE MESSAGE ERRORMESSAGE.
TRANSFER AUSGABE_ALS_XSTRING TO DATEINAME.
CLOSE DATASET DATEINAME.
Code: Alles auswählen.
LOOP AT AUSGABETABELLE ASSIGNING FIELD-SYMBOL(<AUSGABETABELLE>).
IF sy-tabix EQ sy-tfill.
TRANSFER <AUSGABETABELLE> TO DATEINAME NO END OF LINE.
ELSE.
TRANSFER <AUSGABETABELLE> TO DATEINAME.
ENDIF.
ENDLOOP.