View Full Version : RPG - prüfen ob Satz in Datei und diesen in eine andere Datei schreiben
Hallo zusammen,
kurze Frage. Wie kann ich mir RPG prüfen ob in einer Teildatei ein Satz steht oder ob diese leer ist.
Wenn leer dann Programm ende wenn die Teildatei Inhalte hat muss der erste Satz in eine andere Datei geschrieben werden.
Wichtig ich kann die Datei nur
fFILE if e k disk
lesen also nicht ipe.. dann bräuchte ich ein extra Programm was ich nicht möchte.
Danke im Voraus und schön Feiertage an alle!
Grüße
_MG_
k.a. ob du das so meinst aber ich denke ...
ovrdbf auf das member (cl oder qcmdexc)
*loval setll
read
if %eof
ende
else
Write datei2
endif
ende
lr
Robi
Du kannst jede Datei auch ohne KEY (K) lesen.
Nach dem Open steht der Satzzeiger vor dem ersten Satz.
Ein einfacher READ liefert entweder %EOF oder den 1. Satz (wobei gelöschte Sätze est mal überlesen werden).
Da aber doch meist ein CLP vorgeschaltet ist, reicht ein RTVMBRD um die Anzahl Sätze (NBRCURRCD?) abzufragen und den Aufruf gar nicht erst zu machen.
camouflage
14-12-16, 10:47
Guter Ansatz von Robi, aber den Read kannste knicken...
Ich würd's so machen:
setll (*loval) myFile;
if %equal();
write otherFileRec;
else;
.... return oder was immer du willst
endif;
@camouflage
Wenn du das lesen wegläßt ... wie willst das dann lösen?
wenn die Teildatei Inhalte hat muss der erste Satz in eine andere Datei geschrieben werden.
Eigentlich würde ich da noch nicht mal RPG bemühen:
CPYF FROMFILE(FROMFILE)
TOFILE(TOFILE)
MBROPT(*ADD)
FROMRCD(*START)
NBRRCDS(1)
Ggf. mit MONMSG abfangen, wenn es einen Fehler bei leerer Datei gibt.
camouflage
14-12-16, 11:44
@Robi, alles klar - Aufgabe nicht verstanden, 6 , setzen :(
@Baldur
Deine Lösung ist, wie so häufig die beste!
aber leider an der Aufgabenstellung vorbei
kurze Frage. Wie kann ich mir RPG prüfen ...
Robi
der sich ärgert nich auch auf die CL idee gekommen zu sein
DQCMDEXC PR
D QCMD 256 CONST
D QCMDL 15P 5 const
QCMDEXC('CPYF ...':256);