1. РАЗДЕЛ ИДЕНТИФИКАЦИИ В МОДУЛЕ МЕЖПРОГРАММНЫ К
    СВЯЗЕЙ

    1. Параграф PROGRAM-ID (ПРОГРАММА) и вложенные исходные программы

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

Параграф PROGRAM-ID (ПРОГРАММА) определяет имя, по которому идентифицируется программа, и присваивает этой программе выбранные атрибуты.

З.Е2. Общий формат

Р R О G R А М -1D. п м я - п р о г р а м м ы

те f COMMON 1 ПППГГ1,., 1

IS( INTfiAL- jPROGRAM]-

  1. С

    Г( ОБЩАЯ |
    і НАЧАЛЬНАЯ /


    ПРОГРАМА4А. имя-программы


    и н т а к с и ч е с к и е правила
  1. Имя-программы должно соответствовать правилам обра­зования слов, определяемых пользователем.

  2. Программе, содержащейся в другой программе, нельзя присваивать имя, которое уже имеет некоторая другая програм­ма, содержащаяся в отдельно компилируемой программе, кото­рая содержит эту программу.

  3. Необязательная фраза COMMON (ОБЩАЯ) может ис­пользоваться только тогда, когда программа содержится в дру­гой программе.

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

  1. Имя-программы идентифицирует исходную программу, объектную программу и все листинги, относящиеся к конкрет­ной программе.

  2. Фраза COMMON (ОБЩАЯ) указывает, что программа является общей. Общая программа содержится в другой прог­рамме и может быть вызвана не только из программы, в которой она содержится, но и из других программ (см. п. Г.3.8 настоя­щей части).

  3. Фраза INITIAL (НАЧАЛЬНАЯ) указывает, что програм­ма является начальной. При вызове начальной программы она и все содержащиеся в ней программы устанавливаются в их на­чальное состояние (см. п. 2.4 настоящей части).

  1. РАЗДЕЛ ДАННЫХ В МОДУЛЕ МЕЖПРОГРАММНЫХ СВЯЗЕЙ

    1. Секция связи

Секция связи находится в разделе данных исходной программы. Секция связи появляется в вызываемой программе и описывает данные, к которым будет обращаться и вызывающая и вызываемая программа.

Секция связи в программе необходима тогда и только тогда, когда объектная программа должна работать под управлением оператора CALL (ВЫЗВАТЬ) и оператор CALL (ВЫЗВАТЬ) в вызывающей программе содержит фразу USING (ИСПОЛЬЗУЯ). Секция связи используется для описания данных, которые доступ­ны через вызывающую программу, но к которым можно обраща­ться как в вызывающей, так и в вызываемой программе. Механизм, с помощью которого устанавливается соответствие между данны­ми, описанными в секции связи вызываемой программы, и данны­ми, описанными в вызывающей программе, рассматривается в пп. 5.1 и 5.2 настоящей части. Для имен индексов такое соответст­вие не устанавливается, и имена индексов в вызываемой и вызы­вающей программах всегда ссылаются на отдельные индексы.Секция связи имеет такую же структуру, как и ранее описанная секция рабочей памяти. Сначала записывается заголовок секции,, за ним следуют статьи описания несвязанных данных и (или) ста­тьи описания записей.

Ниже приведен общий формат секции связи.

LINKAGE SECTION. •

статья-описания-уровня-77 статья-описания-записи ]

СЕКЦИЯ СВЯЗИ.

Г статья-описания-уровня-77 1

