Search code examples
ftpgzipmainframezospkzip

Mainframe pkunzip generates PEX013W Record(s) being truncated to lrecl=


I'm sending binary .gz files from Linux to z/OS via ftps. The file transfers seem to be fine, but when the mainframe folks pkunzip the file, they get a warning:

PEX013W Record(s) being truncated to lrecl= 996. Record# 1 is 1000 bytes.

Currently I’m sending the site commands:

SITE TRAIL
200 SITE command was accepted
SITE CYLINDERS PRIMARY=50 SECONDARY=50
200 SITE command was accepted
SITE RECFM=VB LRECL=1000 BLKSIZE=32000
200 SITE command was accepted
SITE CONDDISP=delete
200 SITE command was accepted
TYPE I
200 Representation type is Image
... 
250 Transfer completed successfully.
QUIT
221 Quit command received. Goodbye.

They could read the file after the pkunzip, but having a warning is not a good thing.

Output from pkunzip:

SDSF OUTPUT DISPLAY RMD0063A JOB22093  DSID   103 LINE 25      COLUMNS 02- 81 
COMMAND INPUT ===>                                            SCROLL ===> CSR 
PCM123I Authorized services are unavailable.                                  
PAM030I INPUT  Archive opened:  TEST.FTP.SOA5021.GZ                        
PAM560I ARCHIVE FASTSEEK processing is disabled.                              
PDA000I  DDNAME=SYS00001,DISP_STATUS=MOD,DISP_NORMAL=CATALOG,DISP_ABNORMAL=   
PDA000I     SPACE_TYPE=TRK,SPACE_TYPE=CYL,SPACE_TYPE=BLK                      
PDA000I     SPACE_PRIMARY=4194304,SPACE_DIRBLKS=5767182,INFO_ALCFMT=00        
PDA000I     VOLUMES=DPPT71,INFO_CNTL=,INFO_STORCLASS=,INFO_MGMTCLASS=         
PDA000I     INFO_DATACLASS=,INFO_VSAMRECORG=00,INFO_VSAMKEYOFF=0              
PDA000I     INFO_COPYDD=,INFO_COPYMDL=,INFO_AVGRECU=00,INFO_DSTYPE=00         
PEX013W Record(s) being truncated to lrecl= 996. Record# 1 is 1000 bytes.    
PEX002I TEST.FTP.SOA5021                                                   
PEX003I Extracted to TEST.FTP.SOA5021I.TXT                                 
PAM140I FILES:   EXTRACTED  EXCLUDED  BYPASSED  IN ERROR                      
PAM140I                  1         0         0         0                      
PMT002I PKUNZIP processing complete. RC=00000004 4(Dec) Start: 12:59:48.86 End

Is there a better set of site commands to transfer a .gz file from Linux to z/OS to avoid this error?

**** Update ****

Using SaggingRufus's answer below, it turns out it doesn't much matter how you send the .gz file, as long as it's binary. His suggestion pointed us to the parameters sent to the pkunzip for the output file, which was VB and was truncating 4 bytes off the record.


Solution

  • Because it is a variable block file, there are 4 bytes allocated to the record attributes. Allocate the file with an LRECL of 1004 and it will be fine.