View Full Version : Programm schreibt in Quelle
Wie geht´s ?
Welcher Record Name muss angegeben werden?
Danke schonmal.
... da gibt es auf meiner Freeware Seite mehreres dazu, das man auch als Muster nehmen kann (GENFRAME, GENFREE...)
D*B
Wie geht´s ?
Welcher Record Name muss angegeben werden?
Danke schonmal.
Okay, das klappt schonmal, aber wie bekomme ich es jetzt so hin, das mir die Zeile, die ich einfügen möchte nicht ans Ende setzt sondern an den Anfang?
... braucht man doch nur abpinnen, entweder neu erzeugen oder CPYF
D*B
Okay, das klappt schonmal, aber wie bekomme ich es jetzt so hin, das mir die Zeile, die ich einfügen möchte nicht ans Ende setzt sondern an den Anfang?
Da SRC-Files sequentielle Dateien sind, musst du dir diese halt in eine Arbeitsdatei (z.B. in QTEMP) kopieren und dann in der gewünschten Form zurückschreiben (vorher halt alle Sätze löschen).
Anders macht es der SEU auch nicht.
Ein DSPFFD auf die Quelle zeigt den Formatnamen und die einzelnen Feldnamen. Falls der Formatname gleich dem Dateinamen ist, muß er im RPG-Programm mit RENAME umbenannt werden.
RobertMack
14-04-10, 09:13
Da SRC-Files sequentielle Dateien sind, musst du dir diese halt in eine Arbeitsdatei (z.B. in QTEMP) kopieren und dann in der gewünschten Form zurückschreiben (vorher halt alle Sätze löschen).
Anders macht es der SEU auch nicht.
Ich wiederhole: http://newsolutions.de/forum-systemi-as400-i5-iseries/system-i-hauptforum/5522-qrpgsrc-rpg-verarbeiten.html#post20847
Das Problem ist ja wohl, dass man sich auf Keyed-SRC's nicht verlassen sollte, wer denkt schon beim Anlegen daran. Nachträglich läßt sich das nicht ändern.
RobertMack
14-04-10, 09:57
Mein Weg ist immer dieser:
CPYSRCF in Sicherung Q#Version#SRC
CRTSRCPF QTEMP/QKEYSRC ... ACCPTH(*KEYED)
CPYSRCF nach QTEMP/QKEYSRC mit SRCOPT(*SEQNBR) SRCSEQ(1.00 10.00)
OVR,
CALL TOOL,
DLTOVR,
CPYSRCF zurück mit SRCOPT(*SEQNBR) SRCSEQ(1.00 1.00)
...so auf die Schnelle, aus dem Kopf ;-)
ThomasJoachimFuchs
14-05-10, 23:04
Okay, das klappt schonmal, aber wie bekomme ich es jetzt so hin, das mir die Zeile, die ich einfügen möchte nicht ans Ende setzt sondern an den Anfang?
Eine neue Source in der QTEMP erzeugen, alles in der richtigen Reihenfolge da reinschreiben und es mit CPYSRCF in die originale Quellenteildatei kopieren mit MBROPT(*REPLACE)