[NEWSboard IBMi Forum]

Thema: QSH und echo

  1. #1
    Registriert seit
    Jan 2007
    Beiträge
    1.002

    QSH und echo

    Hi,
    Ich baue mir in einem RPG-Programm einen übergebenen (CL) String zusammen und möchte den nun via QSH und echo an das IFS übergeben. Funktioniert soweit gut, nur bekomme ich im übergebenen File Hieroglyphen. Ich nehme mal an, das hängt mit der CCSID zusammen.

    Job CCSID ist 500.

    Für Hinweise bin ich dankbar.
    kf

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Ich wäre für Hinweise was genau du da machst ebenso dankbar.
    Wer erstellt die IFS-Datei?
    Dein CLP?
    Das "echo" per Ausgabeumleitung?

    Das Problem könnte eben sein, dass die IFS-Datei dann auch CCSID 500 hat und somit EBCDIC-Code enthält.
    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 2007
    Beiträge
    1.002
    Hallo Baldur,

    Ich erstelle eine Import-CSV Datei mit den Feldnamen als Header. Dafür erstelle ich als erstes einen kompletten Headerstring für QSH welcher in einem RPG Programm aufbereitet wird, also mit echo und Target. Diesen schiebe ich mit QSH CMD(&string) in's IFS und gleich einen CPYTOIMPF hinterher. Das File besteht nicht im IFS. Die Daten vom CPYT... sind ok, nur der Header zickt.
    Besser so?

    btw, ich möchte das nicht mit SQL lösen, soll im RPG bleiben.
    kf

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Beim CPYTOIMPF gibst du ja eine Ziel-CCSID an, deshalb die korrekte Darstellung.
    Mit dem Echo wird die neue IFS-Datei erstellt, da du dabei aber keine CCSID angeben kannst, wird die Job-CCSID genommen.
    Du musst also eine leere Datei erstellen, die CCSID setzen und dann per Echo die Daten anhängen.

    qsh cmd('echo >/Home/MyFile.csv;touch -C 1252 /Home/MyFile.csv;echo ''HDR;'' >/Home/MyFile.csv')

    Mittels "touch -C File" wird die CCSID der Datei gesetzt, eine Datenumsetzung erfolgt nicht!
    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 2007
    Beiträge
    1.002
    Alles klar, bau mir den String so zusammen. Danke.
    kf

  6. #6
    Registriert seit
    Jan 2007
    Beiträge
    1.002
    Hallo Baldur,

    Hat leider nicht den gewünschten Erfolg gebracht - immer noch der gleiche Inhalt.

    Hab noch einen Test mit dem deinem Beispiel gefahren - funktioniert auch nicht.

    Der nachfolgende CPYTOIMPF mault mich dann auch noch wegen der CCSID an.


    Noch andere Ideen, bevor ich den String einfach in ein Flatfile setze und dieses dann mittels normalem CPYTOIMPF übertrage?

    Gruss
    kf

  7. #7
    Registriert seit
    Jan 2007
    Beiträge
    1.002
    Gelöst!

    qsh cmd('echo >/Home/MyFile.csv;touch -C 1252 /Home/MyFile.csv;echo ''HDR;'' >/Home/MyFile.csv')

    Mittels "touch -C File" wird die CCSID der Datei gesetzt, eine Datenumsetzung erfolgt nicht!
    Der erste echo darf nicht sein, da das File schon falsch erstellt wird. Ich habe den touch vorangestellt und den echo hinterher - et voilà, schon klappts.

    also:
    qsh cmd('touch -C 1252 /Home/MyFile.csv;echo ''HDR;'' >/Home/MyFile.csv')
    kf

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    OK, dann scheint der touch die Datei wohl schon anzulegen was ich nicht wusste.
    Ein nachträglicher touch sollte aber immer noch möglich sein da auch ein CHGATR später immer noch möglich 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

  9. #9
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    @touch: -C legt an, -c nicht und CCSID für existierende bleibt
    @CCSID: da gibt es eine EnvVar QIBM_CCSID (o.ä.), zum ändern für eine vorhandene Streamfile gibt es setccsid
    setccsid 1252 muell.txt

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Danke für den Hinweis, dann war ich ja nicht sooo schlecht .
    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. QSH
    By malzusrex in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 27-09-12, 11:54
  2. qsh
    By tomikra in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 30-06-06, 10:33
  3. QSH und Java
    By FKathmann in forum IBM i Hauptforum
    Antworten: 14
    Letzter Beitrag: 21-11-05, 09:02
  4. QSH auf V5R2
    By ExAzubi in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 14-06-05, 11:12
  5. Java Job aus Qsh im CL
    By DEVJO in forum NEWSboard Java
    Antworten: 1
    Letzter Beitrag: 27-05-05, 09:07

Berechtigungen

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