PDA

View Full Version : OVRDBF STDERR funktioniert nicht



Fuerchau
03-02-09, 09:16
Ich starte ein Java-Programm und überschreibe STDOUT und STDERR per OVRDBF ... OVRSCOPE(*JOB).

Die Ausgabe System.out.println wird auch korrekt in STDOUT umgeleitet.
Die Ausgabe System.err.println erfolgt allerdings auch auf STDOUT.

Allerdings möchte ich die Ausgabe von aussen steuern.

Hat irgendjemand ein Idee ?

sim
03-02-09, 11:54
Hallo Fuerchau,

schon mal probiert das ganze per setzen der Umgebungsvariable
QIBM_RPG_JAVA_PROPERTIES umzuleiten ?

Ein passendes Beispiel gabs hier bereits mal.

Fuerchau
05-02-09, 12:59
Ok, hat etwas gedauert, aber so funktionierst dann ohne Variable:

java -Dos400.stdout=file:/QSYS.LIB/MYLIB.LIB/MYOUT.FILE/MYOUT.MBR
-Dos400.stderr=file:/QSYS.LIB/MYLIB.LIB/MYERR.FILE/MYERR.MBR
-classpath ..... usw.

Fuerchau
09-02-09, 18:05
Nachtrag:
Funktionieren tut das zwar schon, leider nicht ganz so schön wie erwartet.
Da Java auf STDOUT/STDERR als Stream ausgibt, wird eine PF auch wie bei Stream sequentiell gefüllt.
D.h., dass CR/LF keine neue Zeile beginnen.

Ich muss nun doch mit -D erst mal auf eine IFS-Dateie gehen und diese dann per CPYFRMSTMF in eine PF kopieren.

Aber was solls, das funktioniert so auch.