PL/I Wrapper Reference

This document covers the following topics:


The RPC Communication Area (Reference)

This section provides the programmer with reference material on the RPC Communication Area. The RPC communication area is used to specify parameters which are needed to communicate with the broker and are not specific to interface objects. These are, for example, the broker ID, client parameters such as user ID, password and the server address such as class/servername/service etc.

The RPC communication area is provided in include file RPCCOM.

RPC Communication Area Field Explanation Req.
Opt.
Auto
In Out Notes
COM_EYECATCHER Internal use only - not for customer use. - - 1
COM_VERSION Version of RPC Communication Area. Req. I 2
COM_SIZE Size of RPC Communication Area. Req. I 2
COM_FUNCTION LO - Logon to broker. Opt I 3
LF - Logoff from broker. Opt I 3
OC - Open Conversation. Opt I 4
CB - Close Conversation. Opt I 4
CE - Close Conversation and Commit. Opt I 4
COM_ERROR Error code and error text returned by PL/I Wrapper. - O 5
COM_BROKER_ID Broker ID used. Corresponds to the BROKER-ID field of the control block. Req. I 6
COM_SERVER_CLASS Class Name of the RPC server. Use "RPC" for Natural RPC Server. Corresponds to the SERVER-CLASS field of the ACI control block. Req. I 6
COM_SERVER_NAME Server Name of the RPC server. Corresponds to the SERVER-NAME field of the ACI control block. Req. I 6
COM_SERVER_SERVICE Service Name of the RPC server. Use "CALLNAT" for Natural RPC Server. Corresponds to the SERVICE field of the ACI control block. Req. I 6
COM_SERVER_LIBRARY Library sent to the RPC server. The library specified here overrides any library information specified in the IDL file, see library-definition. Opt I 4,7
COM_SERVER_CONVID Conversation ID if in an RPC Conversation. Corresponds to the CONV-ID field of the ACI control block. Auto - 4
COM_SERVER_WAIT Gives the time-out value for the transport system in seconds. Corresponds to the WAIT field of the ACI control block. Opt I 7
COM_CLIENT_USERID The user ID for access to the broker. For more information see Using the Broker and RPC User ID/Password. Req. I 3,6
COM_CLIENT_TOKEN Token used by the broker to identify the caller. Corresponds to the TOKEN field of the ACI control block. Opt I 3,7
COM_CLIENT_PASSWORD The password for secured access to the broker. For more information see Using the Broker and RPC User ID/Password. Opt I 3,7
COM_CLIENT_SECTOKEN Broker security token. Received also from broker and assigned to this field for further use. Corresponds to the SECURITY-TOKEN field of the control block. Auto I 8
COM_CLIENT_RPCUSERID The RPC user ID sent to the RPC server. For more information see Using the Broker and RPC User ID/Password. Opt I 7,9
COM_CLIENT_RPCPASSWORD The RPC password sent to the RPC server. For more information see Using the Broker and RPC User ID/Password. Opt I 7,9
COM_CLIENT_CODEPAGE In this field you can assign a codepage for character conversion. For more information see Using Internationalization with the PL/I Wrapper. Opt I 10
COM_CLIENT_BROKERLOGON Internal use only - not for customer use. - - 1
COM_CLIENT_NATSECURITY Flag signaling that RPC user ID and RPC password have to be sent to the RPC server. For more information see Using the Broker and RPC User ID/Password. Opt I 7,9
COM_DATA_FILLED Internal use only - not for customer use. - - 1
COM_DATA_MAXLEN Internal use only - not for customer use. - - 1
COM_DATA_NCHUNK Number of chunks allocated as a minimum, used by memory allocation. Opt I 7,11
COM_DATA_SCHUNK Size of a chunk, used by memory allocation. Opt I 7,11
COM_TRACE_LEVEL Internal use only - not for customer use. - - 1
COM_TRACE_FCTLVL Internal use only - not for customer use. - - 1
COM_TRACE_INDENT Internal use only - not for customer use. - - 1
COM_DATA Internal use only - not for customer use. - - 1

RPC Communication Area field

Name of the field in the RPC communication area.

Explanation

Explanation of the purpose of the field.

Req. Opt. Auto

Indicates for input fields whether they have to be given by the RPC application (required) or may be given (optional). Fields marked with Auto are managed internally by the interface objects and the generic RPC services module themselves.

In Out

