Attributes for indirect CONNECTION
Describes the syntax and attributes of CONNECTION resource definitions for indirect connections.
An indirect connection (also known as an indirect link or an indirect system) is a remote system for which you have not defined a direct link with the local system. Instead, the two systems communicate with each other by way of one or more intermediate systems. You can use this method for transaction routing. The remote system, indirectly connected, is always the terminal-owning region; the local system is always the application-owning region or an intermediate region on the transaction routing path.
Indirect connections are required only if you use non-z/OS® Communications Server terminals for transaction routing across intermediate systems. Optionally, you can use them with z/OS Communications Server terminals, where several transaction routing paths are possible, to identify the preferred path to the terminal-owning region. For information about why you might want to define indirect connections, and about the resources required for transaction routing, see Defining indirect links for transaction routing.
In the local system, you must have ordinary CONNECTION and SESSIONS definitions for the intermediate systems to which you are directly connected. The ACCESSMETHOD should be IRC or XM with PROTOCOL(LU61) or VTAM with PROTOCOL(APPC). For details, see Attributes for LUTYPE6.1 CONNECTION or Attributes for APPC CONNECTION.
- The intermediate system: CONNECTION(B) NETNAME(B) ACCESSMETHOD(IRC) ...
- The INDIRECT link CONNECTION(C) NETNAME(C) ACCESSMETHOD(INDIRECT) INDSYS(B) ...
| Attribute | On CONNECTION resource definition | On SESSIONS resource definition |
|---|---|---|
| ACCESSMETHOD | INDIRECT | n/a - SESSIONS resource definition is not required. |
| INDSYS | Specify the CONNECTION resource definition for the MRO or APPC link that is the start of a path to the terminal-owning system. | n/a - SESSIONS resource definition is not required. |
| NETNAME | Specify the APPLID of the terminal-owning system. | n/a - SESSIONS resource definition is not required. |
Syntax of indirection CONNECTION
Attributes of indirect CONNECTION
- ACCESSMETHOD(INDIRECT)
- Specifies the access method to be used for this connection.
- INDIRECT
- Communication between the local CICS® system and the system defined by this connection definition is through the system named in the INDSYS attribute.
- AUTOCONNECT({NO|ALL|YES})
- Specifies how sessions are to be established (that is, BIND is to be performed).
- ALL
- On the CONNECTION resource definition, ALL is equivalent to YES, but you can specify ALL to be consistent with the
session resource definition.
Do not specify AUTOCONNECT(ALL) connections to other CICS systems because this can cause a bind-race.
- NO
- CICS does not attempt to bind sessions when the connection is established.
- YES
- CICS attempts to bind only contention-winning sessions when the connection is established.
- CONNECTION(name)
- Specifies the name of this CONNECTION resource definition. The name can be up to four characters
in length. Acceptable characters:
A-Z 0-9 $ @ #
Valid characters are listed as they render when the code page is IBM®-037. If a different EBCDIC code page is used, be aware of variant characters, as documented in Variant characters.
Unless you are using the CREATE command, any lowercase characters that you enter are converted to uppercase.
This is the name specified as REMOTESYSTEM on FILE, TERMINAL, TRANSACTION, and PROGRAM resource definitions. You should not have a TERMINAL resource definition and a CONNECTION resource definition with the same name.
- DATASTREAM({USER|3270|LMS|SCS|STRFIELD|})
- Specifies the type of data stream.
- 3270
- The data stream is a 3270 data stream as defined in the type 6.1 logical unit (LUTYPE6.1) architecture.
- LMS
- The data stream is a Logical Message Services (LMS) data stream consisting of FMH4s and FMH8s as defined in the LUTYPE6.1 architecture.
- SCS
- The data stream is an SCS data stream as defined in the LUTYPE6.1 architecture.
- STRFIELD
- The data stream is a structured field data stream as defined in the LUTYPE6.1 architecture.
- USER
- Let DATASTREAM default to USER if the data stream is user-defined. If you are communicating between multiple CICS systems, always let DATASTREAM default to USER.
- DESCRIPTION(text)
- You can provide a description of the resource that you are defining in this field. The description text can be up to 58 characters in length. There are no restrictions on the characters that you can use. However, if you use parentheses, ensure that for each left parenthesis there is a matching right parenthesis. If you use the CREATE command, for each single apostrophe in the text, code two apostrophes.
- GROUP(groupname)
- Every resource definition must have a GROUP name. The resource definition becomes a member of
the group and is installed in the CICS system when the group
is installed.Acceptable characters:
A-Z 0-9 $ @ #
Valid characters are listed as they render when the code page is IBM-037. If a different EBCDIC code page is used, be aware of variant characters, as documented in Variant characters.
Any lowercase characters that you enter are converted to uppercase.
The GROUP name can be up to eight characters in length. Lowercase characters are treated as uppercase characters.
- INDSYS(connection)
- Specifies the name of another CONNECTION resource definition that defines an intermediate system used to relay communications between this system and the remote system. The name can be up to four characters in length.
- INSERVICE({YES|NO})
- Specifies the status of the connection that is being defined.
- NO
- The connection cannot receive messages or transmit input.
- YES
- Transactions can be initiated and messages can be sent automatically across the connection.
- MAXQTIME({NO|seconds})
- Specifies a time control on the wait time for queued allocate requests waiting for free sessions
on a connection that appears to be unresponsive. The maximum queue time is used only if a queue
limit is specified for QUEUELIMIT, and then the time limit is applied only when the queue length has
reached the queue limit value.
- NO
- CICS maintains the queue of allocate requests that are waiting for a free session. No time limit is set for the length of time that requests can remain queued (though the DTIMOUT (deadlock timeout) mechanisms can apply to individual requests). In this case, a value of X'FFFF' is passed on the XZIQUE parameter list (in field UEPEMXQT).
- seconds
- The approximate maximum limit on the time that allocate requests can be queued for a connection
that appears to be unresponsive. The number represents seconds in the range 0 through 9999.
CICS uses the maximum queue time attribute to control a queue of allocate requests waiting. When the number of queued allocate requests reaches the queue limit (QUEUELIMIT), and a new allocate request is received for the connection, if the rate of processing for the queue indicates that, on average, the new allocate takes more than the maximum queue time, the queue is purged, and message DFHZC2300 is issued. When the queue is purged, queued allocate requests return SYSIDERR.
No further queuing takes place until the connection has successfully freed a session. At this point, CICS issues DFHZC2301 and resumes normal queuing.
You can also control the queuing of allocate requests through an XZIQUE global user exit program. This allows you to use statistics provided by CICS, which report the state of the link. You can use these statistics, in combination with the queue limit and maximum queue time values you specify, to make more specialized decisions about queues.
The MAXQTIME value is passed to an XZIQUE global user exit program on the XZIQUE parameter list, if the exit is enabled. See XZIQUE exit for managing MRO and APPC intersystem queues.
You can also specify the NOQUEUE|NOSUSPEND option on the ALLOCATE command to prevent an explicit request being queued. See ALLOCATE (APPC).
- QUEUELIMIT({NO|number})
- Specifies the maximum number of allocate requests that CICS is to queue while waiting for free sessions:
- NO
- There is no limit set to the number of allocate requests that CICS can queue while waiting for a free session. In this case, a value of X'FFFF' is passed on the XZIQUE parameter list (in field UEPQUELM).
- number
- The maximum number of allocate requests, in the range 0 through 9999, that CICS can queue on the connection while waiting for a free session. When the
number of queued allocate requests reaches this limit, subsequent allocate requests return SYSIDERR
until the queue drops below the limit.
This queue limit is passed to an XZIQUE global user exit program on the XZIQUE parameter list if the exit is enabled.
You can also control the queuing of allocate requests through the MAXQTIME attribute and through an XZIQUE global user exit program.
Note: BIND re-negotiation is not triggered, even if there are unused secondary sessions. Unless the CEMT SET MODE command is used to force re-negotiation, the queue limit will come into play as soon as all the primary sessions are in use. - RECORDFORMAT({U|VB})
- Specifies the type of SNA chain.
- U
- Let RECORDFORMAT default to U if the SNA chain is a single, unblocked stream of data. You can have private block algorithms within the SNA chain. Let RECORDFORMAT default to U if you are communicating between multiple CICS systems.
- VB
- The SNA chain is formatted according to the VLVB standard as defined in the LUTYPE6.1 architecture.
- XLNACTION({KEEP|FORCE})
- XLNACTION specifies the action to be taken when a new logname
is received from the partner system. Receipt of a new logname indicates
that the partner has deleted its recovery information.
- FORCE
- The predefined decisions for indoubt UOWs (as defined by the indoubt
attributes of the transaction definition) are implemented, before
any new work with the new logname is started. CICS also deletes any information retained for
possible resolution of UOWs that were indoubt at the partner system.
Attention: Data integrity might be compromised if you use this option.
- KEEP
- Recovery information is kept, and no action is taken for indoubt units of work.
