PDA

View Full Version : Neue Zeilen in Quellendatei per Programm



philsturm
27-02-20, 09:07
Hallo zusammen!

Ich lese eine Quellendatei (in diesem Fall RPG) mittels RPG Zeile für Zeile aus.
Gibt es die Möglichkeit nach Zeile X eine neue Zeile per Programm hinzuzufügen?
Ein einfaches "write" fügt eine Zeile ans Ende der Quellendatei an. Ein "update" überschreibt den Inhalt der Zeile.
Aber wir bekomme ich ein "write" nach Zeile X hin?

Vielen Dank für eure Hilfe!

Fuerchau
27-02-20, 09:20
Genauso wie der SEU:
Alle Zeilen einlesen, im Speicher die Zeilen rechtzeitig hinzufügen und alles wieder schreiben.
Du kannst auch ein neues Member hinzufügen, die Daten beim Kopieren ergänzen.
Zum Schluss das alte Member löschen und das neue Member umbenennen.
Mit letzterer Methode bist du auch absturzsicher.

TheDevil
27-02-20, 09:21
Hallo.
Also in die selbe Quelle wird vermutlich schwierig da ja die nächste Zeilennummern nicht bekannt ist.

Vielleicht die Quelle lesen und in eine neue Quelle (alter Quellenname + _neu oder so) mit Zeilenschrittfaktor 10 schreiben und dabei dann halt das Write an der richtigen Stelle einfügen ...

Am Ende dann die "alte" quelle in Alt umbenennen oder in eine andere Q... überführen und die "neue" mit dem alten Namen versehen ...

Gruß,
Ralf

Robi
27-02-20, 09:23
input und output

lies die quelle und gib alles was du nicht brauchst nach output aus.
versorge den Zähler / das Source Datum (Stelle 1 - 12 ) selber.

Dann schreibst du deine Inhalte, und zum schluß den Rest.

Robi
(der RPG Generatoren sein 15 Jahren so schreibt)

da waren andere mal wieder schneller

RobertMack
27-02-20, 10:17
1) CRTSRCPF FILE(QTEMP/QWRKSRC) ACCPTH(*KEYED)

2) CPYSRCF FROMFILE(MYLIB/QRPGSRC) TOFILE(QTEMP/QWRKSRC)
FROMMBR(MYPROGRAM) SRCOPT(*SEQNBR) SRCSEQ(1.00 1.00)

3) jetzt kann Dein Tool bis zu .99 Zeilen hinter jeder gelesenen Anweisung in QWRKSRC einfügen

4) Ergebnis nach Prüfung aus QWRKSRC zurück nach QRPGSRC