SLIKZIP - Continuing the evolution of ASE's compression software
Designed by experienced mainframers, SLIKZIP has just the functionality you need for compression and uncompression tasks in production jobstreams.
Topics:
SLIKZIP supports the ZIP compressed dataset format
Found across all platforms, ZIP datasets, more commonly called ZIP files, are increasingly required to be handled on mainframe systems.
(Note that unless otherwise stated, a feature supported by any particular edition of SLIKZIP will be automatically supported by all subsequent editions)
SLIKZIP supports the GZIP compressed dataset format
Found especially in UN*X platforms, GZIP datasets, or files, are often required to be handled on mainframe systems.
SLIKZIP runs as a batch program, accepting input from the PARM= field as well as an optional control statement file.
Control statement files may also be generated by other programs or be stored within libraries and controlled in different ways than PARM field contents.
The control statement file ddname and the control listing file ddname can each be overridden by specifying the CTLDD= or PRTDD= keywords in the PARM field.
When PGM=SLIKZIP is used then ZIP, GZIP or UNZIP must be coded in the PARM field, or in the control statement file.
When PGM=ZIP or PGM=UNZIP is used, the program name itself implies the initial process to be performed:
(IBM has assigned component codes ZIP and UNZ to ASE and SLIKZIP messages are accordingly all prefixed ZIP....)
To select all members of a PDS with names beginning ABC and put them into the ZIP dataset with membernames made up of their PDS membername plus ".DAT" we could specify:
SLIKZIP/ISPF is a comprehensive application for working with ZIP files
If you are a user of ISPZIP* then you will be given the option of initialising your SLIKZIP/ISPF user profile dataset from your current ISPZIP user profile dataset.
See: SLIKZIP/ISPF tutorial and screenshots
*ISPZIP was ASE's previous compression utility, superseded in 2003 by SLIKZIP.
SLIKZIP runs as a TSO line command in READY mode or ISPF option 6
Note: SLIKZIP does not at this stage support the dataset naming conventions for TSO command processors. For the moment all dataset names must be specified in full and without enclosing apostrophes, just like batch operation.
This file will by default be read via ddname SYSIN. To avoid having to type or paste a DEMOKEY statement into the screen each time the command is executed, a current DEMOKEY statement can be saved as a PDS member to which ddname SYSIN is then allocated.
* When installed for formal trial, or when a license agreement has been entered into, a unique key installed within the SLIKZIP program removes the need for a DEMOKEY statement.
SLIKZIP reads and writes sequential and partitioned datasets
Compress data directly to a new ZIP dataset on tape
Uncompress selected members directly from an existing ZIP dataset resident on tape
Uncompress the first member directly from a GZIP dataset resident on tape
Read the data to be compressed directly from tape
Write uncompressed data directly to tape.
SLIKZIP supports AES 128/192/256 bit encryption.
The PASSWORD(..) option may be used to provide a password of up to 64 characters for compress and uncompress operations.
Different passwords may be provided for different members.
The AES option used with PASSWORD(..) will cause SLIKZIP to use AES encryption. Passwords of up to 31 characters force 128 bit encryption, 32 to 63 characters force 192 bit encryption and a 64 character password will force 256 bit encryption.
The password may optionally be specified as a string of hex digits
A ZIP file created on an ASCII system might have a member encrypted using a password with one or more characters that are not easily specified in EBCDIC. The password entered into SLIKZIP on the mainframe must be translated by SLIKZIP into ASCII before it can be used for decryption of the member to be UNZIP'ed. Should there be a problem with this translation due to unusual characters being included in the password then it is possible to specify the decryption password exactly using the PASSWORD(X'xxx...xx') form.
See: for more on AES
SLIKZIP also supports the standard PKZIP encryption process. The PASSWORD(..) option may be used to provide a password of up to 64 characters for compress and uncompress operations. Different passwords may be provided for different members.
Note that encryption is not a feature of the GZIP file format. Therefore, SLIKZIP does not support the use of the PASSWORD(..) option when creating, or extracting from, a GZIP dataset.
SLIKZIP supports the ZIP file extensions that allow members to be larger than 4GB. To invoke this option simply use the ZIP64 process option.
Note that during an UNCOMPRESS or UNZIP operation, SLIKZIP automatically detects that ZIP64 has been used during compression and operates in a compatible way.
SLIKZIP supports the alternative compression algorithm known as DEFLATE 64. To invoke this option simply use the DEF64 process option.
Note that during an UNCOMPRESS or UNZIP operation, SLIKZIP automatically detects that DEF64 has been used during compression and operates in a compatible way.
SLIKZIP lets you specify your own translate tables in two ways:
SLIKZIP is supported 24x7 by email, web site and telephone every day of the year.
After accepting a very simple no-productive-use condition, triallors may download and install the demo version of SLIKZIP.
Alternatively, you may wish to find out about a more formal trial
ZIP dataset support
SLIKZIP Features when handling ZIP datasets:
GZIP dataset support
SLIKZIP Features when handling GZIP datasets:
Batch operation
//ZIP EXEC PGM=SLIKZIP,
// PARM='ZIP TODS(your.new.zip.dataset) FRDD(IN) TEXT'
//IN DD DISP=SHR,DSN=your.input.sequential.dataset
//SYSPRINT DD SYSOUT=*
//ZIP EXEC PGM=SLIKZIP,PARM='CTLDD=CARDS PRTDD=LIST ZIP'
//IN DD DISP=SHR,DSN=your.input.sequential.dataset
//LIST DD SYSOUT=*
//CARDS DD *
FROMDD IN TEXT
TODS your.new.zip.dataset LF /* just LF, not CRLF
//
//ZIP EXEC PGM=SLIKZIP,
// PARM='ZIP TODS(your.new.zip.dataset) FRDD(IN) TEXT'
//IN DD DISP=SHR,DSN=your.input.sequential.dataset
//SYSPRINT DD SYSOUT=*
//GZIP EXEC PGM=SLIKZIP,
// PARM='GZIP TODS(your.new.gzip.dataset) FRDD(IN) TEXT'
//IN DD DISP=SHR,DSN=your.input.sequential.dataset
//SYSPRINT DD SYSOUT=*
//ZIP EXEC PGM=ZIP,
// PARM='FRDD(IN) TODS(your.new.zip.dataset) TEXT'
//IN DD DISP=SHR,DSN=your.input.sequential.dataset
//SYSPRINT DD SYSOUT=*
//ZIP EXEC PGM=ZIP,
// PARM='FRDD(IN(ABC*.DAT) TODS(your.new.zip.dataset) TEXT'
//IN DD DISP=SHR,DSN=your.input.partitioned.dataset
//SYSPRINT DD SYSOUT=*
//ZIP EXEC PGM=ZIP,REGION=0M,
// PARM='FRDS(USRCFG.SPFLOG*.LIST) TODD(ZIP) TEXT'
//STEPLIB DD DISP=SHR,DSN=ASE.SLIKZIP.LOAD
//ZIP DD DSN=USRCFG.NEWZIP,SPACE=(TRK,(10,10)),UNIT=SYSALLDA,
// DISP=(,CATLG,DELETE),VOL=SER=ASE004,DCB=BLKSIZE=23476
//SYSPRINT DD SYSOUT=*
ISPF dialog application
TSO command line operation
===> ZIP FRDS(your.input.dataset) text tods(your.zip)
===> alloc f(sysin) da(your.pds(demokey)) shr
===> ZIP FRDS(your.input.dataset) text tods(your.zip)
Sequential and Partitioned Datasets
Tape
ZIP encryption support
Support for files > 4GB in size
//ZIP EXEC PGM=ZIP,REGION=0M,
// PARM=('FRDS(USRCFG.SPFLOG*.LIST) TEXT TRMOD(EUROTAB) ',
// 'ZIP64 TODD(ZIP)')
//STEPLIB DD DISP=SHR,DSN=ASE.SLIKZIP.LOAD
//ZIP DD DSN=USRCFG.NEWZIP,SPACE=(TRK,(10,10)),UNIT=3390,
// DISP=(,CATLG,DELETE),VOL=SER=ASE004,DCB=BLKSIZE=23476
//SYSPRINT DD SYSOUT=*
Support for DEFLATE 64 algorithm
//ZIP EXEC PGM=ZIP,REGION=0M,
// PARM=('FRDS(USRCFG.SPFLOG*.LIST) TEXT TRMOD(EUROTAB) ',
// 'DEF64 TODD(ZIP)')
//STEPLIB DD DISP=SHR,DSN=ASE.SLIKZIP.LOAD
//ZIP DD DSN=USRCFG.NEWZIP,SPACE=(TRK,(10,10)),UNIT=3390,
// DISP=(,CATLG,DELETE),VOL=SER=ASE004,DCB=BLKSIZE=23476
//SYSPRINT DD SYSOUT=*
Dynamic Translate Table support
//ZIP EXEC PGM=ZIP,REGION=0M,
// PARM=('FRDS(USRCFG.SPFLOG*.LIST) TEXT TRMOD(EUROTAB) ',
// 'TODD(ZIP)')
//STEPLIB DD DISP=SHR,DSN=ASE.SLIKZIP.LOAD
//ZIP DD DSN=USRCFG.NEWZIP,SPACE=(TRK,(10,10)),UNIT=3390,
// DISP=(,CATLG,DELETE),VOL=SER=ASE004,DCB=BLKSIZE=23476
//SYSPRINT DD SYSOUT=*
//ZIP EXEC PGM=ZIP,REGION=0M
//STEPLIB DD DISP=SHR,DSN=ASE.SLIKZIP.LOAD
//ZIP DD DSN=USRCFG.NEWZIP,SPACE=(TRK,(10,10)),UNIT=3390,
// DISP=(,CATLG,DELETE),VOL=SER=ASE004,DCB=BLKSIZE=23476
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
TRANSTAB EURO_ASCII COPY(ASCII) FOR(ZIP) VERIFY
+43 FE
+9F 80
FRDS USRCFG.SPFLOG*.LIST TEXT TRANSTAB(EURO_ASCII)
TODD ZIP
//
24/7 Support
Anonymous trialling with daily key download