TSO / MVS проблема загрузки - PullRequest
       26

TSO / MVS проблема загрузки

2 голосов
/ 23 февраля 2009

Я загружаю файл ebcdic (преобразованный из ascii) из ОС Windows в мейнфрейм. Моя проблема в том, что когда я проверял файл после загрузки, я вижу много новых строк. Когда я попытался проверить его с помощью шестнадцатеричного дампа, я обнаружил, что когда мэйнфрейм видит x'15 ', он переводит его в новую строку. В этом файле есть упакованные десятичные дроби, так что в шестнадцатеричном коде может быть, скажем, x'001500001c ', но когда я загружаю его, мейнфрейм принял его за новую строку. Кто-нибудь может мне помочь с этой проблемой?

Ответы [ 2 ]

2 голосов
/ 23 февраля 2009

Вы должны перевести ваш FTP-клиент (или библиотеку, если загрузка выполняется вашим кодом) в двоичный (IMAGE TYPE) режим вместо ascii / EBCDIC, если вы отправляете файл уже в EBCDIC, я считаю.

1 голос
/ 23 февраля 2009

Это зависит от типа целевого «файла», в который вы загружаете.

Если вы загружаете на элемент с фиксированным размером блока (например, FB80), вам необходимо убедиться, что все строки заполнены пробелами, прежде чем передать его (в двоичном режиме).

Передачи в текстовом режиме не подходят для двоичных файлов (и ваши файлы являются двоичными, если они содержат упакованные десятичные дроби - для FTP нет надежного способа обнаружения реальных символов конца строки).

Вам потребуется исправить конвертер Windows ASCII-в-EBCDIC, чтобы иметь возможность генерировать записи фиксированной длины.

Единственный другой вариант - использование сценария REXX на мэйнфрейме, но для этого все равно потребуется возможность определить разницу между реальным маркером конца строки и этим маркером в двоичных данных.

Возможно, вы могли бы сказать о наличии упакованного десятичного знака в силу того факта, что он состоял из нибблов BCD, последний из которых 0xC или 0xD, но это также могло привести к ложным срабатываниям или отрицаниям.

Мой совет: когда вы конвертируете его из ASCII в EBCDIC, одновременно добавьте строки к нужной длине записи.

Еще один момент, на который я хотел бы обратить внимание: если вы просто хотите посмотреть файлы на мэйнфрейме (не используйте их из кода, требующего EBCDIC), редактор ISPF содержит несколько новых команд (начиная с z / OS 1.9, если я правильно помню).

SOURCE ASCII будет отображать данные в формате ASCII, а не EBCDIC. Кроме того, команда LF позволяет вам массировать поток ASCII в элементе FB, чтобы правильно исправить окончания строки.

...