Generating Multiple Interface Objects

You can generate single or multiple interface objects in either online or batch mode by using the function the direct command SYSRPC SGMASS.

You generate interface object from subprograms or parameter data areas (PDAs).

This section contains information on:

Using the SYSRPC SGMASS Direct Command

You can enter the SYSRPC SGMASS direct command at any Natural command prompt for generating interface objects online.

The section below contains information on:


The syntax that applies to the SYSRPC SGMASS direct command is illustrated in the diagram below:

SYSRPC SGMASS [name] [compression]

The syntactical items name and compression are explained in the section Name Specification and Compression.


The SYSRPC SGMASS direct command produces a report that lists the interface objects generated with the command as shown in the following example:

Page       1                                               2018-01-17 11:58:33

    SYSRPC - Interface Object Generation in Library SAGTEST

Generation Criteria:

    Object name or range: RPC*
             Compression: 1

Generation Results (sizes in bytes):

 Number of objects found:       8
     Maximum send length:  200228
  Maximum receive length: 1024192

Object     Type      Send Length   Receive Length   Message
--------   ----   --------------   --------------   --------------
RPCCALL1   N                 209              202
RPCCALL2   N                 219              240   Compression=2
RPCCALL3   N                 204              193

The report is organized in three sections, which contain the following information:

  • Generation Criteria:
    The criteria based on which the interface object(s) were generated: a single object name or a range of names (here: RPC*) and the compression (here: 1).

  • Generation Results (sizes in bytes):
    The number of objects selected for the interface object generation.

    The maximum buffer sizes all generated interface objects require for sending and receiving data from the client.

  • Object List:
    The name and type (here: N for type subprogram) of each generated interface object. The buffer sizes each object requires for sending (Send Length) and receiving (Receive Length) data from the client. A possible comment on each generation of an interface object in the Message column. In the example above, Compression=2 indicates that object RPCCALL2 was not generated with Compression 1 as requested in the command. The object list is sorted in alphabetical order of object names.

If the MORE prompt appears, choose ENTER to scroll to the end of the report.

If the interface object generation fails for single or multiple objects, the report shows the number of objects affected and appropriate error messages.

Name Specification and Compression

You can specify the objects (subprograms or PDAs) to be selected for interface object generation and the type of compression to be used:


You can specify an object name or a range of names. The specification of an object name or a range of names is optional.

If you do not specify an object name or a range of names, with few exceptions (see below), all subprograms or PDAs in the current library will be converted to interface objects.

Valid name specifications are described below where value is any combination of one or more alphanumeric characters:

Input Objects Selected

All subprograms or PDAs.

This is the default setting.

value A subprogram or a PDA with a name equal to value.

All subprograms or PDAs with names that start with value.

value< All subprograms or PDAs with names less than or equal to value.
value> All subprograms or PDAs with names greater than or equal to value.

Exceptions to Names

In the Natural system library SYSRPC, SYSRPC SGMASS exempts from interface object generation all subprograms with names that start with any of the following prefixes: RDS, RPC, NAT, NAD or NSC.

In user libraries, SYSRPC SGMASS exempts from interface object generation the subprogram NATCLTGS.


You can specify any of the following compression types: 0, 1, 2. The specification of compression is optional. The default type used for interface object generation is 1.

See also Using Compression described in Operating a Natural RPC Environment in the Natural RPC (Remote Procedure Call) documentation.