Created On: 23 September 2011
Problem:
An application compiled with Net Express accesses files on a Novell Netware drive without a problem. After converting the same application to Visual COBOL, any OPEN of a file on the Netware drive results in a file status 9/181 being returned. File status 9/181 indicates a parameter error in a call. Why is this happening?
Resolution:
In Visual COBOL we changed the default values for the following two file handler configuration options so that 64-bit file handling would be supported by default.
In Net Express the default was to use 32-bit file handling.
IDXFORMAT = NX=4 - VC=8
FILEMAXSIZE = NX=4 - VC=8
So in Visual COBOL when a file is opened, a 64-bit flag is being passed to the CBL_OPEN_FILE run-time routine whereas in Net Express a 32-bit flag is passed.
Novell Netware drives behave like 32-bit drives and can therefore only handle files up to 4GB in size.
So when Visual COBOL attempts to open a file using 64-bit flags on a Novell Netware drive the operation fails with a file status 9/181 which means invalid parameter. (the 64-bit flag)
So in order to access files on a Novell Netware drive in Visual COBOL you will need to set the following two options in the file handler configuration file.
[XFH-DEFAULT]
IDXFORMAT=4
FILEMAXSIZE=4
In Net Express the default was to use 32-bit file handling.
IDXFORMAT = NX=4 - VC=8
FILEMAXSIZE = NX=4 - VC=8
So in Visual COBOL when a file is opened, a 64-bit flag is being passed to the CBL_OPEN_FILE run-time routine whereas in Net Express a 32-bit flag is passed.
Novell Netware drives behave like 32-bit drives and can therefore only handle files up to 4GB in size.
So when Visual COBOL attempts to open a file using 64-bit flags on a Novell Netware drive the operation fails with a file status 9/181 which means invalid parameter. (the 64-bit flag)
So in order to access files on a Novell Netware drive in Visual COBOL you will need to set the following two options in the file handler configuration file.
[XFH-DEFAULT]
IDXFORMAT=4
FILEMAXSIZE=4
Old KB# 34771
#netexpress
#Enterprise
#VisualCOBOL
#COBOL