Change information about the attributes of the CICS DB2 Connection.
SET DB2CONN >>-SET DB2CONN--------------------------------------------------> .-----------------------------. .-----------------------------. V | V | >----+-------------------------+-+----+-------------------------+-+->< +-+-ACCOUNTREC(cvda)-+----+ +-DB2GROUPID(data-area)---+ | +-UOW--------------+ | +-DB2ID(data-area)--------+ | +-TASK-------------+ | +-MSGQUEUE1(data-area)----+ | +-TXID-------------+ | +-MSGQUEUE2(data-area)----+ | '-NONE-------------' | +-MSGQUEUE3(data-area)----+ +-AUTHID(data-area)-------+ +-+-NONTERMREL(cvda)-+----+ +-+-AUTHTYPE(cvda)-+------+ | +-RELEASE----------+ | | +-GROUP----------+ | | '-NORELEASE--------' | | +-SIGN-----------+ | +-PLAN(data-area)---------+ | +-TERM-----------+ | +-PLANEXITNAME(data-area)-+ | +-TX-------------+ | +-+-PRIORITY(cvda)-+------+ | +-OPID-----------+ | | +-HIGH-----------+ | | '-USERID---------' | | +-EQUAL----------+ | +-+-BUSY(cvda)-+----------+ | '-LOW------------' | | +-WAIT-------+ | +-PURGECYCLEM(data-area)--+ | +-NOWAIT-----+ | +-PURGECYCLES(data-area)--+ | '-FORCE------' | +-+-RESYNCMEMBER(cvda)-+--+ +-COMAUTHID(data-area)----+ | +-RESYNC-------------+ | +-+-COMAUTHTYPE(cvda)-+---+ | '-NORESYNC-----------' | | +-CGROUP------------+ | +-SECURITY(REBUILD)-------+ | +-CSIGN-------------+ | +-SIGNID(data-area)-------+ | +-CTERM-------------+ | +-+-STANDBYMODE(cvda)-+---+ | +-CTX---------------+ | | +-NOCONNECT---------+ | | +-COPID-------------+ | | +-CONNECT-----------+ | | '-CUSERID-----------' | | '-RECONNECT---------' | +-COMTHREADLIM(data-area)-+ +-STATSQUEUE(data-area)---+ +-+-CONNECTERROR(cvda)-+--+ +-TCBLIMIT(data-area)-----+ | +-ABEND--------------+ | +-THREADLIMIT(data-area)--+ | '-SQLCODE------------' | '-+-THREADWAIT(cvda)-+----' '-+-CONNECTST(cvda)-+-----' +-TWAIT------------+ +-CONNECTED-------+ '-NOTWAIT----------' '-NOTCONNECTED----'
Conditions: NORMAL, NOTAUTH, NOTFND, INVREQ
This command is threadsafe.
For more information about the use of CVDAs, see CICS-value data areas (CVDAs).
The SET DB2CONN command also specifies the attributes of the pool and command 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.
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.
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.
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.
If a transaction is started (using a CICS command) and has no terminal associated with it, AUTHTYPE(TERM) should not be used.
When the DB2 sample sign-on exit DSN3@.SGN is used with AUTHTYPE(USERID), the exit sends the user ID to DB2 as the primary authorization ID and the RACF group ID to DB2 as the secondary ID. When the sample sign-on exit is used, there is no difference between AUTHTYPE(USERID) and AUTHTYPE(GROUP).
Note that a SET DB2CONN NOTCONNECTED WAIT|NOWAIT is a quiesce stop of the CICS DB2 interface. The quiesce waits for existing transactions to finish before stopping the interface.
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 CGROUP 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.
If a transaction is started (using a CICS command) and has no terminal associated with it, the COMAUTHTYPE(TERM) should not be used.
When the DB2 sample sign-on exit DSN3@.SGN is used with AUTHTYPE(USERID), the exit sends the USERID to DB2 as the primary authorization ID and the RACF group ID to DB2 as the secondary ID. When the sample sign-on exit is used, there is no difference between COMAUTHTYPE(CUSERID) and COMAUTHTYPE(CGROUP).
A protected thread is not terminated immediately when it is released. It is terminated only after two completed purge cycles, if it has not been reused in the meantime. Hence if the purge cycle is set to 30 seconds after it is released, a protected thread is purged 30 - 60 seconds after it is released. An unprotected thread is terminated when it is released (at syncpoint or end of task) if there are no other transactions waiting for a thread on that DB2ENTRY.
A protected thread is not terminated immediately when it is released. It is terminated only after two completed purge cycles, if it has not been reused in the meantime. Hence if the purge cycle is set to 30 seconds after it is released, a protected thread is purged 30 - 60 seconds after it is released. An unprotected thread is terminated when it is released (at syncpoint or end of task) if there are no other transactions waiting for a thread on that DB2ENTRY.
The CICS DB2 attachment issues a unique abend code AD3T, and message DFHDB2011 when THREADWAIT=NO is coded and the number of pool threads is exceeded. CVDA values are:
RESP2 values: