Threadsafe commands
The commands that are threadsafe, or threadsafe in certain conditions, are listed.
Not all EXEC CICS commands are threadsafe, and issuing any of the non-threadsafe commands causes CICS® to use the QR TCB to ensure serialization. See Threadsafe programs for information about writing threadsafe application programs.
In the following list of threadsafe commands, an asterisk (*) indicates
commands that are threadsafe only in certain conditions:
- These program link, file control, temporary storage, and transient
data commands are threadsafe in the following circumstances:
- The program, file, or queue to which the command refers is defined as local.
- The program, file, or queue to which the command refers is defined as remote, and the resource is accessed by distributed program link or function shipping to a remote CICS region over an IPIC connection.
- For file control commands, as an additional condition, the file to which the command refers is VSAM or RLS.
- These commands are not threadsafe in the following circumstances:
- The resource is accessed by distributed program link or function shipping to a remote CICS region over another type of connection.
- For file control commands, the file to which the command refers is a shared data table, coupling facility data table, or BDAM file.
Invoking DL/I by using the applicable language interface, for example the COBOL statement CALL CBLTDLI, is threadsafe when used with IMS Version 12 or later.
Threadsafe command list
- ABEND
- ADDRESS
- ASKTIME
- ASSIGN
- BIF DEEDIT
- BIF DIGEST
- CHANGE PASSWORD
- CHANGE PHRASE
- CHANGE TASK
- CONVERTTIME
- DEFINE COUNTER and DEFINE DCOUNTER
- DELETE *
- DELETE CONTAINER (CHANNEL)
- DELETE COUNTER and DELETE DCOUNTER
- DELETEQ TD*
- DELETEQ TS*
- DEQ (This command is threadsafe if it is defined as LOCAL. It is nonthreadsafe if it is defined as GLOBAL.)
- DOCUMENT CREATE
- DOCUMENT DELETE
- DOCUMENT INSERT
- DOCUMENT RETRIEVE
- DOCUMENT SET
- ENDBR *
- ENQ (This command is threadsafe if it is defined as LOCAL. It is nonthreadsafe if it is defined as GLOBAL.)
- ENTER TRACENUM
- EXEC DLI
- EXTRACT CERTIFICATE
- EXTRACT TCPIP
- EXTRACT WEB
- FORMATTIME
- FREEMAIN
- FREEMAIN64
- GET CONTAINER (CHANNEL)
- GET COUNTER and GET DCOUNTER
- GETMAIN
- GETMAIN64
- GET64 CONTAINER
- HANDLE ABEND
- HANDLE AID
- HANDLE CONDITION
- IGNORE CONDITION
- INVOKE APPLICATION
- INVOKE SERVICE
- INVOKE WEBSERVICE
- LINK *
- LOAD
- MONITOR
- MOVE CONTAINER (CHANNEL)
- POP HANDLE
- PUSH HANDLE
- PUT CONTAINER (CHANNEL)
- PUT64 CONTAINER
- QUERY COUNTER and QUERY DCOUNTER
- QUERY SECURITY
- READ *
- READNEXT *
- READPREV *
- READQ TD*
- READQ TS*
- RELEASE
- RESETBR *
- RETURN
- REWIND COUNTER and REWIND DCOUNTER
- REWRITE *
- SIGNAL EVENT
- SIGNOFF
- SIGNON
- SOAPFAULT ADD
- SOAPFAULT CREATE
- SOAPFAULT DELETE
- STARTBR *
- SUSPEND
- SYNCPOINT (The Recovery Manager processes this command on an open TCB wherever possible to minimize TCB switching.)
- SYNCPOINT ROLLBACK (The Recovery Manager processes this command on an open TCB wherever possible to minimize TCB switching.)
- TRANSFORM DATATOXML
- TRANSFORM XMLTODATA
- UNLOCK *
- UPDATE COUNTER and UPDATE DCOUNTER
- VERIFY PASSWORD
- VERIFY PHRASE
- VERIFY TOKEN
- WAIT EXTERNAL
- WAIT JOURNALNAME
- WAIT JOURNALNUM
- WEB CLOSE
- WEB CONVERSE
- WEB ENDBROWSE FORMFIELD
- WEB ENDBROWSE HTTPHEADER
- WEB ENDBROWSE QUERYPARM
- WEB EXTRACT
- WEB OPEN
- WEB PARSE URL
- WEB READ FORMFIELD
- WEB READ HTTPHEADER
- WEB READNEXT FORMFIELD
- WEB READNEXT HTTPHEADER
- WEB READ QUERYPARM
- WEB READNEXT QUERYPARM
- WEB RECEIVE
- WEB RETRIEVE
- WEB SEND
- WEB STARTBROWSE FORMFIELD
- WEB STARTBROWSE HTTPHEADER
- WEB STARTBROWSE QUERYPARM
- WEB WRITE HTTPHEADER
- WRITE *
- WRITE JOURNALNAME
- WRITE JOURNALNUM
- WRITEQ TD*
- WRITEQ TS*
- WSACONTEXT BUILD
- WSACONTEXT DELETE
- WSACONTEXT GET
- WSAEPR CREATE
- XCTL