Мэйнфрейм pkunzip генерирует записи PEX013W, которые усекаются до lrecl=
Я отправляю двоичные файлы.gz из Linux в z/OS через ftps. Передача файлов выглядит нормально, но когда мэйнфреймы pkunzip файл, они получают предупреждение:
PEX013W Записи обрезаны до lrecl= 996. Запись # 1 составляет 1000 байтов.
В данный момент отправляю команды сайта:
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 байта от записи.
2 ответа
Поскольку это переменный блочный файл, для атрибутов записи выделено 4 байта. Выделите файл с LRECL 1004, и все будет хорошо.
Вместо того, чтобы создавать файл.zip, возможно, создайте файл.tar.gz и перенесите его в z/OS UNIX? По умолчанию tar поставляется с z / OS, а Rocket Software предоставляет порт gzip, оптимизированный для z/OS.