D3 Reference Manual

Index | Help

Поиск по страницам

Разделы / Записи описания атрибутов / macro

macro

Список атрибутов используемых Update при вводе (15-й атрибут записи описания файла или атрибута)

Пятнадцатый атрибут записи описания файла (FDI) или записи описания атрибута (ADI).

В FDI здесь хранится список атрибутов, используемых по умолчанию процессором Update при вводе данных. В ADI здесь хранится список атрибутов, используемых по умолчанию процессором Update при переходе в другой файл по ссылке ("zooming").

Этот атрибут используется для ввода данных процессором Update и не влияет на работу других процессоров, за исключением процессора AQL, использующего этот список для спецификации вывода по умолчанию и при условии, что пуст атрибут "макро вывода" в FDI.

Опции: См. опции процессора Update.

Примеры:

В этом примере показана запись описания файла, содержащая список атрибутов ввода по умолчанию:

:ud filename filename
dictionary-code       a
modulo                67
structure
retrieval-lock 
update-lock
output-conversion
correlative           id100
attribute-type        l
input-conversion
macro                 name address zip phone (i
output-macro
output-conversion
description 

Поле макро вывода ("output-macro") пусто, и список атрибутов вывода по умолчанию в команде LIST определяется полем макро "macro".

Опция "i" подавляет вывод на экран идентификаторов записей.

Наборов полей ввода может быть несколько. Для этого каждый набор должен храниться в отдельном значении атрибута макро. Номер нужного значения передается процессору Update через функцию access(18) в подпрограмме, вызываемой в поле входной конверсии ("input-conversion") в записи описания файла.

Ниже приведен пример записи описания файла с многозначным атрибутом макро и подпрограммы, передающий нужное значение процессору Update.

:ud filename filename
dictionary-code       a
modulo                67
structure
retrieval-lock 
update-lock
output-conversion
correlative           id100
attribute-type        l
input-conversion      call select.view
macro                 name address zip phone (i
                      name phone comments
                      name phone fax address zip (i
output-macro
output-conversion
description
:u bp select.view
subroutine select.view(item)
item = access(3)
execute 'who' capturing who
user = field(who,' ',2)
if user = 'joe' then
  access(18) = 2
end else
  access(18) = 1
end
...

Если пользователь - joe, в экране ввода будут поля name, phone и comments.