РАЗДЕЛ ИДЕНТИФИКАЦИИ В МОДУЛЕ МЕЖПРОГРАММНЫ К
СВЯЗЕЙ
Параграф PROGRAM-ID (ПРОГРАММА) и вложенные исходные программы
Назначение
Параграф PROGRAM-ID (ПРОГРАММА) определяет имя, по которому идентифицируется программа, и присваивает этой программе выбранные атрибуты.
З.Е2. Общий формат
Р R О G R А М -1D. п м я - п р о г р а м м ы
те f COMMON 1 ПППГГ1,., 1
IS( INTfiAL- jPROGRAM]-
С
Г( ОБЩАЯ |
і НАЧАЛЬНАЯ /
ПРОГРАМА4А. имя-программы
Имя-программы должно соответствовать правилам образования слов, определяемых пользователем.
Программе, содержащейся в другой программе, нельзя присваивать имя, которое уже имеет некоторая другая программа, содержащаяся в отдельно компилируемой программе, которая содержит эту программу.
Необязательная фраза COMMON (ОБЩАЯ) может использоваться только тогда, когда программа содержится в другой программе.
Общие правила
Имя-программы идентифицирует исходную программу, объектную программу и все листинги, относящиеся к конкретной программе.
Фраза COMMON (ОБЩАЯ) указывает, что программа является общей. Общая программа содержится в другой программе и может быть вызвана не только из программы, в которой она содержится, но и из других программ (см. п. Г.3.8 настоящей части).
Фраза INITIAL (НАЧАЛЬНАЯ) указывает, что программа является начальной. При вызове начальной программы она и все содержащиеся в ней программы устанавливаются в их начальное состояние (см. п. 2.4 настоящей части).
РАЗДЕЛ ДАННЫХ В МОДУЛЕ МЕЖПРОГРАММНЫХ СВЯЗЕЙ
Секция связи
Секция связи находится в разделе данных исходной программы. Секция связи появляется в вызываемой программе и описывает данные, к которым будет обращаться и вызывающая и вызываемая программа.
Секция связи в программе необходима тогда и только тогда, когда объектная программа должна работать под управлением оператора CALL (ВЫЗВАТЬ) и оператор CALL (ВЫЗВАТЬ) в вызывающей программе содержит фразу USING (ИСПОЛЬЗУЯ). Секция связи используется для описания данных, которые доступны через вызывающую программу, но к которым можно обращаться как в вызывающей, так и в вызываемой программе. Механизм, с помощью которого устанавливается соответствие между данными, описанными в секции связи вызываемой программы, и данными, описанными в вызывающей программе, рассматривается в пп. 5.1 и 5.2 настоящей части. Для имен индексов такое соответствие не устанавливается, и имена индексов в вызываемой и вызывающей программах всегда ссылаются на отдельные индексы.Секция связи имеет такую же структуру, как и ранее описанная секция рабочей памяти. Сначала записывается заголовок секции,, за ним следуют статьи описания несвязанных данных и (или) статьи описания записей.
Ниже приведен общий формат секции связи.
LINKAGE SECTION. •
статья-описания-уровня-77 статья-описания-записи ]
СЕКЦИЯ СВЯЗИ.
Г статья-описания-уровня-77 1
[ статья-описания-записи J
Если к данному секции связи обращаются в программе, которая не является вызываемой, результат не определен.
Н е с в я з а н н а я память
Данные в секции связи, которые не находятся в иерархическом отношении друг с другом, нет необходимости группировать в записи. Такие данные классифицируются и определяются как несвязанные элементарные данные. Каждое из этих данных определяется отдельной статьей описания данного, которая начинается специальным номером уровня 77.
В каждой статье описания данного необходимы следующие фразы:
номер-уровня-77
имя-данного
фраза PICTURE (ШАБЛОН) или фраза USAGE IS INDEX (ДЛЯ ИНДЕКСА).
Другие статьи описания данных необязательны и могут использоваться в случае необходимости для завершения описания данного.
Записи секции связи
Элементы данных в секции связи, которые состоят в определенных иерархических отношениях друг с другом, должны быть сгруппированы в записи в соответствии с правилами формирования описаний записей. Данные в секции связи, которые не состоят в иерархических отношениях с другими данными, могут быть описаны как записи, представляющие собой одиночные элементарные данные.
Начальные значения
Фраза VALUE (ЗНАЧЕНИЕ) не должна задаваться в секции связи. Исключение составляют статьи имен-условий (уровень 88).
Статья описания файла в модуле межпрограммных связей
Назначение
Внутри модуля межпрограммных связей статья описания файла в секции файлов определяет внутренние или внешние атрибуты определителя файла, соответствующих записей данных в соответствующих данных. Кроме того, статья описания файла устанавливает, является имя файла локальным или глобальным.Общий формат
Формат 1
FD имя-файла-1
[IS EXTERNAL]
[IS GLOBAL]
{
CONTAINS целое-3 CHARACTERS
IS VARYING IN SIZE [ [FROM целое-4]
[TO целое-5] CHARACTERS]
KtWKU] [DEPENDING ON имя-данного-1]
CONTAINS діелое-6 TO целое-7 CHARACTERS
' jRECORD IS I / STANDARD 1 I RECORDS ARE | | OMITTED ]
' . f , T„ (имя-данного-2
VALUE OF { имя-реализации-1 IS] [ [литерал-1
[RECORD IS ] ,
RECORDS ARE | • •• J
L
AT
INAGE IS І“м»-Аан"ог<>-4 I LINES Г WITH FOOTING целое-8имя-данного-5 целое-9
A
LINES
T TOP ! имя‘Данного’6|I целое-10 I
имя-данного-7 целое-11
LINES AT BOTTOM
[CODE-SET IS имя-алфавита-1].
ОФ имя-файла-1 [ВНЕШНЕЕ] [ГЛОБАЛЬНОЕ]В БЛОКЕ (ОТ целое-1 ДО] целое-2
целое-3 ЛИТЕР
ПЕРЕМЕННОЕ ЧИСЛО [[ОТ целое-4]
В ЗАПИСИ I [ДО целое-5] ЛИТЕР]
[В ЗАВИСИМОСТИ ОТ имя-данного-1]
ОТ целое-6-ДО целое-7 ЛИТЕР
МЕТКИ
— ] ОПУЩЕНЫ )
'[ ЗНАЧЕНИЕ ] , , ( имя-данного-2 к
J (имя-Реализации‘1 (литерал.і
[ЗАПИСИ ДАННЫХ {имя-данного-3} ... ]
[ВЕРСТКА[™дОДа3ННОГО'4 } СТРОК [ КОНЦОВКА ОТ f имя-данного-5 Г
[ целое-9 J
[ ВЕРХНЕЕ ПОЛЕ [ имя-данного-6 11
[ [целое-10 JJ
[ НИЖНЕЕ ПОЛЕ f имя-данного-7 111
[ I целое-11 IJ I
[АЛФАВИТ имя-алфавита-1].
Формат 2
FD имя-файла-1
[IS EXTERNAL] [IS GLOBAL]
f BLOCK CONTAINS [целое-1 TO] целое-2 [ ~EC0-P-S- 1 —J [CHARACTERS
CONTAINS целое-3 CHARACTERS
I
RECORD
S VARYING IN SIZE [[FROM целое-4] [TO целое-5] CHARACTERS] [DEPENDING ON имя-данного-1]CONTAINS целое-6 TO целое-7 CHARACTERS
Г IRECORD IS И STANDARD 11
1 -LA- — I RECORDS ARE j ( OMITTED )
VALUE OF {имя-реализации-1 IS | ™^ЄрадН|°Г°'2 j) • • •
{ RECORDS ARE } <ИМЯ-Аанног°-3} • • • J »
ОФ имя-файла-1
[
ЗАПИСЕЙ ]
ЛИТЕР j
ВНЕШНЕЕ] [ГЛОБАЛЬНОЕ][В БЛОКЕ [ОТ целое-1 ДО] целое-2
целое-3 ЛИТЕР
ПЕРЕМЕННОЕ ЧИСЛО [ [ОТ целое-4]
[
В ЗАПИСИ(
ДО целое-5] ЛИТЕР][В ЗАВИСИМОСТИ ОТ имя-данного-1] '
ОТ целое-6 ДО целое-7 ЛИТЕР
имя-данного-2 литерал-1
имя-реализации-1
Г(ЗНАЧЕНИЕ
І ЗНАЧ
СТАНДАРТНЫ
ОПУЩЕНЫ
МЕТКИ
[ЗАПИСИ ДАННЫХ {имя-данного-3} ... ].
Формат 3
FD имя-файла-1
[IS EXTERNAL]
[IS GLOBAL]
BLOCK CONTAINS [целое-1 TO] целое-2 CHARACTERS
DPrrwn I CONTAINS целое-3 CHARACTERS ]
I CONTAINS целое-6 TO целое-7 CHARACTERS]Г (RECORD IS 1(STANDARD 11
- I RECORDS ARE / ( OMITTED j
„лгпслсг 1 тс ( ИМЯ-ДаННОГО-2] ,
VALUE OF {имя-реализации-1 IS/ , )}...
r [литерал-1 j
[CODE-SET IS имя-алфавита]
R
{имя-отчета-1} ... .
EPORT ISREPORTS ARE
ОФ имя-файла-1
[
ЗАПИСЕЙ 11
ЛИТЕР /]
ВНЕШНЕЕ] [ГЛОБАЛЬНОЕ]В БЛОКЕ [ОТ целое-1 ДО] целое-2
В ЗАПИСИ /целое'3 ЛИТЕР
ОТ целое-6 ДО целое-7 ЛИТЕР
имя-данного-2 литерал-1
имя-реализации-1
ЗНАЧЕНИЕ [ ЗНАЧ
СТАНДАРТНЫ
ОПУЩЕНЫ
МЕТКИ
[АЛФАВИТ имя-алфавита-1]
ОТЧЕТ 1
ОТЧЕТЫ j {имя-отчета-1} . .. .
Синтаксические правила
Формат 1 — это статья описания последовательного файла. Присутствие конкретных фраз в этой статье описания файла зависит от уровня модуля последовательного ввода-вывода, обеспечиваемого реализацией (см. ч. 7, п. 3.2).
Формат 2 — это статья описания относительного файла или индексного файла. Присутствие конкретных фраз в этой статье описания файла зависит от уровня модуля относительного ввода- вывода или модуля индексного ввода-вывода, обеспечиваемого реализацией (см. ч. 8, п. 3.2, ч. 9, п. 3.2) .
Формат 3 — это статья описания файла отчетов. Наличие статьи описания для файла отчетов зависит от того, обеспечивается ли модуль генератора отчетов в данной реализации (ч. 13, п. 3.2).
Об щ и е правила
Если статья описания последовательного файла содержит фразу LINAGE (ВЕРСТКА) и фразу EXTERNAL (ВНЕШНЕЕ), данное LINAGE-COUNTER (СЧЕТЧИК-ВЕРСТКИ) является внешним данным. Если статья описания последовательного файла содержит фразу LINAGE (ВЕРСТКА) и фразу GLOBAL (ГЛОБАЛЬНОЕ), специальный регистр LINAGE-COUNTER (СЧЕТЧИК-ВЕРСТКИ) является глобальным именем.
Фраза EXTERNAL (ВНЕШНЕЕ) описана в п. 4.5. Фраза GLOBAL (ГЛОБАЛЬНОЕ) описана в п. 4.6. Все остальные фразы в Статье описания файла описаны в соответствующем модуле в этих спецификациях.
Статья описания данного в модуле межпрограммных связен
Назначение
В модуле межпрограммных связей статья описания данного уровня 01 в секции рабочей памяти или в секции файлов устанавливает, какие имена — локальные или глобальные, имеет запись данных и подчиненные ей данные.
В модуле межпрограммных связей статья описания данного уровня 01 в секции рабочей памяти определяет атрибут «внутреннее» или «внешнее» для записи данного и подчиненных ей данных.
Общий формат
лЛГ имя-данного-1 1
|L FILLER J
[REDEFINES имя-данного-2]
[IS EXTERNAL]
[IS GLOBAL]
П PICTURE
j PIC
IS строка-литер
BINARY
COMPUTATIONAL
C
USAGE IS
OMPDISPLAY
INDEX
PACKED-DECIMA
L
[SIGN IS]
LEADING 1
TRAILING I
[SEPARATE CHARACTER] ]
OCCURS целое-2 TIMES
[(ASCENDING ]
I DESCENDING J KEY S {имя-Данног°-3>
[INDEXED BY {имя-индекса-1}... ]
OCCURS целое-1 TO целое-2 TIMES DEPENDING ON имя-данного-4
(ASCENDING ] TC , 1
I DESCENDING | KEY ,S ї""’-""""™-3) • • •] ••
[INDEXED BY {имя-индекса-1}... ]
Г( SYNCHRONIZED [ LEFT 1
( SYNC j [ RIGHT
"(JUSTIFIED 1 птгт,т/
I JUST (RIGHT
[BLANK WHEN ZERO]
[VALUE IS литерал-1].
01
имя-данного-1
ЗАП
ЗАПОЛНИТЕЛЬ
[ПЕРЕОПРЕДЕЛЯЕТ имя-данного-2]
[ВНЕШНЕЕ] [ГЛОБАЛЬНОЕ]
ШАБЛОН I [ строка-литер
ДЛЯ
ДВОИЧНОЕ
ВЫЧИСЛЕНИЙ ВЫЧ ВЫДАЧИ ИНДЕКСА
ДЕСЯТИЧНОЕ
[ЗНАК]
ПЕРВЫЙ ПОСЛЕДНИЙ
[ОТДЕЛЬНО]
"ПОВТОРЯЕТСЯ целое-2 РАЗ
[ВОЗРАСТАНИЮ 1
ПО. { УБЫВАНИЮ ' ) КЛ10ЧА
{имя-данного-3}...
[ИНДЕКСИРУЕТСЯ {имя-индекса-1} ... ]
ПОВТОРЯЕТСЯ ОТ целое-1 ДО целое-2 РАЗ
В ЗАВИСИМОСТИ ОТ имя-данного-4
„„ [ ВОЗРАСТАНИЮ 1 vП„Х1 А
I УБЫВАНИЮ—|КЛЮЧА
{имя-данного-3}...
[ИНДЕКСИРУЕТСЯ {имя-индекса-1} ... ]
В
ВЫДЕЛЕНО
ЛЕВО ВПРАВО[СДВИНУТО ВПРАВО] [ПРОБЕЛ КОГДА НУЛЬ]
литерал-1
' I ЗНАЧЕНИЕ. і ЗНАЧ
Синтаксические правила
Наличие конкретных фраз в статье описания данного зави- сит от уровни ядра, обеспечиваемого в данной реализации (см. ч. 6, п. 5.3).
Фраза EXTERNAL (ВНЕШНЕЕ) может быть задана только в статьях описания данных уровня 01 в секции рабочей памяти.
Фраза EXTERNAL (ВНЕШНЕЕ) и фраза REDEFINES (ПЕРЕОПРЕДЕЛЯЕТ) не должны задаваться в одной и той же статье описания данного.
Фраза GLOBAL (ГЛОБАЛЬНОЕ) может быть задана только в статьях описания данных уровня 01.
Имя-данного-1 должно быть задано, для любой статьи, содержащей фразу GLOBAL (ГЛОБАЛЬНОЕ) или EXTERNAL (ВНЕШНЕЕ), или для описаний записей, связанных со статьей описания файла, которая содержит фразу EXTERNAL (ВНЕШ- НЕЕ) или GLOBAL (ГЛОБАЛЬНОЕ).Общие правила
(О I Фраза EXTERNAL (ВНЕШНЕЕ) описана в п. 4,5. Фраза [ I GLOBAL (ГЛОБАЛЬНОЕ) описана в п. 4.6. | Все другие фразы статьи описания данного описываются в модуле Ядро (см. ч. 6, н. 5.3).
Статья описания отчета в модуле межпрограммных связей
Назначение
В модуле межпрограммных связей статья описания отчета в секции отчетов устанавливает, является имя отчета локальным именем или глобальным.
Общий формат
R
[HEADING целое-2]
t) имя-отчета-1
'[ CONTROL IS 1 I CONTROLS ARE j |
[{имя-данного-1}... I’ 1 FINAL [имя-данного-l] ... [ |
(IS GLOBAL]
[СОРЕ литерал-1]
Г [LIMIT IS ] .[LINE
і -AGE [ LIMITS ARE )ЦЄЛ0Є' [LINES
[FIRST DETAIL целое-3] [LAST DETAIL целое-4]
FOOTING целое-5].
ОО имя-отчета-1
[ГЛОБАЛЬНОЕ]
[С КОДОМ литерал-1]
{
УПРАВЛЕНИЕ ПО
имя-данного-1} . . .КОНЦУ [имя-данного-1]
[РАЗМЕР СТРАНИЦЫ целое-1 СТРОК
[ЗАГОЛОВОК целое-2]
[ПЕРВЫЙ ФРАГМЕНТ целое-3]