Как преобразовать файл EEBCDIC в формат csv
У меня есть файл данных в формате.eic, и его трудно преобразовать в читаемый формат, любой ввод поможет. Я попробовал некоторые онлайн-инструменты, но тщетно.
Редактировать - добавили Иерархию базы данных, если это помогает конвертировать 1.eic файл в 9 файлов. Набор данных R-3 имеет иерархическую структуру. В попытке сохранить соответствующие отношения между родителями и дочерними записями поле GR-ROOT-KEY предварительно добавляется ко всем выходным дочерним записям. Поле GR-CYCLE-KEY добавляется ко всем дочерним записям родительской записи GR-CYCLE-RECORD.
2 ответа
Определение файла
Файлы выглядят так:
Encoding: Binary Ebcdic (There are Packed-decimal ~ Cobol Comp-3 fields).
Format: Fixed Length
Record Length: 422 bytes
Multi-Record: Yes - I think there are 10 record types in the file
Mainframe JCL Definition: RECFM=FB,LRECL=422,...
Файл - шестнадцатеричный вид
Шестнадцатеричное представление файла (первая строка - Text (ebcdic), следующие 2 строки содержат шестнадцатеричное значение). Это в основном шестнадцатеричное представление мэйнфрейма ISPF Edit Style.
обработка
Для обработки вам действительно нужно Cobol Copybook
(или pl1 и т. д. в зависимости от используемого языка).
Ваши варианты обработки
- Процесс в Cobol / независимо от того, на каком мэйнфрейме / AS400 он был, откуда бы он ни шел.
- RecordEditor (в идеале с тетрадью Cobol)
- JRecord, CobolToXml или другая программа / проект, который может обрабатывать Ebcdic Cobol. Есть некоторые коммерческие пакеты, которые могут.
Файл не подходит для преобразования в Csv (если только вам не нужен заголовок Records). Преобразование в Xml/Json будет возможно.
Просмотр файла
Я разместил описание RecordEditor-Xml здесь:
Вы бы лучше получили Cobol Copybook и использовали его вместо этого!!!
Глядя на файл в RecordEditor в полноэкранном режиме:
или запись просмотра:
Использование RecordEditor - Layout Wizard
Для этого файла было бы намного лучше импортировать Cobol Copybook.
В RecordEditor, Вы можете использовать Layout Wizard (** Record Layout >>> Layout Wizard Menu), чтобы определить файл, хотя это утомительно.
- Поэтому выберите опцию Record Layout >>> Layout Wizard Menu и введите cp037 (US - EBCDIC, есть несколько вариантов EBCDIC, например, cp273 - немецкий Ebcdic)
- Нажмите правую кнопку в нижней части экрана, вам нужно определить длину записи, в этом случае она равна 422:
- Затем введите поле выбора записи, в этом случае оно начинается в столбце 1 и имеет длину 2 байта:
- Далее введите имя записи (вы можете использовать правый клик >>> Generate Names)
- Далее выберите поля, в то время как RecorEditor будет выбирать поля, вам нужно проверить поля и при необходимости откорректировать. Нажатие на начало поля создаст / удалит поле. Вам нужно будет выбрать поля для каждого типа записи
- Затем вам нужно ввести имена полей (для каждого RecordType (вы можете использовать меню правого клика для генерации имен).
Хотя вы можете использовать Layout Wizard для генерации File Description
, это утомительно, гораздо лучше работать с Cobol Copybook.