[ статья-описания-записи J

Если к данному секции связи обращаются в программе, которая не является вызываемой, результат не определен.

  1. Н е с в я з а н н а я память

Данные в секции связи, которые не находятся в иерархическом отношении друг с другом, нет необходимости группировать в запи­си. Такие данные классифицируются и определяются как несвязан­ные элементарные данные. Каждое из этих данных определяется отдельной статьей описания данного, которая начинается специаль­ным номером уровня 77.

В каждой статье описания данного необходимы следующие фра­зы:

  1. номер-уровня-77

  2. имя-данного

  3. фраза PICTURE (ШАБЛОН) или фраза USAGE IS INDEX (ДЛЯ ИНДЕКСА).

Другие статьи описания данных необязательны и могут исполь­зоваться в случае необходимости для завершения описания данно­го.

  1. Записи секции связи

Элементы данных в секции связи, которые состоят в определен­ных иерархических отношениях друг с другом, должны быть сгруп­пированы в записи в соответствии с правилами формирования опи­саний записей. Данные в секции связи, которые не состоят в иерар­хических отношениях с другими данными, могут быть описаны как записи, представляющие собой одиночные элементарные данные.

  1. Начальные значения

Фраза VALUE (ЗНАЧЕНИЕ) не должна задаваться в секции связи. Исключение составляют статьи имен-условий (уровень 88).

  1. Статья описания файла в модуле межпрограммных связей

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

    2. Внутри модуля межпрограммных связей статья описания фай­ла в секции файлов определяет внутренние или внешние атрибуты определителя файла, соответствующих записей данных в соответ­ствующих данных. Кроме того, статья описания файла устанавли­вает, является имя файла локальным или глобальным.Общий формат

Формат 1

FD имя-файла-1

[IS EXTERNAL]

[IS GLOBAL]

{


RECORDS CHARACTERS

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- 1J [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 IS

REPORTS ARE

ОФ имя-файла-1

[

ЗАПИСЕЙ 11

ЛИТЕР /]

ВНЕШНЕЕ] [ГЛОБАЛЬНОЕ]

В БЛОКЕ [ОТ целое-1 ДО] целое-2

В ЗАПИСИ /целое'3 ЛИТЕР

ОТ целое-6 ДО целое-7 ЛИТЕР

имя-данного-2 литерал-1


имя-реализации-1


ЗНАЧЕНИЕ [ ЗНАЧ


СТАНДАРТНЫ

ОПУЩЕНЫ


МЕТКИ



[АЛФАВИТ имя-алфавита-1]

ОТЧЕТ 1

ОТЧЕТЫ j {имя-отчета-1} . .. .

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

  1. Формат 1 — это статья описания последовательного файла. Присутствие конкретных фраз в этой статье описания файла зави­сит от уровня модуля последовательного ввода-вывода, обеспечи­ваемого реализацией (см. ч. 7, п. 3.2).

  2. Формат 2 — это статья описания относительного файла или индексного файла. Присутствие конкретных фраз в этой статье описания файла зависит от уровня модуля относительного ввода- вывода или модуля индексного ввода-вывода, обеспечиваемого реа­лизацией (см. ч. 8, п. 3.2, ч. 9, п. 3.2) .

  3. Формат 3 — это статья описания файла отчетов. Наличие статьи описания для файла отчетов зависит от того, обеспечивает­ся ли модуль генератора отчетов в данной реализации (ч. 13, п. 3.2).

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

  1. Если статья описания последовательного файла содержит фразу LINAGE (ВЕРСТКА) и фразу EXTERNAL (ВНЕШНЕЕ), данное LINAGE-COUNTER (СЧЕТЧИК-ВЕРСТКИ) является внешним данным. Если статья описания последовательного файла содержит фразу LINAGE (ВЕРСТКА) и фразу GLOBAL (ГЛО­БАЛЬНОЕ), специальный регистр LINAGE-COUNTER (СЧЕТ­ЧИК-ВЕРСТКИ) является глобальным именем.

  2. Фраза EXTERNAL (ВНЕШНЕЕ) описана в п. 4.5. Фраза GLOBAL (ГЛОБАЛЬНОЕ) описана в п. 4.6. Все остальные фра­зы в Статье описания файла описаны в соответствующем модуле в этих спецификациях.

  1. Статья описания данного в модуле межпрограммных связен

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

В модуле межпрограммных связей статья описания данного уровня 01 в секции рабочей памяти или в секции файлов устанав­ливает, какие имена — локальные или глобальные, имеет запись данных и подчиненные ей данные.

В модуле межпрограммных связей статья описания данного уровня 01 в секции рабочей памяти определяет атрибут «внутрен­нее» или «внешнее» для записи данного и подчиненных ей данных.

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

лЛГ имя-данного-1 1

|L FILLER J

[REDEFINES имя-данного-2]

[IS EXTERNAL]

[IS GLOBAL]

П PICTURE
j PIC


IS строка-литер




BINARY

COMPUTATIONAL

C

USAGE IS

OMP

DISPLAY

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 ЗНАЧЕНИЕ. і ЗНАЧ



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

  1. Наличие конкретных фраз в статье описания данного зави- сит от уровни ядра, обеспечиваемого в данной реализации (см. ч. 6, п. 5.3).

  2. Фраза EXTERNAL (ВНЕШНЕЕ) может быть задана только в статьях описания данных уровня 01 в секции рабочей памяти.

  3. Фраза EXTERNAL (ВНЕШНЕЕ) и фраза REDEFINES (ПЕРЕОПРЕДЕЛЯЕТ) не должны задаваться в одной и той же статье описания данного.

  4. Фраза GLOBAL (ГЛОБАЛЬНОЕ) может быть задана только в статьях описания данных уровня 01.

  1. Имя-данного-1 должно быть задано, для любой статьи, содержащей фразу GLOBAL (ГЛОБАЛЬНОЕ) или EXTERNAL (ВНЕШНЕЕ), или для описаний записей, связанных со статьей описания файла, которая содержит фразу EXTERNAL (ВНЕШ- НЕЕ) или GLOBAL (ГЛОБАЛЬНОЕ).Общие правила

I Фраза EXTERNAL (ВНЕШНЕЕ) описана в п. 4,5. Фраза [ I GLOBAL (ГЛОБАЛЬНОЕ) описана в п. 4.6. | Все другие фразы статьи описания данного описываются в модуле Ядро (см. ч. 6, н. 5.3).

  1. Статья описания отчета в модуле межпрограммных связей

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

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

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

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]

  1. [ПЕРВЫЙ ФРАГМЕНТ целое-3]