[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Dec 2000
    Beiträge
    63

    Unhappy AS Datei nach PC in Excelformat OHNE CA/ODBC

    Hallo Leute HELP

    ich bin am verzweifeln, versuche seit ein paar Stunden das Problem zu lösen. habe versucht und probiert, habe das Forum durchsucht und gelesen, aber njet

    Problem:
    Ich muss eine normale AS400 Datei mit Feldern auf den PC in eine Excel oder CSV Format transferieren.
    Client Access und ODBC steht NICHT zur Verfügung.

    Ich habe es mit CPYTOPCD, CPYTOIMPF, CPYTOSTMF , und FTP versucht.
    Ich kriege es einfach nicht hin dieses Format. hat mir jemand einen Tip mit welchem Befehl es klappen könnte ?

    Vielleicht sehe ich vor lauter Bäumen den Wald nicht mehr.

    Bin für jeden Strohalm dankbar

    Vielen Dank
    Synus

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.300
    CPYTOIMPF ist da schon der richtige Weg.
    Man darf sich nicht daran stören, dass bei numerischen Werten die Leerzeichen nicht entfernt werden. Excel kommt damit dann zurecht.

    Die 2. Möglichkeit ist dann per SQL:

    select trim(Fld1) || ';' || char(NumFld) || ';'
    from file
    where ...

    Das dann als QM-Query und mit STRQMQRY in eine Datei ausgeben.
    Diese Datei dann per CPYTOIMPF ins IFS-Stellen.

    Bei der Ausgabe darauf achten:
    *STDASCII ist CP 850 (DOS)
    *PCASCII is CP 1252 (Windows)
    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 2003
    Beiträge
    755
    Hallo Synus,

    falls Du den gleichen Weg regelmäßig gehen mußt, kannst Du Dir auch eine Zwischendatei per DDS erstellen:

    A FELD1 8S 0 COLHDG('Feld1')
    A SEP01 1 DFT(X'BB') COLHDG(' ')
    A FELD2 2S 0 COLHDG('Feld2')
    A SEP02 1 DFT(X'BB') COLHDG(' ')
    A FELD3 15 COLHDG('Feld3')
    A SEP03 1 DFT(X'BB') COLHDG(' ')
    A FELD4 8S 0 COLHDG('Feld4')
    A SEP04 1 DFT(X'BB') COLHDG(' ')
    ...

    Durch einen CPYF mit *MAP/*DROP werden die Seperatoren gesetzt,
    anschließend einfach den CPYTOSTMF mit dieser Zwischendatei ausführen...

    Gruß,
    Robert

  4. #4
    Registriert seit
    Dec 2000
    Beiträge
    63
    hallo fuerchau
    habe es mit CPYTOIMPF versucht folgender Befehl

    CPYTOIMPF FROMFILE(P400MISPAN/SUNETA) TOSTMF('/qdls/sadta/test02.xls') MBROPT(*REPLACE) STMFCODPAG(*PCASCII) RCDDLM(*CRLF) DTAFMT(*FIXED) STRDLM(';') FLDDLM(';')

    leider wird der gesamte Datensatz im Excel in eine Spalte reingestellt und nicht je feld eine Spalte

    Was mache ich noch falsch ?

    Danke

  5. #5
    Registriert seit
    Jan 2003
    Beiträge
    755
    Synus,

    zum Einen muß der Parameter DTAFMT(*DLM) lauten, zum Anderen solltest Du die Datei als .txt ablegen, damit Excel bei Aufruf den Assistenten startet ...

    Gruß,

    Robert

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.300
    Desweiteren solltest du QDLS nicht mehr verwenden, sondern die Datei in ein Unterverzeichnis von "/home" ausgeben.
    Vorteil:
    Unterstützung von CP 1252 (Umlaute und co), lange Dateinamen.
    Eine Freigabe über den OpsNav ist genauso möglich.

    Verzeichnisse kannst du über "wrklnk '/home'" verwalten, anlegen, löschen, berechtigen. Die Befehle MKDIR CHDIR usw. funktionieren auch auf der AS/400.
    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
    Jun 2001
    Beiträge
    388
    Hallo Synus,

    such bei Google nach CRTCSVDTA und Du findest ein prima Tool um Dateien der AS/400 als Datei oder STMF im CSV-Format für EXCEL lesbar zu erstellen.

    Andreas
    Andreas Herzfeldt

  8. #8
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.005
    Hallo Synus,
    suche im Internet mal nach dem Tool SQL2XLS auf der Seite von MCPRESSONLINE. Das benutze ich und es ist kostenlos. Damit kannst Du direkt XLS-Dateien erstellen ohne den Umweg über CSV. Außerdem kannst Du in einer SQL-Anweisung angeben, welche Datensätze Du überhaupt selektieren willst.

    Gruß,
    KM

  9. #9
    Registriert seit
    Dec 2000
    Beiträge
    63
    Vielen Dank an alle für die guten tipps
    werde heute mal alle ausprobieren

    @RobertMack
    Bei DTAFMT bringt er mir die fehlermeldung
    "Die Begrenzer für DTAFMT(*DLM) sind nicht gültig."

    Danke
    synus

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.300
    Achtung: STRDLM(';') ist FALSCH !!!
    Mit STRDLM wird eine Zeichenkette z.b. in " gesetzt, da diese ja das FLDDLM enthalten könnte.
    Entweder STRDLM(*NONE) oder STRDLM('"') angeben, dann passt auch DTAFMT(*DLM) !
    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. SQL left join
    By ahingerl in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 08-12-06, 08:28
  2. Verzwicktes Problem mit FTP (PC zu AS)
    By QSECOFR-1 in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 09-06-05, 08:54
  3. Datei von AS/400 auf PC übertragen
    By Dobby in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 16-11-04, 15:05
  4. Datei binär auf PC übertragen
    By sannefinger in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 17-05-04, 15:19
  5. PC über Telefonleitung asynchron mit AS
    By synus in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 05-02-02, 06:08

Berechtigungen

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