大型机 pkunzip 生成 PEX013W 记录被截断为 lrecl=

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

我正在通过 ftps 从 Linux 向 z/OS 发送二进制 .gz 文件。文件传输似乎没问题,但是当大型机人员 pkunzip 文件时,他们收到警告:

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

目前我正在发送站点命令:

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.

他们可以在 pkunzip 后读取文件,但是有警告不是一件好事。

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

是否有一组更好的站点命令来将 .gz 文件从 Linux 传输到 z/OS 以避免此错误?

**** 更新 ****

使用下面 SaggingRufus 的回答,事实证明您如何发送 .gz 文件并不重要,只要它是二进制文件即可。他的建议向我们指出了发送到输出文件的 pkunzip 的参数,该参数是 VB 并且从记录中截断了 4 个字节。

由于是可变块文件,记录属性分配了4个字节。分配LRECL为1004的文件就可以了

与其生成 .zip 文件,不如生成一个 .tar.gz 文件并将其传输到 z/OS UNIX? Tar 默认随 z/OS 一起提供,Rocket Software 提供了针对 z/OS.

优化的 gzip 端口