An interface object is a Natural subprogram that is used to connect the client's calling program to a subprogram on a server.
Interface objects are actually not required if automatic Natural RPC (Remote Procedure Call) execution is used with the one important exception described below. However, it can be advantageous to generate interface objects as explained in Interface Objects and Automatic RPC Execution in the section Operating a Natural RPC Environment in the Natural RPC (Remote Procedure Call) documentation.
Note for EntireX RPC Servers:
It is recommended to generate an interface object if you want to call an EntireX RPC server. In this case, you have to use the appropriate SYSRPC Interface Object Generation function described in this section to define the same group structure and attributes (parameter direction) as in the IDL (Interface Definition Language) definition of the subprogram. If the IDL does not contain group structures, it is recommended to use the direct command
before generating the interface object. For details, refer to
Special Considerations for Calling EntireX RPC
Note for Reliable RPC:
It is recommended to generate an interface object if you want to use reliable RPC. If the parameter definitions do not contain group structures, you have to set
COMPAT IDL before generating the
interface object. (For details refer to
Considerations for Reliable RPC).
You can generate an interface object from new parameter definitions or from existing definitions in a subprogram or a parameter data area (PDA).
The subprogram or PDA used for generating an interface object can no longer be referenced in the local environment on the client side. The function Interface Object Generation completely changes the source of the subprogram so that it becomes unusable for local program calls.
The following sections describe the functions and commands provided to generate single or multiple interface objects: