The following restrictions are associated with using BSAM, BPAM,
and QSAM with UNIX files:
- OPEN for UPDAT cannot be used.
- EXCP cannot be used.
- DCB RECFM=V(B)S (spanned record format) cannot be used.
- DCB MACRF=P (NOTE/POINT) cannot be used for FIFO, for character
special files, or if PATHOPTS=OAPPEND is specified.
- If your program does not set BLOCKTOKENSIZE=LARGE
in the DCBE macro, the NOTE and POINT macros cannot use a file that
contains more than 16 "megarecords" minus two (16␠777␠214).
In that case a NOTE after 16 megarecords minus two returns a value
of X'FFFFFF' that is not valid. A POINT to a value that is not valid
causes the next READ or WRITE to fail with an I/O error, unless preceded
by another POINT. If your program uses BLOCKTOKENSIZE=LARGE, the
file might be able to contain over four billion records (4␠294␠967␠295).
- In a binary file with RECFM=V(B) or RECFM=U, a POINT to a block
other than the first block in the file results in an abend.
- You can issue BSP only after a successful CHECK (for READ or WRITE),
NOTE, or CLOSE TYPE=T LEAVE request.
- The
access method buffers writes beyond the buffering that your program
sees. This means that after your program issues WRITE and CHECK or
issues PUT with BUFNO=1, the data probably is not yet on the disk.
If the file is not a FIFO, your program can issue the SYNCDEV macro
to force immediate writing. This interferes with good performance.