Defining remote resources for function shipping

The remote resources that you may have to define if you are using CICS® function shipping are:

Defining remote files

A remote file is a file that resides on another CICS system. CICS file control requests that are made against a remote file are shipped to the remote system by means of CICS function shipping.

Applications can be designed to access files without being aware of their location. To support this facility, the remote file must be defined (with the REMOTESYSTEM option) in the local system.

Alternatively, CICS application programs can name a remote system explicitly on file control requests, by means of the SYSID option. If this is done, there is no need for the remote file to be defined on the local CICS system.

A remote file is defined using RDO. The definitions shown below provide CICS with sufficient information to enable it to ship file control requests to a specified remote system.

Figure 53. Defining a remote file (function shipping)
Resource definition online   
DEFINE                       
   FILE(name)                    
   GROUP(.....)
   DESCRIPTION(......)
 Remote Attributes
   REMOTESYSTEM(name)                
   REMOTENAME(name)                 
   RECORDSIZE(record-size)       
   KEYLENGTH(key-length)            

Although MRO is supported for both user-maintained and CICS-maintained remote data tables, CICS does not allow you to define a local data table based on a remote source data set. However, there are ways around this restriction. (See File control.)

The name of the remote system

The name of the remote system to which file control requests for this file are to be shipped is specified in the REMOTESYSTEM option. If the name specified is that of the local system, the request is not shipped.

File names

The name by which the file is known on the local CICS system is specified in the FILE option. This is the name that is used in file control requests by application programs in the local system.

The name by which the file is known on the remote CICS system is specified in the REMOTENAME option. This is the name that is used in file control requests that are shipped by CICS to the remote system.

If the name of the file is to be the same on both the local and the remote systems, the REMOTENAME option need not be specified.

Record lengths

The record length of a remote file can be specified in the RECORDSIZE option.

If your installation uses the C language, you should specify the record length for any file that has fixed-length records.

In all other cases, the record length either is a mandatory option on file control commands or can be deduced by the command-language translator.

Sharing file definitions

In some circumstances, two or more CICS systems can share a common CICS system definition (CSD) file. (For information about sharing a CSD, see the CICS System Definition Guide.) If the local and remote systems share a CSD, you need define each VSAM file used in function shipping only once.

A file must be fully defined by means of DEFINE FILE, just like a local file definition. In addition, the REMOTESYSTEM option must specify the sysidnt of the file-owning region. When such a file is installed on the file-owning region, a full, local, file definition is built. On any other system, a remote file definition is built.

Defining remote DL/I PSBs

To enable the local CICS system to access remote DL/I databases, you must define the remote PSBs in a PDIR. The form of macro used for this purpose is:

Figure 54. Macro for defining remote DL/I PSBs
DFHDLPSB TYPE=ENTRY
         ,PSB=psbname
         ,SYSIDNT=name
         ,MXSSASZ=value
         [,RMTNAME=name]

This entry refers to a PSB that is known to IMS/ESA® DM on the system identified by the SYSIDNT option.

The SYSIDNT and MXSSASZ operands are mandatory, because the PDIR contains only remote entries.

Defining remote transient data destinations

A remote transient data destination is one that resides on another CICS system. CICS transient data requests that are made against a remote destination are shipped to the remote system by CICS function shipping.

CICS application programs can name a remote system explicitly on transient data requests, by using the SYSID option. If this is done, there is no need for the remote transient data destination to be defined on the local CICS system.

More generally, however, applications are designed to access transient data destinations without being aware of their location, and in this case the transient data queue must be defined as a remote destination.

A remote definition provides CICS with sufficient information to enable it to ship transient data requests to the specified remote system. Remote definitions are created as shown in Figure 55.

Figure 55. Sample definitions for remote transient data queues
 
Definition using CEDA         
DEFINE                       
   TDQUEUE(name)             
   GROUP(groupname)
   DESCRIPTION(text)
 Remote Attributes
   REMOTESYSTEM(sysidnt)      
   REMOTENAME(name)              
   REMOTELENGTH(length)        

Defining remote temporary storage queues

A remote temporary storage queue is one that resides on another CICS system. CICS temporary storage requests that are made against a remote queue are shipped to the remote system by CICS function shipping.

CICS application programs can name a remote system explicitly on temporary storage requests, by using the SYSID option. If this is done, there is no need for the remote temporary storage queue to be defined on the local CICS system.

More generally, however, applications are designed to access temporary storage queues without being aware of their location. Whether or not the SYSID option has been coded on the temporary storage request, you could use an XTSEREQ global user exit program to direct the request to a system on which the appropriate queue is defined. If you use this method, there is again no need for the remote temporary storage queue to be defined on the local system. For programming information about the XTSEREQ and XTSEREQC global user exits, see the CICS Customization Guide.

If the temporary storage request does not explicitly name the remote system, and you are not using an XTSEREQ exit, then the remote destination must be defined in the local temporary storage table.

A remote entry in the temporary storage table provides CICS with sufficient information to enable it to ship temporary storage requests to a specified remote system. It is defined by a DFHTST TYPE=REMOTE resource definition macro. The format of this macro is shown in Figure 56.

Figure 56. Macro for defining remote temporary storage queues
DFHTST   TYPE=REMOTE
         ,SYSIDNT=name
         ,DATAID=character-string
         [,RMTNAME=character-string]

Related concepts
Which remote resources need to be defined?
Local and remote names for resources
Overview of function shipping
Related tasks
Application programming for CICS function shipping
Defining remote resources for DPL
Defining remote resources for asynchronous processing
Defining remote resources for transaction routing
Defining remote resources for DTP
Defining local resources
[[ Contents Previous Page | Next Page Index ]]