User-supplied Compression Routines

User-supplied compression routines must be stored in modules called USRDCnnn, where nnn is within the range 128 to 255.

To call a user-supplied routine, use the same syntax as for calling a Micro Focus routine, but use the filename USRDCnnn instead of CBLDCnnn where nnn must be a value in the range 128 through 255.

To make your compression routine available to your system, you must create a callable shared object that can be called when needed.

  • Your compression routines must not make any calls to the File Handler, as this would result in a loop. If you need file access, use byte-stream file I/O.
  • Once you have enabled data compression for a file, you must always subsequently specify the same type of compression for that file. If you do not, you receive a run-time system error when you open the file.
  • Data compression has no effect on files other than those in indexed or record sequential format and is ignored at compile time for files that do not support it.
  • If you want to read a fixed-length sequential file that has had its data compressed, you must specify that the file is compressed in your program. You do this by specifying the DATACOMPRESS Compiler directive.