VA FileMan V. 22.0 Programmer Manual Banner


 

Main Chapter Getting Started Manual Advanced User Manual

Global File Structure


Attribute Dictionary: Other Field Definition Nodes

Every field must have a zero node. All other nodes describing a field are presented below, but none are mandatory. Each subscript listed is at least the third level - that is, the global reference appears in the following format: ^DD(File#,Field#,Subscript).

Subscript Definition
22.2.007,n,0For SET fields only. Subscripted by language number n, the internal number of File .85.  Contains the external SET values of the field, translated into the non-English LANGUAGE, e.g., "OUI;NON;".
22.2.008,n,0Subscripted by language number n, the internal number of File .85.  Contains the LABEL of the field, translated into the non-English LANGUAGE.
.1 Contains the full-length title of the field.
1 Contains, at lower subscript levels, executable M code to set and kill cross-references based on the value of the field (in the variable X).
2 Contains the OUTPUT transform: M code to display the field value in a format that differs from the format in which it is stored. (See the "Advanced File Definition" chapter.)
3 Contains the help prompt message that is displayed when the user types a question mark.
4 Contains M code that will be executed when the user types one or two question marks. (Other help messages are also displayed.)
5 Contains, at lower subscript levels, pointers to trigger cross-references to this field.
7.5 Is valid only on .01 fields. It contains M code that will be executed to check the user input (in the variable X). This code is executed at the start of the ^DIC routine before the lookup on X has begun. If X is killed, the lookup will terminate. Special lookup programs naturally have a way to look at X.
8 Read access for the field.
8.5 Delete access for the field.
9 Write access for the field.
9.01 The fields used if the field is a computed field.
9.1 The expression entered by the user to create the computed field.
9.2 to 9.9 The overflow executable M code that may be part of the specification of a field definition, INPUT transform, or cross-reference.
10 Contains the source of the data.
11 Contains the destination of the data.
12 Contains the explanation of the screen on node 12.1.
12.1 Contains the code which sets DIC("S") if a screen has been written for a pointer or a set of codes.
20 A multiple that lists the fields that belong to certain groups.
21 A word processing field that holds the field description.
22 The name of a help frame presented to a user who entered two question marks. NOTE: This subscript is being phased out.
23 A word processing field that holds the technical description of the field.
AUDIT Contains a code defining the status of an audit trail for changes to the data in the field. Possible codes are: y (always audited), e (changes and deletions only audited), n (no audit recorded).
AX Contains the executable code that determines if a field should be audited.
DEL In this example, a string of executable M code that determines if the field can be deleted. This code must contain an M IF statement to set the value of $T. If $T is set to 1, the field cannot be deleted. Normally, the ^DD format is:
    ^DD(File#,Field#,"DEL",#,0)="executable MUMPS code"
where # is an arbitrary number to distinguish each condition. If the condition was based on a particular field, then the field number was traditionally used. If "DEL" nodes are on the .01 field of a file, deletion of the entire entry can be blocked.

If an entry is being deleted by a direct call to ^DIK, the "DEL" nodes are not checked.

DT Contains the date the field was last edited.
LAYGO A string of executable M code that determines if an entry can be added. This code must contain an M IF statement to set the value of $T. If $T is set to 0, the entry cannot be added. Normally, the ^DD format is:
   ^DD(File#,.01,"LAYGO",#,0)="executable M code"
where # is an arbitrary number to distinguish each condition. LAYGO nodes only apply to .01 fields.
V Descendent from these nodes is information regarding variable pointers including pointed-to file, message, order, prefix, screen, and LAYGO status.

^DD(File#,Field#,"V",n,0)

Where "n" is a sequential number representing a different pointed-to file. The pieces within this 0 node are:

^-Piece Contents
Piece 1 File number of the pointed-to file.
Piece 2 Message defined for the pointed-to file.
Piece 3 Order defined for the pointed-to file.
Piece 4 Prefix defined for the pointed-to file.
Piece 5 y/n indicating if a screen is set up for the pointed-to file.
Piece 6 y/n indicating if the user can add new entries to the pointed to file.

^DD(File#,Field#,"V",n,1) Contains the M code defined as a screen on the pointer to the file defined in the 0 node above. ^DD(File#,Field#,"V",n,2) contains a description of the screen.

 


Reviewed/Updated: October 2016