View Full Version : CPYTOIMPF
CaddyMajor
28-09-05, 14:08
Hallo zusammen,
Folgendes Problem:
Ich möchte mittels CPYTOIMPF eine PF ins IFS als Textdatei konvertieren.
CPYTOIMPF FROMFILE(DECORADD/WSAMOUNT) TOSTMF('/Webshop/amount.dat')
STMFCODPAG(*PCASCII) RCDDLM(*LFCR)
STRDLM(' ')
FLDDLM(X'05')
Effekt ist folgender, das nach dem Datensatz, wo er eigentlich eine neue Zeile beginnen sollte, nur 2 eckige O's (so schauen sie aus) macht und dann weiterschreibt.
Hat jemand einen Tip für mich?
Vielen Dank
tfroehlich
28-09-05, 14:53
Hallo zusammen,
Folgendes Problem:
Ich möchte mittels CPYTOIMPF eine PF ins IFS als Textdatei konvertieren.
CPYTOIMPF FROMFILE(DECORADD/WSAMOUNT) TOSTMF('/Webshop/amount.dat')
STMFCODPAG(*PCASCII) RCDDLM(*LFCR)
STRDLM(' ')
FLDDLM(X'05')
Effekt ist folgender, das nach dem Datensatz, wo er eigentlich eine neue Zeile beginnen sollte, nur 2 eckige O's (so schauen sie aus) macht und dann weiterschreibt.
Hat jemand einen Tip für mich?
Vielen Dank
------------------------------------------------------
Hallo,
mit dem Thema IFS habe ich nur probeweise zu tun.
Ich habe im Parameter DTAFMT(*fixed) stehen.
Vielleicht hilft Dir das?
Gruss Thomas
CaddyMajor
28-09-05, 15:29
Vielen Dank,
habe es getestet, leider ohne Erfolg.
Er macht immer noch kein "Return" nach einen Datensatz.
Schade
tfroehlich
28-09-05, 15:55
Vielen Dank,
habe es getestet, leider ohne Erfolg.
Er macht immer noch kein "Return" nach einen Datensatz.
Schade
----------------------------------------------------------
Hi,
probiere es mal hiermit!
0019.00 CHGJOB CCSID(1141)
0020.00 CPYTOIMPF FROMFILE(LIB/File) +
0021.00 TOSTMF('/yyyyy/xxx.txt') +
0022.00 MBROPT(*REPLACE) STMFCODPAG(850) + RCDDLM(*CRLF) DTAFMT(*FIXED) +
0024.00 DECPNT(*COMMA) DATFMT(*ISO) TIMFMT(*ISO) + 0025.00 /* kopieren der Datei ins IFS */
0026.00 CHGJOB CCSID(*SYSVAL)
Welche CCSID bzw Codepage hat Deine Datei im IFS.
Die Angaben müssen mit der Datei übereinstimmen.
Gruss Thomas
CaddyMajor
28-09-05, 16:03
JAAAAAAAAAAAAAAA!
Es funktioniert.
Vielen Dank
Als STMFCODPAG(850) solte für Windows-Ziele 1252 verwendet werden (Umlaute).
Ansonsten wird meisten *CRLF und nicht *LFCR erwartet (umdrehen der Hexwerte), das war eher das Problem.
CaddyMajor
29-09-05, 10:46
Ein kleines Problem gibt es noch:
CHGJOB CCSID(1141)
CPYTOIMPF FROMFILE(DECORADD/WSAMOUNT) +
TOSTMF('/Webshop/amount.dat') +
MBROPT(*REPLACE) STMFCODPAG(1252) +
RCDDLM(*CRLF) DTAFMT(*FIXED) STRDLM('') +
FLDDLM(X'05')
CHGJOB CCSID(*SYSVAL)
Das ist das CL Programm.
Zwischen den einzelnen Spalten sollten Tabs sein, in der erzeugten Textdatei sind es aber leider nur Leerzeichen.
Weiß jemand ob und wie ich das ändern kann?
Vielen Dank
kuempi von stein
29-09-05, 10:58
liegt evtl. an FLDDLM(X'05') ?
weiss aber nicht den code für TAB....
k.
ASCII-Tab ist X'08', EBCDIC-Tab ist X'16'.
Folglich muss als FLDDLM(X'16') bei der Ausgabe werden.
CaddyMajor
29-09-05, 11:33
Vielen Dank für die Info:
Habe es mit X'16' und X'08' getestet.
Leider ohne Erfolg, es sind immer leerzeichen und keine Tabs in der Textdatei im IFS