Generating Multiple Interface Objects

#### Search Results

Search

# 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.

This section contains information on:

- Using the SYSRPC SGMASS Direct Command

- Name Specification and Compression

## 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:

- Syntax of SYSRPC SGMASS

- SYSRPC SGMASS Report

### Syntax of SYSRPC SGMASS

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.

### SYSRPC SGMASS Report

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
    MORE

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) to be selected for interface object generation and the type of compression to be used:

- Name

- Compression

### Name

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

| Warning: If you do not specify an object name or a range of names, with few exceptions (see below), all subprograms 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. This is the default setting.
value | A subprogram with a name equal to value.
value* | All subprograms with names that start with value.
value< | All subprograms with names less than or equal to value.
value> | All subprograms 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.

### Compression

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.

### On this page

- Using the SYSRPC SGMASS Direct Command
- Name Specification and Compression