Pool thread attributes

Describes the attributes of the DB2CONN resource that relate to the pool thread.

ACCOUNTREC({NONE|TASK|TXID|UOW})
Specifies the minimum amount of DB2 accounting required for transactions that use pool threads. The specified minimum might be exceeded, as described in the following options.
NONE
No accounting records are required for transactions that use pool threads.

DB2 produces at least one accounting record for each thread when the thread is ended. Authorization changes additionally cause accounting records to be produced.

TASK
The CICS DB2 attachment facility causes a minimum of one accounting record for each CICS task to be produced.

A transaction that contains multiple units of work (UOWs), and in which the threads are released at sync point, can use a different thread for each of its UOWs. As a result, an accounting record might be produced for each UOW.

TXID
The CICS DB2 attachment facility causes an accounting record to be produced when the transid that uses the thread changes.

Because pool threads are typically used by a number of different transaction IDs, there is an increased chance that a transaction containing multiple UOWs, and in which the threads are released at sync point, will use a different thread for each UOW. In this case, an accounting record might be produced for each UOW.

UOW
The CICS DB2 attachment facility causes an accounting record to be produced for each UOW, assuming that the thread is released at the end of the UOW.
AUTHID(userid)
Specifies the user ID that is used for security checking when using pool threads.

Do not specify AUTHID if you are using RACF® for some or all of the security checking in your DB2 address space; use AUTHTYPE instead, with the GROUP, SIGN, or USERID options. You must use AUTHTYPE because threads that use an AUTHID do not pass the required RACF access control environment element (ACEE) to DB2.

The ID that you specify can be up to 8 characters in length.
Acceptable characters:
A-Z 0-9 $ @ #
Unless you are using the CREATE command, any lowercase characters that you enter are converted to uppercase.
AUTHTYPE({USERID|OPID|GROUP|SIGN|TERM|TX})
Specifies the type of ID that can be used for threads on this DB2CONN.

If you are using RACF for some or all of the security checking in your DB2 address space, use the GROUP, SIGN, or USERID options. You must use one of these options because only threads defined with these options pass the required RACF access control environment element (ACEE) to DB2. However, if you specify the SIGN option, the ACEE is passed to DB2 only if the value specified for the SIGNID attribute on the DB2CONN definition matches the CICS region user ID.

The ACEE is not required if you are using DB2 internal security only; so, in this case, you can use any of the options.

USERID
The user ID associated with the CICS transaction is used as the authorization ID. If the user ID is less than 8 characters in length, it is padded on the right with blanks.
Important: Do not specify AUTHTYPE(USERID) when you use the DB2 sample sign-on exit DSN@SGN, because it might result in an SQL -922 failure. Specify COMMAUTHTYPE(GROUP) instead.
OPID
The operator identification that is associated with the user ID that is associated with the CICS transaction is used as the authorization ID. The 3-character operator identification is padded on the right with blanks to form the 8-character authorization ID.
GROUP
Specifies the user ID and the connected group name as the authorization ID. The following table shows how these two values are interpreted by DB2.
IDs passed to DB2 How DB2 interprets values
CICS sign-on user ID (USERID) Represents the primary DB2 authorization ID.
RACF connected group name If the RACF list of group options is not active, DB2 uses the connected group name supplied by the CICS attachment facility as the secondary DB2 authorization ID. If the RACF list of group options is active, DB2 ignores the connected group name supplied by the CICS attachment facility, but the value appears in the DB2 list of secondary DB2 authorization IDs.

To use the GROUP option, you must specify SEC=YES in the system initialization parameters for the region.

If no RACF group ID is available for this USERID, an 8-character field of blanks is passed to DB2 as the group ID.

SIGN
Specifies that the SIGNID attribute of the DB2 connection definition is to be used as the resource authorization ID.
TERM
Specifies the terminal identification as an authorization ID. The 4-character terminal identification is padded on the right with blanks to form the 8-character authorization ID.

If the transaction is not associated with a terminal (for example, if it is initiated with a START command), do not specify AUTHTYPE(TERM).

TX
Specifies the transaction identification as the authorization ID. The 4-character transaction identification is padded on the right with blanks to form the 8-character authorization ID.
DROLLBACK({YES|NO})
Specifies whether the CICS® DB2® attachment facility initiates a SYNCPOINT ROLLBACK if a transaction that is involved in a deadlock resolution is selected.
YES
The attachment facility initiates a SYNCPOINT ROLLBACK before returning control to the application. Additionally the attachment facility changes the SQL return code returned by DB2 from -913 to -911, and returns -911 to the application.

Do not specify YES if the pool is used by transactions running enterprise beans as part of an OTS transaction; SYNCPOINT ROLLBACK is not allowed in an OTS transaction. Consider defining a DB2ENTRY that specifies DROLLBACK(NO) for use by transactions which run enterprise beans as part of an OTS transaction.

NO
The attachment facility does not initiate a rollback for a transaction. An SQL return code of -913 is returned to the application.
PLAN(plan)
Specifies the name of the plan to be used for all pool threads.
PLANEXITNAME({DSNCUEXT|exit})
Specifies the name of the dynamic plan exit to be used for pool threads. If you change PLAN and PLANEXITNAME while there are active transactions for the pool, the next time the transaction releases the thread the new values are applied.
PRIORITY({HIGH|EQUAL|LOW})
Specifies the priority of the pool thread TCBs relative to the CICS main TCB (QR TCB). The thread TCBs are CICS open L8 TCBs.
HIGH
Thread TCBs have a higher priority than the CICS QR TCB.
EQUAL
Thread TCBs have equal priority with the CICS QR TCB.
LOW
Thread TCBs have a lower priority than the CICS QR TCB.
THREADLIMIT({3|value})
Specifies the current maximum number of pool threads that the CICS DB2 attachment facility allows to be active before requests are made to wait or are rejected, subject to the THREADWAIT attribute. The default value of THREADLIMIT (3) is also the minimum that you can specify. The maximum value must not be greater than the value specified for TCBLIMIT.
THREADWAIT({YES|NO})
Specifies whether transactions wait for a pool thread or end abnormally if the number of active pool threads reaches the thread limit.
The CICS DB2 attachment issues a unique abend code AD3T, message DFHDB2011, when you code THREADWAIT=NO and the number of pool threads is exceeded.
YES
If all threads are busy, a transaction must wait until one becomes available. A transaction can wait as long as CICS allows it to wait, generally until a thread becomes available.
NO
If all threads are busy, the transaction ends abnormally with code AD2T or AD3T.