I tried something like this but it's not working for me. I'm not familiar with RPG so I have to rely on our resident RPG Programmer.
For testing purposes, he wrote this
0001.00 C *ENTRY PLIST
0002.00 C PARM PMCIN 10
0003.00 C MOVEL'HI TRENT'PMCRTN P
0004.00 C SETON LR
And I tried this from VBA
Option Compare Database
Public as400 As New cwbx.AS400System
Public pgm As New cwbx.Program
Public cmd As New cwbx.Command
Public param1 As New cwbx.ProgramParameters
Public as400systems As New cwbx.SystemNames
Public strCvtr As New cwbx.StringConverter
Sub Working()
On Error GoTo ErrHandler
as400.Define UCase(as400systems.DefaultSystem)
Set pgm.system = as400
pgm.system.UserID = "WEBUSER"
pgm.system.Password = "XA51Z3"
as400.Signon
pgm.libraryName = "ALBLIB"
pgm.programName = "PARMTEST"
param1.Clear
param1.Append "PMCIN", cwbrcInput
param1("PMCIN"

= strCvtr.ToBytes("AAAAAAAAAA"
pgm.Call param1
pgm.Call
ErrHandler:
MsgBox "Error Number = " & Err.Number & vbCr & _
"Error Description = " & Err.Description & vbCr & _
"Error Source = " & Err.Source & vbCr & _
"Client Access Return Code = " & cmd.Errors.ReturnCode
For Each cwbErr In cmd.Errors
MsgBox "Client Access Message Text: " & vbCr & cwbErr.Text
Next
End Sub
-----------------------------------
It's calling the RPG program but apparently not passing the values, I've tried changing the data types on my end with no luck. Do I need to ask our RPG guy to change something on his end?