Перейти до вмісту
ГОСТ 22558-89
/ 116

Фраза NEXT GROUP (СЛЕДУЮЩАЯ ГРУППА) группы отчета относится к группе тела отчета, которая должна быть пред­ставлена следующей, и поэтому может влиять на расположение следующей группы тела при ее представлении. Фраза NEXT GROUP (СЛЕДУЮЩАЯ ГРУППА) группы типа заголовок отчета может влиять на расположение группы типа заголовок страницы при ее представлении. Фраза NEXT GROUP (СЛЕДУЮЩАЯ ГРУППА) группы типа концовка страницы может влиять на рас­положение группы типа концовка отчета при ее представлении (см. п. 3.10 настоящей части).

Фраза SIGN (ЗНАК)

Назначение

Фраза SIGN (ЗНАК) определяет позицию и представление зна­ка числа, если имеется необходимость описать это явно.

Общий формат

[SIGN IS] (! SEPARATE CHARACTER

1 RAILING J

ГГЇТТЛТ-Т (ПЕРВЫЙ I П T T Т/Л

! ПОСЛЕДИМ І ’ЖИЛЬНО

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

Фраза SIGN (ЗНАК) может быть указана только в статье описания числового данного, шаблон которого содержит литеру S (3).

Статьи описания числовых данных, к которым относится фраза SIGN (ЗНАК), должны быть описаны, явно или неявно, с USAGE IS DISPLAY (ДЛЯ ВЫДАЧИ).

Если фраза SIGN (ЗНАК) включена в статью описания группы отчета, должен быть указан вариант SEPARATE CHARA­CTER (ОТДЕЛЬНО)

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

Необязательная фраза SIGN (ЗНАК), если имеется, ука­зывает в статье описания числового данного позицию и представ-

ление знака числа этого данного. Фраза SIGN (ЗНАК) применяет­ся только к статьям описания числовых данных, шаблон которых содержит литеру S (3); S (3) указывает на наличие (но не на представление или позицию) знака числа.

Для числового данного, в статье описания которого не со­держится фраза SIGN (ЗНАК), а шаблон содержит литеру S (3) предполагается знак числа, ио ни позиция, ни представление зна­ка числа литерой S (3) не определяются. В этом случае реализа­ция определяет позицию и представление знака числа. Общее правило (3) не применяется к данным, описанным таким образом.

Поскольку фраза SIGN (ЗНАК.) в статье описания группы отчета должна содержать вариант SEPARATE CHARACTER (ОТ­ДЕЛЬНО), то:

предполагается, что знак числа будет занимать позицию пер­вой (или, соответственно, последней) литеры элементарного число­вого данного; эта позиция литеры не является цифровой позицией;

литера S (3) в строке литер шаблона учитывается при опре­делении размера данного (в терминах литер стандартного форма­та данных);

знаками числа для положительных и отрицательных чисел являются литеры стандартного формата данных « + » и «—» соот­ветственно.

Каждая статья описания числового данного, содержащая шаблон с литерой S (3), является статьей описания числового дан­ного со знаком. Если фраза SIGN (ЗНАК) относится к такой ста­тье, и для вычислений или сравнения необходимо преобразование, преобразование производится автоматически.

Фраза SOURCE (ИСТОЧНИК)

Назначение

Фраза SOURCE (ИСТОЧНИК) идентифицирует посылаемое данное, которое помещается в соотнесенное ему печатаемое дан­ное, определенное в статье описания группы отчета.

Общий формат

SOURCE IS идентификатор-1

ИСТОЧНИК идентификатор-1

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

Идентификатор-1 может быть определен в любой секции раздела данных. Если идентификатор-1 является данным, опреде­ленным в секции отчетов, то это должен быть:

счетчик строк или

счетчик страниц, или

счетчик суммы в том же отчете, в котором указана фраза SOURCE (ИСТОЧНИК).

Идентификатор-) указывает посылаемое данное неявного оператора MOVE (ПОМЕСТИТЬ), выполняемого СУГО для пере­сылки данного, указанного идентификатором-1, в печатаемое дан- 646

ное. Идентификатор-1 должен быть определен в соответствии с правилами для посылаемых данных оператора MOVE (ПОМЕС­ТИТЬ) (см. ч. 6, п. 6.19).

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

СУГО формирует печатаемые строки группы отчета непо­средственно перед представлением группы отчета (п. 3.20 настоя­щей части). При этом выполняются неявные операторы MOVE (ПОМЕСТИТЬ), определенные фразами SOURCE (ИСТОЧНИК).

Фраза SUM (СУММА)

Назначение

Фраза SUM (СУММА) устанавливает счетчик суммы и указы­вает имена данных, подлежащих суммированию.

Общий формат

{SUM {идентификатор-1}... [UPON {имя-данного-1}...]}...

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

I FINAL


RESET ON

{СУММА {идентификатор-!)... [ДЛЯ {имя-дапного-1) ...]}...

rrDnrwTk пл ( имя-данпого-2 1 [

СЬРОСИІ ь по I концу J

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

Данное, являющееся субъектом статьи описания группы отчета с фразой SUM (СУММА), не может быть определено как буквенно-цифровое. Идентификатор-1 должен ссылаться па чис­ловое данное. Если идентификатор ! определен в секции отчетов, идентификатор-! должен представлять счетчик суммы.

Если фраза UPON (ДЛЯ) опущена, то указанные во фразе SUM (СУММА) идентификаторы, представляющие в свою очередь счетчики сумм, должны быть определены либо в той же группе от­чета, которая содержит эту фразу SUM (СУММА), либо в группе отчета, находящейся на более низком уровне управляющей иерар­хии этого отчета.

Если указана фраза UPON (ДЛЯ), то идентификаторы, указан­ные во фразе SUM (СУММА), не могут представлять счетчики сумм.

Имя-даниого-1 должно быть именем группы отчета типа фрагмент, описанной в том же отчете, что и группа типа управля­емая концовка, описание которой содержит фразу SUM (СУММА). Имя-данного-1 может уточняться именем-отчета.

Фраза SUM (СУММА) может появляться только в описа­нии группы отчета типа управляемая концовка.

Имя-данного-2 должно быть одним из имен данных, ука­занных во фразе CONTROL (УПРАВЛЕНИЕ) для данного отчета. Уровень управления для имепи-данного-2 не может быть ниже

ч

уровня управления, соответствующего группе отчета, в описании которой появляется вариант RESET (СБРОСИТЬ).

Если указана фраза RESET ON FINAL (СБРОСИТЬ ПО КОН­ЦУ), то для этого отчета должна быть- также указана фраза CONTROL (УПРАВЛЕНИЕ).

Наивысшим допустимым уточнителем для счетчика суммы является имя-отчета.

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

Фраза SUM (СУММА) уточняет счетчик суммы. Счетчик суммы является порожденным компилятором Числовым данным со знаком. Размер и положение десятичной точки счетчика суммы за­висят от категории данного, определенного статьей описания груп­пы отчета с фразой SUM (СУММА). Размер и положение десятич­ной точки определяются следующим образом:

если соответствующее данное числовое, размер и положение десятичной точки счетчика суммы такие же как и этого данного;

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

если соответствующее данное буквенно-цифровое или бук­венно-цифровое редактируемое, размер счетчика суммы равняется размеру этого данного за исключением литер редактирования, или 18 литерам (меньшему из них), и счетчик суммы является целым.

Во время выполнения СУГО прибавляет к счетчику суммы значение каждого данного, па которое ссылается идентификатор-1. Это сложение согласуется с правилами для арифметических опера­торов (ем. ч. 6, пи. 6.4.4, 6.4.5).

Статье оипсапия элементарного данного отчета соответст­вует только одни счетчик суммы, независимо от количества фраз SUM (СУММА), указанных в этой статье.

Если статья описания элементарного печатаемого данного отчета содержит фразу SUM (СУММА), счетчик суммы служит в качестве данпого-псгочпика. СУГО помещает данное, содержаще­еся в счетчике суммы, в печатаемое данное для представления сог­ласно правилам оператора MOVE (ПОМЕСТИТЬ).

Если имя-даппого появляется как субъект статьи описания элементарного данного отчета, содержащей фразу SUM (СУМ­МА), имя-да иного является именем счетчика суммы, имя-даппого не является именем печатаемого данного, которое также может определяться этой статно'':.

Значения счетчиков сумм допустимо изменять с помощью операторов раздела процедур.

Суммирование в счетчиках сумм значений данных, пред­ставленных идентификаторами, осуществляется системой управле­ния генератором отчетов во время выполнения операторов GENE­RATE (ГЕНЕРИРОВАТЬ) к TERMINATE (ЗАКОНЧИТЬ). Име­ются три категории увеличения счетчика суммы, называемые по­дытоживанием, концовочпым суммированием и нарастающим ито­гом. Подытоживание исполняется только во время выполнения опе­раторов GENERATE (ГЕНЕРИРОВАТЬ) и после обработки лю­бого прерывания управления, но до обработки группы отчета типа фрагмент (см. п. 4.3 настоящей части). Концовочпое суммирование и нарастающий итог исполняются во время обработки групп отче­та типа управляемая концовка (п. 3.20 настоящей части).

Вариант UPON (ДЛЯ) обеспечивает возможность выпол­нять выборочное подытоживание только для тех групп отчета типа фрагмент, па которые ссылаются в этом варианте.

Момент времени в который СУГО прибавляет каждое сла­гаемое к счетчику суммы, зависит от характеристик слагаемого:

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

Концовочпое суммирование происходит, когда имеют место пре­рывание управления и обработка группы отчета типа управляемая концовка.

Концовочпое суммирование выполняется соответственно после- последовательности, в которой определены счетчики сумм в груп­пе отчета управляемая концовка. Это значит, что завершается все концовочпое суммирование в первом счетчике суммы, определен­ном в группе отчета управляемая концовка, а затем завершается все концовочпое суммирование во втором счетчике суммы, опреде­ленном в группе отчета типа управляемая концовка. Эта процеду­ра повторяется пока не завершаются все операции копцовочного суммирования.

Если одно из слагаемых является счетчиком суммы, определен­ным статьей описания данного, содержащей фразу SUM (СУМ­МА), во время суммирования используется начальное значение этого счетчика;

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

если слагаемое не является счетчиком суммы, накопление в счетчике суммы такого рода слагаемого определяется как подыто­живание. Если фраза SUM (СУММА) содержит вариант UPON (ДЛЯ) слагаемые накапливаются при выполнении оператора GENERATE (ГЕНЕРИРОВАТЬ) для указанных групп отчета ти­па фрагмент. Если фраза SUM (СУММА) указана без варианта UPON (ДЛЯ), слагаемые, не являющиеся счетчиками сумм, на­капливаются при выполнении любого оператора GENERATE имя- данного (ГЕНЕРИРОВАТЬ пмя-данного) для отчета, в описании которого указана фраза SUM (СУММА).

Если два или более идентификаторов ссылаются на одно и то же слагаемое, это слагаемое прибавляется к счетчику суммы столько раз, сколько раз па пего имеется ссылка во фразе SUM (СУММА). Допустимо в варианте UPON (ДЛЯ) указывать два или больше имен-дапных, ссылающихся па одну и ту же группу типа фрагмент. Если для такой группы типа фрагмент зада!! опе­ратор GENERATE имя-данпого (ГЕНЕРИРОВАТЬ имя-даппого), суммирование выполняется повторно столько раз, сколько раз это имя-данпого появляется в варианте UPON (ДЛЯ).

Подытоживание при выполнении оператора GENERATE имя-отчета (ГЕНЕРИРОВАТЬ пмя-огчета) описано ниже (п. 4.3 настоящей части).

При отсутствии явного варианта RESET (СБРОСИТЬ) СУГО устаиав.тнваег счетчик суммы в пуль во время обработки группы отчета типа управляемая концовка, в которой определяет­ся счетчик суммы. Если указан явный вариант RESET (СБРО­СИТЬ), СУГО устанавливает счетчик суммы в пуль во время об­работки соответствующего уровня управляющей иерархии (п. 3.20 настоящей часи і.

Счетчики сумм первоначально устанавливаются СУГО в нуль во время выполнения оператора INITIATE (НАЧАТЬ) для отче­та, в котором они определены.

Фраза ТУРЕ (ТИП)

Побачили розбіжність з офіційним текстом?

Повідомити про неточність

Напишіть, що саме розходиться з офіційною публікацією. Код документа вкажіть у повідомленні — так ми швидше знайдемо потрібне місце.

Перейти до форми зворотного зв'язку

Дивіться також

Весь розділ →