Each CICS® region has its own control file that CICS BAC uses to maintain all control and state information for the CICS region. When a CICS BAC batch request utility job step has a request for a CICS region that is not active, the batch job step itself allocates and opens the CICS region control file and updates the state information for the specified resources. However, the batch job step can do this only if the control file is not open to its owning CICS region, a communication server, or another batch request utility job step. Access to a specific control file might be required from different MVS™ images within a sysplex, therefore access to a control file is serialized by means of a systems-level enqueue obtained by the CICS BAC startup processor (see The CICS BAC startup processor), which it holds as long as CICS BAC is active in the CICS region. This prevents any CICS BAC batch request utility job step or communication server from attempting to open a control file while it is open to its CICS region. All control file information is updated at the time a request is made by either the CICS region, the communication server, or the batch request utility job step initiating the request.
CICS BAC also updates the CICS region control file when the region changes the state of a resource being tracked by CICS BAC; for example, as a result of CEMT or EXEC CICS SET FILE commands. In this case, the CICS BAC global user exit is invoked as a result of the file request, and it calls the CICS BAC subtask to update the control file record with the changed file status. In this case, the request server subtask performs the work independently of the transient CICS request server task.
CICS BAC also allows you to control resources that are not explicitly defined in the CICS region control file. For example, you can close and disable a file using the CICS BAC batch request utility program, even if there is not an entry for the file in the CICS region control file.
For information about creating a control file for each CICS region, see Defining and initializing a CICS BAC control file.