PKZIP Version 2.1 For VSE

Patch Notes for Level 7


These notes provide information on known defects in PKZIP Version 2.1 for VSE. The PTF's listed below should be included in Version 2.1 Level 7 as required.

Click on the relevant summary heading to jump to the patch, and simply cut and paste.

Alternatively, you can download all level 7 patches (this is a self extracting file, which must be run before use) in a single job.

Last Updated: January 2004


SUMMARY OF PATCHES:

P9901-L007-001

When processing a very small file or a file that has an error opening, PKZIP may appear to hang.
If this happens, to stop PKZIP processing the job will need to be cancelled.
A timing difference between compression and the mainline process causes this hang when the compression task finishes very quickly.

P9902-L007-002

PKZIP 2.1/7 for VSE cannot make case sensitive file selections. This can cause problems when decompressing files from another platform.

This patch removes the lower to upper case conversion performed on PC/Unix style file selections (i.e. those in (") double quotes) for PKUNZIP. With this conversion removed, the PC/Unix style file selection will be case sensitive.

P9903-L007-003

PKZIP 2.1/7 for VSE uses an incorrect record length when processing using NOCRLF. If an input file is processed in this way the following message is output: UNZIP920E Write error, code=x0000006C, r15=x00000008,...
The message is a result of the VSE processing incorrectly adding an RDW (Record Descriptor Word, typically of the form x'LLLL00000' where LLLL is the length of the record) to the output record. As a result of this, the record is 4 bytes longer than the maximum record allowed in the file, causing the error.
This patch removes the RDW for NOCRLF extraction.

P9904-L007-004

When compressing a large file using the BINARY and ZDW options, PKZIP will occasionally duplicate 4 bytes of the input record and truncate the last 4 bytes.
This problem occurs when ZIP detects a record boundary occurring at exactly the same time as an internal buffer boundary. If the following record is greater than 4096 then the bytes 4092-4095 will be repeated and the last 4 bytes of the record will be truncated.
This patch corrects this problem.

P9904-L007-005

When compressing an empty file, PKZIP may output the following message: ZIP921E Open error x0000006E, r15=x00000008, file=...
PKZIP will subsequently stop processing, without creating the output archive.
This problem occurs because VSAM will not open a file for 'input' if that file has not had some records written into it.
This patch corrects this problem by detecting the error and processing as though the file had been opened correctly but contained no data.

P9906-L007-006

This documentation patch describes how to update PKZIP to provide support for the euro.
To support the euro symbol, EBCDIC code pages on the mainframe have been changed so that the '¤' currency symbol (x'9F') would display the euro correctly. So the x'9F' will look like a euro if the display is using one of the code pages that supports it (e.g. 'US/Canada (euro)' page 1140) or it will look like the currency symbol using a non euro supporting page.

P9906-L007-007

When selecting multiple files in one run, PKZIP can ABEND with U0008 or other storage related error, typically after processing a number of the files. Messages that may be seen include:
IDC4999I UABORT CODE 28
PKZIP ABEND U0008

This problem occurs because some storage that is acquired for each file is not freed until termination.
This patch frees some of the larger blocks associated with each file.

P9906-L007-008

This is a compatibility patch. In PKZIP for MVS 2.5 and later, the format of the Volume attributes retained in the archive will be changed. This patch ensures that PKZIP for VSE will correctly display both the new format and the current format volume attributes.

P9906-L007-009

This is a documentation Patch Note.
When using VIEWDETAIL to display attributes for MVS or VM files, the record format attribute may specify that the record format is 'Undefined Variable' or 'Undefined Fixed'. For example:
UNZIP519I Record format: Undefined Variable ...
In this situation, the 'Undefined' attribute is not correct and should be ignored. If 'Undefined' is followed by anything other than 'Fixed' or 'Variable', then it is correct.

 

P9908-L007-010

This is a documentation update. When processing VSAM RRDS datasets with unused ‘slots’, PKZIP replicates the processing performed by IDCAMS REPRO when the RRDS is copied to a sequential dataset, i.e. missing slots are ignored. If the data is subsequently used to recreate an RRDS, the resultant file does not include any missing slots, effectively changing the slot number of (some of) the copied records.

P9910-L007-011

When the following three conditions are met during the compression of a file, the compressed file will fail the CRC check when it is TESTed or extracted:

P0001-L007-012

T4XFLIC 3.1/1 has a bug in PUTSYSPR which prevents multiple 80M statements from being processed.

P0005-L007-013

This patch relates to a storage problem. When processing, PKZIP and PKUNZIP can fail with an Abend U0008 when processing larger files/archives, but will process smaller files/archives quite happily in the same partition with the same JCL.

P0101-L007-014

This patch note documents a fix to PKZIP to assist use of the product in conjunction with the VSAMLITE product from Macro 4. In addition, it includes information about using PKZIP with a number of BIM products and with REXX.

P0005-L007-015

When processing some archives, PKZIP and PKUNZIP can generate the following message UNZIP404E ZIP archive file has an invalid format… When processed on another platform, the archive is valid.

P0005-L007-016

When compressing multiple files, PKZIP can occasionally Abend with the following message: 0S03I PROGRAM CHECK INTERRUPTION - HEX LOCATION 00xxxxxx - INTERRUPTION CODE 01 - OPERATION EXCEPTION The failing location will be x' 20A24' from the start of the partition.

P0106-L007-017

Attributes created by PKZIP for VSE 4.0, or other platforms that are not used on PKZIP for VSE, will result in message 518 when the archive is viewed using VIEWDETAIL

P0106-L007-018

This patch fixes two problems:

P0106-L007-019

This patch clarifies and improves PKZIP for VSE handling of multivolume files.

Manual amendments

This patch clarifies and improves PKZIP for VSE handling of multivolume files.


PATCHES:

P9901-L007-001

Error Description

When processing a very small file or a file that has an error opening, PKZIP may appear to hang.
If this happens, to stop PKZIP processing the job will need to be cancelled.
A timing difference between compression and the mainline process causes this hang when the compression task finishes very quickly.

Corrective Action

For users with level 7, the following patch should be incorporated into PKZIP, which will correct the compression.

* $$ JOB ...
* $$ LST ...
// JOB PKZAP1
// OPTION LOG,NOSYSDUMP
// LIBDEF *,SEARCH=(PRD1.BASE),TEMP
// EXEC MSHP
PATCH SUBLIBRARY=T4ZIP.TST217
AFFECTS PHASES=(ZIPZTASK)
ALTER 000378 4780C3A4:47F0C670
ALTER 000670 00000000:4780C3A4
ALTER 000674 00000000:91803005
ALTER 000678 00000000:4710C4AC
ALTER 00067C 00000000:47F0C37C
/*
// EXEC LISTLOG
/&
* $$ EOJ

Date Issued

January 1999


P9902-L007-002

Error Description

PKZIP 2.1/7 for VSE cannot make case sensitive file selections. This can cause problems when decompressing files from another platform.

This patch removes the lower to upper case conversion performed on PC/Unix style file selections (i.e. those in (") double quotes) for PKUNZIP. With this conversion removed, the PC/Unix style file selection will be case sensitive.

Corrective Action

For users with level 7, the following patch should be incorporated into PKZIP, which will correct the compression.

* $$ JOB ...
* $$ LST ...
// JOB PKZAP2
// OPTION LOG,NOSYSDUMP
// LIBDEF *,SEARCH=(PRD1.BASE),TEMP
// EXEC MSHP
PATCH SUBLIBRARY=T4ZIP.TST217
AFFECTS PHASES=(ZFSUDFVS)
ALTER 0013E1 41424344454647:61626364656667
ALTER 0013E8 48494A4B4C4D:68696A6B6C6D
ALTER 0013EE 4E4F5051525354:6E6F7071727374
ALTER 0013F5 55565758595A:75767778797A
/*
// EXEC LISTLOG
/&
* $$ EOJ

Note

The conversion of selection strings ensures that file names created by PKUNZIP processing are always upper case. With this conversion removed, it is possible that PKUNZIP will attempt to create files that contain lower case letters in the file name. To prevent this occurring, we recommend that mixed case processing only be used to select one file and that OUTNAME (OUTDATANAME and OUTINDEXNAME) or the HLQ command be used to specify the output file name, as shown in the following commands:

-ECHO
-ARCHIVE(MY.ZIP.ARCHIVE)
"abCD4.header"
-OUTNAME(A.TOTALLY.NEW.NAME)
-OUTDATANAME(A.TOTALLY.NEW.NAME.DATA)

Date Issued

February 1999


P9903-L007-003

Error Description

PKZIP 2.1/7 for VSE uses an incorrect record length when processing using NOCRLF. If an input file is processed in this way the following message is output: UNZIP920E Write error, code=x0000006C, r15=x00000008,...
The message is a result of the VSE processing incorrectly adding an RDW (Record Descriptor Word, typically of the form x'LLLL00000' where LLLL is the length of the record) to the output record. As a result of this, the record is 4 bytes longer than the maximum record allowed in the file, causing the error.
This patch removes the RDW for NOCRLF extraction.

Corrective Action

For users with level 7, the following patch should be incorporated into ZFHWVSVS.

* $$ JOB ...
* $$ LST ...
// JOB PKZAP3
// OPTION LOG,NOSYSDUMP
// LIBDEF *,SEARCH=(PRD1.BASE),TEMP
// EXEC MSHP
PATCH SUBLIBRARY=T4ZIP.TST217
AFFECTS PHASES=(ZFHWVSVS)
ALTER 008020 4710C770:4700C770
/*
// EXEC LISTLOG
/&
* $$ EOJ

Note

Any user that is converting from PKZIP for VSE 2.1/6, and who has not applied patch 13, should be aware of the following. This patch should not effect other users. This correction changes the output from extractions using NOCRLF so that it no longer includes a redundant RDW. Any processing based on ZIP output where NOCRLF has been used, will need to be changed to ensure that this does not cause any problems.

Date Issued

March 1999


P9904-L007-004

Error Description

When compressing a large file using the BINARY and ZDW options, PKZIP will occasionally duplicate 4 bytes of the input record and truncate the last 4 bytes.
This problem occurs when ZIP detects a record boundary occurring at exactly the same time as an internal buffer boundary. If the following record is greater than 4096 then the bytes 4092-4095 will be repeated and the last 4 bytes of the record will be truncated.
This patch corrects this problem.

Corrective Action

For users with level 7, the following patch should be incorporated into ZFHRVSVS.

* $$ JOB ...
* $$ LST ...
// JOB PKZAP4
// OPTION LOG,NOSYSDUMP
// LIBDEF *,SEARCH=(PRD1.BASE),TEMP
// EXEC MSHP
PATCH SUBLIBRARY=T4ZIP.TST217
AFFECTS PHASES=(ZFHRVSVS)
ALTER 003AD6 47E0CA16:47F0CA16
/*
// EXEC LISTLOG
/&
* $$ EOJ

Date Issued

April 1999


P9904-L007-005

Error Description

When compressing an empty file, PKZIP may output the following message: ZIP921E Open error x0000006E, r15=x00000008, file=...
PKZIP will subsequently stop processing, without creating the output archive.
This problem occurs because VSAM will not open a file for 'input' if that file has not had some records written into it.
This patch corrects this problem by detecting the error and processing as though the file had been opened correctly but contained no data.

Corrective Action

For users with level 7, the following patch should be incorporated into ZFHRVSVS.

* $$ JOB ...
* $$ LST ...
// JOB PKZAP5
// OPTION LOG,NOSYSDUMP
// LIBDEF *,SEARCH=(PRD1.BASE),TEMP
// EXEC MSHP
PATCH SUBLIBRARY=T4ZIP.TST217
AFFECTS PHASES=(ZFHRVSVS)
ALTER 14AE 5860D078:47F0C82A
ALTER 175A 00000000:5860D078
ALTER 175E 00000000:4100006E
ALTER 1762 0000:1960
ALTER 1764 00000000:4770C582
ALTER 1768 00000000:92E8B0FC
ALTER 176C 00000000:47F0C76A
ALTER 2E04 5840B0E0:47F0C34A
ALTER 302A 00000000:5840B0E0
ALTER 302E 00000000:95E8B0FC
ALTER 3032 00000000:4770C128
ALTER 3036 00000000:47F0C208
/*
// EXEC LISTLOG
* $$ /&
EOJ

Note

With this patch applied, the following (or similar) message may display in the log for empty files that are processed by PKZIP.
4228I FILE ZIPREAD OPEN ERROR X'6E'(110) CAT= (OPNAB-25) INPUT OPEN INVALID FOR EMPTY FILE
This message may be ignored.

Date Issued

April 1999


P9906-L007-006

Error Description

This documentation patch describes how to update PKZIP to provide support for the euro.
To support the euro symbol, EBCDIC code pages on the mainframe have been changed so that the '¤' currency symbol (x'9F') would display the euro correctly. So the x'9F' will look like a euro if the display is using one of the code pages that supports it (e.g. 'US/Canada (euro)' page 1140) or it will look like the currency symbol using a non euro supporting page.
On other platforms (notably the PC) new code pages have been created with the euro character using a number of code points including x'80', X'88' and X'A1' (depending on the code page).
As the character to be used for the euro depends on the target platform and the code page that is in use on that platform, it is not possible to provide a generic translation table that supports the euro. However, in most cases for PC based files, the euro will be processed on a system that uses x'80' as the code point for the euro symbol.
To provide support for this conversion, PKZIP translation tables must be updated. As a sample, the translation tables supplied below could be used in place of the ASCII table supplied with PKZIP for VSE to provide support for the euro. Instructions for using the source given below to create new tables are given in the User Guide.
Note: The euro symbol is '¬ ' (which will display as a 'box' if your system does not support the euro). As a picture, the euro looks like the following:
Euro Symbol

New translation Tables

System: PKZIP/370
Module name: UKASCIIE.ASM
Version: 2.1/7
Author: P. Strange
Copyright: Targetfour Ltd, Imperial House, Oaklands Park,
Fishponds Road, Wokingham, Berkshire,
England. RG41 2FD
Description:
This module contains translation tables that may be used when processing data containing the euro.
The euro is mapped to x'9F' (EBCDIC) and x'80' (ASCII).

This table has been prepared using the following pages:
Host: 1146
PC: 850

The first 256 bytes are used when mapping EBCDIC to ASCII.

UKASCIIE CSECT
DC     XL1'00',XL1'01',XL1'02',XL1'03'     /*00-0F*/
DC     XL1'DC',XL1'09',XL1'C3',XL1'7F'
DC     XL1'CA',XL1'B2',XL1'D5',XL1'0B'
DC     XL1'0C',XL1'0D',XL1'0E',XL1'0F'
DC     XL1'10',XL1'11',XL1'12',XL1'13'     /*10-1F*/
DC     XL1'DB',XL1'DA',XL1'08',XL1'C1'
DC     XL1'18',XL1'19',XL1'C8',XL1'F2'
DC     XL1'1C',XL1'1D',XL1'1E',XL1'1F'
DC     XL1'C4',XL1'B3',XL1'C0',XL1'D9'     /*20-2F*/
DC     XL1'BF',XL1'0A',XL1'17',XL1'1B'
DC     XL1'B4',XL1'C2',XL1'C5',XL1'B0'
DC     XL1'B1',XL1'05',XL1'06',XL1'07'
DC     XL1'CD',XL1'BA',XL1'16',XL1'BC'     /*30-3F*/
DC     XL1'BB',XL1'C9',XL1'CC',XL1'04'
DC     XL1'B9',XL1'CB',XL1'CE',XL1'DF'
DC     XL1'14',XL1'15',XL1'FE',XL1'1A'
DC     XL1'20',XL1'FF',XL1'83',XL1'84'     /*40-4F*/
DC     XL1'85',XL1'A0',XL1'C6',XL1'86'
DC     XL1'87',XL1'A4',XL1'24',XL1'2E'
DC     XL1'3C',XL1'28',XL1'2B',XL1'7C'
DC     XL1'26',XL1'82',XL1'88',XL1'89'     /*50-5F*/
DC     XL1'8A',XL1'A1',XL1'8C',XL1'8B'
DC     XL1'8D',XL1'E1',XL1'21',XL1'9C'
DC     XL1'2A',XL1'29',XL1'3B',XL1'AA'
DC     XL1'2D',XL1'2F',XL1'B6',XL1'8E'     /*60-6F*/
DC     XL1'B7',XL1'B5',XL1'C7',XL1'8F'
DC     XL1'CF',XL1'A5',XL1'DD',XL1'2C'
DC     XL1'25',XL1'5F',XL1'3E',XL1'3F'
DC     XL1'9B',XL1'90',XL1'D2',XL1'D3'     /*70-7F*/
DC     XL1'D4',XL1'D6',XL1'D7',XL1'D8'
DC     XL1'DE',XL1'60',XL1'3A',XL1'23'
DC     XL1'40',XL1'27',XL1'3D',XL1'22'
DC     XL1'9D',XL1'61',XL1'62',XL1'63'     /*80-8F*/
DC     XL1'64',XL1'65',XL1'66',XL1'67'
DC     XL1'68',XL1'69',XL1'AE',XL1'AF'
DC     XL1'D0',XL1'EC',XL1'E7',XL1'F1'
DC     XL1'F8',XL1'6A',XL1'6B',XL1'6C'     /*90-9F*/
DC     XL1'6D',XL1'6E',XL1'6F',XL1'70'
DC     XL1'71',XL1'72',XL1'A6',XL1'A7'
DC     XL1'91',XL1'F7',XL1'92',XL1'80'
DC     XL1'E6',XL1'EE',XL1'73',XL1'74'     /*A0-AF*/
DC     XL1'75',XL1'76',XL1'77',XL1'78'
DC     XL1'79',XL1'7A',XL1'AD',XL1'A8'
DC     XL1'D1',XL1'ED',XL1'E8',XL1'A9'
DC     XL1'BD',XL1'5B',XL1'BE',XL1'FA'     /*B0-BF*/
DC     XL1'B8',XL1'F5',XL1'F4',XL1'AC'
DC     XL1'AB',XL1'F3',XL1'5E',XL1'5D'
DC     XL1'7E',XL1'F9',XL1'EF',XL1'9E'
DC     XL1'7B',XL1'41',XL1'42',XL1'43'     /*C0-CF*/
DC     XL1'44',XL1'45',XL1'46',XL1'47'
DC     XL1'48',XL1'49',XL1'F0',XL1'93'
DC     XL1'94',XL1'95',XL1'A2',XL1'E4'
DC     XL1'7D',XL1'4A',XL1'4B',XL1'4C'     /*D0-DF*/
DC     XL1'4D',XL1'4E',XL1'4F',XL1'50'
DC     XL1'51',XL1'52',XL1'FB',XL1'96'
DC     XL1'81',XL1'97',XL1'A3',XL1'98'
DC     XL1'5C',XL1'F6',XL1'53',XL1'54'     /*E0-EF*/
DC     XL1'55',XL1'56',XL1'57',XL1'58'
DC     XL1'59',XL1'5A',XL1'FD',XL1'E2'
DC     XL1'99',XL1'E3',XL1'E0',XL1'E5'
DC     XL1'30',XL1'31',XL1'32',XL1'33'     /*F0-FF*/
DC     XL1'34',XL1'35',XL1'36',XL1'37'
DC     XL1'38',XL1'39',XL1'FC',XL1'EA'
DC     XL1'9A',XL1'EB',XL1'E9',XL1'9F'

ASCII to EBCDIC translation.
Note that this must be an exact match to the previous table, so that a translation from ASCII to EBCDIC and back will produce exactly the same file.

This area MUST commence precisely 256 bytes after the previous table commences.

EBCDIC
DC     XL1'00',XL1'01',XL1'02',XL1'03'     /*00-0F*/
DC     XL1'37',XL1'2D',XL1'2E',XL1'2F'
DC     XL1'16',XL1'05',XL1'25',XL1'0B'
DC     XL1'0C',XL1'0D',XL1'0E',XL1'0F'
DC     XL1'10',XL1'11',XL1'12',XL1'13'     /*10-1F*/
DC     XL1'3C',XL1'3D',XL1'32',XL1'26'
DC     XL1'18',XL1'19',XL1'3F',XL1'27'
DC     XL1'1C',XL1'1D',XL1'1E',XL1'1F'
DC     XL1'40',XL1'5A',XL1'7F',XL1'7B'     /*20-2F*/
DC     XL1'4A',XL1'6C',XL1'50',XL1'7D'
DC     XL1'4D',XL1'5D',XL1'5C',XL1'4E'
DC     XL1'6B',XL1'60',XL1'4B',XL1'61'
DC     XL1'F0',XL1'F1',XL1'F2',XL1'F3'     /*30-3F*/
DC     XL1'F4',XL1'F5',XL1'F6',XL1'F7'
DC     XL1'F8',XL1'F9',XL1'7A',XL1'5E'
DC     XL1'4C',XL1'7E',XL1'6E',XL1'6F'
DC     XL1'7C',XL1'C1',XL1'C2',XL1'C3'     /*40-4F*/
DC     XL1'C4',XL1'C5',XL1'C6',XL1'C7'
DC     XL1'C8',XL1'C9',XL1'D1',XL1'D2'
DC     XL1'D3',XL1'D4',XL1'D5',XL1'D6'
DC     XL1'D7',XL1'D8',XL1'D9',XL1'E2'     /*50-5F*/
DC     XL1'E3',XL1'E4',XL1'E5',XL1'E6'
DC     XL1'E7',XL1'E8',XL1'E9',XL1'B1'
DC     XL1'E0',XL1'BB',XL1'BA',XL1'6D'
DC     XL1'79',XL1'81',XL1'82',XL1'83'     /*60-6F*/
DC     XL1'84',XL1'85',XL1'86',XL1'87'
DC     XL1'88',XL1'89',XL1'91',XL1'92'
DC     XL1'93',XL1'94',XL1'95',XL1'96'
DC     XL1'97',XL1'98',XL1'99',XL1'A2'     /*70-7F*/
DC     XL1'A3',XL1'A4',XL1'A5',XL1'A6'
DC     XL1'A7',XL1'A8',XL1'A9',XL1'C0'
DC     XL1'4F',XL1'D0',XL1'BC',XL1'07'
DC     XL1'9F',XL1'DC',XL1'51',XL1'42'     /*80-8F*/
DC     XL1'43',XL1'44',XL1'47',XL1'48'
DC     XL1'52',XL1'53',XL1'54',XL1'57'
DC     XL1'56',XL1'58',XL1'63',XL1'67'
DC     XL1'71',XL1'9C',XL1'9E',XL1'CB'     /*90-9F*/
DC     XL1'CC',XL1'CD',XL1'DB',XL1'DD'
DC     XL1'DF',XL1'EC',XL1'FC',XL1'70'
DC     XL1'5B',XL1'80',XL1'BF',XL1'FF'
DC     XL1'45',XL1'55',XL1'CE',XL1'DE'     /*A0-AF*/
DC     XL1'49',XL1'69',XL1'9A',XL1'9B'
DC     XL1'AB',XL1'AF',XL1'5F',XL1'B8'
DC     XL1'B7',XL1'AA',XL1'8A',XL1'8B'
DC     XL1'2B',XL1'2C',XL1'09',XL1'21'     /*B0-BF*/
DC     XL1'28',XL1'65',XL1'62',XL1'64'
DC     XL1'B4',XL1'38',XL1'31',XL1'34'
DC     XL1'33',XL1'B0',XL1'B2',XL1'24'
DC     XL1'22',XL1'17',XL1'29',XL1'06'     /*C0-CF*/
DC     XL1'20',XL1'2A',XL1'46',XL1'66'
DC     XL1'1A',XL1'35',XL1'08',XL1'39'
DC     XL1'36',XL1'30',XL1'3A',XL1'68'
DC     XL1'8C',XL1'AC',XL1'72',XL1'73'     /*D0-DF*/
DC     XL1'74',XL1'0A',XL1'75',XL1'76'
DC     XL1'77',XL1'23',XL1'15',XL1'14'
DC     XL1'04',XL1'6A',XL1'78',XL1'3B'
DC     XL1'EE',XL1'59',XL1'EB',XL1'ED'     /*E0-EF*/
DC     XL1'CF',XL1'EF',XL1'A0',XL1'8E'
DC     XL1'AE',XL1'FE',XL1'FB',XL1'FD'
DC     XL1'8D',XL1'AD',XL1'A1',XL1'BE'
DC     XL1'CA',XL1'8F',XL1'1B',XL1'B9'     /*F0-FF*/
DC     XL1'B6',XL1'B5',XL1'E1',XL1'9D'
DC     XL1'90',XL1'BD',XL1'B3',XL1'DA'
DC     XL1'FA',XL1'EA',XL1'3E',XL1'41'
END

System: PKZIP/370
Module name: USASCIIE.ASM
Version: 2.1/7
Author: P. Strange
Copyright: Targetfour Ltd, Imperial House, Oaklands Park,
Fishponds Road, Wokingham, Berkshire,
England. RG41 2FD
Description:
This module contains translation tables that may be used when processing data containing the euro.
The euro is mapped to x'9F' (EBCDIC) and x'80' (ASCII).

This table has been prepared using the following pages:
Host: 1140
PC: 437

The first 256 bytes are used when mapping EBCDIC to ASCII.

USASCII CSECT
DC     XL1'00',XL1'01',XL1'02',XL1'03'     /*00-0F*/
DC     XL1'EC',XL1'09',XL1'CA',XL1'7F'
DC     XL1'E2',XL1'D2',XL1'D3',XL1'0B'
DC     XL1'0C',XL1'0D',XL1'0E',XL1'A9'
DC     XL1'10',XL1'11',XL1'12',XL1'13'     /*10-1F*/
DC     XL1'EF',XL1'C5',XL1'08',XL1'CB'
DC     XL1'18',XL1'19',XL1'DC',XL1'D8'
DC     XL1'1C',XL1'1D',XL1'1E',XL1'1F'
DC     XL1'B7',XL1'B8',XL1'B9',XL1'BB'     /*20-2F*/
DC     XL1'C4',XL1'0A',XL1'17',XL1'1B'
DC     XL1'CC',XL1'CD',XL1'CF',XL1'D0'
DC     XL1'D1',XL1'05',XL1'06',XL1'07'
DC     XL1'D9',XL1'DA',XL1'16',XL1'DD'     /*30-3F*/
DC     XL1'DE',XL1'DF',XL1'E0',XL1'04'
DC     XL1'E3',XL1'E5',XL1'E9',XL1'EB'
DC     XL1'B0',XL1'B1',XL1'9E',XL1'1A'
DC     XL1'20',XL1'C9',XL1'83',XL1'84'     /*40-4F*/
DC     XL1'85',XL1'A0',XL1'F2',XL1'86'
DC     XL1'87',XL1'A4',XL1'9B',XL1'2E'
DC     XL1'3C',XL1'28',XL1'2B',XL1'B3'
DC     XL1'26',XL1'82',XL1'88',XL1'89'     /*50-5F*/
DC     XL1'8A',XL1'A1',XL1'8C',XL1'8B'
DC     XL1'8D',XL1'E1',XL1'21',XL1'24'
DC     XL1'2A',XL1'29',XL1'3B',XL1'AA'
DC     XL1'2D',XL1'2F',XL1'B2',XL1'8E'     /*60-6F*/
DC     XL1'B4',XL1'B5',XL1'B6',XL1'8F'
DC     XL1'0F',XL1'A5',XL1'7C',XL1'2C'
DC     XL1'25',XL1'5F',XL1'3E',XL1'3F'
DC     XL1'BA',XL1'90',XL1'BC',XL1'BD'     /*70-7F*/
DC     XL1'BE',XL1'F3',XL1'C0',XL1'C1'
DC     XL1'C2',XL1'60',XL1'3A',XL1'23'
DC     XL1'40',XL1'27',XL1'3D',XL1'22'
DC     XL1'C3',XL1'61',XL1'62',XL1'63'     /*80-8F*/
DC     XL1'64',XL1'65',XL1'66',XL1'67'
DC     XL1'68',XL1'69',XL1'AE',XL1'AF'
DC     XL1'C6',XL1'C7',XL1'C8',XL1'F1'
DC     XL1'F8',XL1'6A',XL1'6B',XL1'6C'     /*90-9F*/
DC     XL1'6D',XL1'6E',XL1'6F',XL1'70'
DC     XL1'71',XL1'72',XL1'A6',XL1'A7'
DC     XL1'91',XL1'CE',XL1'92',XL1'80'
DC     XL1'E6',XL1'7E',XL1'73',XL1'74'     /*A0-AF*/
DC     XL1'75',XL1'76',XL1'77',XL1'78'
DC     XL1'79',XL1'7A',XL1'AD',XL1'A8'
DC     XL1'D4',XL1'D5',XL1'D6',XL1'D7'
DC     XL1'5E',XL1'9C',XL1'9D',XL1'FA'     /*B0-BF*/
DC     XL1'9F',XL1'15',XL1'14',XL1'AC'
DC     XL1'AB',XL1'FC',XL1'5B',XL1'5D'
DC     XL1'E4',XL1'FE',XL1'BF',XL1'E7'
DC     XL1'7B',XL1'41',XL1'42',XL1'43'     /*C0-CF*/
DC     XL1'44',XL1'45',XL1'46',XL1'47'
DC     XL1'48',XL1'49',XL1'E8',XL1'93'
DC     XL1'94',XL1'95',XL1'A2',XL1'ED'
DC     XL1'7D',XL1'4A',XL1'4B',XL1'4C'     /*D0-DF*/
DC     XL1'4D',XL1'4E',XL1'4F',XL1'50'
DC     XL1'51',XL1'52',XL1'EE',XL1'96'
DC     XL1'81',XL1'97',XL1'A3',XL1'98'
DC     XL1'5C',XL1'F0',XL1'53',XL1'54'     /*E0-EF*/
DC     XL1'55',XL1'56',XL1'57',XL1'58'
DC     XL1'59',XL1'5A',XL1'FD',XL1'F5'
DC     XL1'99',XL1'F7',XL1'F6',XL1'F9'
DC     XL1'30',XL1'31',XL1'32',XL1'33'     /*F0-FF*/
DC     XL1'34',XL1'35',XL1'36',XL1'37'
DC     XL1'38',XL1'39',XL1'DB',XL1'FB'
DC     XL1'9A',XL1'F4',XL1'EA',XL1'FF'

ASCII to EBCDIC translation.
Note that this must be an exact match to the previous table, so that a translation from ASCII to EBCDIC and back will produce exactly the same file.

This area MUST commence precisely 256 bytes after the previous table commences.

EBCDIC
DC     XL1'00',XL1'01',XL1'02',XL1'03'     /*00-0F*/
DC     XL1'37',XL1'2D',XL1'2E',XL1'2F'
DC     XL1'16',XL1'05',XL1'25',XL1'0B'
DC     XL1'0C',XL1'0D',XL1'0E',XL1'68'
DC     XL1'10',XL1'11',XL1'12',XL1'13'     /*10-1F*/
DC     XL1'B6',XL1'B5',XL1'32',XL1'26'
DC     XL1'18',XL1'19',XL1'3F',XL1'27'
DC     XL1'1C',XL1'1D',XL1'1E',XL1'1F'
DC     XL1'40',XL1'5A',XL1'7F',XL1'7B'     /*20-2F*/
DC     XL1'5B',XL1'6C',XL1'50',XL1'7D'
DC     XL1'4D',XL1'5D',XL1'5C',XL1'4E'
DC     XL1'6B',XL1'60',XL1'4B',XL1'61'
DC     XL1'F0',XL1'F1',XL1'F2',XL1'F3'     /*30-3F*/
DC     XL1'F4',XL1'F5',XL1'F6',XL1'F7'
DC     XL1'F8',XL1'F9',XL1'7A',XL1'5E'
DC     XL1'4C',XL1'7E',XL1'6E',XL1'6F'
DC     XL1'7C',XL1'C1',XL1'C2',XL1'C3'     /*40-4F*/
DC     XL1'C4',XL1'C5',XL1'C6',XL1'C7'
DC     XL1'C8',XL1'C9',XL1'D1',XL1'D2'
DC     XL1'D3',XL1'D4',XL1'D5',XL1'D6'
DC     XL1'D7',XL1'D8',XL1'D9',XL1'E2'     /*50-5F*/
DC     XL1'E3',XL1'E4',XL1'E5',XL1'E6'
DC     XL1'E7',XL1'E8',XL1'E9',XL1'BA'
DC     XL1'E0',XL1'BB',XL1'B0',XL1'6D'
DC     XL1'79',XL1'81',XL1'82',XL1'83'     /*60-6F*/
DC     XL1'84',XL1'85',XL1'86',XL1'87'
DC     XL1'88',XL1'89',XL1'91',XL1'92'
DC     XL1'93',XL1'94',XL1'95',XL1'96'
DC     XL1'97',XL1'98',XL1'99',XL1'A2'     /*70-7F*/
DC     XL1'A3',XL1'A4',XL1'A5',XL1'A6'
DC     XL1'A7',XL1'A8',XL1'A9',XL1'C0'
DC     XL1'6A',XL1'D0',XL1'A1',XL1'07'
DC     XL1'9F',XL1'DC',XL1'51',XL1'42'     /*80-8F*/
DC     XL1'43',XL1'44',XL1'47',XL1'48'
DC     XL1'52',XL1'53',XL1'54',XL1'57'
DC     XL1'56',XL1'58',XL1'63',XL1'67'
DC     XL1'71',XL1'9C',XL1'9E',XL1'CB'     /*90-9F*/
DC     XL1'CC',XL1'CD',XL1'DB',XL1'DD'
DC     XL1'DF',XL1'EC',XL1'FC',XL1'4A'
DC     XL1'B1',XL1'B2',XL1'3E',XL1'B4'
DC     XL1'45',XL1'55',XL1'CE',XL1'DE'     /*A0-AF*/
DC     XL1'49',XL1'69',XL1'9A',XL1'9B'
DC     XL1'AB',XL1'0F',XL1'5F',XL1'B8'
DC     XL1'B7',XL1'AA',XL1'8A',XL1'8B'
DC     XL1'3C',XL1'3D',XL1'62',XL1'4F'     /*B0-BF*/
DC     XL1'64',XL1'65',XL1'66',XL1'20'
DC     XL1'21',XL1'22',XL1'70',XL1'23'
DC     XL1'72',XL1'73',XL1'74',XL1'BE'
DC     XL1'76',XL1'77',XL1'78',XL1'80'     /*C0-CF*/
DC     XL1'24',XL1'15',XL1'8C',XL1'8D'
DC     XL1'8E',XL1'41',XL1'06',XL1'17'
DC     XL1'28',XL1'29',XL1'9D',XL1'2A'
DC     XL1'2B',XL1'2C',XL1'09',XL1'0A'     /*D0-DF*/
DC     XL1'AC',XL1'AD',XL1'AE',XL1'AF'
DC     XL1'1B',XL1'30',XL1'31',XL1'FA'
DC     XL1'1A',XL1'33',XL1'34',XL1'35'
DC     XL1'36',XL1'59',XL1'08',XL1'38'     /*E0-EF*/
DC     XL1'BC',XL1'39',XL1'A0',XL1'BF'
DC     XL1'CA',XL1'3A',XL1'FE',XL1'3B'
DC     XL1'04',XL1'CF',XL1'DA',XL1'14'
DC     XL1'E1',XL1'8F',XL1'46',XL1'75'     /*F0-FF*/
DC     XL1'FD',XL1'EB',XL1'EE',XL1'ED'
DC     XL1'90',XL1'EF',XL1'B3',XL1'FB'
DC     XL1'B9',XL1'EA',XL1'BD',XL1'FF'
END

Date Issued

June 1999


P9906-L007-007

Error Description

When selecting multiple files in one run, PKZIP can ABEND with U0008 or other storage related error, typically after processing a number of the files. Messages that may be seen include:

IDC4999I UABORT CODE 28
PKZIP ABEND U0008


This problem occurs because some storage that is acquired for each file is not freed until termination.
This patch frees some of the larger blocks associated with each file.

Corrective Action

For users with level 7, the following patch should be incorporated into ZFHRVSVS.

* $$ JOB ...
* $$ LST ...
// JOB PKZAP7
// OPTION LOG,NOSYSDUMP
// LIBDEF *,SEARCH=(PRD1.BASE),TEMP
// EXEC MSHP
PATCH SUBLIBRARY=T4ZIP.TST217
AFFECTS PHASES=(ZFHRVSVS)
ALTER 1A98 5800CD10:411403E8
ALTER 1A9C 5A00CD08:47F0C2CA
ALTER 255C 000003E8:000003F8
ALTER 2E1C 4780C282:4780C208
ALTER 2EEA 5B10C3D8:47F0C35A
ALTER 2F06 4780C282:4780C370
ALTER 303A 00000000:5810B0E8
ALTER 303E 0000:1211
ALTER 3040 00000000:4780C370
ALTER 3044 00000000:5B10C3D8
ALTER 3048 00000000:5800B0EC
ALTER 304C 00000000:47F0C212
ALTER 3050 0000:121B
ALTER 3052 00000000:4780C282
ALTER 3056 00000000:5810B0E4
ALTER 305A 0000:1211
ALTER 305C 00000000:4780C392
ALTER 3060 00000000:5B10C3D8
ALTER 3064 0000:1700
ALTER 3066 00000000:5000B0E4
ALTER 306A 00000000:410003F8
ALTER 306E 00000000:47F0C212
ALTER 3072 0000:181B
ALTER 3074 0000:17BB
ALTER 3076 00000000:5B10C3D8
ALTER 307A 00000000:47F0C20E
/*
// EXEC LISTLOG
/&
* $$ EOJ

Date Issued

July 1999

P9906-L007-008

Error Description

This is a compatibility patch. In PKZIP for MVS 2.5 and later, the format of the Volume attributes retained in the archive will be changed. This patch ensures that PKZIP for VSE will correctly display both the new format and the current format volume attributes.

Corrective Action

For users with level 7, the following patch should be incorporated into ZFHWVSVS, PKZIP and PKUNZIP.

* $$ JOB ...
* $$ LST ...
// JOB PKZAP8
// OPTION LOG,NOSYSDUMP
// LIBDEF *,SEARCH=(PRD1.BASE),TEMP
// EXEC MSHP
PATCH SUBLIBRARY=T4ZIP.TST217
AFFECTS PHASES=(PKUNZIP)
ALTER 6A90 0000002C:00000006
ALTER 6B20 0000002C:00000006
AFFECTS PHASES=(PKZIP)
ALTER 6FC8 0000002C:00000006
ALTER 7058 0000002C:00000006
AFFECTS PHASES=(ZFHWVSVS)
ALTER 1D1E 924D5010:47F0CC5A
ALTER 1D22 D22B50119008:D20050119008
ALTER 27FA 00000000:924D5010
ALTER 27FE 00000000:92405011
ALTER 2802 000000000000:D22A50125011
ALTER 2808 00000000:48E90004
ALTER 280C 00000000:41F00005
ALTER 2810 0000:1BEF
ALTER 2812 00000000:44E0C182
ALTER 2816 00000000:41F0002B
ALTER 281A 0000:19EF
ALTER 281C 00000000:4740CC8C
ALTER 2820 00000000:95405011
ALTER 2824 00000000:4780C188
ALTER 2828 00000000:9540503C
ALTER 282C 00000000:4780C188
ALTER 2830 00000000:92405017
ALTER 2834 000000000000:D22450185017
ALTER 283A 00000000:47F0C188
ALTER 2D1E 924D5010:47F0CAC2
ALTER 2D22 D22B50119008:D20050119008
ALTER 35CA 00000000:924D5010
ALTER 35CE 00000000:92405011
ALTER 35D2 000000000000:D22A50125011
ALTER 35D8 00000000:48E90004
ALTER 35DC 00000000:41F00005
ALTER 35E0 0000:1BEF
ALTER 35E2 00000000:44E0C21A
ALTER 35E6 00000000:41F0002B
ALTER 35EA 0000:19EF
ALTER 35EC 00000000:4740CAF4
ALTER 35F0 00000000:95405011
ALTER 35F4 00000000:4780C220
ALTER 35F8 00000000:9540503C
ALTER 35FC 00000000:4780C220
ALTER 3600 00000000:92405017
ALTER 3604 000000000000:D22450185017
ALTER 360A 00000000:47F0C220
/*
// EXEC LISTLOG
/&
* $$ EOJ

Date Issued

June 1999


P9906-L007-009

Error Description

This is a documentation Patch Note.
When using VIEWDETAIL to display attributes for MVS or VM files, the record format attribute may specify that the record format is 'Undefined Variable' or 'Undefined Fixed'. For example:

UNZIP519I Record format: Undefined Variable ...

In this situation, the 'Undefined' attribute is not correct and should be ignored. If 'Undefined' is followed by anything other than 'Fixed' or 'Variable', then it is correct.

Corrective Action

There is no corrective action associated with this Patch Note.

Date Issued

July 1999

 

P9908-L007-010

Error Description

This is a documentation update. When processing VSAM RRDS datasets with unused ‘slots’, PKZIP replicates the processing performed by IDCAMS REPRO when the RRDS is copied to a sequential dataset, i.e. missing slots are ignored. If the data is subsequently used to recreate an RRDS, the resultant file does not include any missing slots, effectively changing the slot number of (some of) the copied records.

For example, if an RRDS contained records in slots 1, 5, 9 and 11 before the processing, the recreated RRDS would have records in slots numbered 1, 2, 3 and 4.

Only RRDS files with no interspersed empty slots will be correctly recreated by PKZIP processing.

This restriction applies to both variable length and fixed length RRDS files.

Date Issued

August 1999

 

P9910-L007-011

Error Description

When the following three conditions are met during the compression of a file, the compressed file will fail the CRC check when it is TESTed or extracted:

  • Encryption is specified (i.e. PASSWORD command is used),
  • METHOD(STORE) has not been specified,
  • The file is not compressible so PKZIP will STORE the file rather than compress it.
  • This is most commonly seen with Empty files, but can occur with other (typically very small) files. When extracting such a file the user will see:

    UNZIP607E File … fails CRC check.

    When the archive is VIEWed, the file is not marked as encrypted.

    The problem occurs because the processing that is used to STORE the file if the original compression method didn’t compress the file, resets the Encryption flag in the archive. The processing used if METHOD(STORE) is selected does not reset this flag.

    The fix ensures that this flag is not reset by the post compression STORE of a file that didn’t compress.

    Corrective Action

    For users with level 7, the following patch should be incorporated into ZIPCTASK.

    * $$ JOB …
    * $$ LST …
    // JOB PKZAP11
    // OPTION LOG,NOSYSDUMP
    // LIBDEF *,SEARCH=(PRD1.BASE),TEMP
    // EXEC MSHP
    PATCH SUBLIBRARY=T4ZIP.TST217
    AFFECT PHASES=(ZIPCTASK)
    ALTER 12E2 BE924009:94004009
    ALTER 12E6 42904008:94014008
    /*
    // EXEC LISTLOG
    /&
    * $$ EOJ

    Date Issued

    October 1999

     

     

    P0001-L007-012

    Error Description

    T4XFLIC 3.1/1 has a bug in PUTSYSPR which prevents multiple 80M statements from being processed.

    Corrective Action

    For users with level 7, the following patch should be incorporated into T4XFLIC which will correct the error. * $$ JOB …
    * $$ LST …
    // JOB PKZAP12
    // OPTION LOG,NOSYSDUMP
    // LIBDEF *,SEARCH=(PRD1.BASE),TEMP
    // EXEC MSHP
    PATCH SUBLIBRARY=T4XFLIC.TEST
    AFFECTS PHASES=(T4XFLIC)
    SCAN 1CA2 ARG=4780BCF0
    ALTER 1CA2 4780BCF0:47F0BCF0
    /*
    // EXEC LISTLOG
    /&
    * $$ EOJ

    Date Issued

    January 2000

     

    P0005-L007-013

    Error Description

    This patch relates to a storage problem.  When processing, PKZIP and PKUNZIP can fail with an Abend U0008 when processing larger files/archives, but will process smaller files/archives quite happily in the same partition with the same JCL.

    Though not clearly stated in the manual, PKZIP requires a partition with at least 2 megabytes of free storage, to process correctly.  To ensure that as much GETVIS is available as possible, SIZE=AUTO should be specified on the EXEC JCL card.

    PKZIP and PKUNZIP use GETVIS storage for programs, I/O buffers and the like.  In most cases, this storage does not vary with the size of the file being compressed or uncompressed.

    However there is one particular use of storage that does vary with the size of the files/archive.  This is the archive index.  An archive index entry is created for each record written to or extracted from an archive.  On VSE, because of the way that VSE allocates storage, 128 bytes are allocated to each index entry.  This means there is a storage overhead of 128 bytes per record read from or written to the archive.  In addition, when using PKZIP, the compressed data is written to a temporary archive before being put in the final output archive - which means the overhead for compressed data is effectively 256 bytes per index entry, (i.e. 256 bytes per archive record). 

    There are two ways to minimize the impact of this overhead:

    1.       Use a large record size, such as 32750, for the archive.  With the value 32750, a 1 megabyte archive will require just over 4 kilobytes for the index entries.  If the default record size of 6160 was used, 22 kilobytes would be required. Alternatively, if the record size specified was 80, the index entries would require 1.6 megabytes of storage, which is more than the amount of data in the archive!

    2.       Use a stronger compression, which reduces the size of the archive required. 

    However even where these options are used, the index may prove to be a limiting function because index entries are located below the 16M line (i.e. in 24 bit addressable storage). 

    This patch changes the addressing mode for index entries so that storage above the line may be used for these indexes.  In a large enough partition, with this patch applied and an appropriate record size, the PKZIP architecture which limits archive size to 4 gigabytes, becomes the limiting factor in the amount of data that may be placed in an archive. 

    Corrective Action

    For users with level 7, the following patch should be incorporated into PKZIP and PKUNZIP.

    * $$ JOB ...

    * $$ LST ...

    // JOB PKZAP13

    *  PATCH 13 FOR PKZIP

    // OPTION LOG,NOSYSDUMP

    // LIBDEF *,SEARCH=(PRD1.BASE),TEMP

    // EXEC MSHP

       PATCH SUBLIBRARY=T4ZIP.TST217

       AFFECTS PHASES=(PKZIP)

       ALTER 01F930 58F0C55405EF:58F0C5540DEF

       ALTER 01F93E 5870B070:47F0C4C6

       ALTER 01F960 4780C158:4780C4DC

       ALTER 01FD56 00000000:4170C4D4

       ALTER 01FD5A 00000000:5670C4D0

       ALTER 01FD5E 0000:0B07

       ALTER 01FD60 00000000:80000000

       ALTER 01FD64 00000000:5870B070

       ALTER 01FD68 00000000:47F0C0B2

       ALTER 01FD6C 00000000:4180C158

       ALTER 01FD70 00000000:5480C4E6

       ALTER 01FD74 0000:0B08

       ALTER 01FD76 00000000:7FFFFFFF

       ALTER 02017E 47F0C040:47F0C156

       ALTER 0202B4 4710C144:4710C164

       ALTER 0202CE 00000000:41E0C040

       ALTER 0202D2 00000000:56E0C160

       ALTER 0202D6 0000:0B0E

       ALTER 0202D8 00000000:80000000

       ALTER 0202DC 00000000:41E0C144

       ALTER 0202E0 00000000:54E0C16E

       ALTER 0202E4 0000:0B0E

       ALTER 0202E6 00000000:7FFFFFFF

       ALTER 020356 47F0C040:47F0C1FA

       ALTER 020514 58F0211C:47F0C216

       ALTER 020530 4710C1E8:4710C208

       ALTER 02054A 00000000:41E0C040

       ALTER 02054E 00000000:56E0C204

       ALTER 020552 0000:0B0E

       ALTER 020554 00000000:80000000

       ALTER 020558 00000000:41E0C1E8

       ALTER 02055C 00000000:54E0C212

       ALTER 020560 0000:0B0E

       ALTER 020562 00000000:7FFFFFFF

       ALTER 020566 00000000:58F0211C

       ALTER 02056A 00000000:41E0C1C8

       ALTER 02056E 00000000:47F0C20C

       ALTER 0205D6 47F0C040:47F0C21A

       ALTER 0207D0 4710C208:4710C228

       ALTER 0207EA 00000000:41E0C040

       ALTER 0207EE 00000000:56E0C224

       ALTER 0207F2 0000:0B0E

       ALTER 0207F4 00000000:80000000

       ALTER 0207F8 00000000:41E0C208

       ALTER 0207FC 00000000:54E0C232

       ALTER 020800 0000:0B0E

       ALTER 020802 00000000:7FFFFFFF

       ALTER 020886 47F0C040:47F0C3F6

       ALTER 020914 4510C0BC:4510C412

       ALTER 0209C0 4780C252:4780C41A

       ALTER 020A64 4780C1EA:4780C422

       ALTER 020AC8 58F0211C:47F0C43A

       ALTER 020AE0 0000100058F0F000:0000200058F0F000

       ALTER 020B84 4510C324:4510C42A

       ALTER 020C10 4780C396:4780C432

       ALTER 020C5A 4710C3E4:4710C3E4

       ALTER 020C74 07FE:0B0E

       ALTER 020C76 00000000:41E0C040

       ALTER 020C7A 00000000:56E0C400

       ALTER 020C7E 0000:0B0E

       ALTER 020C80 00000000:80000000

       ALTER 020C84 00000000:41E0C3E4

       ALTER 020C88 00000000:54E0C40E

       ALTER 020C8C 0000:0B0E

       ALTER 020C8E 00000000:7FFFFFFF

       ALTER 020C92 00000000:41E0C0BC

       ALTER 020C96 00000000:47F0C408

       ALTER 020C9A 00000000:41E0C252

       ALTER 020C9E 00000000:47F0C3FA

       ALTER 020CA2 00000000:41E0C1EA

       ALTER 020CA6 00000000:47F0C3FA

       ALTER 020CAA 00000000:41E0C324

       ALTER 020CAE 00000000:47F0C408

       ALTER 020CB2 00000000:41E0C396

       ALTER 020CB6 00000000:47F0C3FA

       ALTER 020CBA 00000000:58F0211C

       ALTER 020CBE 00000000:41E0C24C

       ALTER 020CC2 00000000:47F0C408

       ALTER 020FD6 47F0C040:47F0C836

       ALTER 0210BC 0000100058F0F000:0000200058F0F000

       ALTER 02118C 4510C1E4:4510C852

       ALTER 021220 4780C256:47F0C85A

       ALTER 0212F0 4510C348:4510C862

       ALTER 02145A 47F0C686:47F0C872

       ALTER 02155C 4780C592:4780C86A

       ALTER 021588 4510C5D8:4510C87A

       ALTER 021614 4780C64A:4780C882

       ALTER 0217EC 4710C824:4710C824

       ALTER 021804 07FE:0B0E

       ALTER 021806 00000000:41E0C040

       ALTER 02180A 00000000:56E0C840

       ALTER 02180E 0000:0B0E

       ALTER 021810 00000000:80000000

       ALTER 021814 00000000:41E0C824

       ALTER 021818 00000000:54E0C84E

       ALTER 02181C 0000:0B0E

       ALTER 02181E 00000000:7FFFFFFF

       ALTER 021822 00000000:41E0C1E4

       ALTER 021826 00000000:47F0C848

       ALTER 02182A 00000000:41E0C256

       ALTER 02182E 00000000:47F0C83A

       ALTER 021832 00000000:41E0C348

       ALTER 021836 00000000:47F0C848

       ALTER 02183A 00000000:41E0C592

       ALTER 02183E 00000000:47F0C83A

       ALTER 021842 00000000:41E0C686

       ALTER 021846 00000000:47F0C83A

       ALTER 02184A 00000000:41E0C5D8

       ALTER 02184E 00000000:47F0C848

       ALTER 021852 00000000:41E0C64A

       ALTER 021856 00000000:47F0C83A

       AFFECTS PHASES=(PKUNZIP)

       ALTER 01F3F8 58F0C55405EF:58F0C5540DEF

       ALTER 01F406 5870B070:47F0C4C6

       ALTER 01F428 4780C158:4780C4DC

       ALTER 01F81E 00000000:4170C4D4

       ALTER 01F822 00000000:5670C4D0

       ALTER 01F826 0000:0B07

       ALTER 01F828 00000000:80000000

       ALTER 01F82C 00000000:5870B070

       ALTER 01F830 00000000:47F0C0B2

       ALTER 01F834 00000000:4180C158

       ALTER 01F838 00000000:5480C4E6

       ALTER 01F83C 0000:0B08

       ALTER 01F83E 00000000:7FFFFFFF

       ALTER 01FC46 47F0C040:47F0C156

       ALTER 01FD7C 4710C144:4710C164

       ALTER 01FD96 00000000:41E0C040

       ALTER 01FD9A 00000000:56E0C160

       ALTER 01FD9E 0000:0B0E

       ALTER 01FDA0 00000000:80000000

       ALTER 01FDA4 00000000:41E0C144

       ALTER 01FDA8 00000000:54E0C16E

       ALTER 01FDAC 0000:0B0E

       ALTER 01FDAE 00000000:7FFFFFFF

       ALTER 01FE1E 47F0C040:47F0C1FA

       ALTER 01FFDC 58F0211C:47F0C216

       ALTER 01FFF8 4710C1E8:4710C208

       ALTER 020012 00000000:41E0C040

       ALTER 020016 00000000:56E0C204

       ALTER 02001A 0000:0B0E

       ALTER 02001C 00000000:80000000

       ALTER 020020 00000000:41E0C1E8

       ALTER 020024 00000000:54E0C212

       ALTER 020028 0000:0B0E

       ALTER 02002A 00000000:7FFFFFFF

       ALTER 02002E 00000000:58F0211C

       ALTER 020032 00000000:41E0C1C8

       ALTER 020036 00000000:47F0C20C

       ALTER 02009E 47F0C040:47F0C21A

       ALTER 020298 4710C208:4710C228

       ALTER 0202B2 00000000:41E0C040

       ALTER 0202B6 00000000:56E0C224

       ALTER 0202BA 0000:0B0E

       ALTER 0202BC 00000000:80000000

       ALTER 0202C0 00000000:41E0C208

       ALTER 0202C4 00000000:54E0C232

       ALTER 0202C8 0000:0B0E

       ALTER 0202CA 00000000:7FFFFFFF

       ALTER 02034E 47F0C040:47F0C3F6

       ALTER 0203DC 4510C0BC:4510C412

       ALTER 020488 4780C252:4780C41A

       ALTER 02052C 4780C1EA:4780C422

       ALTER 020590 58F0211C:47F0C43A

       ALTER 0205A8 0000100058F0F000:0000200058F0F000

       ALTER 02064C 4510C324:4510C42A

       ALTER 0206D8 4780C396:4780C432

       ALTER 020722 4710C3E4:4710C3E4

       ALTER 02073C 07FE:0B0E

       ALTER 02073E 00000000:41E0C040

       ALTER 020742 00000000:56E0C400

       ALTER 020746 0000:0B0E

       ALTER 020748 00000000:80000000

       ALTER 02074C 00000000:41E0C3E4

       ALTER 020750 00000000:54E0C40E

       ALTER 020754 0000:0B0E

       ALTER 020756 00000000:7FFFFFFF

       ALTER 02075A 00000000:41E0C0BC

       ALTER 02075E 00000000:47F0C408

       ALTER 020762 00000000:41E0C252

       ALTER 020766 00000000:47F0C3FA

       ALTER 02076A 00000000:41E0C1EA

       ALTER 02076E 00000000:47F0C3FA

       ALTER 020772 00000000:41E0C324

       ALTER 020776 00000000:47F0C408

       ALTER 02077A 00000000:41E0C396

       ALTER 02077E 00000000:47F0C3FA

       ALTER 020782 00000000:58F0211C

       ALTER 020786 00000000:41E0C24C

       ALTER 02078A 00000000:47F0C408

       ALTER 020A9E 47F0C040:47F0C836

       ALTER 020B84 0000100058F0F000:0000200058F0F000

       ALTER 020C54 4510C1E4:4510C852

       ALTER 020CE8 4780C256:47F0C85A

       ALTER 020DB8 4510C348:4510C862

       ALTER 020F22 47F0C686:47F0C872

       ALTER 021024 4780C592:4780C86A

       ALTER 021050 4510C5D8:4510C87A

       ALTER 0210DC 4780C64A:4780C882

       ALTER 0212B4 4710C824:4710C824

       ALTER 0212CC 07FE:0B0E

       ALTER 0212CE 00000000:41E0C040

       ALTER 0212D2 00000000:56E0C840

       ALTER 0212D6 0000:0B0E

       ALTER 0212D8 00000000:80000000

       ALTER 0212DC 00000000:41E0C824

       ALTER 0212E0 00000000:54E0C84E

       ALTER 0212E4 0000:0B0E

       ALTER 0212E6 00000000:7FFFFFFF

       ALTER 0212EA 00000000:41E0C1E4

       ALTER 0212EE 00000000:47F0C848

       ALTER 0212F2 00000000:41E0C256

       ALTER 0212F6 00000000:47F0C83A

       ALTER 0212FA 00000000:41E0C348

       ALTER 0212FE 00000000:47F0C848

       ALTER 021302 00000000:41E0C592

       ALTER 021306 00000000:47F0C83A

       ALTER 02130A 00000000:41E0C686

       ALTER 02130E 00000000:47F0C83A

       ALTER 021312 00000000:41E0C5D8

       ALTER 021316 00000000:47F0C848

       ALTER 02131A 00000000:41E0C64A

       ALTER 02131E 00000000:47F0C83A

    /*

    // EXEC LISTLOG

    /&

    * $$ EOJ

    Note

    Regardless of whether this patch is applied, it is helpful to minimize the storage required for indexes by doing the following when processing large files:

    ·         Use the largest possible block size (see ARCHBLKSIZ command). 

    ·         Use the best compression method possible (given the time available for the compression). 

    ·         On ZIP, make sure the file is being compressed into an empty archive.

    Even with the patch applied, the partition size might provide a restriction to the size of archive that can be processed.  For example, assume that there is 24 megabytes available for indexes during a ZIP process (i.e. 256 byte per record overhead).  In 24 megabytes, there is room for just under 200,000 index entries, which at the default 6160 bytes per record setting, means the largest archive that can be created is just over 1 gigabyte.

    However, using a 32750 byte block size, and performing the same calculation demonstrates that 24 megabytes is sufficient space to process a 4 gigabyte archive (the maximum supported by PKZIP).

    In a 30 megabyte partition, after application of this fix, and using a sufficiently large block size, it should be possible to:

    ·         Create a 4 gigabyte archive using PKZIP. 

    ·         Extract from a 4 gigabyte archive, using PKUNZIP.

    Date Issued

    May 2000


    P0101-L007-014

    Error Description

    This patch note documents a fix to PKZIP to assist use of the product in conjunction with the VSAMLITE product from Macro 4.  In addition, it includes information about using PKZIP with a number of BIM products and with REXX. 

    When using PKZIP for VSE with Macro 4's VSAMLITE product, PKZIP will typically process the compressed (VSAMLITE) version of the file, rather than the expanded logical version.

    This occurs because of an incorrectly sized dataset name area set up by PKZIP that causes VSAMLITE to assume that compression has not been used.

    This patch increases the size of the dataset name area so that VSAMLITE will correctly extract the information it needs to determine whether the file is one of its compressed datasets. 

    Corrective Action

    For users with level 7, the following patch should be incorporated into modules PKZIP, PKUNZIP, ZFHRVSVS and ZFHWVSVS.

    * $$ JOB …
    * $$ LST …
    // JOB PKZAP14
    // OPTION LOG,NOSYSDUMP
    // LIBDEF *,SEARCH=(PRD1.BASE),TEMP
    // EXEC MSHP
       PATCH SUBLIBRARY=T4ZIP.TST217
       AFFECTS PHASES=(PKZIP)
       ALTER 01ED18 4100B018:47F0C9A6
       ALTER 01EFD6 000000000000:D22BB1B4B018
       ALTER 01EFDC 00000000:9240B1E0
       ALTER 01EFE0 000000000000:D22AB1E1B1E0
       ALTER 01EFE6 00000000:4100B1B4
       ALTER 01EFEA 00000000:47F0C6EC
       ALTER 01F074 000001B4:00000210
       ALTER 01F464 4100B018:47F0C65A
       ALTER 01F7A2 000000000000:D22BB1B4B018
       ALTER 01F7A8 00000000:9240B1E0
       ALTER 01F7AC 000000000000:D22AB1E1B1E0
       ALTER 01F7B2 00000000:4100B1B4
       ALTER 01F7B6 00000000:47F0C320
       ALTER 01F834 000001B4:00000210
       ALTER 01FE20 000001B4:00000210
       AFFECTS PHASES=(PKUNZIP)
       ALTER 01E7E0 4100B018:47F0C99A
       ALTER 01EA92 000000000000:D22BB1B4B018
       ALTER 01EA98 00000000:9240B1E0
       ALTER 01EA9C 000000000000:D22AB1E1B1E0
       ALTER 01EAA2 00000000:4100B1B4
       ALTER 01EAA6 00000000:47F0C6EC
       ALTER 01EB3C 000001B4:00000210
       ALTER 01EF2C 4100B018:47F0C65A
       ALTER 01F26A 000000000000:D22BB1B4B018
       ALTER 01F270 00000000:9240B1E0
       ALTER 01F274 000000000000:D22AB1E1B1E0
       ALTER 01F27A 00000000:4100B1B4
       ALTER 01F27E 00000000:47F0C320
       ALTER 01F2FC 000001B4:00000210
       ALTER 01F8E8 000001B4:00000210
       AFFECTS PHASES=(ZFHRVSVS)
       ALTER 000F24 00000100:00000160
       ALTER 001358 4100B038:47F0C840
       ALTER 001770 000000000000:D22BB100B038
       ALTER 001776 00000000:9240B12C
       ALTER 00177A 000000000000:D22AB12DB12C
       ALTER 001780 00000000:4100B100
       ALTER 001784 00000000:47F0C42C
       ALTER 0030BC 00000100:00000160
       AFFECTS PHASES=(ZFHWVSVS)
       ALTER 004014 00000090:00000150
       ALTER 00482E 4100B038:47F0C9E2
       ALTER 004A3A 000000000000:D22BB090B038
       ALTER 004A40 00000000:9240B11C
       ALTER 004A44 000000000000:D22AB11DB11C
       ALTER 004A4A 00000000:4100B090
       ALTER 004A4E 00000000:47F0C7DA
    /*
    // EXEC LISTLOG
    /&
    * $$ EOJ

    Note

    Though this patch has been developed specifically for the VSAMLITE product, it should be applied in all installations, in case other products have a similar dependency on the size of the dataset name area.

    PKZIP and BIM products

    PKZIP processing may Abend with a protection exception when used in conjunction with a number of BIM products.  This problem is resolved by upgrading the shared BIMVSR subsystem. 
    Specifically, if any of the following products, BIM-BUFF 2.0E, BIM-PACK 4.0G or BIM-JOURNAL 2.2C, are installed without an upgrade to (at least) 1.0I of the BIMVSR subsystem used by all the above products, BIM FIX 16822 must be applied to prevent a protection exception fault.

    PKZIP and REXX

    It is possible to invoke PKZIP and PKUNZIP using REXX.  Users planning to use this facility should be aware of the following:
    1. PKZIP and PKUNZIP complete their processing using the EOJ macro.  Programs invoked by REXX that use this macro should be placed in the table of authorized programs (ARXEOJTB) which allows programs using the EOJ macro to return to REXX rather than terminating the jobstep. 
    2. PKZIP for VSE uses the EOJ cleanup to free some its resources.  Calling PKZIP or PKUNZIP repeatedly without terminating the REXX routine will delay the freeing of these resources, to the extent that PKZIP or PKUNZIP may not execute correctly.

    Date Issued

    January 2001



    P0005-L007-015

    Error Description

    When processing some archives, PKZIP and PKUNZIP can generate the following message
    UNZIP404E ZIP archive file has an invalid format…
    When processed on another platform, the archive is valid.
    In this case, the message occurs because ZIP processing can not find the ZIP directory (also known as the Central End), which is located at the end of the archive (note that this message may also be issued in other circumstances when PKZIP believes the archive is not valid). 
    This problem is typically caused when transferring an archive from another platform to a fixed length file, where there is more than 900 bytes of 'free space' left at the end of the last record (which means that the record length of the target file must be > 1024 bytes).  Even then, it will only happen when the position of the ZIP directory occurs on the boundary of an internal buffer.
    This patch ensures that PKZIP/PKUNZIP detection of the ZIP directory is not impacted by the position of the directory relative to the internal buffer. 
    Corrective Action
    For users with level 7, the following patch should be incorporated into PKZIP and PKUNZIP.

    * $$ JOB ...
    * $$ LST ...
    // JOB PKZAP15
    *  PATCH 15 FOR PKZIP
    // OPTION LOG,NOSYSDUMP
    // LIBDEF *,SEARCH=(PRD1.BASE),TEMP
    // EXEC MSHP
       PATCH SUBLIBRARY=T4ZIP.TST217
       AFFECTS PHASES=(PKZIP)
       ALTER 01D736 41110010:47F0C5A6
       ALTER 01D820 5A70D0B0:47F0C5B4
       ALTER 01DBDE 00000000:41110010
       ALTER 01DBE2 000000000000:D7FF14001400
       ALTER 01DBE8 00000000:47F0C102
       ALTER 01DBEC 00000000:5A70D0B0
       ALTER 01DBF0 00000000:41707100
       ALTER 01DBF4 00000000:47F0C1EC
       AFFECTS PHASES=(PKUNZIP)
       ALTER 01D1FE 41110010:47F0C5A6
       ALTER 01D2E8 5A70D0B0:47F0C5B4
       ALTER 01D6A6 00000000:41110010
       ALTER 01D6AA 000000000000:D7FF14001400
       ALTER 01D6B0 00000000:47F0C102
       ALTER 01D6B4 00000000:5A70D0B0
       ALTER 01D6B8 00000000:41707100
       ALTER 01D6BC 00000000:47F0C1EC
    /*
    // EXEC LISTLOG
    /&
    * $$ EOJ

    Date Issued

    February 2001


    P0005-L007-016

    Error Description

    When compressing multiple files, PKZIP can occasionally Abend with the following message:

    0S03I PROGRAM CHECK INTERRUPTION  - HEX LOCATION 00xxxxxx - INTERRUPTION CODE 01 - OPERATION EXCEPTION

    The failing location will be x' 20A24' from the start of the partition.
    This error is caused by the incorrect use of shared storage by the write processing associated with both the temporary file and ZIP archive.  The problem will only occur when the separate compression and archive handling tasks both attempt to write data at the same time, and some event (typically external to PKZIP) causes VSE to stop one task and dispatch the other at a critical phase in the processing. 
    This problem will only happen when processing multiple files and is more likely on heavily loaded systems with larger files.
    This patch ensures that the shared storage is not re-used. 

    Corrective Action

    For users with level 7, the following patch should be incorporated into PKZIP.

    * $$ JOB ...
    * $$ LST ...
    // JOB PKZAP16
    *  PATCH 16 FOR PKZIP
    // OPTION LOG,NOSYSDUMP
    // LIBDEF *,SEARCH=(PRD1.BASE),TEMP
    // EXEC MSHP
       PATCH SUBLIBRARY=T4ZIP.TST217
       AFFECTS PHASES=(PKZIP)
       ALTER 02090C 5070C0B0:5070900C
       ALTER 020910 5080C0B8:50809010
       ALTER 020C92 41E0C0BC:41E0C12E
    /*
    // EXEC LISTLOG
    /&
    * $$ EOJ

    Note

    Patch 13 must be applied before applying this patch.

    Date Issued

    February 2001


    P0106-L007-017

    Error Description

    This is a compatibility patch. 
    Attributes created by PKZIP for VSE 4.0, or other platforms that are not used on PKZIP for VSE, will result in message 518 when the archive is viewed using VIEWDETAIL.  Message 518 should be changed from a warning message to an information message.  Unknown attributes are usually not a problem, especially when archives are transferred between PKZIP on various platforms or between levels of PKZIP for MVS. 
    This patch ensures that the message 518 is an information message and does not set the return code. 

    Corrective Action

    For users with level 7, the following patch should be incorporated into PKZIPMS.

    * $$ JOB ...
    * $$ LST ...
    // JOB PKZAP17
    *  PATCH 17 FOR PKZIP
    // OPTION LOG,NOSYSDUMP
    // LIBDEF *,SEARCH=(PRD1.BASE),TEMP
    // EXEC MSHP
       PATCH SUBLIBRARY=T4ZIP.TST217
       AFFECTS PHASES=(PKZIPMS)
       ALTER 003352 001A0004:001A0000
       ALTER 003359 E6E49592:C9E49592
    /*
    // EXEC LISTLOG
    /&
    * $$ EOJ

    Date Issued

    June 2001


     

    P0106-L007-018

    Error Description

    This patch fixes two problems:

    When processing an archive that contains a ZIP Comment, the comment is not displayed correctly. This patch fixes this problem by changing the code to look in the correct place for the comment.

    When running UNZIP for a number of files, PKUNZIP may Abend with a ‘lack of storage” related code, for example a U0008 User Abend.

    These Abends are caused because the PKUNZIP component responsible for writing the output files (ZFHWVSVS), does not free all the buffers associated with its processing.

    It is not possible to patch in the changes necessary to free these buffers, so this fix is only available as replacement module for ZFHWVSVS. With this fix applied, most of the storage associated with an output file is released when the file is closed. There is a small amount of “leakage” so storage related Abends are still possible, however this fix will enable most installations to process large numbers of ZIP files in a reasonable size partition.

    Corrective Action

    For users with level 7, the following steps should be used.

    • Obtain a copy of PATCH18.BIN from your supplier or an associated Web Site.
    • Transfer this file to an ICCF library. Typically the easiest way to do this is to transfer the file to the ICCF Host Transfer File, then copy the data to an ICCF library. Note that this transfer must be done without ASII to EBCDIC conversion or CRLF removal, i.e. is a Binary transfer.
    • Use ICCF to update the transferred file, so that the library name used when cataloguing the Object module is the correct library.
    • As a result of this processing, you will have a replacement Object module in the target library. To create an executable module, run the following JCL, changing the library name as required. It should finish with return code of 0.
    * $$ JOB ...
    * $$ LST ...
    // JOB PKZAP18A
    * PATCH 18A FOR PKZIP
    // OPTION LOG,NOSYSDUMP
    // LIBDEF *,SEARCH=T4ZIP.TST217
    // LIBDEF PHASE,CATALOG=T4ZIP.TST217
    // OPTION CATAL
    INCLUDE ZFHWVSVS
    // EXEC LNKEDT
    /*
    // EXEC LISTLOG
    /&
    * $$ EOJ
    This fixes the Storage Abend problem.

    In addition, to ensure that any ZIP Comment displays correctly, the following fix should be incorporated into PKZIP and PKUNZIP: * $$ JOB ...
    * $$ LST ...
    // JOB PKZAP18B
    * PATCH 18B FOR PKZIP
    // OPTION LOG,NOSYSDUMP
    // LIBDEF *,SEARCH=(PRD1.BASE),TEMP
    // EXEC MSHP
    PATCH SUBLIBRARY=T4ZIP.TST217
    AFFECTS PHASES=(PKZIP)
    ALTER 01D88C 18085A00C63C:1E9641008010
    AFFECTS PHASES=(PKUNZIP)
    ALTER 01D354 18085A00C63C:1E9641008010
    /*
    // EXEC LISTLOG
    /&
    * $$ EOJ

    Date Issued

    July 2002


     

    P0106-L007-019

    Error Description

    This patch clarifies and improves PKZIP for VSE handling of multivolume files.:

    PKZIP and PKUNZIP will process multivolume input files and archives. However, PKZIP for VSE does not directly support the creation of multivolume output archives or output files, as PKZIP and PKUNZIP commands that are used to identify target volumes do not support the specification of multiple volumes.

    Support for creating multivolume files is provided indirectly through the use of a VSAM MODEL. Multiple volume output archives and files can be specified using the default MODEL and the OUTMODEL command respectively, when the defaulted or specified MODEL has an appropriate space allocation.

    When creating an output file, PKUNZIP will use the attributes found in the archive to assist in the specification of the new file. If the file being extracted has VSAM attributes, then these will be used by PKUNZIP to override the Model. As these attributes typically include Volume information, processing the attributes included with an archive may result in only a single volume being used (as specified in the attributes). To ensure this is not a problem, the NOATTRIB command is changed by this patch to work with the OUTMODEL command.

    Also included with this patch are a number of updates to OUT commands related to multivolume processing that should clarify their use with the OUTMODEL command.

    Note that this change does not effect the pre-allocation of an output file with the VSAM REUSE parameter, with the file subsequently being used by PKUNZIP with the OVERWRITE command. This method may be used to create multivolume output files with or without this patch.

    Corrective Action

    For users with level 7, the following patch should be incorporated into PKZIP and PKUNZIP.

    • Obtain a copy of PATCH18.BIN from your supplier or an associated Web Site.
    • Transfer this file to an ICCF library. Typically the easiest way to do this is to transfer the file to the ICCF Host Transfer File, then copy the data to an ICCF library. Note that this transfer must be done without ASII to EBCDIC conversion or CRLF removal, i.e. is a Binary transfer.
    • Use ICCF to update the transferred file, so that the library name used when cataloguing the Object module is the correct library.
    • As a result of this processing, you will have a replacement Object module in the target library. To create an executable module, run the following JCL, changing the library name as required. It should finish with return code of 0.
    * $$ JOB ...
    * $$ LST ...
    // JOB PKZAP19
    * PATCH 19 FOR PKZIP
    // OPTION LOG,NOSYSDUMP
    // LIBDEF *,SEARCH=(PRD1.BASE),TEMP
    // EXEC MSHP
    PATCH SUBLIBRARY=T4ZIP.TST217
    AFFECTS PHASES=(ZFHWVSVS)
    ALTER 000756 4770C0E0:47F0C0E0
    AFFECTS PHASES=(ZFSUDFVS)
    ALTER 00E2E2 58609008:47F0CE3E
    ALTER 00E346 00000000:58609008
    ALTER 00E34A 00000000:95002296
    ALTER 00E34E 00000000:4770CDDE
    ALTER 00E352 0000:1766
    ALTER 00E354 00000000:47F0CDDE
    /*
    // EXEC LISTLOG
    /&
    * $$ EOJ

    Note

    Patch 18 must be applied before applying this Patch.

    Date Issued

    January 2004


     

    Manual Updates

    Error Description

    Please use the following instructions (in italics) to update the manual for the indicated commands.

    -OUTATTR

    The note should be updated as follows:

    Note: This value, or a value stored in the file attributes, must be available for UNZIP processing, even when an OUTMODEL is used.

    -OUTKEYS

    A note should be added as follows:

    Note: This value, or a value stored in the file attributes, must be available for UNZIP processing, even when an OUTMODEL is used.

    -OUTMODEL

    A note should be added as follows:

    Note: When creating an output file, PKUNZIP will use the attributes found in the archive to assist in the specification of the new file. If the file being extracted has VSAM attributes, then these may be used by PKUNZIP to override the Model in a way that is not desirable. For example, as Volume information is typically included as an attribute, using the attributes may result in an incorrect volume being used. Where this is a problem, the NOATTRIB command should be specified to ensure that attributes from the archive (i.e. from the original file) are not used.

    To supply PKUNZIP with the information it needs to process the file, the OUTATTR and OUTRECORDSIZE (and for KSDS files, the OUTKEYS) commands may need to be specified to PKUNZIP, even if the equivalent attribute is specified in the identified MODEL.

    -OUTRECORDSIZE

    The last sentence of the note should be updated as follows:

    Note: This value, or a value stored in the file attributes, must be available for UNZIP processing, even when an OUTMODEL is used.