Pool thread attributes

The pool thread attributes of a DB2CONN are:

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

DB2 produces at least one accounting record for each thread when the thread is terminated. 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 containing multiple UOWs (assuming the thread is released at syncpoint) may use a different thread for each of its UOWs. The result may be an accounting record produced for each UOW.

TXID
The CICS DB2 attachment facility causes an accounting record to be produced when the transid using 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 units of work (UOWs) will use a different thread for each UOW (assuming the thread is released at syncpoint). In this case an accounting record may be produced per 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 should be used for security checking when using pool threads. If AUTHID is specified, AUTHTYPE may not be specified.

AUTHID is not suitable if you are using RACF® for some or all of the security checking in your DB2 address space; use AUTHTYPE instead, with the USERID or GROUP options. This is because threads using an AUTHID do not pass the required RACF access control environment element (ACEE) to DB2. The ACEE is not required if you are only using DB2 internal security, so in this case, you can use AUTHID.

The ID that you specify can be up to eight characters in length.
Acceptable characters:
A-Z 0-9 $ @ #
Unless you are using the CREATE command, any lowercase characters 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 DB2ENTRY. If AUTHTYPE is specified, AUTHID may not be specified.

If you are using RACF for some or all of the security checking in your DB2 address space, you need to use the USERID or GROUP options. This is because only threads defined with these options pass the required RACF access control environment element (ACEE) to DB2. The ACEE is not required if you are only using DB2 internal security, 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 eight characters in length, it is padded on the right with blanks.
Important: Start of changeDo not specify COMMAUTHTYPE(USERID) when you use the DB2 sample sign-on exit DSN@SGN, as this may result in an SQL -922 failure. Specify COMMAUTHTYPE(GROUP) instead.End of change
OPID
The operator identification that is associated with the userid 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, the CICS system must have SEC=YES specified in the CICS system initialization table (SIT).

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 or not the CICS® DB2® attachment facility should initiate a SYNCPOINT ROLLBACK if a transaction is selected as the victim of a deadlock resolution.
YES
The attachment facility issues a syncpoint rollback before returning control to the application. An SQL return code of -911 is returned to the program.

Do not specify YES if the pool is used by transactions running enterprise beans as part of an OTS transaction; CICS syncpoint rollback is not allowed in an OTS transaction. Consider defining a DB2ENTRY which 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. If PLAN is specified, PLANEXITNAME may not be specified.
PLANEXITNAME({DSNCUEXT|exit})
Specifies the name of the dynamic plan exit to be used for pool threads. If you change the PLAN and PLANEXITNAME while there are active transactions for the pool, the next time the transaction releases the thread the plan/exit will be determined using the new rules. If PLANEXITNAME is specified, PLAN may not be specified.
PRIORITY({HIGH|EQUAL|LOW})
Specifies the priority of the pool thread TCBs relative to the CICS main TCB (QR TCB). If CICS is connected to DB2 Version 6 or later, the thread TCBs are CICS open L8 TCBs. If CICS is connected to DB2 Version 5 or earlier, the thread TCBs are private TCBs created by the CICS-DB2 Attachment Facility.
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 threadlimit (3) is also the minimum you can specify. The maximum value must not be greater than the value specified for TCBLIMIT.
THREADWAIT({YES|NO})
Specifies whether or not transactions should wait for a pool thread, or be abended if the number of active pool threads reaches the thread limit.
The CICS DB2 attachment issues a unique abend code AD3T, message DFHDB2011, when THREADWAIT=NO is coded 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 is terminated with abend code AD2T or AD3T.