Attached are the functions that I have written to display Open and Locked ProISAM record information on UNIX systems.
This is freeware for anyone to use.
These functions have been written for Tru64 and Solaris UNIX.
If you wish to run them on any other UNIX, you may need to make a few adjustments to the code, because I have to parsed the output of certain UNIX commands like ps and od. While I have tried to minimise the need for this, if your version of UNIX displays the info differently, you will need to modify it for that.
The functions use the UNIX temp dir /tmp/ to store temp files, if your UNIX box does not have this dir, you need to change all the occurrences of /tmp in the code to what ever it is on your system.
In the function ROBISVW3, you will need to change Logic 254. All the SYSTEM commands for 'ls -li' at the end of the logic should be removed, because they are specific to the system I am currently on, and you need to add in your own 'ls -li' commands to list any dirs where you have .pro files, like your boots dir and data dir. These commands get the INODE number for all your ProISAM files.
The functions use the following UNIX commands, and they must be in your path:
UNIX command for dumping out a file in hex.
ProIV utility for dumping out ProISAM open and lock info.
ProIV utility for dumping out ProIV Shared Memory.
1) isin robisvw.out to create robisvw.prx
2) In ProIV, import robisvw.prx with the G/P/ options
3) In ProIV, import robisvw.prx again with the P/ option and select 'Y' for the 'INCLUDE DEVELOPMENT', 'INCLUDE FILE DEFINITION?' and 'REPLACE EXISTING FDS' fields.
4) Gen the imported ROBISVW functions
5) Run the function ROBISVWS to list ProISAM info
If you make any modifications to get it to work on your type of UNIX, I would appreciate if you would email me or post, so that I can include the changes in the release for other people.
While I use this on a regular basis on our production system and have made sure there is nothing wrong with the code, If anything 'bad' happens I cant be held responsible!!