Indicates whether the field is an input field (to be given by the RPC application), or an output field (returned to your RPC application).

Notes:

  1. Used internally by PL/I Wrapper. The field must not be modified by your application program - otherwise unexpected behavior may occur.
  2. For more information, see Step 1d: Declare and Initialize the RPC Communication Area.
  3. For more information, see Using Broker Logon and Logoff.
  4. RPC conversations are supported if communicating with an RPC server. They are not supported if communicating with XI Adapters. For more information, see Conversational RPC.
  5. For more information, see Step 7: Examine the Error Code under Writing an RPC Client Application with the PL/I Wrapper.
  6. For more information, see Step 4: Required Settings in the RPC Communication Area under Writing an RPC Client Application with the PL/I Wrapper.
  7. For more information, Step 6: Issue the RPC Request under Writing an RPC Client Application with the PL/I Wrapper.
  8. If EntireX Security is used, the field must not be modified by your application program - otherwise unexpected behavior may occur.
  9. Natural Security is only relevant when communication with Natural RPC Server. For more information, see Using the Broker and RPC User ID/Password.
  10. For more information, see Using Internationalization with the PL/I Wrapper.
  11. Send and Receive buffers for the broker are allocated in blocks, whereby the required number of blocks is determined by the interface object automatically. The default size of a block (4096 byte) can be altered with the field COM_DATA_SCHUNK whereby the needed number is adjusted automatically by the interface object then. With the field COM_DATA_NCHUNK a minimum number of blocks allocated is defined, which is used if the calculation by the interface object gives a lower number than the minimum. The default minimum number (4 blocks) can be altered with the field COM_DATA_NCHUNK. Normally it is not required to alter COM_DATA_SCHUNK and COM_DATA_NCHUNK fields.
  12. For future use.

PL/I Wrapper Modules Delivered as Sources on z/OS

Among the generated PL/I sources and include files, the following PL/I modules are delivered . Some of them are PL/I sources, some of them are PL/I include files.

Module Data Set Description Notes
PLIDEF EXP103.INCL Broker ACI control block for PL/I, referenced by the Generic RPC Services Modules 1,5
RPCAPI EXP103.INCL Generic RPC services interfaces 4
RPCCOM EXP103.INCL RPC communication area 3
RPCDEF EXP103.INCL Used internally by stubs and other parts 1
RPCPPD EXP103.INCL Preprocessor definitions 1
RPCSRVI EXP103.INCL Generic RPC services used internally 1,5
RPCSRVS EXP103.INCL Specific RPC functions used internally 1,6
RPCSRVSB EXP103.INCL Specific RPC functions used internally 1
PLISRVIB EXP103.SRCE Batch generic RPC services 1,2,5
PLISRVIC EXP103.SRCE CICS generic RPC services 1,2,5
PLISRVS EXP103.SRCE Specific RPC functions 1,2,6
PLISRVT EXP103.SRCE Trace functions module 1,2,7

Module

Name of the delivered module.

Data Set

EXP103.QIPL - CICS RPC example include data set for PL/I.

The CICS RPC example include data set for PL/I may be delivered as a patch with a different name, EXP103.QInn, where nn is the patch level number. Make sure you install the highest patch level available.

EXP103.PIPL - Batch RPC example include data set for PL/I.

The Batch RPC example include data set for PL/I may be delivered as a patch with a different name, EXP103.PInn, where nn is the patch level number. Make sure you install the highest patch level available.

EXP103.INCL - Generic RPC include data set.

The Generic RPC include data set may be delivered as a patch with a different name, EXP103.INnn, where nn is the patch level number. Make sure you install the highest patch level available.

EXP103.SRCE - Generic RPC source data set.

The Generic RPC source data set may be delivered as a patch with a different name, EXP103.S0nn, where nn is the patch level number. Make sure you install the highest patch level available.

Description

Purpose of the module.

Notes:

  1. This file is not for direct customer usage. Do not modify it.
  2. The prefix of the linkage name can be customized, see PL/I Preprocessor Settings.
  3. For more information, see The RPC Communication Area (Reference).
  4. For more information, see Step 1c: Declare API Constants to PL/I Wrapper.
  5. For a short description, see Using the Generic RPC Services Module.
  6. The specific RPC functions module contains the logic to build the RPC request stream and interpret the reply from the RPC server. It does not contain the call to the broker stub.
  7. The trace module contains functions and procedures to build a trace version of the PL/I Wrapper, see Using Trace.