1. Is there a limit to the number of FILE_BUF parameters that can be specified in a SYSIDMS for a local batch job?
2. Does IDMS allocate the buffer pages specified in FILE_BUF even if the specified file is not opened?
1. Yes. There is a limit of 100 FILE_BUF parameters.
This should not impact anyone unless you actually have more than 100 BUFFER definitions in the DMCL used by the Local Batch job.
In most cases you will have multiple FILEs assigned to the same BUFFER.
A FILE_BUF parameter for Any of the files that share the BUFFER will add the specified pages to the BUFFER when that BUFFER is allocated.
These pages are not restricted to the named FILE, they simply add to the assigned BUFFER.
There is no need to code a FILE_BUF for each FILE assigned to a BUFFER. In fact this will add the pages specified for each FILE_BUF parameter to the shared BUFFER
For example, If FILEs 1 through 6 are assigned to the same BUFFER and you specify
You will be adding 600 pages to the BUFFER.
2. FILE_BUF parameters are only used if the associated BUFFER is opened. The BUFFER is only opened if one or more of the assigned FILEs are opened, and FILEs are only opened if the associated AREA is READIED by the Local Batch program.
The saved FILE_BUF values are only processed when opening a buffer. So if a buffer is never opened, it should not allocate space for that buffer. For each file connected to the buffer, the saved FILE_BUF statements are searched and if a matching name is found, it saves the value in the File Control Block. Later it adds the value to the Buffer's defined number of pages when allocating the storage