Calling an ile rpg service program procedure that returns a value from a java class
Posted: Thu May 14, 2026 1:28 pm
Hi everyone, except for the example included in the source comments of the ServiceProgramCall class, I haven't found any other examples of this.
Can anyone point me to some info?
I'm stuck with what I thought was a small problem but can't seem to resolve.
From a Java class running on a Windows server, I need to:
1. connect to a certain IBM i power server; (done)
2. set a specific library list with a given custom command; (done)
3. call a service program procedure that returns a char(6) value. (And here I'm stuck.)
Despite several attempts, the procedure, assuming it's actually executed, doesn't produce any results.
This is the RPG prototype of the procedure:
The returned char(6) field may also be empty.
The three parameters are alternative; those not passed must be marked with the *OMIT placeholder.
The possible values for the test are:
codMec=some numbers or vatCode=some numbers but as a string or idColCode=again some numbers
Normally, the call in rpgile would be
Now on my class It just doesn't seem to work.
Has anyone ever used this call?
Does anyone have any working code examples I can try?
Thanks in advance for your attention.
Can anyone point me to some info?
I'm stuck with what I thought was a small problem but can't seem to resolve.
From a Java class running on a Windows server, I need to:
1. connect to a certain IBM i power server; (done)
2. set a specific library list with a given custom command; (done)
3. call a service program procedure that returns a char(6) value. (And here I'm stuck.)
Despite several attempts, the procedure, assuming it's actually executed, doesn't produce any results.
This is the RPG prototype of the procedure:
Code: Select all
dcl-pr RtvSupplierCode Char(6) EXTPROC('RtvSupplierCode');
codMec zoned(7:0) const options(*omit:*nopass);
vatCode char(16) const options(*omit:*nopass);
idColCode packed(13:0) const options(*omit:*nopass);
end-pr;
The three parameters are alternative; those not passed must be marked with the *OMIT placeholder.
The possible values for the test are:
codMec=some numbers or vatCode=some numbers but as a string or idColCode=again some numbers
Normally, the call in rpgile would be
Code: Select all
supplierCode = RtvSupplierCode(1236547 : *omit : *omit);
supplierCode = RtvSupplierCode (*omit : '123456789012345' : *omit);
supplierCode = RtvSupplierCode (*omit : *omit : 12345);
Has anyone ever used this call?
Does anyone have any working code examples I can try?
Thanks in advance for your attention.