Schreiben in eine Datei

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

Schreiben in eine Datei

Beitrag von BW (ForumUser / 4 / 0 / 0 ) »
Hallo,

ich habe folgendes Problem. Ich habe eine *.csv Datei auf dem Applikationsserver. Ich will eine neue Zeile in diese Datei anfügen. Allerdings soll diese Zeile am Anfang der Datei positioniert werden. Die Anweisung OPEN DATASET file APPENDING positioniert Cursor am Ende der Datei. :?

Hat jemand Ideen, wie man das Problem lösen könnte?

Danke!!! 8)

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


Beitrag von ewx (Top Expert / 4913 / 332 / 653 ) »
einlesen, Zeile einfügen, neu schreiben.
...Enno...

AT POSITION p

Beitrag von rico (ForumUser / 1 / 0 / 0 ) »
Probieren Sie bitte mit zum Zusatz 'AT POSITION p'. Mit diesem Zusatz wird die explizite Dateiposition p in Bytes ab Dateianfang angegeben.

Z.B: OPEN... FOR INPUT AT POSITION p.

Viel Grlück
:)

Schreiben in eine Datei

Beitrag von BW (ForumUser / 4 / 0 / 0 ) »
@Enno: Wohin soll ich die Datei einlesen?

@Rico: Der Zusatz POSITION funktioniert nicht mit APPENDING. Mit INPUT kann die daten nicht in die Datei schreiben.

Re: Schreiben in eine Datei

Beitrag von JHM (Top Expert / 1223 / 2 / 204 ) »
BW hat geschrieben: @Rico: Der Zusatz POSITION funktioniert nicht mit APPENDING. Mit INPUT kann die daten nicht in die Datei schreiben.
Wie wärs mit UPDATE anstatt APPENDING?
Gruß Hendrik

...

Beitrag von BW (ForumUser / 4 / 0 / 0 ) »
Wenn ich Update nehme, dann wird die erste Zeile überschrieben.

...

Beitrag von Inga (ForumUser / 1 / 0 / 0 ) »
Dann mit 'INSERT'... :shock:

Re: Schreiben in eine Datei

Beitrag von ewx (Top Expert / 4913 / 332 / 653 ) »
BW hat geschrieben:@Enno: Wohin soll ich die Datei einlesen?
in eine interne Tabelle.

Beitrag von zzcpak (Expert / 673 / 5 / 68 ) »
z.B. so.

Code: Alles auswählen.

DATA: it_file TYPE STANDARD TABLE OF string,
      wa_file TYPE string,
      gl_new TYPE string,
      file TYPE string.

file = '   <dein Dateiname>    '.

gl_new = 'Dies ist der neue erste Satz der Datei'.

* 1. Schritt: Datei komplett einlesen
OPEN DATASET file FOR INPUT IN TEXT MODE ENCODING DEFAULT.
IF sy-subrc = 0.
* 2. Schritt: den neuen Text am Textanfang plazieren
  APPEND gl_new TO it_file.
  DO.
    READ DATASET file INTO wa_file.
    IF sy-subrc = 0.
      APPEND wa_file TO it_file.
    ELSE.
      EXIT.
    ENDIF.
  ENDDO.
  CLOSE DATASET file.
ENDIF.

* 3. Schritt: Die Datei wieder speichern
OPEN DATASET file FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
IF sy-subrc = 0.
  LOOP AT it_file INTO wa_file.
    TRANSFER wa_file TO file.
  ENDLOOP.
  CLOSE DATASET file.
ENDIF.

Beitrag von BW (ForumUser / 4 / 0 / 0 ) »
Vielen Dank!!! Hat super gut funktioniert!!! :lol:
zzcpak hat geschrieben:z.B. so.

Code: Alles auswählen.

DATA: it_file TYPE STANDARD TABLE OF string,
      wa_file TYPE string,
      gl_new TYPE string,
      file TYPE string.

file = '   <dein Dateiname>    '.

gl_new = 'Dies ist der neue erste Satz der Datei'.

* 1. Schritt: Datei komplett einlesen
OPEN DATASET file FOR INPUT IN TEXT MODE ENCODING DEFAULT.
IF sy-subrc = 0.
* 2. Schritt: den neuen Text am Textanfang plazieren
  APPEND gl_new TO it_file.
  DO.
    READ DATASET file INTO wa_file.
    IF sy-subrc = 0.
      APPEND wa_file TO it_file.
    ELSE.
      EXIT.
    ENDIF.
  ENDDO.
  CLOSE DATASET file.
ENDIF.

* 3. Schritt: Die Datei wieder speichern
OPEN DATASET file FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
IF sy-subrc = 0.
  LOOP AT it_file INTO wa_file.
    TRANSFER wa_file TO file.
  ENDLOOP.
  CLOSE DATASET file.
ENDIF.

Seite 1 von 1

Vergleichbare Themen

11
Antw.
7940
Views
String in txt Datei schreiben.
von behnm » 07.05.2008 08:44 • Verfasst in ABAP Objects®
10
Antw.
13837
Views
Datei auf ein NON-SAP System schreiben
von mettes » 17.02.2013 23:10 • Verfasst in Basis
1
Antw.
1916
Views
Hexadezimal in Datei schreiben
von MQ6 » 28.03.2007 07:43 • Verfasst in ABAP® Core
6
Antw.
491
Views
Error in einer Datei schreiben statt im Listprozessor
von HH_ABAP » 01.06.2023 17:06 • Verfasst in ABAP® für Anfänger
8
Antw.
6033
Views

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

LSMW-Problem
vor 2 Tagen von rob_abc 4 / 241

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.

Aktuelle Forenbeiträge

LSMW-Problem
vor 2 Tagen von rob_abc 4 / 241

Unbeantwortete Forenbeiträge

SFP/SEGW - Fehler beim Rendering
letzen Monat von Manfred K. 1 / 66348
Benutzerdefinierte Felder PSP
January 2026 von Rabea1103 1 / 119143