When an olqbatch job issues thousands of DML or SELECT statements the batch REGION will require a large amount of 31-bit storage even if running under CV with SYSCTL in JCL..
OLQbatch does all processing in the batch address space even when using SYSCTL. The DML/SELECT is sent to CV but all other processing takes place in the batch address space.
OLQbatch acquires 31-bit storage for each command issued and does not free it at the completion of each command.
Storage is only freed at end of job.
OLQbatch was not intended for this volume of processing. If your batch jobs are restricted as far as 31-bit storage and thousands of DML/SELECTs are issued it could use up the max allowed before executing all commands.
The better method of issuing thousands of DML commands in batch program would be to use a cobol program.