|
Can a call to a service program return info passed in the parms like you
can with ProgramCall? I can get it to work just fine with ProgramCall,
but ServiceProgramCall is proving to be a little more difficult. I have
only seen examples that try to do a .getOutputData() with ProgramCall.
I keep getting null being sent back.
Anybody know for sure?
Aaron Bartell
P CallRPG_var B Export
D CallRPG_var PI
D pInput 30A Const
D pOutput 30A
/Free
pOutput = 'It is working yahoo!';
Return;
/End-Free
P CallRPG_var E
public class CallRPG_var {
public static void main(String[] parameters) {
try {
AS400 as400 = new AS400("172.11.11.11", "JJJ", "JKKK");
AS400Text text1 = new AS400Text(50, as400);
byte[] inData = text1.toBytes("jjjeeeeuuuunnnkkkkk!!!!!");
byte[] outData = text1.toBytes(" ");
ProgramParameter[] parmlist = new ProgramParameter[2];
parmlist[0] = new ProgramParameter(inData);
parmlist[1] = new ProgramParameter(outData);
parmlist[0].setParameterType(ProgramParameter.PASS_BY_REFERENCE);
parmlist[1].setParameterType(ProgramParameter.PASS_BY_REFERENCE);
ServiceProgramCall srvPgm = new ServiceProgramCall(as400);
srvPgm.setProgram("/QSYS.LIB/ALBARTELL.LIB/CALLRPGSV.SRVPGM");
srvPgm.setProcedureName("CALLRPG_VAR");
srvPgm.setReturnValueFormat(ServiceProgramCall.NO_RETURN_VALUE);
srvPgm.setParameterList(parmlist);
if (srvPgm.run() != true) {
AS400Message[] msgList = srvPgm.getMessageList();
System.out.println("The program did not run. AS/400
messages : ");
for (int i = 0; i < msgList.length; i++) {
System.out.println(msgList[i].getText());
}
}
System.out.println(parmlist[1].getOutputData());
} catch (Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
}
}
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.