“ ДВОИЧНОЕ

ДЕСЯТИЧНОЕ


[ ШАБЛОН 1

I щ 1 строка-литер


[ПЕРЕОПРЕДЕЛЯЕТ имя-данного-2]


имя-данного-1 ЗАПОЛНИТЕЛЬ ЗАП


номер-уровня


Г/JUSTIFIEDI 1

{just (RIGHT

[BLANK WHEN ZERO]

[VALUE IS литерал-1].


/ SYNCHRONIZED 1 LEFT

[ SYNC ) [ RIGHT


[INDEXED BY {имя-индекса-1} ... ]


Г [ ASCENDING 1 ,,rv ,

[ DESCENDING / KEY IS <ИМЯанног°-3} • • •

[INDEXED BY {имя-индекса-1} ... ]

OCCURS целое-1 TO целое-2 TIMES DEPENDING

ON имя-данного-4

Г [ ASCENDING ] vv T„ , ]

{ DESCENDING [ KEY IS {Имяанног°-3}


“OCCURS

целое-2 TIMES

[СДВИНУТО ВПРАВО]

[ПРОБЕЛ КОГДА НУЛЬ]


ЗНАЧЕНИЕ]

ЗНАЧ лтера-'-І

Формат 2

66 имя-данного-1 RENAMES имя-данного-2

6

имя-данного-3


Г THROUGH j THRU


6 имя-данного-1 ПЕРЕИМЕНОВЫВАЕТ имя-данного-2

[ПО имя-данного-3].

Формат 3

йй , J VALUE IS

88имя-условия-1 ARE

THROUGH ] THRU литерал-


литерал-1



ос і f ЗНАЧЕНИЕ ] , .

88 имя-условия-1 { . TT (литерал-1 [ПО

ІопАЧ j

литерал-2]}....

  1. С и н т а к с и ч e с к и e правила

  1. Номер уровня в формате 1 может быть любым числом от 01 до 49, или 77.

  2. В формате 1 имя-данного-1 или фраза FILLER (ЗАПОЛ* НИТЕЛЬ), если она указана, должны непосредственно следовать за номером уровня. Фраза REDEFINES (ПЕРЕОПРЕДЕЛЯЕТ), если она указана, должна непосредственно следовать за именем- данного-1 или фразой FILLER (ЗАПОЛНИТЕЛЬ), если они ука- заны, иначе она должна непосредственно следовать за номером уровня. Остальные фразы могут следовать в любом порядке.

  3. Фраза PICTURE (ШАБЛОН) должна быть задана для каждого элементарного данного, за исключением индексного дащ ного, для которого употребление этой фразы запрещено.

  4. Слова THRU и THROUGH эквивалентны.

  1. Общие правила

Фразы SYNCHRONIZED (ВЫДЕЛЕНО), PICTURE (ШАБ­ЛОН), JUSTIFIED (СДВИНУТО) и BLANK WHEN ZERO (ПРО­БЕЛ КОГДА НУЛЬ) могут задаваться только для элементарного данного

.; (2) Формат 3 используется для имени условия. Каждое имя

[ условия определяется отдельной статьей с номером уровня 88.

I В формате 3 указывается имя-условия, а также одно значение, ' несколько значений или диапазон значений, связанных с име- I нем-условия. Статьи имени условия для конкретной условной переменной должны следовать за статьей, описывающей дан-

і ное, к которому относится имя-условия. Имя-условия может от- ' носиться к любому элементарному или групповому данному, за : исключением другого имени условия, индексного данного, дан- : ного с номером уровня 66, или группы, содержащей данные с описанием, включающим фразы JUSTIFIED (СДВИНУТО), ; SYNCHRONIZED (ВЫДЕЛЕНО) или фразу об использовании

(кроме варианта USAGE IS DISPLAY (ДЛЯ ВЫДАЧИ)).

((3) Несколько статей с номером уровня 01, подчиненных одно­му и тому же заданному индикатору уровня, отличному от инди­катора уровня RD (ОО) для статьи описания отчета, переопреде­ляют одно и то же поле памяти.

.5.4. Фраза BLANK WHEN ZERO (ПРОБЕЛ КОГДА НУЛЬ)

  1. Назначение

Фраза BLANK WHEN ZERO (ПРОБЕЛ КОГДА НУЛЬ) позво­ляет заменить данное пробелом, когда его значение является ну­левым.

  1. О б щ и й формат

BLANK WHEN ZERO

.ПРОБЕЛ КОГДА НУЛЬ

  1. Синтаксические правила

  1. Фраза BLANK WHEN ZERO (ПРОБЕЛ КОГДА НУЛЬ) может быть использована только для элементарного данного, шаб­лон которого определен как числовой или числовой редактируемый (п. 5.9 настоящей части).

  2. Числовые и числовые редактируемые данные, описанные с фразой BLANK WHEN ZERO (ПРОБЕЛ КОГДА НУЛЬ), должны быть явно или неявно описаны как USAGE IS DISPLAY (ДЛЯ ВЫ­ДАЧИ).

  1. О б щ и е правила

  1. Если в описании данного указана фраза BLANK WHEN ZERO (ПРОБЕЛ КОГДА НУЛЬ), и значение этого данного равно нулю, это данное заменяется пробелами.

  2. Если в данном, имеющем числовой шаблон, использована фраза BLANK WHEN ZERO (ПРОБЕЛ КОГДА НУЛЬ), катего­рия данного считается числовой редактируемой.

  1. Фраза имя-данного или FILLER (ЗАПОЛНИТЕЛЬ)

    1. Назначение

Имя данного задает имя описываемого данного. Слово FILLER (ЗАПОЛНИТЕЛЬ) задает элементарное данное в логической записи, к которому явно нельзя обращаться.

  1. Общий формат

имя-данного-1

FILLER

имя-данного-1

ЗАПОЛНИТЕЛЬ

ЗАП

  1. Синтаксические правила

  1. В секциях рабочей памяти, коммуникации, связи или в сек­ции файлов имя-данного или слово FILLER (ЗАПОЛНИТЕЛЬ), если одно из них указано, должны непосредственно следовать в статье описания данного за номером уровня.

  2. ЗАП является сокращением слова ЗАПОЛНИТЕЛЬ.

  1. О б щ и е правила

  1. Если эта фраз опущена, то считается, что в описании дан» ного указана фраза FILLER (ЗАПОЛНИТЕЛЬ).

  2. Слово FILLER (ЗАПОЛНИТЕЛЬ) может быть использова­но в качестве имени элементарного данного в записи. К данному FILLER (ЗАПОЛНИТЕЛЬ) запрещено явное обращение.

Тем не менее, слово FILLER (ЗАПОЛНИТЕЛЬ) может исполь­зоваться в качестве условной переменной, что не требует явного обращения к данному, названному FILLER (ЗАПОЛНИТЕЛЬ) (а только к его значению).

  1. Фраза JUSTIFIED (СДВИНУТО)

    1. Назначение

Фраза JUSTIFIED (СДВИНУТО) задает нестандартное рас­положение данных в поле, отведенном для данного.

  1. Общий формат

I

RIGHT

JUSTIFIED

I JUST

СДВИНУТО ВПРАВО

  1. Синтаксические правила

  1. Фраза JUSTIFIED (СДВИНУТО) может быть задана толь­ко на уровне элементарного данного.

  2. Фраза JUST является сокращением JUSTIFIED.Фраза JUSTIFIED (СДВИНУТО) не может быть задана для данного, описанного как числовое, числовое редактируемое или буквенно-цифровое редактируемое.

  3. Фраза JUSTIFIED (СДВИНУТО) не может быть задана для индексного данного.

  1. Общие правила

  1. Если принимающее данное описывается с фразой JUSTI­FIED (СДВИНУТО) и пересылаемое данное по размеру больше принимающего, то отбрасываются самые левые литеры. Если опи­сание принимающего данного имеет JUSTIFIED (СДВИНУТО) и его размер превышает размер пересылаемого данного, то пересы­лаемое значение располагается с выравниванием к самой правой позиции литеры и дополняется слева пробелами.

  2. Если фраза JUSTIFIED (СДВИНУТО) опущена, применя­ются стандартные правила выравнивания элементарных данных (см. ч. 4, п. 4.3.6).

  1. Номер уровня

    1. Назначение

Номер уровня указывает на иерархию данных внутри логиче­ской записи. Кроме того, он используется, чтобы определить ста­тьи для |имен-условий,/ данных рабочей памяти, данных связи,

] а также для указания переименований I .

  1. О б щ и й формат

номер-уровня

  1. Синтаксические правила

  1. Номер-уровня обязательно должен быть первым элементом в каждой статье описания данного.

  2. Статьи описания данных, подчиненных статьям FD (ОФ), СР (ОК) или SD (ОС), должны иметь номера уровней от 01 до 49, 1 66 или 88 I .

  3. Статьи описания данных в секции рабочей памяти и секции связи должны иметь номера уровней от 1 до 49, I 66, | 77 | или | |~~88~[.

  1. О б щ и е правила

  1. Номер уровня 01 определяет первую статью в каждом опи­сании записи.

  2. Отдельным статьям, для которых понятие уровня не имеет смысла, присваиваются специальные номера-уровня:

  1. номер-уровня 77 присваивается для определения несвязан­ных данных рабочей памяти, несвязанных данных, используемых для связи, и может быть использован только в формате 1 статьи описания данных (см. п. 5.3 настоящей части);

  2. номер-уровня 66 определяет статью переименования и может использоваться только в формате 2 статьи описания дан­ных (см. п. 5.3 настоящей части);

  3. номер-уровня 88 присваивается статьям, которые опреде­ляют имена условий, связанных с условными переменными, и может быть использован только в формате 3 статьи описания ■ данных (см. п, 5.3 настоящей части).

  1. Несколько статей уровня 01, подчиненных одному и тому же индикатору уровня, отличному от RD (ОО), неявно переопреде­ляют одно и то же поле памяти.

  1. Фраза OCCURS (ПОВТОРЯЕТСЯ)

    1. Назначение

Фраза OCCURS (ПОВТОРЯЕТСЯ) исключает необходимость отдельных статей описания для повторяющихся данных и дает не­обходимую информацию для индексирования.

  1. Общий формат

Формат 1

OCCURS целое-2 TIMES

[[ ASCENDING 1 I DESCENDING

KEY IS {имя-данного-2} . . .





[INDEXED BY {имя-индекса-1} ... ]


ПОВТОРЯЕТСЯ целое-2 РАЗ

Г__ [ ВОЗРАСТАНИЮ) .ПІГПІД , 1

[П° ( УБЫВАНИЮ l1'-71104* !«<я-ла»ного-2). . .


[ИНДЕКСИРУЕТСЯ {имя-индекса-1}.. . ]



Формат 2

OCCURS целое-1 ТО целое-2 TIMES DEPENDING ON имя-данного-1

[[ ASCENDING )

I DESCENDING | KEY IS

[INDEXED BY {имя-индекса-1} . . . ]

ПОВТОРЯЕТСЯ ОТ целое-1 ДО целое-2 РАЗ 4(ВОЗРАСТАНИЮ 1 lznv>17ft ,
ПО УБЫВАНИЮ КЛЮЧА {имя-данного-2} . ..

[ИНДЕКСИРУЕТСЯ {имя-индекса-1} . .. ]

  1. Синтаксические правила

  1. Фраза OCCURS (ПОВТОРЯЕТСЯ) не может быть задана в статьях описания данных с номерами уровней 01, | 66, | 77,

88 и в статьях описания данных, имеющих подчиненными пере­менно повторяющиеся данные.

  1. Имя-данного-1 имя-данного-2 могут быть уточнены.

  2. Имя-данного-2 должно быть либо именем статьи, содер­жащей фразу OCCURS (ПОВТОРЯЕТСЯ), либо именем статьи, подчиненной статье, содержащей фразу OCCURS (ПОВТОРЯ­ЕТСЯ).

  3. Имя-данного-2 должно быть указано без требуемого для него индексирования.

  4. Если указаны целое-1 и целое-2, то целое-1 должно быть больше или равно 0, а целое-2 должно быть больше целого-1.

  5. Имя-данного-1 должно быть описано как целое.

  6. В формате 2 данное, определенное именем-данного-1, не должно располагаться в области памяти, занимаемой данным, статья описания которого содержит фразу OCCURS (ПОВТО­РЯЕТСЯ).

  7. Если фраза OCCURS (ПОВТОРЯЕТСЯ) указана в статье описания данного, включенного в статью описания записи, содер­жащую фразу EXTERNAL (ВНЕШНЕЕ), то имя-данного-1, если оно указано, должно ссылаться на данное, описанное в том же раз­деле данных, со свойством EXTERNAL (ВНЕШНЕЕ).

  8. Если фраза OCCURS (ПОВТОРЯЕТСЯ) указана в статье описания данного, подчиненного статье, содержащей фразу GLO­BAL (ГЛОБАЛЬНОЕ), то имя-данного-1, если оно указано, долж­но быть глобальным именем и должно ссылаться на данное, опи­санное в том же разделе данных.

  9. За статьей описания данного, содержащей фразу OCCURS (ПОВТОРЯЕТСЯ) формата 2, могут следовать толь­ко подчиненные ей статьи описания данных.

  10. Данное, определяемое именем-данного-2, не должно со­держать фразу OCCURS (ПОВТОРЯЕТСЯ) за исключением случая, когда имя-данного-2 является субъектом статьи.

Между статьями описания данных, указанными имена­ми данных в варианте KEY IS (ПО ВОЗРАСТАНИЮ/УБЫВА

-ПО VKRTRAI4HTC> ? КЛЮЧА {имя-данного-2}. ..

[ИНДЕКСИРУЕТСЯ {имя-индекса-1}... ]

5.8.3. Синтаксические правила

  1. Фраза OCCURS (ПОВТОРЯЕТСЯ) не может быть задана в статьях описания данных с номерами уровней 01, | 66, | 77,

88 и в статьях описания данных, имеющих подчиненными пере­менно повторяющиеся данные.

  1. Имя-данного-1 имя-данного-2 могут быть уточнены.

  2. Имя-данного-2 должно быть либо именем статьи, содер­жащей фразу OCCURS (ПОВТОРЯЕТСЯ), либо именем статьи, подчиненной статье, содержащей фразу OCCURS (ПОВТОРЯ­ЕТСЯ).

  3. Имя-данного-2 должно быть указано без требуемого для него индексирования.

  4. Если указаны целое-1 и целое-2, то целое-1 должно быть больше или равно 0, а целое-2 должно быть больше целого-1.

  5. Имя-данного-1 должно быть описано как целое.

  6. В формате 2 данное, определенное именем-данного-1, не должно располагаться в области памяти, занимаемой данным, статья описания которого содержит фразу OCCURS (ПОВТО­РЯЕТСЯ).

  7. Если фраза OCCURS (ПОВТОРЯЕТСЯ) указана в статье описания данного, включенного в статью описания записи, содер­жащую фразу EXTERNAL (ВНЕШНЕЕ), то имя-данного-1, если оно указано, должно ссылаться на данное, описанное в том же раз­деле данных, со свойством EXTERNAL (ВНЕШНЕЕ).

  8. Если фраза OCCURS (ПОВТОРЯЕТСЯ) указана в статье описания данного, подчиненного статье, содержащей фразу GLO­BAL (ГЛОБАЛЬНОЕ), то имя-данного-1, если оно указано, долж­но быть глобальным именем и должно ссылаться на данное, опи­санное в том же разделе данных.

  9. За статьей описания данного, содержащей фразу OCCURS (ПОВТОРЯЕТСЯ) формата 2, могут следовать толь­ко подчиненные ей статьи описания данных.

  10. Данное, определяемое именем-данного-2, не должно со­держать фразу OCCURS (ПОВТОРЯЕТСЯ) за исключением случая, когда имя-данного-2 является субъектом статьи.

  11. Между статьями описания данных, указанными имена­ми данных в варианте KEY IS (ПО ВОЗРАСТАНИЮ/УБЫВА-

; НИЮ КЛЮЧА), и предметом этой статьи не должно быть ста- ; тьи, содержащей фразу OCCURS (ПОВТОРЯЕТСЯ).

  1. Фраза INDEXED BY (ИНДЕКСИРУЕТСЯ) обязательна, (если обращение к предмету этой статьи или статьи, ей подчиненной, 'осуществляется с помощью имени-индекса. Имя-индекса, иденти­фицируемое этой фразой, не определяется в исходной программе, так как его размещение и формат зависят от машины, и, не буду­чи данными, имена индексов не могут быть связаны с какой-либо структурой данных.

  2. Имя-индекса-1 должно быть однозначным.