Special File Command Tags

[RPC]

Remote Process Control

Formats

1. Call Remote Subprogram:

CALL "[RPC:server]subprog[;entry]"[,ERR=stmtref][,arglist]

2. Open Remote File:

OPEN (chan[,fileopt])"[RPC:server]filename"

Where:

[RPC:server]

RPC clause that initiates the remote CALL.server is the logical server name.

chan

Channel or logical file number to open.

;entry

(Optional) Entry point label. If you include a label, precede it with a ; (semi-colon) and append it to your subprogram name.

filename

Name of the file to open prefixed by [RPC:server]. Use a string literal as in: OPEN (14)"[RPC:server]my_file".

fileopt

File options. Supported options include:

BSZ=num

Block size

ERR=stmtref 

Error transfer

IOL=iolref

Default IOList

ISZ=num

Open file in binary mode

NBF=num

Dedicated number of buffers

OPT=char$

File open options

REC=string$

Record prefix (REC=VIS(string$) can also be used)

arglist

(Optional) One or more arguments (comma-separated if you include a list arg,arg...) to pass to the subprogram.

server

Name to be associated with a program server. Established using the PROCESS SERVER directive.

stmtref

Program line number or statement label to which to transfer control.

Description

The [RPC] tag is used as a prefix to denote that PxPlus is to CALL a subprogram or open a file that resides on a remote server. Before a remote process control can be initiated, the server must be identified and the server name established via the PROCESS SERVER directive.

Note:
This feature requires PxPlus RPC activation.

Format 1

Call Remote Subprogram

CALL "[RPC:server]subprog[;entry]"[,ERR=stmtref][,arglist],varlist

The RPC CALL format tells PxPlus that your subprogram is to run (and that your data resides) on a different processor on the network; i.e. on a remote server. Use the same syntax as you would for a standard CALL directive, except that a [RPC:server] clause designates a remote server to handle the CALL. Since no data is transferred during RPC CALL processing, this helps maximize both network performance and data security.

Transparent RPC Process

At run time, PxPlus does not transfer data files or programs across the network for your RPC CALL. Instead, PxPlus puts your called remote subprogram name and parameters into a TCP/IP data packet and sends the packet to your remote server. The remote server loads and runs your subprogram, passing it your parameters. When your subprogram exits, the remote server puts your parameters (as altered by your subprogram) into a TCP/IP response packet and sends this back to the calling program.

Note:
Since PxPlus RPC processing is true distributed processing handled as a transparent background process, any displays during subprogram processing will appear on the remote server. Do not attempt to display subprogram activity on the calling machine.

Format 2

Open Remote File

OPEN (chan[,fileopt])"[RPC:server]filename"

PxPlus supports the OPEN directive for remote files. Prefix your filename with the [RPC:server] clause to indicate that the server is to handle file requests.

See Also

PROCESS SERVER Establish Remote Server
OPEN Open a File for Processing