PDA

View Full Version : FTP AS/400->PC



Seiten : [1] 2

abornmann
28-07-04, 11:35
Ich habe ein Problem bei der Übertragung von PC-Dokumenten der AS/400 zum Windows-Rechner. Der Systemwert von QCCSID ist auf 65533 eingestellt. Bei der Übertragung gehen alle Umlaute verloren. Wie kann ich einen deutschen Zeichensatz einstellen? Gebe ich beim Befehl STRTCPFTP für den Parameter CCSID den Wert 00273 mit, ist der Code ungültig.
Es handelt sich um PC-Dokumente, die wie folgt erstellt wurden:
CPYSPLF ... TOFILE(<physische Datei>)
CPYTOPCD <physische Datei> <dokument> in einen Ordner.

Bruno Jakob
28-07-04, 12:51
Wenn es sich auf der AS/400 um ein PC-Dokument handelt, führe den FTP mal ohne Umsetzung - sprich binary - aus und schau dir das Ergebnis mal an.

Gruß
Bruno

abornmann
29-07-04, 06:43
Ich mache den FTP binary. In meinem FTP-Script steht:

bin
namefmt 1
mput ....

Was kann es noch sein?

Bruno Jakob
29-07-04, 08:37
Gehen die Umlaute wirklich erst bei der Übertragung verloren oder schon beim CPYTOPCD?

Gruß
Bruno

abornmann
29-07-04, 10:24
Vielen Dank schon einmal.

Die Umlaute gehen tatsächlich schon beim CYPTOPCD verloren. Das war schon ein echt guter Tipp. Jetzt habe ich nachgesehen, welche Umsetztabellen gibt. QSYS/QASCII und QUSRSYS/QTCPASC habe ich im Paramter von dem Befehl ausprobiert. Das Ergebnis ist aber immer noch nicht richtig. Welche von den ganzen Umsetztabellen kann nehmen?

Gruß

Anja

Fuerchau
29-07-04, 10:33
Verwende doch mal lieber ein "/home"-Verzeichnis anstelle von QDLS.
Dort werden CCSID's unterstützt, bei PCD's leider nicht.
Die Befehle heissen dann CPYTOSTMF / CPYTOIMPF.
Der FTP kann dann mit den CCSID's der STMF besser umgehen.
Ggf. setze deinen Job auf die CCSID 273 und zwar bereits ab CPYSPLF !

Andreas Herzfeldt
29-07-04, 11:01
Versuch doch mal beim CPYTOPCD diese Umsetztabelle : Q273A05A5U

Dann sollten eigentlich die Umlaute stimmen.

Andreas

Bruno Jakob
29-07-04, 11:25
Und auch folgendes sollte gehen:



CPYTOSTMF FROMMBR('/qsys.lib/mylib.lib/myfile.file/mymember.mbr') TOSTMF('/qdls/myfolder/mystmf.txt')
STMFCODPAG(819)

Gruß
Bruno

fred_hanau
29-07-04, 11:32
Also...
ich mache das immer so:

d t1 ds
d t1a 7a inz('äöüßÄÖÜ')
d t2 ds
d t2a 7a inz(x'CFE1FA3B207504')
d txt s 80a
d cmd s 500a
d len s 15p 5 inz(500)
.
.
c t1:t2 xlate txt txt
c/exec sql insert into fwlib/fxtxt_01p values(:txt)
c/end-exec
.
.
.
c eval cmd='CPYTOPCD FROMFILE(FWLIB/FXTXT_01P) '
c +'TOFLR('''
c +'FW/TXT'
c +''') '
c +'FROMMBR(FXTXT_01P) '
c +'TODOC(FXTXT.TXT) '
c +'REPLACE(*YES) TRNFMT(*TEXT)'
c call(e) 'QCMDEXC'
c parm cmd
c parm len
.
.
mfg
Fred

Fuerchau
29-07-04, 17:03
@Fred

Boah, was kompliziert. Nutze doch einfach die Standardmöglichkeiten der AS/400.
Mit den CCSID's geht alles, vorausgesetzt der Job hat auch eine !

Dein Beispiel funktioniert nur mit einer einzigen CCSID, nähmlich der deiner Quelle !