Natural RPC (remote procedure calls)

Good day Douglas, just a follow up from the last session,

We have a C# interface using natural Services, the jcl used is provided below, see attached text file.

We need to create 7 more RPCs running where C# front end calls Natural Services to do the capturing, updating and deletion of DB2 data.

What paramters in the JCL needs to change to ensure the best performance of the RPCs and also best use of the SQL statements to handle the data coming in.

Many thanks
jcl.txt (3.47 KB)

It is still not clear what you are asking to do here…do you need 7 more RPC servers or are you exposing 7 more Natural subprograms as services?

If you just need to expose 7 more Natural subprograms, then use the Software AG EntireX Designer tool (Eclipse plug-in) and extract the IDL using the Software AG Extractor for Natural, then generate your C# wrappers.

If you need additional RPC Servers to handle the load, then you need to look at the NTASKS subparameter. If this is the case, why has 7 been chosen as the number of servers needed?

Hi Douglas, many thanks for your response, we need 7 more rpc servers to run, I am not sure why 7 has initially been chosen.

many thanx

ok, then you need to read the chapter “Considerations for Mainframe Natural RPC Servers with Replicas” at

The steps for using the re-entrant Natural are important.

As a general rule, monitor your servers from System Management Hub when under load, watching particularly for the “pending conversations” values - if this is 1 or 0, you don’t need more servers. If the number starts to climb, you may need more servers. Putting in too many servers can be counter-productive - if they aren’t busy, they’re just swapped out and burning cycles at each timeout. (In one extreme, a customer had 150 servers on a single CPU machine. Trimming the servers back to 15 improved overall throughput substantially.)