Problem:
You may find that even though you didn't set the configuration option
LOG=ON
in your extfh.cfg (or the file specified in your EXTFH environment variable, see knoledge base article 22486)
Resolution:
The file handler configuration option LOG specifies whether any unusual file-related situations, such as corrupted files, or automatic file recovery, are noted in a log file for later examination. The configuration option LOGFILE specifies the name for the log file, by default the name is XFHLOG.
In the latest versions of the product LOG=ON by default. But the documentation hadn't been updated accordingly (Server Express 4.0 rpi 1058489) but this should be fixed in Server Express 5.0.
To display the file contents, you should use the cobfhprint tool which should create a file called XFHLOG.TXT containing information from the XFHLOG file.
cobfhprint XFHLOGfilename
Currently there are two defects associated with the XFHLOG file itself.
1) cobfhprint may fail to print the contents of an XFHLOG file that contains more than 1 entry (your case)
2) The File Handler does not always correctly record the name of the file being processed for each entry in the log file (so you can not trust that the name of the file in the xfhlog.txt attached is the correct one...
Both these defects have been rectified in the latest version of the software (Server Express 5 that at the moment is planned to be available in September).
But even though, in most cases the contents of XFHLOG will only make sense to our development people. If the contents of XFHLOG.txt don't make much sense to you, please send it to technical support, and in most cases, it is recomended that you follow these steps.
1) You should determine whether any of their index files have been corrupted. To do this, perform the following command:
rebuild filename -f
This should be performed for each index file in your application. This command performs a series of validations against the index structure and data file - it does not reorganize the file.
If rebuild reports any file as corrupt, then the file should be reorganized using the following command:
rebuild filename -d
This command will recreate the index file based on the contents of the data file.
The output from both rebuild commands should be redirected to a file and sent to Technical Support for review. The application should not have any file open at the time of using rebuild.
Moving forward, having completed the above process, you can safely remove the XFHLOG file and restart your application/system.
2) You should check regularly for the presence of an XFHLOG file. If one is produced, please send it to us and then go through the steps above to test for the data file integrity and potentially reorganizing of data files.
3) If indeed the XFHLOG file is recreated, you will need to consider enabling the XFHTRACE function in order to record the set of operations that trigger this issue.
#AcuCobol
#COBOL
#ServerExpress
#netexpress
#RMCOBOL