Динамическое чтение COBOL переопределяет с помощью C #

Я делаю программу на C #, которая будет в состоянии динамически читать тетрадь IBM HOST, написанную на языке COBOL, и генерировать из нее таблицу SQL. После того, как таблица сгенерирована, я могу загрузить файл в свою программу, и он будет читать, конвертировать из IMB-37 и вставлять файл в эту таблицу SQL. Пока что я могу справиться почти с чем угодно, хотя у меня возникают проблемы с REDEFINES.

Например:

           10   SOME-FIELD        PIC 9(3)      COMP-3.     SCRRB205
4117       10   SOME-OTHER-FIELD REDEFINES                  3041-17
4117              SOME-FIELD      PIC X(2).                 3041-17

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

 05  STREET-ADDRESS.
       10  ADDRESS-LINE-1               PIC X(20).
       10  ADDRESS-LINE-2               PIC X(20).
   05  PO-BOX REDEFINES STREET-ADDRESS  PIC X(40). 

Я попытался просто игнорировать переопределения, так как они всегда будут занимать одинаковое количество места, но в случае, когда оригинальное поле упаковано, а переопределенное не мне, мне нужно знать, когда распаковывать поле.

Любая помощь с этим была бы удивительной парней!

Ответы на вопрос(2)

Ваш ответ на вопрос