Remote Procedure Call (RPC) Transaction

The APPC in your product incorporates the system RPC transaction that allows any NCL procedure to be executed from the context of the calling procedure through the &APPC RPC request. For example:

&APPC RPC PROC=proc LINK=link23 PARMS=(A,B,C)

The system TCT entry for the RPC transaction is used to complete the conversation setup options, including the transaction security requirements.

Many procedures that are designed to be called from another procedure through the usual EXEC command can operate successfully in this manner using APPC. However, the only context that can be transferred between the calling procedure and the remote procedure, is in the form of NCL variables and MDO data. All other resources in the calling environment (such as files, internal read queues, and so on) remain the strict domain of the calling procedure. The called procedure need not be aware that it was started by using APPC, has no access to the APPC conversation that established the call path, and has no requirement to use any APPC facilities.

The target procedure is started as an independent process in the same or any connected product APPC system, with the context passed. The calling procedure is suspended until the remote procedure completes its execution and terminates. However, the called procedure need not be aware that it was invoked via a remote procedure call.

When the remote procedure terminates, control is returned to the calling procedure with an indication of the success or failure of the request. Shared NCL variable information can be passed back on return. If the called procedure terminates abnormally, or APPC communication is lost to a remote system, the appropriate error information is returned.

The new process can be created in any of the environments allowed for a remote process start.


Copyright © 2010 CA. All rights reserved.