Итак, вам не хватает ключевой информации здесь.Вы бы на самом деле хотели файл дескриптора базы данных IMS (DBD) в дополнение к макету, который вы вставили.Файл IMS DBD будет описывать структуру базы данных.В базе данных IMS может быть много сегментов (или таблиц), которые DBD будет описывать в дополнение к другой информации, такой как размер этих таблиц.
Фактические записи будут храниться в плоском файле (вероятно,2.7gb ASCII-файл, который вы упомянули) в глубоком первом формате.Допустим, у вас было два сегмента A и B, где B - дочерний элемент A. Ваш плоский файл может выглядеть так: A1, B1, B2, B3, A2, B4, B5, где B1, B2 и B3 - дочерние элементы A1 иВ4 и В5 - дети А2.Причина в том, что ваша информация о макете обеспечивает наложение только для определенной структуры сегмента.
Так что, если в вашей базе данных было более одного сегмента UIMNH10, вы не будете знать, где в файле ASCII применить ваш файл.отправная точка для макета.
Теперь давайте сделаем ОГРОМНОЕ предположение, что ваша база данных имеет только один сегмент UIMNH10.В этом случае ваш ASCII-файл будет выглядеть так: A1, A2, A3, A4.Это довольно просто, поскольку вы неоднократно применяете свой макет к данным.
К счастью, ваши структуры данных довольно просты, поскольку это все символьные данные.Вы бы интерпретировали PIC X (n) как строку символов длиной n.Точно так же для PIC 9 (n), который будет числовой символьной строкой длины n.
Предполагается, что ваши примерные данные начинаются с: AA201805 ...
RRC-H10-SEGMENT-ID is 'AA' because it's PIC X(2)
MN-H10-CENTURY is '20' because it's PIC 9(2)
MN-H10-YEAR is '18' because it's PIC 9(2)
MN-H10-MONTH is '05' because it's PIC 9(2)
Вы будете делать это доВы достигаете конца макета и затем начинаете снова с начала следующей записи.Это также делает ASSUMPTION , что определение макета MATCHES длина вашей записи.
Лучше всего работать с администратором базы данных IMS, чтобы подтвердить эти предположенияно как только вы получите представление о своих отправных точках, вы сможете составить карту самостоятельно или написать быструю программу, которая сделает это за вас.Есть и другие альтернативы, но это предполагает некоторую внутреннюю настройку для таких вещей, как поддержка SQL, для чтения и выгрузки данных в формат файла csv для Excel.