[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Mar 2006
    Beiträge
    6

    End-of-Line, Codepage

    hallo,
    ich habe zwar schon das Forum durchsucht, aber noch keine so richtige Zusammenfassung des Codepage-Problems gefunden.

    Mein Problem ist folgendes :

    Abholung einer Datei auf einer AS400 auf einen Window2 - Server.

    Wenn ich TYPE "A" benutze, klappt zwar alles, aber ich erhalte keine Umlaute mehr. Bei TYPE "I" kommt EBCDIC, was ebenfalls unbrauchbar ist.

    Bei TYPE "E" erhalte ich alles korrekt bis auf das End-Of-Line (EOL). Hier steht seltsamerweise ein Hexcode 85 ( DECIMAL 133). Ich habe dort den AS400-Administrator gefragt, ob er eine Ahnung hat, woher das kommt, aber ich erhalte die Antwort, das gäbe es nicht. Gibt es aber doch.

    Ich muss das Ganze automatisieren und durch einen Router zu anderen Maschinen im Netz schicken, aber dieses HEX85 stört sehr, da diese Maschine und auch ein IBM-Mainframe dieses EOL benutzen.

    In Scripts benutzt man doch üblicherweise sowas wie "\n" für 0A (UNIX-EOL). Ich möchte doch nicht für jede Maschine erstmal herausfinden, was da kommt.

    Habt Ihr einen Tipp für mich, so etwas wie TYPE C 850 oder was.

    Gruss
    bufcs

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Das Abholen per FTP direkt aus einer PF scheitert häufig an der Umsetzung.
    Ich gehe immer den Umweg über das IFS.
    Per CPYTOSTMF/CPYTOIMPF die Datei mit korrekter CCSID erstellen (850/1252) und anschließend per FTP kopieren.

    Was wird denn als EOL erwartet ?
    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
    Mar 2006
    Beiträge
    6

    End-of-Line, Codepage

    hallo,
    erst einmal danke für die Antwort. Soweit ich verstehe, müsste das auf der AS400 geschehen.
    Aber noch zur Frage, ich hätte sehr gerne entweder 0A (UNIX) oder 0D0A (Windows) als EOL haben.

    gruss
    bufcs

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Das gibst du beim CPYTOIMPF direkt an: ... RCDDLM(*CRLF) ...
    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

  5. #5
    Registriert seit
    Mar 2006
    Beiträge
    6

    End-of-Line, Codepage

    hallo, danke,
    aber ich bin kein AS400 - Spezialist,

    wie würde das in einer FTP-Receive-Script denn aussehen ? Bis jetzt habe ich nur
    folgendes .

    GET des Files :

    @-RECV %TRIG0%MBR; # Empfang des Members aus der library
    und
    #----------------------------------

    # making original file file empty wenn status ok

    #----------------------------------

    QUOTE "RCMD clrpfm FILE("%TRIG0")";

    Also soweit ich das kapierem muss doch jetzt vor dem RECEIVE noch irgendwas kommen ?

    gruss
    bufcs

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Per FTP-Script geht es nur sehr bedingt.
    Am besten ist es, du läßt dir die Datei auf der AS/400 bereits im IFS bereitstellen.
    Über eine Netzwerkfreigabe benötigst du dann noch nicht ein mal FTP um die Datei dann herunter zu laden.
    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

  7. #7
    Registriert seit
    Mar 2006
    Beiträge
    6
    hallo,

    danke für die Antwort. Um es kurz zu rekapitulieren :

    Das von einem Programm erstellte File (member) in ein anderes member
    kopieren ? Mit der entsprechenden CCSID versehen und das gewünschte EOL angeben.

    Wenn das geschehen ist, das File/member immer noch mit TYPE "E" abholen ? Oder geht dann TYPE "I" ?

    Was ist eigentlich nicht verstehe, ist, dass bei meinem bisherigen Vorgehen alles soweit korrekt kommt, jedoch ein EOL von DEC 133 gemäss Codepage 1252 oder 819 herauskommt.

    Ist das irgendwie willkürlich ?

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    So würde ich normalerweise vorgehen.
    Die zu übertragenden Daten liegen dann bereits im ASCII/ANSI-Format vor und können einfach binär abgeholt werden.
    Allerdings sind sie nicht mehr im Typ Lib/File/Mbr sonder im IFS mit z.B. /Home/MyVerz/MyFile. Beim FTP ist dann "NAMEFMT 1" anzuwenden.
    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

  9. #9
    Registriert seit
    Mar 2006
    Beiträge
    6
    danke,

    das Problem ist allerdings, dass ich meinen Kunden kaum dazu bewegen kann,
    seine Imlementation zu ändern, da noch ein komplexeres Spiel mit Triggern und Sperrfiles (membern) ins Spiel kommt.
    Gibt es denn keine Möglichkeit, dies auf der Lib/File/Mbr Mimik zu erledigen ?

    gruss
    bufcs

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Das hast du ja schon versucht und die Daten eben so erhalten, wie es möglich ist.
    "TYPE C nnnn" wirkt nur auf PUT für neu erstellte Dateien um eine Codepage anzugeben.
    Beim GET hast du halt nur die Varianten als ASC- bzw. BIN-Format die Daten so abzuholen, wie sie zur Verfügung gestellt werden.
    Irgendeine Anpassung der Daten kann nicht mehr erfolgen.

    Die CCSID's für ASCII und EBCDIC werden folgendermassen bestimmt:
    CHGFTPA CCSID(nnnn) => ASCII-CCSID, default 819
    CHGSYSVAL QCCSID VALUE(nnnn) => EBCDIC-CCSID, defualt 65535 = HEX

    Das Ändern dieser Werte gilt aber systemweit und hat ggf. Einfluss auf andere Job's.
    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

  11. #11
    Registriert seit
    Mar 2006
    Beiträge
    6
    nochmals danke,

    ich werde zwar bei Gelegenheit das Thema nochmal bei meinem Kunden ansprechen.
    Vorerst bleibt mir wohl nichts anderes übrig als hierfür eine programmtechnische Sonderbehandlung durchzuführen.

    gruss
    bufcs

Similar Threads

  1. Status nach Druck nich SAV, sonder Drucker auf END
    By zannaleer in forum NEWSboard Drucker
    Antworten: 6
    Letzter Beitrag: 13-09-06, 10:35
  2. SQL .. for update of (RPG embedded SQL)
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 01-06-06, 09:43
  3. externe DS als Parameter übergeben
    By psd-400 in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 07-10-04, 12:06
  4. Rechenproblem in RPG
    By jo400 in forum IBM i Hauptforum
    Antworten: 9
    Letzter Beitrag: 01-06-04, 20:34
  5. Embedded SQL - Datenbankoptionen in VARPG
    By woki in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 13-04-04, 12:09

Berechtigungen

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