If you use the parameters on a *ENTRY PLIST then you may need to specify the “receiving” parameter in factor 1 on the PARM statement. You can use the same field name.
We need more, generally RPG parameters have been Input/Output and should return the values they contain to the CL — actually the CL program passes the RPG pointers to the data and the RPG program changes these and ends. The CL continues by using the same pointers to retrieve the data when you need it. Obviously that’s not happening and it’s probably in your D specs declaring the RPG PI (program interface)
– did the CL load any data into these prameters before the call?
– show us the entry PLIST or D specs
– does your program use procedures??
– show use D specs for procedure prototypes that pass the parameters
– If the parameters are declared in a data structure
– is the data structure cleared or reset ?
– are there overlays to the parameters that are cleared or reset?