I've used getMessageList to see what's wrong when a call fails. Like
this:
ProgramCall program = new
ProgramCall(system,makeQsysName(programName),parmList);
// Run the program.
if (program.run() != true)
{
// Report failure.
StringBuffer sb = new StringBuffer("");
sb.append("Program failed! ");
// Show the messages.
AS400Message[] messagelist = program.getMessageList();
for (int i = 0; i < messagelist.length; ++i)
{
sb.append(messagelist[i]);
}
throw new Exception(sb.toString());
}
This was just for debugging so I could see what was in the messages.
The AS400Message object looks just like a job log entry (after calling
the load method). So I'll bet you could write info messages to the job
log with SNDPGMMSG (or it's api) in your RPG and read it from the
message list.
-----Original Message-----
From: java400-l-bounces@xxxxxxxxxxxx
[mailto:java400-l-bounces@xxxxxxxxxxxx] On Behalf Of Jeff Wurst
Sent: Thursday, August 19, 2010 3:45 PM
To: java400-l@xxxxxxxxxxxx
Subject: Returning error messages from RPG III to Java
Thanks in advance for any pointers on this.
I have an old RPG III program that has a green screen and displays
messages from a message file in a message subfile at the bottom of the
screen. I need to retrofit the program to provide the option to suppress
the screen so that it can be called from a new Java program. The RPG
program still needs to do its normal validation of the business rules
and, with no user interface displayed, it needs to report back error
messages to the calling program.
The ProgramCall class has a getMessageList function. Is there any way to
load messages into this without crashing the RPG program? Is there a
normal way to accomplish my goal? I can always add program parameters or
use the LDA, but those options will introduce an upper limit on the
number of error messages that I can return.
--
This is the Java Programming on and around the IBM i (JAVA400-L) mailing
list To post a message email: JAVA400-L@xxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit:
http://lists.midrange.com/mailman/listinfo/java400-l
or email: JAVA400-L-request@xxxxxxxxxxxx Before posting, please take a
moment to review the archives at
http://archive.midrange.com/java400-l.
As an Amazon Associate we earn from qualifying purchases.