Stehe vor großem Rätsel und hoffe auf eure Hilfe.
Ich rufe
aus Java ein CL-Pgm auf.
Dieses CL-Pgm enthält seinerseits ein RPG-Programm.
Wenn Aufruf aus Java erfolgt , wird dieses RPG-Pgm nicht aufgerufen ?!?!
Wenn Aufruf aus Befehlszeile erfolgt, dann schon.
?!?!
Das CL-Pgm wird in Java aber sehr wohl aufgerufen, das ist über DMPCLPGM beweisbar.

Hier die java-Zeilen für RPG-Aufruf.
(Java läuft übrigens am PC, nicht auf AS400)
------------------------------------------
// Create the path to the program.
programName = new QSYSObjectPathName("STONESOBJ",
"STONEPRLGC", "PGM");


// Create the program call object.
programCall = new ProgramCall(host);


// Create the parameter list (array).


programCall.setProgram(programName.getPath(), parmlist);
log.info("Programm wird aufgerufen:" + programName.getPath()); //
findet sich im Log - siehe unten
if (programCall.run() != true)
{
AS400Message msgList = programCall.getMessageList();
String as400Msg = msgList[0].toString();
log.error("Fehler bei Verarbeitung:" + as400Msg); //
kein Eintrag im Log
}
host.disconnectService(AS400.COMMAND);
}

------------------------------------------
Eintrag aus Log:
Programm wird aufgerufen:/QSYS.LIB/STONESOBJ.LIB/STONEPRLGC.PGM

Das CL-Programm STONEPRLGC besteht aus folgenden Zeilen

(Es findet sich im Log, wie erwähnt kein Hinweis auf Fehler bei Aufruf. )


ADDLIBLE LIB(STEINE_TST) POSITION(*AFTER STONESOBJ)
ADDLIBLE LIB(STEINE_95T) POSITION(*AFTER STONESOBJ)
ADDLIBLE LIB(QS36_TST) POSITION(*AFTER STONESOBJ)
ENDDO /* PMODE *EQ 'T' */

CALL PGM(STONEPROLG)

DMPCLPGM


ENDE: ENDPGM


Alles scheinbar so einfach.
Ich konnte es kaum glauben, als ich das "Phänomen" bemerkte.
?!?!?!
Vielen Dank im Voraus für Unterstützung