Как преобразовать файл EEBCDIC в формат csv

У меня есть файл данных в формате.eic, и его трудно преобразовать в читаемый формат, любой ввод поможет. Я попробовал некоторые онлайн-инструменты, но тщетно.

Редактировать - добавили Иерархию базы данных, если это помогает конвертировать 1.eic файл в 9 файлов. Набор данных R-3 имеет иерархическую структуру. В попытке сохранить соответствующие отношения между родителями и дочерними записями поле GR-ROOT-KEY предварительно добавляется ко всем выходным дочерним записям. Поле GR-CYCLE-KEY добавляется ко всем дочерним записям родительской записи GR-CYCLE-RECORD.

База данных Hirerachy

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 предпочтительный вид

или запись просмотра:

Просмотр одной записи

Использование 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.

Другие вопросы по тегам