Terse (file format)
TERSE is an IBM archive file format that supports lossless compression. A TERSE file may contain a sequential data set, a partitioned data set (PDS), partitioned data set extended (PDSE), or a large format dataset (DSNTYPE=LARGE). Any record format (RECFM) is allowed as long as the record length is less than 32 K (64 K for RECFM=VBS). Records may contain printer control characters.[1]
Filename extension | .trs |
---|---|
Developed by | IBM |
Initial release | 1984 |
Type of format | Data compression |
Open format? | Yes |
Terse files are compressed using a modification of Ziv, Lempel compression algorithm developed by Victor S. Miller and Mark Wegman at the Thomas J. Watson Research Center in Yorktown Heights, New York.[2][3]
The Terse algorithm was proprietary to IBM; however, IBM has released an open source Java decompressor under the Apache 2 license.[4] The compression/decompression program (called terse and unterse)—AMATERSE or TRSMAIN—is available from IBM for z/OS; the z/VM equivalents are the TERSE
and DETERSE
commands, for sequential datasets only. Versions for PC DOS, OS/2, AIX, Windows (2000,XP,2003), Linux, and Mac OS/X are available online.[5]
AMATERSE
The following JCL can be used to invoke AMATERSE on z/OS (TRSMAIN uses INFILE and OUTFILE instead of SYSUT1 and SYSUT2):[6][7]
//jobname JOB ...
//stepname EXEC PGM=AMATERSE,PARM=ppppp
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DISP=SHR,DSN=input.dataset
//SYSUT2 DD DISP=(NEW,CATLG),DCB=ddd,DSN=output.dataset,
// SPACE=space_parameters
//SYSUT3 DD DISP=(NEW,DELETE),SPACE=space_parameters Optional temporary dataset
Uses
Terse can be used as a general-purpose compression/decompression tool. IBM also distributes downloadable Program temporary fixs (PTFs) as tersed datasets. Terse is also used by IBM customers to package diagnostic information such as z/OS dumps and traces, for transmission to IBM.
References
- IBM Corporation. "AMATERSE: Pack and unpack a data set". IBM Knowledge Center. Retrieved Sep 4, 2016.
- Miller, Victor S.; Wegman, Mark N. (1988). "Variations on a theme by Ziv and Lempel". IEEE International Conference on Communications '88: Digital Technology - Spanning the Universe. doi:10.1109/ICC.1988.13597. S2CID 56571935. Retrieved Sep 4, 2016.
- Lalonde, Bill. "Terse/MVS". Big Iron. Retrieved Sep 5, 2016.
- "openmainframeproject/tersedecompress". GitHub. Retrieved 2020-11-28.
- "Hercules-390". Discussion group for users of the Hercules ESA/390 mainframe emulatorr. Retrieved Sep 5, 2016.
- IBM Corporation. "Specifying the JCL statements for AMATERSE". IBM Knowledge Center. Retrieved Sep 4, 2016.
- ppppp is PACK (compress), SPACK (compress, slower and compresses better), or UNPACK (uncompress)