[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Sep 2002
    Beiträge
    14

    ASCII <-> EBCDIC über FTP?

    Hallo Zusammen!

    Habe folgendes Problem:
    Ich hole mit dem AS/400-FTP-Client Daten von einem Windows-Rechner (ASCII, Textformat) ab. Bei der Konvertierung von ASCII in EBCDIC (Download: PC -> AS/400) mit der Standard-CCSID 00819 werden aber die Umlaute falsch umgesetzt! Der Transfer in die andere Richtung (Upload: AS/400 -> PC) mit der gleichen CCSID funktioniert aber einwandfrei! Schon komisch...

    Hat einer 'ne Ahnung, welche CCSID für eingehende Daten ich einstellen muss, damit die Umlaute auch richtig umgesetzt werden?

    Danke und Gruß,
    Jascha

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.247
    Die Frage ist hier, ob die Daten, die Du zur AS/400 schickst auch tatsächlich 819 (ANSI) sind ?
    Vielleicht ist die Quelle ja 850 (ASCII) ?

    Unter Windows sieht man den Unterschied nicht immer (je nach Windows-Version). Schaue ich mir die Daten mit Notepad an oder in einer DOS-Box (e.g. EDIT) kann es schon zu Unterschieden kommen.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Sep 2002
    Beiträge
    14
    Ja, die Daten liegen tatsächlich als ANSI vor!

    Folgender Test:

    1. - Textdatei unter Windows (Notepad) erstellen:


    2. - Textdatei unter DOS angucken:


    3. - FTP-Transfer auf die AS/400:


    4. - Das Ergebnis auf der AS/400:


    Das komische ist nur, dass die Umsetztung beim Versenden der Daten (FTP = PUT oder APPEND) richtig funktioniert...

    Gruß,
    Jascha

  4. #4
    Registriert seit
    Dec 2003
    Beiträge
    3
    Hallo Jascha,
    versuch's mal mit dem get im binary-format,
    Gruß
    HoZi

  5. #5
    Registriert seit
    Sep 2002
    Beiträge
    14
    hmm. die daten liegen im zwar im textformat vor, hab's aber eben doch nochmal im BINARY-Modus probiert.

    klappt auch nicht. sieht dann noch viel wilder aus:

  6. #6
    Registriert seit
    Jun 2001
    Beiträge
    727
    So wie das aussieht(Notepad/Edit) ist das eine ANSI-Datei.

    Schau dir mal die CCSID der erstelltem STMF auf der AS/400 an.
    CCSID sollte 1252 (ANSI) sein, ist aber wahrscheinlich 819 oder 850.

    Außerdem kannst du ja mal bei einer STMF mit CCSID 819 mit dem Befehl EDTF/DSPF und F-Taste F15 versuchen die CCSID in 1252 tempörar zu ändern.
    Hier sieht man dann auch, ob die zugeordnete CCSID der STMF mit dem tatsächlichen Dateninhalt übereinstimmt.


    Also folgende Vorgehensweise :

    vorher STMF mit CCSID 1252 erstellen
    (erzeugen Dummy-Datei mit z.B. CPYTOSTMF ...STMFCODPAG(*STDASCII) )
    dann mit FTP get ... (replace

    oder in der FTP-Sitzung/im FTP-Script

    type C 1252

    eingeben.

    Die Übertragung wird dann von ASCII (819) (oder EBCDIC) in ANSI (1252) geändert.

    Außerdem folgende Überlegungen :
    Mit dem Commands CHGFTPA (wirkt global) oder FTP (nur für den Aufruf) kannst du auch den Paramter CCSID in z.B. 1252 ändern.
    Dies wirkt sich dann auf den FTP-Befehl ASCII aus.
    Die dort angegeben CCSID wird dann verwendet.
    Auslieferungsstandard ist CCSID 819.


    Sven

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.247
    So wie es aussieht überträgst du die Daten in eine neue PF-Datei !
    Diese erhält automatisch die CCSID des Job's, in diesem Fall des FTP-Batch-Jobs. Überprüfe mal deinen Systemwert QCCSID ob der nicht auf 65535 steht, ändere diesen auf 273.

    Alternativ kannst du auch eine PF erstellen (per DDS oder SQL, nicht per "CRTPF RCDLEN(xxx)") die eine CCSID (z.B. 273) erhält und in diese überträgst du dann mittels "put .... (replace".

    Dass die Daten beim Empfang korrekt übertragen werden liegt wohl daran, dass deine Quell-PF eine gültige CCSID (273) enthält, so dass korrekt in ANSI übersetzt werden kann.

    @sven

    CCSID 1252 geht nur, wenn in eine IFS-Datei übertragen wird. Wenn die Daten dann jedoch weiterverarbeitet werden müssen, erfolgt wieder ein CPYFRMSTMF der ggf. das CCSID-Problem wieder aufwirft.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  8. #8
    Registriert seit
    Sep 2002
    Beiträge
    14
    HEUREKA!
    danke für den tip! - die CCSID des FTP-Jobs ist das problem gewesen! ich habe jetzt eine PF via DDS mit der CCSID 273 erzeugt.
    und siehe da: "Glücksrad" bleibt "Glücksrad"!

    danke nochmal für die schnelle und kompetente hilfe!!

    gruß,
    jascha

Similar Threads

  1. FTP von der AS400 -> zum PC sehr langsam
    By ExAzubi in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 17-03-06, 09:26
  2. Nochmal CCSID FTP ASCII -> I5
    By oopsy-dear in forum IBM i Hauptforum
    Antworten: 13
    Letzter Beitrag: 11-11-05, 12:55
  3. Konvertieren von EBCDIC to ASCII
    By RLurati in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 19-10-05, 15:02
  4. FTP AS400 -> AS400 -> PC
    By codierknecht in forum NEWSboard Programmierung
    Antworten: 11
    Letzter Beitrag: 07-10-05, 08:16
  5. Drucken EBCDIC to ASCII *WSCST
    By opitec in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 15-07-02, 09:01

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •