Bit map block structure
IMS controls free space within both HDAM and HIDAM databases in a similar way.
Previous sections have already described elements of that control, such as FSEs and FSEAPs. This section describes the last element in that control, bit map blocks.
The concept of the bit map block is that every nth block/CI, there is a bit map block which contains n bits, one for each block/CI between consecutive bit maps plus one for the next bit map. For a VSAM ESDS, the second CI in the data set contains the first bit map CI. For OSAM, the first block in the data set contains the first bit map block.
If the corresponding bit is 1, then there is enough contiguous free space in the block for IMS to insert the largest segment in the database. For variable length segments, 1 indicates that there is enough space to insert the largest allowable segment.
If the corresponding bit is 0, then there is not enough contiguous free space.
You should not be concerned about correcting the content of a bit map block, since IMS will not abend if a bit is not correct.

FSEAP | FSEAP as described in a previous section. Since this is a bit map block/CI, it will contain X'0001' unless it is the first bit map block in OSAM data set (which will contain the DBRC Usage Indicator-DUI). |
|---|---|
RAP | RAP area as described in a previous section. This area is not used in a bit map block/CI but is retained for compatibility with all other blocks/CIs in the data set. |
Bit map | Contains bits indicating whether free space exists in the corresponding block/CI. When the bit map block contains more bits than the data set contains blocks/CIs, the redundant bits at the end are set to 1. |
VSAM RDF | Standard VSAM record definition field control blocks, which describe the size of the logical record. HDAM and HIDAM main databases have only one logical record in each CI. |
VSAM CIDF | Standard VSAM control interval definition field control blocks, which describe the size of the control interval. |