тетрадь мэйнфрейма с предложением переопределения для загрузки данных во внешнюю таблицу oracle - PullRequest
0 голосов
/ 14 апреля 2020

У меня есть переопределение предложения в тетради, которое я должен загрузить во внешнюю таблицу oracle с использованием файла, который был переслан. Ниже приведена информация о тетради. Входящий файл находится в позиционном формате. Должен ли я предполагать, что в записи данных в файле, первые 8 символов для alphanumeri c, а следующие 8 символов для цифры c. Мне просто нужно знать, должен ли я составлять 16 символов для этого, потому что есть другие поля в тетради до и после этого поля.

например,

ENROLLMENT-DT PI C Х (08). ENROLLMENT-DT-N ОБНОВЛЯЕТ ENROLLMENT-DT PI C 9 (08

1 Ответ

0 голосов
/ 15 апреля 2020

Всего разрешено 8 байтов для 2 полей. В этом примере переопределение означает, что 2 поля занимают одну и ту же позицию в записи. Тетрадь позволяет вам рассматривать поле как строковое или текстовое поле

Еще один пример переопределения:

 03  Birth-Date         pic 9(8).
 03  redefines Birth-Date.
     05 Birth-year      pic 9(4)
     05 Birth-Month     pic 99.
     05 Birth-Day       pic 99.

Это позволяет получить доступ к дате как в формате ГГГГММДД, так и в отдельности. Поля Год / Месяц / День

 Move 20180612          to Birth-Date

затем

 Birth-year = 2018
 Birth-Month = 06
 Birth-Day = 12

Аналогично, если вы сделаете

 Move 2020         to Birth-year
 Move 02           to Birth-Month 
 Move 21           to Birth-Day

, тогда Дата рождения = 20200221


Если файл поступает из IBM Mainframe , RecordEditor может отображать позицию / длину полей Cobol Copybook

В опции RecordEditor Утилиты >>> Показать Cobol Copybook a Cobol copybook отображается следующим образом:

Cobol Copybook

, наконец, cb2 xml преобразует тетрадь Cobol для мэйнфреймов до xml (с указанием позиции и длины в Xml).

...