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 COMPAT
IDL
before generating the interface object. For details, refer
to Special Considerations for Calling EntireX RPC
Servers.
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 Special 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).
Caution:
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: