Threadsafe file control applications

By default, CICS® forces file control commands issued by threadsafe applications to run on the QR TCB. If you change the system initialization parameter FCQRONLY to specify NO, file control commands for local VSAM LSR or RLS files can run on an L8 or L9 TCB.

Using threadsafe file control can result in significant throughput improvements in CICS regions that have multiple processors available. Tasks currently running on an L8 or L9 TCB do not switch back to the QR TCB when the file control command is issued, but continue to run on the L8 or L9 TCB. These tasks benefit from greater concurrency and increased task throughput. Processor reduction and faster throughput is noticeable for threadsafe applications that combine file control commands with DB2® or WebSphere® MQ requests.

To benefit from threadsafe file control, applications must meet the following requirements:
  • The program resource must be defined with CONCURRENCY(THREADSAFE) or CONCURRENCY(REQUIRED).
  • The file control commands that are issued must be to a local VSAM LSR or RLS file.
  • The system initialization parameter FCQRONLY=NO must be specified for the CICS region where the file control commands run. FCQRONLY=YES is the default.

Threadsafe file control benefits CICS regions where the files are defined as local to the CICS region and are either VSAM LSR or RLS. From a file control perspective, in CICS regions with a mix of file types, consider specifying the system initialization parameter FCQRONLY=NO. Then define programs that access local VSAM LSR or RLS files with CONCURRENCY(THREADSAFE) and programs that access other file types with CONCURRENCY(QUASIRENT). If the files in a CICS region are not local VSAM LSR or RLS, use the default system initialization parameter FCQRONLY=YES.

Function shipped requests to file-owning regions (FORs)

If you function ship file control requests from application-owning regions (AORs) to file-owning regions (FORs), choose your setting for FCQRONLY as follows:
  • For FORs at CICS TS 4.2 or later that use IP interconnectivity (IPIC) connections over TCP/IP, specify FCQRONLY=NO to optimize performance for those connections.
  • For FORs that use MRO links or ISC over SNA connections, specify FCQRONLY=YES to optimize performance for those connections. Also use FCQRONLY=YES for all FORs earlier than CICS TS 4.2.

If an AOR function ships all its file control requests to FORs and has no local files, you can use the default FCQRONLY=YES for the AOR, because the region does not benefit from threadsafe file control. For AORs that have some local files, choose the setting for FCQRONLY depending on the file types in the region.