[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte
  1. #1
    Registriert seit
    Jan 2011
    Beiträge
    38

    Thumbs down JAVA stderr-Ausgabe in ifs-Datei stellen

    Hallo,
    ich versuche vergeblich, die Ausgaben der JVM in stderr in eine ifs-Datei mit der CCSID 1252 auszugeben, um sie auch aus Windows heraus lesen zu können.

    ??????????????????...

    Hat da jemand vielleicht bereits Erfahrungen damit?

    Siegfried

  2. #2
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    Das sollte mit der Eigenschaft "os400.stderr" gehen, siehe hier.

    Wie rufst du denn das Java-Programm auf?

  3. #3
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ... it depends:

    wie wär's mit:
    qsh cmd('java GidEdNet 2> schade.txt')

    D*B,
    für den sich das verdächtig nach 2. bester Idee anhört
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Das Problem bei der Ausgabeumleitung bzw. OVRDBF wird die neue Datei im IFS immer mit der aktuellen Job-CCSID (bei HEX, Default-CCSID) erstellt.
    Entweder man kopiert sie anschließend mit CPY in eine neue Datei, gibt die CCSID mittels obiger Eigenschaft "os400.stderr" bzw. "os400.stdout" oder man erstellt die Datei mit z.B. "echo >err.txt; touch -C 1252 err.txt; ....".
    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 2011
    Beiträge
    38
    schnell seid ihr...

    os400.stderr geht, aber mit der CCSID von meinem interaktiven Job. Ich starte java per shell script und das wiederum rufe ich per sbmjob(cmd('strqsh script')) auf. Auch die Änderung der CCSID beim sbmjob bringt keine Änderung der Datei-CCSID von stderr.
    Ich will aber eine bestimmte(1252) CCSID haben...

    Siegfried

  6. #6
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ... Ausgabeumleitung geht auch in eine bestehende Datei und die darf auch CCSID 1252 haben...

    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/

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Ergänze dein Script mit folgenden Befehlen:

    echo >stderr.txt;
    touch -C 1252 stderr.txt;
    java ..... 2>>stderr.txt;

    Wichtig ist, dass die Datei vor der Befüllung die richtige CCSID haben muss.
    Die einfache Umleitung "2>stderr.txt" erstellt immer eine neue Datei und löscht die Alte.
    Die ergänzende Umleitung "2>>stderr.txt" hängt die Daten an, die CCSID wird berücksichtigt.
    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
    Jan 2011
    Beiträge
    38
    wenn ich das per os400.stderr angebe, wird die Datei immer neu erstellt...

  9. #9
    Registriert seit
    Jan 2011
    Beiträge
    38
    ok, ich versuche das gerade...

    wie muss ich das schreiben, wenn ich sowohl stdout(1) als auch stderr(2) in 2 unterschiedliche Dateien schreiben will?

    Vielen Dank schon mal, für eine Datei geht's schon

    Siegfried

  10. #10
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    Probier mal mit der QSHELL-Variable QIBM_CCSID ab V5R2:

    SBMJOB CMD(QSH CMD('export QIBM_CCSID=1252; script'))

  11. #11
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ... bei mir wird die bei > nicht neu erstellt, sondern nur mit clear geöffnet, behält alos ihre Eigenschaftten (gerade mal auf 2 Büchsen ausprobiert)

    D*B,
    der immer noch ungeneigt ist da jedesmal eine JVM zu starten und auch stderr nicht für eine geeignete Ausgabe hält, weder als Rückmeldung, noch als log...


    Zitat Zitat von Fuerchau Beitrag anzeigen
    Ergänze dein Script mit folgenden Befehlen:

    echo >stderr.txt;
    touch -C 1252 stderr.txt;
    java ..... 2>>stderr.txt;

    Wichtig ist, dass die Datei vor der Befüllung die richtige CCSID haben muss.
    Die einfache Umleitung "2>stderr.txt" erstellt immer eine neue Datei und löscht die Alte.
    Die ergänzende Umleitung "2>>stderr.txt" hängt die Daten an, die CCSID wird berücksichtigt.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  12. #12
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Zitat Zitat von flieger_siggi Beitrag anzeigen
    ok, ich versuche das gerade...

    wie muss ich das schreiben, wenn ich sowohl stdout(1) als auch stderr(2) in 2 unterschiedliche Dateien schreiben will?

    Vielen Dank schon mal, für eine Datei geht's schon

    Siegfried
    java -verbose Huhu > hurra.txt 2> schade.txt

    dann steht der verbose Krumsch in hurra.txt und der ClassNotFound Kramsch in schade.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/

Similar Threads

  1. Datei im IFS auf iSeries verschlüsseln
    By jo400 in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 21-10-06, 17:57
  2. IFS Datei Daten hinzufügen
    By sim in forum NEWSboard Programmierung
    Antworten: 11
    Letzter Beitrag: 18-05-06, 08:00
  3. Datei aus IFS holen
    By jogisarge in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 15-05-06, 13:47
  4. IFS Datei berechtigungen
    By PGMR in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 15-06-05, 15:37
  5. RUNSQLSTM mit Ausgabe in Spoolfile, Datei, Bildschirm
    By DiBagger in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 16-07-02, 14:28

Berechtigungen

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