Defining communication profiles

When a transaction acquires a non-IPIC session to another system, either explicitly with an ALLOCATE command or implicitly because it uses, for example, non-IPIC function shipping, a communication profile is associated with the communication between the transaction and the session.

The communication profile specifies the following information:
  • Whether function management headers (FMHs) received from the session are to be passed on to the transaction.
  • Whether input and output messages are to be journaled, and if so the location of the journal.
  • The node error program (NEP) class for errors on the session.
  • For APPC sessions, the modename of the group of sessions from which the session is to be allocated. If the profile does not contain a modename, CICS® selects a session from any available group.

CICS provides a set of default profiles, which it uses for various forms of communication. Also, you can define your own profiles, and name a profile explicitly on an ALLOCATE command.

A profile is always required for a session acquired by an ALLOCATE command; either a profile that you have defined and which is named explicitly on the command, or the default profile DFHCICSA. If CICS cannot find the profile, the CBIDERR condition is raised in the application program. Profiles are only required for non-IPIC communication.

For IPIC communication RTIMOUT defines the limit for how long a task will wait for a response message once it has successfully transmitted a request message. It is defined in the PROFILE associated with the TRANSACTION resource definition that a task is using, see PROFILE resources. DTIMOUT is taken from the TRANSACTION resource definition, see TRANSACTION resources. DTIMOUT controls how long a task is suspended for while it is enqueued waiting for use of the buffer that the TCP/IP stack provides to allow tasks to send message into the network on a particular socket. It also sets a time limit on how long a task will wait in the session allocation queue. Each IPCONN has a pool of sessions which get allocated to new tasks that want to send messages over the connection. Once a task is allocated a session then it is held until the task terminates, or issues a syncpoint. The session allocation queue is there to allow new tasks to wait when there are no free sessions. DTIMOUT for IPIC will trigger if a task is in a SOCKET wait or ENQUEUE state waiting for a socket, where as RTIMOUT will trigger when the task has transmitted data to the network.

The following attributes of a PROFILE resource are relevant to intersystem sessions:
PROFILE(name)
MODENAME(name)
This attribute is optional
INBFMH(NO|ALL)
This attribute is optional.

For MRO sessions that are acquired by an ALLOCATE command, CICS always uses INBFMH(ALL), no matter what is specified in the profile.

For APPC conversations, this attribute is ignored; APPC FMHs are never passed to CICS application programs.

JOURNAL(NO|value)
This attribute is optional
MSGJRNL(NO|INPUT|OUTPUT|INOUT)
This attribute is optional
NEPCLASS(0|value)
This attribute is optional
RTIMOUT(NO|value)
This attribute is optional.
It is usually important to ensure that an intercommunicating transaction never waits indefinitely for data from its partner transaction. The RTIMOUT attribute should be given a value suitable for intersystem working: rather less than the timeout periods typically specified for terminals used as operator interfaces. The RTIMOUT value should also be greater than the DTIMOUT value specified on the partner transaction definition.