![]() |
![]() HP OpenVMS Systemsask the wizard |
![]() |
The Question is: I'm trying to read a indexed file on another node with large records (24029 bytes). When I issue the DCL read command I get the following error: %RMS-E-NETBTS, network buffer too small for 24029 byte record How do I expand the network buffer size to accomodate this record length? Thanks, Roger The Answer is : From the OpenVMS HELP/MESSAGE utility: NETBTS, network buffer too small for 'size' byte record Facility: RMS, OpenVMS Record Management Services Explanation: The network buffer is too small for an attempted $GET, $PUT, or $UPDATE operation on a remote file. For a $GET, no record is returned to the user's record buffer; however, the next record pointer is properly advanced to the next record in the remote file, if there is one, or to the end-of-file. The status value (STV) in the RAB contains the size of the record that is too large for the network buffer. User Action: Increase the size of the network buffer to accommodate the maximum record size in the remote file. The default system setting for the SYSGEN RMS_DFNBC (network block count) parameter is 8, which becomes the process default if it is not overridden by the process. Determine the size of the largest record in the file. Either use the DCL command DIRECTORY/FULL or ANALYZE/RMS_FILE or, from within the program, examine the contents of the XABFHC field XAB$W_LRL after opening the file with the XABFHC chained to the FAB. Increase the network buffer size for the process. Either execute the DCL command SET RMS_DEFAULT/NETWORK_BLOCK_COUNT=n on the local node or, from within the program, set the XABITM item XAB$_NET_BLOCK_COUNT to 'n' when opening the file with the XABITM chained to the FAB. Determine the value of 'n' as follows: o For a remote file opened from an image: n = maximum record size in blocks Example: For a maximum record size of 4112 bytes, n = 9. 4112 divided by 512 = 8.03 Example: For a maximum record size of 2048 bytes, n = 32. 2048 divided by 512 = 4 x 8 = 32
|