Буквенно-цифровая редактируемая
Числовая редактируемая
Во фразе PICTURE (ШАБЛОН) редактирование плавающей вставкой и редактирование подавлением и замещением нуля взаимно исключаются. Во фразе PICTURE (ШАБЛОН) может быть использован только один тип замещения при подавлении нуля.
Редактирование простой вставкой указывается символами шаблона: , (запятая), В (пробел), / (дробная черта) и 0 (нуль). Литеры вставки учитываются при определении размера данного и представляют позицию в данном, в которую будет вставлена литера, соответствующая символу шаблона. Если литера вставки , (запятая) является последним символом в шаблоне, фраза PICTURE (ШАБЛОН) должна быть последней фразой статьи описания данного и за ней непосредственно должен следовать разделитель точка. В результате в статье описания данного появляется комбинация «,.» или две последовательные точки, если используется фраза DECIMAL-POINT IS СОММА (ДЕСЯТИЧНАЯ ТОЧКА ЗАПЯТАЯ).
При редактировании специальной вставкой в качестве литеры вставки используется символ . (точка), которая кроме того служит для выравнивания. Литера вставки для явной десятичной точки учитывается при определении размера данного. В одной и той же строке-литер шаблона не разрешается использование подразумеваемой десятичной точки, представленной символом V (Т), и явной десятичной точки, представленной символом вставки. Если литера вставки является последней литерой шаблона, то фраза PICTURE (ШАБЛОН) должна быть последней фразой в статье •описания данного и за ней непосредственно должен следовать разделитель точка. В результате в статье описания данного появляются две последовательные точки или комбинация,. , если используется фраза DECIMAL-POINT IS СОММА (ДЕСЯТИЧНАЯ ТОЧКА ЗАПЯТАЯ).
Результатом редактирования специальной вставкой является появление литеры специальной вставки в значении данного на позиции, указанной в строке-литер шаблона.
Редактирование фиксированной вставкой указывается валютным символом и символами редактирования, управляемыми знаком: +, —, CR(KP), ОВ(ДБ).
В данной строке-литер шаблона может быть использован только один валютный символ и только один из символов редактирования, управляемых знаком. Если используются символы CR (КР) и DB (ДБ), они представляют две самые правые позиции литер и учитываются при определении размера данного. Если используется символ + или —, он должен быть самой левой или самой правой позицией литеры, которая учитывается при определении размера данного. Валютный знак должен быть самой левой позицией литеры, кроме случаев, когда ему может предшествовать символ + или символ —; валютный знак учитывается при определении размера данного. При редактировании фиксированной вставкой в редактируемое данное помещается литера вставки, управляемая знаком, на позицию литеры, которую эта литера занимает в строке-литер шаблона.
Зависимость результатов редактирования фиксированной вставкой от значения данного приведена ниже.
Редактирующий символ в строке-литер шаблона |
Литеры вставки, появляющиеся в редактируемом данном |
|
Данное положительное или нуль |
Данное отрицательное |
|
+ |
+ |
— |
— |
Пробел |
— |
CR (КР) |
'2 пробела |
CR (КР) |
'DB (ДБ) |
То же |
DB (ДБ) |
Редактирование плавающей вставкой указывается валютным символом и редактирующими символами, управляемыми знаком + или —, которые являются литерами плавающей вставки, взаимно исключающими друг друга в данной строке-литер шаблона.
Редактирование плавающей вставкой указывается в строке- литер шаблона цепочкой из двух или более литер плавающей вставки. Цепочка литер плавающей вставки может содержать любые символы фиксированной вставки или предшествовать литерам фиксированной вставки. Литеры простой вставки рассматриваются как часть цепочки литер плавающей вставки. Если литерой плавающей вставки является валютный символ, то цепочка литер плавающей вставки может содержать литеры фиксированной вставки ■CR (КР) или DB (ДБ) непосредственно справа от этой цепочки.
Самая левая литера цепочки литер плавающей вставки представляет левую границу для размещения литеры плавающей вставки. Самая правая литера цепочки литер плавающей вставки представляет правую границу для размещения литеры плавающей вставки.
Вторая слева литера плавающей вставки представляет левую границу числового данного, которое может быть помещено в поле данного. Ненулевые числовые данные могут располагаться, начиная от этой позиции, на любой позиции справа от этой границы.
Строка-литер шаблона определяет два способа редактирования плавающей вставкой. Первый из них заключается в том, что некоторые или все ведущие позиции цифр слева от десятичной точки представляются литерой вставки; при втором способе позиции всех цифр в строке-литер шаблона представляются литерой вставки.
Если литеры вставки находятся только слева от десятичной точки, то в результате редактирования единственная литера вставки размещается на позиции литеры, непосредственно предшествующей десятичной точке или первой ненулевой цифре в позициях данного, представленных цепочкой символов вставки (в зависимости от того, что встречается ранее в данном). Позиции литер, предшествующие литере вставки, замещаются пробелами.
Если все позиции цифровых литер в строке-литер шаблона представляются литерой вставки, результат редактирования зависит от значения данных. Если значение равно нулю, все данное будет содержать пробелы. Если значение не равно нулю, результат будет таким, как если бы литеры вставки находились только слева от десятичной точки.
Если все позиции цифровых литер в строке-литер шаблона представляются литерами вставки, то по крайней мере одна из литер вставки должна находиться слева от десятичной точки.
Если цепочкой литер плавающей вставки являются управляющие символы редактирования + или —, то вставляемые литеры зависят от значения данного:
Редактирующий символ в строке-литер шаблона |
Литеры вставки, появляющиеся в редактируемом данном |
|
Данное положительно или нуль |
Данное отрицательно |
|
+ |
4“ |
— |
■ч» |
Пробел |
— |
Если все позиции цифровых литер в строке-литер шаблона представлены литерами вставки, результат зависит от значения данного. Если значение нуль, то данное будет содержать пробелы. Если значение не нуль, то результат будет таким же, как и в, случае, когда вставляемыми литерами являются литеры только слева от десятичной точки.
Во избежание отбрасывания литер при перемещении данных, минимальный размер строки-литер шаблона для принимающего поля должен равняться числу литер пересылаемого данного плюс число литер фиксированной вставки в принимающем поле, плюс 1 для литеры плавающей вставки. Если же отбрасывание литер произошло, то значением данных для редактирования будет значение, полученное после отбрасывания литер.
Подавление ведущих нулей на позициях цифр указывается использованием литер 7(П) или* в качестве символов подавления в строке-литер шаблона. Эти символы являются взаимно исключающими в одной и той же строке-литер шаблона. Каждый символ подавления учитывается при определении размера данного. Если используется 2(П), литерой замещения будет пробел; если используется звездочка, литерой замещения будет * .
Подавление и замещение нулей указывается в строке-литер шаблона цепочкой из одного или более символов подавления нуля в ведущих позициях цифр, которые должны быть заменены, если соответствующая позиция литеры в данных содержит нуль. Литеры простой вставки, находящиеся в этой цепочке символов или непосредственно справа от нее, рассматриваются как часть этой цепочки.
В строке-литер шаблона имеется два способа представления подавления нуля: при первом способе некоторые или все ведущие позиции цифр слева от десятичной точки представляются символами подавления; другой способ заключается в представлении всех позиций цифр в строке-литер шаблона символами подавления.
Если символы подавления оказались только слева от десятичной точки, то любой ведущий нуль в данном на позиции символа подавления в строке-литер шаблона заменяется на литеру замещения. Подавление заканчивается на первой ненулевой цифре из представленных строкой символов подавления или на десятичной точке, в зависимости от того, что встретилось первым.
Если все позиции цифр в строке-литер шаблона представляются символами подавления и значение данных отлично от нуля, то, результат является таким же, как в случае, если бы литеры подавления находились только слева от десятичной точки. Если значение является нулевым, то различаются следующие два случая: если символом подавления является 7(П), все данное, включая литеры редактирования, заменяется пробелами; если символом по
давления является * , все данное, кроме явной десятичной точки, заменяется звездочками;
символы +, —, *, Z(FI) и валютный знак при использовании в качестве плавающих литер замещения являются взаимно исключающими внутри одной строки-литер.
П р а в и л а предшествования
В таблице показан порядок предшествования при использовании литер в качестве символов строки-литер шаблона.
Символ X в клетке таблицы указывает, что символы, используемые как заголовки соответствующих столбцов, могут предшествовать (но необязательно непосредственно) в строке шаблона символам, указанным в начале соответствующих строк таблицы. Символ «—» указывает на недопустимость такого предшествования. Заключенные в фигурные скобки символы являются взаимно исключающими. Валютный знак указывается с помощью символов «В. зн.».
В строку литер шаблона должны входить по крайней мере один из символов А, X, Z (П), 9 или *, или по крайней мере два из символов + , —, или В.зн.
Символы неплавающей вставки + и —, символы плавающей вставки Z (П), *, +, — и В. зн. и символ Р (М) встречаются дважды в таблице. Для каждого символа левый столбец и верхний ряд представляют использование этого символа слева от позиции десятичной точки. Правый столбец и нижний ряд представляют использование символа справа от позиции десятичной точки.
5.10. Фраза REDEFINES (ПЕРЕОПРЕДЕЛЯЕТ)
Н азначение
Фраза REDEFINES (ПЕРЕОПРЕДЕЛЯЕТ) позволяет одну и ту же область памяти машины описывать различными статьями описания данных.
О
[ имя-данного-1 номер-уровня I filler
бший форматREDEFINES имя-данного-2
и
ПЕРЕОПРЕДЕЛЯЕТ
мя-данного-1З
номер-уровня
АПЗАПОЛНИТЕЛЬ
имя-данного-2
В вышеприведенном формате номер-уровня, имя-данного-1 и FILLER (ЗАПОЛНИТЕЛЬ) не являются частью фразы REDEFINES (ПЕРЕОПРЕДЕЛЯЕТ) и приведены для наглядности.
Синтаксические правила
Фраза REDEFINES (ПЕРЕОПРЕДЕЛЯЕТ), если она указана, должна следовать непосредственно за субъектом статьи.
Номера уровней имени-данного-1 и имени-данного-2 должны быть одинаковыми I и не могут быть равными 66 или 88282 |
Второй символ |
Допустимость предшествования первого символа |
|||||||||||||||||||||||
Символы фиксированной вставки |
Символы плавающей вставки |
Другие символы |
|||||||||||||||||||||||
В |
0 |
/ |
• |
|
(+) |
|
( CR 1 J (КР) 1 DB 1 1 (ДВ) ) |
в. зн |
г Z -j (П) |
( z 1 (П) * |
(±1 |
|±} |
в. зн |
в. зн |
9 |
А X |
S (3 |
V (Т) |
р (М) |
р (М) |
|||||
Символы фиксированной вставки |
в |
X |
х |
х |
х |
х |
х |
— |
— |
х |
х |
х |
X |
X |
X |
X |
X |
X |
— |
X |
— |
X |
|||
0 |
х |
х |
х |
х |
х |
х |
— |
— |
х |
х |
х |
х |
X |
х |
X |
X |
X |
— |
X |
— |
х |
||||
/ |
х |
х |
х |
у |
х |
х |
—. |
— |
х |
/ |
х |
X |
х |
х |
х |
х |
х |
— |
х |
— |
X |
||||
|
х |
X |
х |
X |
/X |
х |
—■ |
— |
х |
х |
х |
х |
х |
X |
х |
х |
— |
— |
х |
— |
х |
||||
|
х |
х |
Х< |
X |
— |
х |
— |
— |
X |
|
— |
х |
— |
X |
— |
х |
— |
— |
— |
—, |
—. |
||||
+т |
— |
— |
— |
— |
— |
— |
— |
— |
|
— |
|
|
|
|
|
— |
|
|
|
|
|
||||
{±1 |
X |
X |
X |
х |
X |
— |
— |
- - |
х |
X |
X |
__ |
— |
X |
X |
X |
— |
— |
X |
х • |
X |
||||
1 CR(KP) 1 t ОВ(ДБ) / |
X |
X |
X. |
/X |
X |
— |
|
— |
X |
|
zZ |
— |
— |
X |
X |
X |
— |
— |
X |
X |
X |
||||
В. зн. |
— |
_. |
— |
— |
— |
х |
— |
— |
— |
— |
— |
— |
— |
— |
■— |
— |
— |
— |
— |
— |
— |
||||
Символы плавающей вставки |
{Z(?} } |
X |
X |
X |
X. |
. — |
X |
— |
- |
X. |
■V |
|
— |
— |
— |
— |
— |
— |
|
— |
— |
||||
{Z(n) I |
X |
X. |
X |
х |
X |
X |
— |
— |
X |
X |
X |
— |
— |
— |
— |
— |
- |
..... |
X |
— |
X |
||||
т+ |
X |
X. |
X |
Хх |
— |
— |
— |
— |
X |
— |
— |
X |
— |
— |
— |
— |
— |
— |
— |
— |
— |
||||
+Т |
X |
|
X |
|
X |
— |
— |
— |
X |
— |
— |
X |
X |
|
|
— |
|
|
X |
— |
X |
||||
В. зн. |
|
|
|
|
х |
— |
— |
— |
— |
- |
-- |
— |
х |
— |
— |
- |
— |
|
— |
■— |
|||||
В. зн. |
X |
X |
X |
X |
X |
X |
|
— |
|
--- |
— |
— |
— |
X |
X |
— |
__ |
— |
X |
— |
X |