“ ДВОИЧНОЕ
ДЕСЯТИЧНОЕ
[ ШАБЛОН 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 ] v„v T„ , ]
{ DESCENDING [ KEY IS {Имя-Данног°-3}
“OCCURS
целое-2 TIMES[СДВИНУТО ВПРАВО]
[ПРОБЕЛ КОГДА НУЛЬ]
ЗНАЧЕНИЕ]
ЗНАЧ лтера-'-І
Формат 2
66 имя-данного-1 RENAMES имя-данного-2
6
имя-данного-3
Г THROUGH j THRU
[ПО имя-данного-3].
Формат 3
йй , J VALUE IS
88имя-условия-1 ARE
THROUGH ] THRU литерал-
литерал-1
ос і f ЗНАЧЕНИЕ ] , .
88 имя-условия-1 { . TT (литерал-1 [ПО
ІопАЧ j
литерал-2]}....
С и н т а к с и ч e с к и e правила
Номер уровня в формате 1 может быть любым числом от 01 до 49, или 77.
В формате 1 имя-данного-1 или фраза FILLER (ЗАПОЛ* НИТЕЛЬ), если она указана, должны непосредственно следовать за номером уровня. Фраза REDEFINES (ПЕРЕОПРЕДЕЛЯЕТ), если она указана, должна непосредственно следовать за именем- данного-1 или фразой FILLER (ЗАПОЛНИТЕЛЬ), если они ука- заны, иначе она должна непосредственно следовать за номером уровня. Остальные фразы могут следовать в любом порядке.
Фраза PICTURE (ШАБЛОН) должна быть задана для каждого элементарного данного, за исключением индексного дащ ного, для которого употребление этой фразы запрещено.
Слова THRU и THROUGH эквивалентны.
Общие правила
Фразы 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 (ПРОБЕЛ КОГДА НУЛЬ)
Назначение
Фраза BLANK WHEN ZERO (ПРОБЕЛ КОГДА НУЛЬ) позволяет заменить данное пробелом, когда его значение является нулевым.
О б щ и й формат
BLANK WHEN ZERO
.ПРОБЕЛ КОГДА НУЛЬ
Синтаксические правила
Фраза BLANK WHEN ZERO (ПРОБЕЛ КОГДА НУЛЬ) может быть использована только для элементарного данного, шаблон которого определен как числовой или числовой редактируемый (п. 5.9 настоящей части).
Числовые и числовые редактируемые данные, описанные с фразой BLANK WHEN ZERO (ПРОБЕЛ КОГДА НУЛЬ), должны быть явно или неявно описаны как USAGE IS DISPLAY (ДЛЯ ВЫДАЧИ).
О б щ и е правила
Если в описании данного указана фраза BLANK WHEN ZERO (ПРОБЕЛ КОГДА НУЛЬ), и значение этого данного равно нулю, это данное заменяется пробелами.
Если в данном, имеющем числовой шаблон, использована фраза BLANK WHEN ZERO (ПРОБЕЛ КОГДА НУЛЬ), категория данного считается числовой редактируемой.
Фраза имя-данного или FILLER (ЗАПОЛНИТЕЛЬ)
Назначение
Имя данного задает имя описываемого данного. Слово FILLER (ЗАПОЛНИТЕЛЬ) задает элементарное данное в логической записи, к которому явно нельзя обращаться.
Общий формат
имя-данного-1
FILLER
имя-данного-1
ЗАПОЛНИТЕЛЬ
ЗАП
Синтаксические правила
В секциях рабочей памяти, коммуникации, связи или в секции файлов имя-данного или слово FILLER (ЗАПОЛНИТЕЛЬ), если одно из них указано, должны непосредственно следовать в статье описания данного за номером уровня.
ЗАП является сокращением слова ЗАПОЛНИТЕЛЬ.
О б щ и е правила
Если эта фраз опущена, то считается, что в описании дан» ного указана фраза FILLER (ЗАПОЛНИТЕЛЬ).
Слово FILLER (ЗАПОЛНИТЕЛЬ) может быть использовано в качестве имени элементарного данного в записи. К данному FILLER (ЗАПОЛНИТЕЛЬ) запрещено явное обращение.
Тем не менее, слово FILLER (ЗАПОЛНИТЕЛЬ) может использоваться в качестве условной переменной, что не требует явного обращения к данному, названному FILLER (ЗАПОЛНИТЕЛЬ) (а только к его значению).
Фраза JUSTIFIED (СДВИНУТО)
Назначение
Фраза JUSTIFIED (СДВИНУТО) задает нестандартное расположение данных в поле, отведенном для данного.
Общий формат
I
RIGHT
JUSTIFIEDI JUST
СДВИНУТО ВПРАВО
Синтаксические правила
Фраза JUSTIFIED (СДВИНУТО) может быть задана только на уровне элементарного данного.
Фраза JUST является сокращением JUSTIFIED.Фраза JUSTIFIED (СДВИНУТО) не может быть задана для данного, описанного как числовое, числовое редактируемое или буквенно-цифровое редактируемое.
Фраза JUSTIFIED (СДВИНУТО) не может быть задана для индексного данного.
Общие правила
Если принимающее данное описывается с фразой JUSTIFIED (СДВИНУТО) и пересылаемое данное по размеру больше принимающего, то отбрасываются самые левые литеры. Если описание принимающего данного имеет JUSTIFIED (СДВИНУТО) и его размер превышает размер пересылаемого данного, то пересылаемое значение располагается с выравниванием к самой правой позиции литеры и дополняется слева пробелами.
Если фраза JUSTIFIED (СДВИНУТО) опущена, применяются стандартные правила выравнивания элементарных данных (см. ч. 4, п. 4.3.6).
Номер уровня
Назначение
Номер уровня указывает на иерархию данных внутри логической записи. Кроме того, он используется, чтобы определить статьи для |имен-условий,/ данных рабочей памяти, данных связи,
] а также для указания переименований I .
О б щ и й формат
номер-уровня
Синтаксические правила
Номер-уровня обязательно должен быть первым элементом в каждой статье описания данного.
Статьи описания данных, подчиненных статьям FD (ОФ), СР (ОК) или SD (ОС), должны иметь номера уровней от 01 до 49, 1 66 или 88 I .
Статьи описания данных в секции рабочей памяти и секции связи должны иметь номера уровней от 1 до 49, I 66, | 77 | или | |~~88~[.
О б щ и е правила
Номер уровня 01 определяет первую статью в каждом описании записи.
Отдельным статьям, для которых понятие уровня не имеет смысла, присваиваются специальные номера-уровня:
номер-уровня 77 присваивается для определения несвязанных данных рабочей памяти, несвязанных данных, используемых для связи, и может быть использован только в формате 1 статьи описания данных (см. п. 5.3 настоящей части);
номер-уровня 66 определяет статью переименования и может использоваться только в формате 2 статьи описания данных (см. п. 5.3 настоящей части);
номер-уровня 88 присваивается статьям, которые определяют имена условий, связанных с условными переменными, и может быть использован только в формате 3 статьи описания ■ данных (см. п, 5.3 настоящей части).
Несколько статей уровня 01, подчиненных одному и тому же индикатору уровня, отличному от RD (ОО), неявно переопределяют одно и то же поле памяти.
Фраза OCCURS (ПОВТОРЯЕТСЯ)
Назначение
Фраза OCCURS (ПОВТОРЯЕТСЯ) исключает необходимость отдельных статей описания для повторяющихся данных и дает необходимую информацию для индексирования.
Общий формат
Формат 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} . .. ]
Синтаксические правила
Фраза OCCURS (ПОВТОРЯЕТСЯ) не может быть задана в статьях описания данных с номерами уровней 01, | 66, | 77,
88 и в статьях описания данных, имеющих подчиненными переменно повторяющиеся данные.
Имя-данного-1 имя-данного-2 могут быть уточнены.
Имя-данного-2 должно быть либо именем статьи, содержащей фразу OCCURS (ПОВТОРЯЕТСЯ), либо именем статьи, подчиненной статье, содержащей фразу OCCURS (ПОВТОРЯЕТСЯ).
Имя-данного-2 должно быть указано без требуемого для него индексирования.
Если указаны целое-1 и целое-2, то целое-1 должно быть больше или равно 0, а целое-2 должно быть больше целого-1.
Имя-данного-1 должно быть описано как целое.
В формате 2 данное, определенное именем-данного-1, не должно располагаться в области памяти, занимаемой данным, статья описания которого содержит фразу OCCURS (ПОВТОРЯЕТСЯ).
Если фраза OCCURS (ПОВТОРЯЕТСЯ) указана в статье описания данного, включенного в статью описания записи, содержащую фразу EXTERNAL (ВНЕШНЕЕ), то имя-данного-1, если оно указано, должно ссылаться на данное, описанное в том же разделе данных, со свойством EXTERNAL (ВНЕШНЕЕ).
Если фраза OCCURS (ПОВТОРЯЕТСЯ) указана в статье описания данного, подчиненного статье, содержащей фразу GLOBAL (ГЛОБАЛЬНОЕ), то имя-данного-1, если оно указано, должно быть глобальным именем и должно ссылаться на данное, описанное в том же разделе данных.
За статьей описания данного, содержащей фразу OCCURS (ПОВТОРЯЕТСЯ) формата 2, могут следовать только подчиненные ей статьи описания данных.
Данное, определяемое именем-данного-2, не должно содержать фразу OCCURS (ПОВТОРЯЕТСЯ) за исключением случая, когда имя-данного-2 является субъектом статьи.
Между статьями описания данных, указанными именами данных в варианте KEY IS (ПО ВОЗРАСТАНИЮ/УБЫВА
-ПО VKRTRAI4HTC> ? КЛЮЧА {имя-данного-2}. ..
[ИНДЕКСИРУЕТСЯ {имя-индекса-1}... ]
5.8.3. Синтаксические правила
Фраза OCCURS (ПОВТОРЯЕТСЯ) не может быть задана в статьях описания данных с номерами уровней 01, | 66, | 77,
88 и в статьях описания данных, имеющих подчиненными переменно повторяющиеся данные.
Имя-данного-1 имя-данного-2 могут быть уточнены.
Имя-данного-2 должно быть либо именем статьи, содержащей фразу OCCURS (ПОВТОРЯЕТСЯ), либо именем статьи, подчиненной статье, содержащей фразу OCCURS (ПОВТОРЯЕТСЯ).
Имя-данного-2 должно быть указано без требуемого для него индексирования.
Если указаны целое-1 и целое-2, то целое-1 должно быть больше или равно 0, а целое-2 должно быть больше целого-1.
Имя-данного-1 должно быть описано как целое.
В формате 2 данное, определенное именем-данного-1, не должно располагаться в области памяти, занимаемой данным, статья описания которого содержит фразу OCCURS (ПОВТОРЯЕТСЯ).
Если фраза OCCURS (ПОВТОРЯЕТСЯ) указана в статье описания данного, включенного в статью описания записи, содержащую фразу EXTERNAL (ВНЕШНЕЕ), то имя-данного-1, если оно указано, должно ссылаться на данное, описанное в том же разделе данных, со свойством EXTERNAL (ВНЕШНЕЕ).
Если фраза OCCURS (ПОВТОРЯЕТСЯ) указана в статье описания данного, подчиненного статье, содержащей фразу GLOBAL (ГЛОБАЛЬНОЕ), то имя-данного-1, если оно указано, должно быть глобальным именем и должно ссылаться на данное, описанное в том же разделе данных.
За статьей описания данного, содержащей фразу OCCURS (ПОВТОРЯЕТСЯ) формата 2, могут следовать только подчиненные ей статьи описания данных.
Данное, определяемое именем-данного-2, не должно содержать фразу OCCURS (ПОВТОРЯЕТСЯ) за исключением случая, когда имя-данного-2 является субъектом статьи.
Между статьями описания данных, указанными именами данных в варианте KEY IS (ПО ВОЗРАСТАНИЮ/УБЫВА-
; НИЮ КЛЮЧА), и предметом этой статьи не должно быть ста- ; тьи, содержащей фразу OCCURS (ПОВТОРЯЕТСЯ).
Фраза INDEXED BY (ИНДЕКСИРУЕТСЯ) обязательна, (если обращение к предмету этой статьи или статьи, ей подчиненной, 'осуществляется с помощью имени-индекса. Имя-индекса, идентифицируемое этой фразой, не определяется в исходной программе, так как его размещение и формат зависят от машины, и, не будучи данными, имена индексов не могут быть связаны с какой-либо структурой данных.
Имя-индекса-1 должно быть однозначным.