Anmelden

View Full Version : CPYTOSTMF



KaFi
23-05-05, 11:26
Hallo,

ich möchte 2 Dateien (die von einem RPGLE-Programm erstellt wurden) ins IFS übertragen. Die eine hat eine Satzlänge von 24 Bytes, die andere hat die Satzlänge 109 Bytes, wobei bei dieser Datei am Ende auch Leerzeichen stehen können. Beide Dateien bestehen aus EINEM ungepackten Feld.

Ich hab die verschiedensten Parameter für den Befehl CPYTOSTMF ausprobiert. Die Leerzeichen werden entweder abgeschnitten oder die Sätze werden hintereinander in die Textdatei geschrieben (ohne CRLF).

Ich bin jetzt den Weg gegangen und habe beide Dateien jeweils in eine SRC-Datei kopiert (angelegt mit der Satzlänge der jeweiligen Datei + 12 Bytes). Wenn ich jetzt mit CPYTOSTMF die Dateien ins IFS kopiere, funktionierts so wie es sein soll.

Nur scheint mir der Weg dahin etwas "umständlich". Kennt jemand einen besseren, kürzeren Weg ?

Vielen Dank,

KaFi

Fuerchau
23-05-05, 11:48
Nimm mal den CPYTOIMPF !

KaFi
24-05-05, 21:29
Danke, funktioniert prima

Gruß,

KaFi

KaFi
31-05-05, 14:38
Da hab ich wohl doch etwas zu voreilig jubiliert.

Wenn ich die Dateien im RPGLE-Programm mit CRLF am Satzende schreibe (D.h. x'0d25' steht am Ende jeden Satzes), dann funktioniert der Befehl CPYTOIMPF. Auch die Leerzeichen am Satzende (vor dem x'0d25') sind korrekt. Nur: Es wird eine zusätzliche Leerzeile eingefügt.
Ich hab dann gedacht, dass ich im RPGLE-Programm einfach das x'0d25' rausnehme und schon ist es ok. Leider falsch gedacht: Es fehlen jetzt wieder die Leerzeichen am Satzende. Ich benötige aber unbedingt die definierte Satzlänge.

Gibt es dafür eine Lösung ??

Gruß,

KaFi

Fuerchau
31-05-05, 16:14
Warum ist die definierte Länge denn so wichtig ?
Das Zielprogramm kann doch die fehlenden Leerzeichen als "vorhanden annehmen".

Wenn du eine definierte Satzlänge benötigst, dann nimm doch ein beliebiges Endezeichen, z.B. "X".

MetinIsiktas
31-05-05, 16:20
Hallo,

CPYTOSTMF mit ENDLINFMT = *FIXED und vorher CRLF mit x'0D25' selber im Programm setzen. Dann klappt's auch mit den Leerzeichen.

LG!

KaFi
02-06-05, 13:34
Ich benötige die definierte Satzlänge weil ich das Zielprogramm nicht kenne - die Daten verlassen unser Haus und werden anderweitig verarbeitet. Auch ein Endekennzeichen, z.B. "X", kann ich nicht verwenden, da ich entsprechende Vorgaben für den Satzaufbau habe.

Mit CPYTOSTMF müsste ich erst wieder den Weg über eine SRC-Datei gehen, und gerade das würde ich gerne vermeiden.

Gruß,

KaFi