[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jan 2006
    Beiträge
    111

    Unhappy Dateiformatkonvertierung nach Umstellung von FTP auf SFTP

    Moin liebe Mitstreiter,

    wir sind im Entwicklerteam dazu angehalten worden, FTP-Transfers gegen SCP oder SFTP abzulösen.

    Nun stehe ich vor dem glorreichen Problem, dass bei der FTP Variante (AS/400 -> UNIX) immer der Transfermodus "ASCII" gewählt wurde.

    Übertragen wird eine per DDS beschriebene Datei (mwkqfert) wie folgt:
    Code:
    ftpuser password
    ascii                                  
    cd /home/etc                  
    put dateien/dummy.dummyin .mwkqlock     
    put dateien/mwkqfert.mwkqfert mwkqfert 
    delete .mwkqlock                                        
    quit                                   
    enter
    Laut google unterstützten SCP und SFTP den ASCII-Mode nicht, was dazu führt, dass der gesamte Dateinhalt in einer einzigen Zeile in einem nicht lesbaren Format auf der Unix-Seite ankommt ;(
    Weiß einer Rat, wie man dieses Problem gelöst bekommt?

    Viele Grüße
    Bratmaxxe

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.236
    Da musst du leider den Umweg über das IFS machen.
    Du kannst per CPYto|frmIMPF die Datei in ANSI 1252 umwandeln und dann per sftp übertragen.
    Eine automatische Konvertierung wird wohl nicht angeboten (auch bei vielen anderen Clients) sondern nur noch binär übertragen (was auch bei anderen insbesonders bei CR/LF wohl ein Problem ist).
    Auch bei einem ggf. unterstützen "text mode" scheint es sich nur um eine unixspezifische umwandlung von CR in CRLF bzw. wieder zurück zu handeln.
    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
    Jan 2006
    Beiträge
    111
    Hallo Baldur,

    danke für den Tip - allerdings sieht das Endergebnis nicht so aus, wie ich es erwartet hatte....

    ALT:
    Name:  alt1.png
Views: 371
Size:  1,4 KB


    Neu (CPYTOIMPF):
    Name:  neu.png
Views: 373
Size:  2,8 KB

    Die Nullen bei 394 fehlen und es werden auch 2 Leerzeichen dazugemauschelt...
    Wie bekommt man sowas in den Griff?

    Gruß
    Bratmaxxe
    Angehängte Grafiken Angehängte Grafiken    

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.236
    Sollte so funktionieren:
    DTAFMT(*FIXED) STRDLM(*NONE) NUMFLDPAD(*ZERO)
    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
    Jan 2006
    Beiträge
    111
    Hallo Baldur,

    mein Befehl sieht wie folgt aus:

    Code:
    CPYTOIMPF FROMFILE(DATEIEN/MWKRFERT) TOSTMF('/home/temp/mwkrfert') MB 
    ROPT(*REPLACE) RCDDLM(*LF) DTAFMT(*FIXED) STRDLM(*NONE) NUMFLDPAD(*ZERO)  
    STMFCCSID(1252)
    Anbei noch die Dateidefinition:
    Code:
    A          R MWKRFERT00                
    A*                                                                                                 
    A            KRKTR          4S 0                                 
    A*                                                               
    A*           // TRENNFELD                                        
    A            KRTR1          1          DFT('|')                  
    A*                                                                                                       
    A            KRNAME        20          
    A*                                                               
    A*           // TRENNFELD                                        
    A            KRTR2          1          DFT('|')                  
    A*                                                                                       
    A            KRVERS         2
    Ich verstehe nicht, warum er aus dem KRKTR ein 6 stelliges Feld nach dem CPYTOIMPF macht:
    Name:  neu2.png
Views: 366
Size:  1,2 KB


    Ein richtig schmutzige Lösung wäre, sofern man es nicht hinbekommt, dass das Ausgangsformat passt, einen FTP nach /home/temp/ mit MODE ASCII zu machen und dann den SCP/SFTP abzusetzen

    VG Bratmaxxe

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.236
    Da bin ich allerdings auch überfragt. Mach dochmal einen Fehler bei IBM auf.
    Der Umweg über Lokal-FTP ist gar nicht so schlecht, zumal der nicht viel langsamer als der CPY ist.
    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
    Nov 2003
    Beiträge
    2.306
    Probier mal mit CPYTOSTMF (wobei der nur Quellendateien oder programmbeschriebene Dateien nimmt).

  8. #8
    Registriert seit
    Nov 2003
    Beiträge
    2.306
    Oder nimm mal den CPY.

  9. #9
    Registriert seit
    Feb 2001
    Beiträge
    20.236
    Wie schon beschrieben, der CPYxxSTMF unterstützt blöderweise und ohne Grund keine DDS/SQL-Dateien.
    Beim CPY habe ich noch nicht ausprobiert wie dieser mit numerischen Feldern umgeht, da diese keine CCSID haben und ob CRLF eingefügt werden.
    Alternativ kann man ggf. noch per QSH den "iconv" bemühen. Aber die lokale FTP-Lösung scheint die einfachste zu sein.
    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

Similar Threads

  1. SFTP Openssh 3.5 ssh_config
    By Rue in forum IBM i Hauptforum
    Antworten: 0
    Letzter Beitrag: 11-07-17, 11:02
  2. SFTP
    By TUM in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 20-09-16, 12:40
  3. CPD337F nach Umstellung auf remote System
    By programmer400 in forum NEWSboard Drucker
    Antworten: 11
    Letzter Beitrag: 02-10-15, 16:33
  4. ISeries SFTP ohne Public Key
    By Rue in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 11-04-15, 19:33
  5. Antworten: 5
    Letzter Beitrag: 04-02-14, 13:41

Berechtigungen

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