If the batch request utility cannot fit all the commands for a CICS® region in the same 32 KB commarea, the batch request utility
sends the commarea as a first part of the total request. The processing
in the CICS region is then as follows:
- A request server is initiated in the receiving CICS region
to process the request. The request server detects that it is only
a partial command block, therefore it writes the commarea to a CICS TS queue and returns to the batch request utility.
- When the CICS region receives a follow-on commarea from
the batch request utility, it initiates a request server transaction,
which recognizes the input as another partial command block. The request
server writes this second command block as the second item in the
TS queue, then returns to the batch request utility again.
- Each initiated CICS BAC request server stores partial requests in
the same TS queue until the server receives the final command block.
The request server reads the previous items from the TS queue and
reassembles all the original commareas into a single piece of contiguous
storage.
- When all the partial requests are reassembled, the request server
transaction links to another CICS BAC program to service the requests.
If one of the requests is a LINK or RUNCEMT command, CICS BAC links
to either the specified application program or DFHEMTA to service
the command. When all commands are processed (or if an error is detected),
the CICS BAC processing program returns control back to the CICS BAC request
server program.
- If the CICS request server finds that the return commarea
is larger than 32 KB, it breaks it up into an appropriate number of
blocks and writes the second and subsequent blocks to a TS queue.
The CICS request server puts the first block in the
return commarea, then returns to the batch request utility
- The batch request utility recognizes that it has only received
part of the results and saves it in main storage, and issues another
EXCI request to the CICS request server to return the
rest of the data. This process continues until the request server
has exhausted the TS queue, with the batch request utility appending
the partial results in its main storage area until complete. When
the final block of returned data has been received, the batch request
utility continues processing as if the returned data had fitted into
a single commarea.