PDA

View Full Version : FTP auf AS400 Problem: SATZLÄNGE



sarlt
14-05-01, 02:46
Hallo *,

Ich möchte via FTP (Standard von Windows Eingabeaufforderung) auf die AS 400 zugreiffen.

Der Zugriff soweit funktioniert auch. Ich kann auch via GET eine Datei downloaden. Jedoch hat Sie nicht das gewünschte Format. Auf der AS400 liegt diese Datei auf einem EBCDIC Dateiformat.

Folgende Befehle haben mich bisher nicht weiter gebracht:

ASCII(Leer bzw. Nullstellen werden unterdrückt)
BIN(Datei hat dann falsches Format)

Wenn jemand vorschläge hat, so wäre ich dankbar.

Bruno Jakob
14-05-01, 11:04
Hallo,

enthält die Datei auf der AS/400 gepackte Felder? Dann geht es leider nicht so einfach, da FTP mit den gepackten Daten nichts anfangen kann.

Wenns nur an der korrekten Umsetzung EBCDIC-ASCII liegt, hilft evtl. der ftp-Unterbefehl TYPE weiter. Den kann man vom PC aus aktivieren, in dem man in der FTP-Sitzung folgendes eingibt:

quote type C xxx

wobei xxx der entsprechende Zeichensatz ist, in den umgesetzt werden soll.

Bruno

sarlt
14-05-01, 13:15
Hallo Bruno,

vielen Dank für die Prompte Antwort. Leider hat es nicht geholfen.

Wenn ich quote type c ascii eingebe erscheint folgende Meldung:
504-Format c ascii of subcommand type not valid.
504 Representation Type remains ASCII NONPRINT.

Mein Problem auch noch mal genauer definiert:

Ich versuche eine DTAUS Datein von der AS400 zu bekommen. Diese wird im EBCDIC Format fortlaufend geschrieben (OHNE Seitenumbruch). Wenn ich sie via FTP ziehe habe ich aber Seitenumbrüche drinne. Ob auch Zeichen (Zeichen: 0 oder Leerzeichen) unterdrückt werden kann ich derzeit noch nicht sagen.

Wäre nochmals für Hilfeee Dankbar.

Bruno Jakob
15-05-01, 08:47
Der Zeichensatz, der angegeben werden soll ist nicht ascii, sondern die Zeichensatznummer auf dem PC, also z. B. 437, 819 oder 850.

Wenn das nichts hilft, bräuchte ich mal einen DSPFFD von der AS/400-Datei.

Gruß
Bruno

Fuerchau
15-05-01, 11:21
Warum verwenden Sie nicht den 5250-Filetransfer oder SQL über ODBC ?

Für die 5250-Übertragung erstellen Sie eine .TTO-Datei die sie dann mittels 'rtopcb Datei.tto' als Batchkommando ausführen können.

Für eine Korrekte Übersetzung EBCDIC-ASCII wird automatisch gesorgt, wenn Ihre AS/400-Datei z.B. auf CCSID 273 (Deutsch) und nicht auf 65535 gesetzt ist.

In der 5250-Definition müssen Sie sich noch für ASCII oder ANSI entscheiden. ASCII steht für DOS-Kompatibel (Codepage 850), ANSI steht für Windowskompatibel (Codepage 819). Dies ist allerdings nur bei Sonderzeichen relevant.

Klaus Söllner
15-08-02, 15:56
Mit dem Problem der verkürzten Satzlänge haben wir vor etlicher Zeit auch gekämpft.
Die Lösung:

The FTP subcommand options for the TRIM setting are:

FTP client: LOCSITE TRIM n
FTP server: SITE TRIM n

The values for n in the base support for this release are:

0 - Do NOT trim blanks when sending files from the database (QSYS.LIB) file system.

1 - Only trim blanks when sending files from the database file system when the transfer structure is set to File and the transfer mode is set to Stream. This is the default setting, and provides the trim behavior introduced in V3R1M0.

The new value introduced for n is:

2 - Always trim trailing blanks when sending files from the database file system. This setting provides the trim behavior from V3R0M5 and previous releases.

Note: TRIM settings do not apply to TYPE I (binary) file transfers. Blanks are never trimmed for TYPE I file transfers, regardless of the TRIM setting.

JonnyRico
15-08-02, 17:49
Hi,

wenn du mit FTP nicht weiter kommst. Könntest du ja auch vielleicht CPYTOPCD versuchen.

Bye

JonnyRico

Toto
16-08-02, 09:36
Hallo,

hatten bei der Datenübertragung das gleiche Problem.


Lösung:

CPYTOSTMF FROMMBR('/qsys.lib/mylib.lib/dtaus.file/dtaus.mbr')+ TOSTMF('/qibm/userdata/as400/dtaus.dta') +
STMFOPT(*REPLACE) DBFCCSID(*FILE) + STMFCODPAG(850) ENDLINFMT(*FIXED)

Nun kann die Datei vom IFS via FTP übertragen werden.


Gruß Turmtoto