Нет. И почему вы хотите «ИНИЦИАЛИЗИРОВАТЬ» его?
Это из руководства IBM Enterprise Cobol:
identifier-1
Receiving areas.
identifier-1 must reference one of the following:
v An alphanumeric group item
v A national group item
v An elementary data item of one of the following categories:
Alphabetic
Alphanumeric
Alphanumeric-edited
DBCS
External floating-point
Internal floating-point
National
National-edited
Numeric
Numeric-edited
v A special register that is valid as a receiving operand in a MOVE
statement with identifer-2 or literal-1 as the sending operand.
When identifier-1 re
РЕДАКТИРОВАТЬ:
Руководство программиста OpenCobol документирует это конкретно:
The list of data items eligible to be set to new values by this statement is:
Every elementary item specified as identifier-1 ..., PLUS...
Every elementary item defined subordinate to every group item specified as dentifier-1
..., with the following exceptions:
USAGE INDEX items are excluded.
Items with a REDEFINES as part of their definition are excluded; this means that
tems subordinate to them are excluded as well.
Стандарт Draft Cobol менее явный, но эти элементы при использовании в INITIALIZE обрабатываются путем создания SET, а не MOVE: DATA-POINTER, FUNCTION-POINTER, OBJECT-REFERENCE или PROGRAM-POINTER.
РЕДАКТИРОВАТЬ:
Видя, что ссылка на OpenCobol не такая «конкретная», как я думал: в настоящее время в IBM Cobol ничто, чем нельзя манипулировать, будучи целью MOVE, не может быть ИНИЦИАЛИЗИРОВАНО. Это то же самое для текущего OpenCobol. У Draft Cobol есть некоторые исключения, перечисленные, но не включающие ни INDEXED BY (которые не являются частью самой таблицы, а отдельные элементы, для которых сам компилятор определяет хранилище), ни USAGE INDEX.
person
Bill Woodger
schedule
26.03.2013