Mainframe VB files consist of a Record Dscriptor Word (rdw) followed by the lines data
<rdw><Data Line 1 >
<rdw><Data Line 2 >
<rdw><Data Line 3 >
<rdw><Data Line 4 >
The record descriptor word consists of
So you might have in the file
RDW bytes Data
0 19 0 0 <15 bytes record >
0 24 0 0 <20 bytes record >
0 16 0 0 <12 bytes record >
The 2 zero bytes can be used to check/comfirm it is a valid VB file.
The VB-Dump format is the The traditional raw disk format for VB files (These day's the old Traditional mainframe disks are simulated on normal RAID systems).
The file is broken up into blocks. Each block start with a Block Descriptor Word (BDW) followed by mutiple <rdw>Records</rdw>
<BDW>
<rdw><Data Line 1 >
<rdw><Data Line 2 >
<rdw><Data Line 3 >
<rdw><Data Line 4 >
<BDW>
<rdw><Data Line 5 >
<rdw><Data Line 6 >
<rdw><Data Line 7 >
<rdw><Data Line 8 >
When the block size is < 32k, the BDW is exactly the same as the RDW
for both VB Dump and VB Dump 2 formats.
Currently when greater that 32kb:
Sample
BDW bytes | RDW bytes | Data
0 63 0 0
| 0 19 0 0 | <15 bytes record >
| 0 24 0 0 | <20 bytes record >
| 0 16 0 0 | <12 bytes record >
0 78 0 0
| 0 19 0 0 | <20 bytes record >
| 0 24 0 0 | <25 bytes record >
| 0 16 0 0 | <17 bytes record >
You can use the Zero-bytes in the VB / VB Dump formats to check / validate the files. You should check for VB Dump first because
a VB Dump file also looks like a VB File (with very long records).