STANDARD DATA DICTIONARY #.11 -- INDEX FILE                                                                       3/24/25    PAGE 1
STORED IN ^DD("IX",  (1690 ENTRIES)   SITE: WWW.BMIRWIN.COM   UCI: VISTA,VISTA                                    (VERSION 22.2)   

DATA          NAME                  GLOBAL        DATA
ELEMENT       TITLE                 LOCATION      TYPE
-----------------------------------------------------------------------------------------------------------------------------------
This file stores information about new-style cross-references defined on a file. Whereas traditional cross-references are stored
under the 1 nodes of the ^DD for a particular field, new-style cross-references are stored in this file and can consist of one
field (simple cross-references), as well as more than one field (compound cross-references).  


              DD ACCESS: ^
              WR ACCESS: ^
             DEL ACCESS: ^
           LAYGO ACCESS: ^
IDENTIFIED BY: 
"DI SHORT DESCRIPTION 50": D EN^DDIOL($E($P(^(0),U,3),1,50),"","?0")

PRIMARY KEY:        A (#.1101)
  Uniqueness Index: BB (#.1101)
       File, Field: 1) FILE (.11,.01)  2) NAME (.11,.02)

POINTED TO BY: UNIQUENESS INDEX field (#3) of the KEY File (#.31) 
               

CROSS
REFERENCED BY: ROOT FILE(AC), FILE(B)

INDEXED BY:    FILE & NAME (BB), FILE & FIELD (F), NAME (IX)




.11,.01       FILE                   0;1 NUMBER (Required) (Key field)

              INPUT TRANSFORM:  K:+X'=X!(X>999999999999)!(X<0)!(X?.E1"."8N.N) X
              LAST EDITED:      JUN 11, 1998 
              HELP-PROMPT:      Answer must be between 0 and 999999999999, with up to 7 decimal digits. Answer '??' for more help. 
              DESCRIPTION:      Answer should be the number of the file cross-referenced by this index.  For whole file
                                cross-references on subfiles, answer with the number of the file where the index physically
                                resides, not the subfile number.  

              CROSS-REFERENCE:  .11^B 
                                1)= S ^DD("IX","B",$E(X,1,30),DA)=""
                                2)= K ^DD("IX","B",$E(X,1,30),DA)
                                3)= Lets developers pick indexes by file number
                                The B index, on the .01 (File) of the Index file, lets developers pick indexes by the numbers of
                                the files they cross-reference.  


              RECORD INDEXES:   BB (#.1101)

.11,.02       NAME                   0;2 FREE TEXT (Required) (Key field)

              INPUT TRANSFORM:  K:$L(X)>30!($L(X)<1)!'(X?1A.AN) X
              LAST EDITED:      MAR 03, 1999 
              HELP-PROMPT:      Answer must be 1-30 characters in length. Answer '??' for more help. 
              DESCRIPTION:      Answer must be the name of the index. For example, the name of the default lookup index on a file's
                                .01 field is B, the name of the uniqueness index of a compound key is BB, and the name of an index
                                not used for lookup must start with A.  

              FIELD INDEX:      IX (#.1102)    REGULAR    IR    LOOKUP & SORTING
                  Short Descr:  Allows user to look up Indexes by Name.
                  Description:  This 'Regular' index on the Name field (#.02) allows users to select an index by its name.  
                    Set Logic:  S ^DD("IX","IX",$E(X,1,30),DA)=""
                   Kill Logic:  K ^DD("IX","IX",$E(X,1,30),DA)
                   Whole Kill:  K ^DD("IX","IX")
                         X(1):  NAME  (.11,.02)  (Subscr 1)  (Len 30)  (forwards)

              RECORD INDEXES:   BB (#.1101)

.11,.1        DESCRIPTION            .1;0   WORD-PROCESSING #.1101


                LAST EDITED:      JAN 16, 1996 
                HELP-PROMPT:      Answer '??' for more help. 
                DESCRIPTION:      Answer should describe the purpose of this index, along with any technical information that might
                                  be useful to advanced users, developers, troubleshooters, or system managers.  




.11,.11       SHORT DESCRIPTION      0;3 FREE TEXT (Required)

              INPUT TRANSFORM:  K:$L(X)>79!($L(X)<1) X
              LAST EDITED:      FEB 16, 1996 
              HELP-PROMPT:      Answer must be 1-79 characters in length. Answer '??' for more help. 
              DESCRIPTION:
                                Answer should be text briefly explaining the function of this cross-reference.  


.11,.2        TYPE                   0;4 SET (Required)

                                'R' FOR REGULAR; 
                                'MU' FOR MUMPS; 
              LAST EDITED:      JUL 18, 1997 
              HELP-PROMPT:      Answer '??' for more help. 
              DESCRIPTION:      REGULAR - One or more field values are stored in an index on the file. The index can be used for
                                sorting, or optionally, looking up entries.  
                                 
                                MUMPS - Customizable M code executes whenever a field that makes up the cross-references changes.  


.11,.4        EXECUTION              0;6 SET (Required)

                                'F' FOR FIELD; 
                                'R' FOR RECORD; 
              LAST EDITED:      JUN 11, 1998 
              HELP-PROMPT:      Answer '??' for more help. 
              DESCRIPTION:      Answer with the code that indicates whether the cross reference logic should be executed after a
                                field in the index changes, or only after all fields in a record are updated. The logic for most
                                simple (single-field) indexes should be executed immediately after the field changes, and so should
                                get the code 'F'. The logic for most compound indexes should be executed only once after a
                                transaction on the entire record is complete, and so should get the code 'R'. Exceptions to this
                                rule are rare.  


.11,.41       ACTIVITY               0;7 FREE TEXT

              INPUT TRANSFORM:  K:$L(X)>2!($L(X)<1)!($TR(X,"IR")]"") X
              LAST EDITED:      JUN 11, 1998 
              HELP-PROMPT:      Answer must be 2 characters in length. Answer '??' for more help. 
              DESCRIPTION:      Answer with the flags that control whether FileMan fires this cross-reference during an
                                installation and a re-cross-referencing operation. The possible flags are: 
                                 
                                  I = Installing an entry at a site 
                                  R = Re-cross-referencing this index 
                                 
                                FileMan automatically fires cross-references during an edit, regardless of Activity, though you can
                                control whether a cross-reference is fired by entering Set and Kill Conditions.  
                                 
                                Also, if you explicity select a cross-reference in an EN^DIK, EN1^DIK, or ENALL^DIK call, or in the
                                UTILITY FUNCTIONS/RE-INDEX FILE option on the VA FileMan menu, that cross-reference will be fired
                                whether or not its Activity contains an "R".  

              NOTES:            XXXX--CAN'T BE ALTERED EXCEPT BY PROGRAMMER


.11,.42       USE                    0;14 SET

                                'LS' FOR LOOKUP & SORTING; 
                                'S' FOR SORTING ONLY; 
                                'A' FOR ACTION; 
              LAST EDITED:      APR 16, 1998 
              HELP-PROMPT:      Controls how the index will be used by Classic FileMan Lookup (^DIC), Finder (FIND^DIC and 
                                $$FIND1^DIC) and Sort/Print (EN1^DIP). Answer '??' for more help. 
              DESCRIPTION:      LOOKUP & SORTING - The index name starts with "B" or a letter that alphabetically follows "B". 
                                Calls to Classic FileMan lookup (^DIC) or the Finder (FIND^DIC or $$FIND1^DIC) where the index is
                                not specified will include this index in the search. The index will be available for use by the
                                FileMan Sort and Print (EN1^DIP).  
                                 
                                SORTING ONLY - The index name starts with "A". Calls to Classic FileMan lookup (^DIC) or the Finder
                                (FIND^DIC or $$FIND1^DIC) will not use this index unless it is specified in the input parameters.
                                The index will be available for use by the FileMan Sort and Print (EN1^DIP).  
                                 
                                ACTION - The index name starts with "A". This is used for M code that performs some actions and
                                does NOT build an index. Therefore, it is not available for use by either the Classic FileMan
                                lookup (^DIC), the Finder (FIND^DIC or $$FIND1^DIC) or the Sort and Print (EN1^DIP).  


.11,.5        ROOT TYPE              0;8 SET

                                'I' FOR INDEX FILE; 
                                'W' FOR WHOLE FILE; 
              LAST EDITED:      SEP 08, 1998 
              HELP-PROMPT:      Answer '??' for more help. 
              DESCRIPTION:      Answer 'I' if the fields that make up the file are defined at the same level at which the index is
                                located.  
                                 
                                Answer 'W' if this is a whole file cross-reference in which the fields that make up the index are
                                defined in a subfile, but the index is physically located at a parent file level.  


.11,.51       ROOT FILE              0;9 NUMBER (Required)

              INPUT TRANSFORM:  K:+X'=X!(X>999999999999)!(X<0)!(X?.E1"."8N.N) X
              LAST EDITED:      SEP 29, 1998 
              HELP-PROMPT:      Type a Number between 0 and 999999999999, 7 Decimal Digits. Answer '??' for more help. 
              DESCRIPTION:      Answer with the number of the file or subfile where this index is defined.  For whole file indexes,
                                answer with the subfile number, not the number of the file where the index physically resides.  

              CROSS-REFERENCE:  .11^AC 
                                1)= S ^DD("IX","AC",$E(X,1,30),DA)=""
                                2)= K ^DD("IX","AC",$E(X,1,30),DA)
                                3)= Lets FileMan find indexes defined on fields from a particular file


.11,1.1       SET LOGIC              1;E1,245 MUMPS (Required)

              INPUT TRANSFORM:  K:$L(X)>245 X D:$D(X) ^DIM
              LAST EDITED:      JAN 16, 1996 
              HELP-PROMPT:      Answer must be Standard M code. Answer '??' for more help. 
              DESCRIPTION:      Answer with the M code that FileMan should execute when the values of fields that make up the
                                cross-reference are set or changed. When field values are changed, FileMan executes first the KILL
                                LOGIC, then the SET LOGIC.  
                                 
                                Assume the DA array describes the record to be cross-referenced, and that the X(order#) array
                                contains values after the transform for storage is applied, but before the truncation to the
                                maximum length.  The variable X also equals X(order#) of the lowest order number.  
                                 
                                When fields that make up a cross-reference are edited and the kill and set logic are executed, the
                                X1(order#) array contains the old field values, and the X2(order#) array contains the new field
                                values. If a record is being added, and there is an X1(order#) array element that corresponds to 
                                the .01 field, it is set to null. When a record is deleted, all X2(order#) array elements are null.  

              WRITE AUTHORITY:  @

.11,1.2       OVERFLOW SET LOGIC     1.2;0 Multiple #.111

              LAST EDITED:      JAN 24, 1996 

.111,.01        OVERFLOW SET LOGIC NODE 0;1 NUMBER (Multiply asked)

                INPUT TRANSFORM:  K:+X'=X!(X>999999)!(X<1)!(X?.E1"."1N.N) X S:$D(X) DINUM=X
                LAST EDITED:      SEP 10, 1998 
                HELP-PROMPT:      Type a Number between 1 and 999999, 0 Decimal Digits. Answer '??' for more help. 
                DESCRIPTION:      Answer must be the number of the node under which the additional line of set logic will be filed.
                                  Use the overflow nodes if the set logic is too long to fit in the SET LOGIC field.  

                NOTES:            XXXX--CAN'T BE ALTERED EXCEPT BY PROGRAMMER


.111,1          OVERFLOW SET LOGIC     1;E1,245 MUMPS (Required)

                INPUT TRANSFORM:  K:$L(X)>245 X D:$D(X) ^DIM
                LAST EDITED:      JAN 24, 1996 
                HELP-PROMPT:      Answer must be Standard M code. Answer '??' for more help. 
                DESCRIPTION:      Answer with the M code of the additional set logic stored at this node.  FileMan will not
                                  automatically execute this additional code, so the set logic must invoke the additional code
                                  stored in this overflow node.  
                                   
                                  The M code can assume that DIXR contains the internal entry number of the Index file entry.  

                WRITE AUTHORITY:  @



.11,1.3       SET CONDITION          1.3;E1,245 FREE TEXT

              INPUT TRANSFORM:  K:$L(X)>245!($L(X)<1) X
              LAST EDITED:      JAN 16, 1996 
              HELP-PROMPT:      Answer must be a valid FileMan computed expression. Answer '??' for more help. 
              DESCRIPTION:      Answer with a FileMan computed expression that will evaluate to Boolean true (according to the M
                                rules for Boolean interpretation). FileMan will evaluate this expression whenever it would normally
                                execute the cross-reference's Set Logic, and will not execute the Set Logic unless this condition
                                evaluates to true.  


.11,1.4       SET CONDITION CODE     1.4;E1,245 MUMPS

              INPUT TRANSFORM:  K:$L(X)>245 X D:$D(X) ^DIM
              LAST EDITED:      JAN 17, 1997 
              HELP-PROMPT:      This is Standard MUMPS code. Answer '??' for more help. 
              DESCRIPTION:      This is MUMPS code that sets the variable X. The SET LOGIC is executed only if the SET CONDTION, if
                                present, sets X to Boolean true (according to M rules for Boolean interpretation).  
                                 
                                Assume the DA array describes the record to be cross-referenced, and that the X(order#) array
                                contains values after the transform for storage is applied, but before the truncation to the
                                maximum length.  The variable X also equals X(order#) of the lowest order number.  
                                 
                                When fields that make up a cross-reference are edited and the kill and set conditions are executed,
                                the X1(order#) array contains the old field values, and the X2(order#) array contains the new field
                                values. If a record is being added, and there is an X1(order#) array element that corresponds to
                                the .01 field, it is set to null. When a record is deleted, all X2(order#) array elements are null.  

              WRITE AUTHORITY:  @

.11,2.1       KILL LOGIC             2;E1,245 MUMPS (Required)

              INPUT TRANSFORM:  K:$L(X)>245 X D:$D(X) ^DIM
              LAST EDITED:      JAN 16, 1996 
              HELP-PROMPT:      Answer must be Standard M code. Answer '??' for more help. 
              DESCRIPTION:      Answer with the M code that FileMan should execute when the values of fields that make up the
                                cross-reference are changed or deleted. When field values are changed, FileMan executes first the
                                KILL LOGIC, then the SET LOGIC.  
                                 
                                Assume the DA array describes the record to be cross-referenced, and that the X(order#) array
                                contains values after the transform for storage is applied, but before the truncation to the
                                maximum length.  The variable X also equals X(order#) of the lowest order number.  
                                 
                                When fields that make up a cross-reference are edited and the kill and set logic are executed, the
                                X1(order#) array contains the old field values, and the X2(order#) array contains the new field
                                values. If a record is being added, and there is an X1(order#) array element that corresponds to 
                                the .01 field, it is set to null. When a record is deleted, all X2(order#) array elements are null.  

              WRITE AUTHORITY:  @

.11,2.2       OVERFLOW KILL LOGIC    2.2;0 Multiple #.112

              LAST EDITED:      JAN 24, 1996 

.112,.01        OVERFLOW KILL LOGIC NODE 0;1 NUMBER (Multiply asked)

                INPUT TRANSFORM:  K:+X'=X!(X>999999)!(X<1)!(X?.E1"."1N.N) X S:$D(X) DINUM=X
                LAST EDITED:      SEP 10, 1998 
                HELP-PROMPT:      Type a Number between 1 and 999999, 0 Decimal Digits. Answer '??' for more help. 
                DESCRIPTION:      Answer must be the number of the node under which the additional line of Set Logic will be filed.
                                  Use the overflow nodes if the kill logic is too long to fit in the KILL LOGIC field.  

                NOTES:            XXXX--CAN'T BE ALTERED EXCEPT BY PROGRAMMER


.112,2          OVERFLOW KILL LOGIC    2;E1,245 MUMPS (Required)

                INPUT TRANSFORM:  K:$L(X)>245 X D:$D(X) ^DIM
                LAST EDITED:      JAN 24, 1996 
                HELP-PROMPT:      Answer must be Standard M code. Answer '??' for more help. 
                DESCRIPTION:      Answer with the M code of the additional kill logic stored at this node.  FileMan will not
                                  automatically execute this additional code, so the kill logic must invoke the additional code
                                  stored in this overflow node.  
                                   
                                  The M code can assume that DIXR contains the internal entry number of the Index file entry.  

                WRITE AUTHORITY:  @



.11,2.3       KILL CONDITION         2.3;E1,245 FREE TEXT

              INPUT TRANSFORM:  K:$L(X)>245!($L(X)<1) X
              LAST EDITED:      JAN 16, 1996 
              HELP-PROMPT:      Answer must be a valid FileMan computed expression. Answer '??' for more help. 
              DESCRIPTION:      Answer with a FileMan computed expression that will evaluate to Boolean true (according to the M
                                rules for Boolean interpretation). FileMan will evaluate this expression whenever it would normally
                                execute the cross-reference's Kill Logic, and will not execute the Kill Logic unless this condition
                                evaluates to true.  


.11,2.4       KILL CONDITION CODE    2.4;E1,245 MUMPS

              INPUT TRANSFORM:  K:$L(X)>245 X D:$D(X) ^DIM
              LAST EDITED:      JAN 17, 1997 
              HELP-PROMPT:      This is Standard MUMPS code. Answer '??' for more help. 
              DESCRIPTION:      This is MUMPS code, that sets the variable X. The KILL LOGIC is executed only if the KILL
                                CONDITION, if present, sets X such the X evaluates to true,  (according to M rules for Boolean
                                interpretation) 
                                 
                                Assume the DA array describes the record to be cross-referenced, and that the X(order#) array
                                contains values after the transform for storage is applied, but before the truncation to the
                                maximum length.  The variable X also equals X(order#) of the lowest order number.  
                                 
                                When fields that make up a cross-reference are edited and the kill and set conditions are executed,
                                the X1(order#) array contains the old field values, and the X2(order#) array contains the new field
                                values. If a record is being added, and there is an X1(order#) array element that corresponds to
                                the .01 field, it is set to null. When a record is deleted, all X2(order#) array elements are null.  

              WRITE AUTHORITY:  @

.11,2.5       KILL ENTIRE INDEX CODE 2.5;E1,245 MUMPS

              INPUT TRANSFORM:  K:$L(X)>245 X D:$D(X) ^DIM
              HELP-PROMPT:      This is Standard MUMPS code. Answer '??' for more help. 
              DESCRIPTION:      This is a kill statement that can be executed to remove an entire index for all records in a file.
                                When an entire file is reindexed, FileMan executes this code instead of looping through all the
                                entries in a file and executing the kill logic once for each entry.  

              WRITE AUTHORITY:  @

.11,11.1      CROSS-REFERENCE VALUES 11.1;0 Multiple #.114 (Add New Entry without Asking)

              LAST EDITED:      FEB 21, 1996 
              IDENTIFIED BY:    TYPE OF VALUE(#1)[R]

              PRIMARY KEY:      A (#.11401)
              Uniqueness Index: BB (#.11401)
                   File, Field: 1) ORDER NUMBER (.114,.01)

              INDEXED BY:       SUBSCRIPT NUMBER (AC), ORDER NUMBER (BB)

.114,.01        ORDER NUMBER           0;1 NUMBER (Multiply asked) (Key field)

                INPUT TRANSFORM:  K:+X'=X!(X>125)!(X<1)!(X?.E1"."1N.N) X
                LAST EDITED:      APR 25, 2002 
                HELP-PROMPT:      Type a Number between 1 and 125, 0 Decimal Digits. Answer '??' for more help. 
                DESCRIPTION:      Answer must be the order number of this cross-reference value.  
                                   
                                  FileMan evaluates cross-reference values by order of "Order Number" and places each value in the
                                  X(order#) array. The set and kill logic, for example, can use X(2) to refer to the
                                  cross-reference value with order number 2.  

                DELETE TEST:      1,0)= I $P($G(DDS),U,2)="DIKC EDIT" D BLDLOG^DIKCFORM(DA(1)) S DIKCREB=1 I 0

                CROSS-REFERENCE:  .114^B 
                                  1)= S ^DD("IX",DA(1),11.1,"B",$E(X,1,30),DA)=""
                                  2)= K ^DD("IX",DA(1),11.1,"B",$E(X,1,30),DA)

                FIELD INDEX:      BB (#.11401)    REGULAR    IR    LOOKUP & SORTING
                     Unique for:  Key A (#.11401), File #.114
                    Short Descr:  The uniqueness index of the Cross-Reference Values multiple of the Index file
                      Set Logic:  S ^DD("IX",DA(1),11.1,"BB",X,DA)=""
                     Kill Logic:  K ^DD("IX",DA(1),11.1,"BB",X,DA)
                     Whole Kill:  K ^DD("IX",DA(1),11.1,"BB")
                           X(1):  ORDER NUMBER  (.114,.01)  (Subscr 1)


.114,.5         SUBSCRIPT NUMBER       0;6 NUMBER

                INPUT TRANSFORM:  K:+X'=X!(X>125)!(X<1)!(X?.E1"."1N.N) X
                LAST EDITED:      JUN 11, 1998 
                HELP-PROMPT:      Type a Number between 1 and 125, 0 Decimal Digits. Answer '??' for more help. 
                DESCRIPTION:      If this cross-reference value is used as a subscript in an index, enter the subscript position
                                  number. The first subscript to the right of the index name is subscript number 1.  

                FIELD INDEX:      AC (#.11402)    REGULAR    IR    SORTING ONLY
                    Short Descr:  Lets FileMan find cross reference values by subscript
                      Set Logic:  S ^DD("IX",DA(1),11.1,"AC",X,DA)=""
                     Kill Logic:  K ^DD("IX",DA(1),11.1,"AC",X,DA)
                     Whole Kill:  K ^DD("IX",DA(1),11.1,"AC")
                           X(1):  SUBSCRIPT NUMBER  (.114,.5)  (Subscr 1)  (forwards)


.114,1          TYPE OF VALUE          0;2 SET (Required)

                                  'F' FOR FIELD; 
                                  'C' FOR COMPUTED VALUE; 
                LAST EDITED:      JAN 16, 1996 
                HELP-PROMPT:      Answer '??' for more help. 
                DESCRIPTION:      Answer 'F' if this cross-reference value is based on the value of a field.  
                                   
                                  Answer 'C' if this cross-reference value should be determined by executing the COMPUTED CODE.  


.114,2          FILE                   0;3 NUMBER

                INPUT TRANSFORM:  K:+X'=X!(X>999999999999)!(X<0)!(X?.E1"."8N.N) X
                LAST EDITED:      JAN 16, 1996 
                HELP-PROMPT:      Answer must be between 0 and 999999999999, with up to 7 decimal digits. Answer '??' for more 
                                  help. 
                DESCRIPTION:      If this cross-reference value is a field value, answer with the number of the file or subfile in
                                  which this field is defined.  

                RECORD INDEXES:   F (#.11403) (WHOLE FILE #.11)

.114,3          FIELD                  0;4 NUMBER

                INPUT TRANSFORM:  D ITFLD^DIKCDD I $D(X) K:+X'=X!(X>999999999999)!(X<0)!(X?.E1"."8N.N) X
                LAST EDITED:      SEP 02, 1997 
                HELP-PROMPT:      Type a Number between 0 and 999999999999, 7 Decimal Digits. Answer '??' for more help. 
                DESCRIPTION:
                                  If this cross-reference value is a field, answer with the field number.  

                EXECUTABLE HELP:  D EHFLD^DIKCDD
                NOTES:            XXXX--CAN'T BE ALTERED EXCEPT BY PROGRAMMER

                RECORD INDEXES:   F (#.11403) (WHOLE FILE #.11)

.114,4          COMPUTED VALUE         1;1 FREE TEXT

                INPUT TRANSFORM:  K:$L(X)>245!($L(X)<1) X
                LAST EDITED:      FEB 19, 1996 
                HELP-PROMPT:      Answer must be a valid FileMan computed expression. Answer '??' for more help. 
                DESCRIPTION:      If this cross-reference value is computed, answer with the computed expression that evaluates to
                                  it.  


.114,4.5        COMPUTED CODE          1.5;E1,245 MUMPS

                INPUT TRANSFORM:  K:$L(X)>245 X D:$D(X) ^DIM
                LAST EDITED:      FEB 21, 1996 
                HELP-PROMPT:      This is Standard MUMPS code. Answer '??' for more help. 
                DESCRIPTION:      Answer with M code that sets X equal to the cross-reference value. The X(order#) array is
                                  available for those cross-reference values with lower Order Numbers, and the DA array describes
                                  the IEN of the current record.  

                WRITE AUTHORITY:  @

.114,5          TRANSFORM FOR STORAGE  2;E1,245 MUMPS

                INPUT TRANSFORM:  K:$L(X)>245 X D:$D(X) ^DIM
                LAST EDITED:      JUL 31, 1998 
                HELP-PROMPT:      This is Standard M code. Answer '??' for more help. 
                DESCRIPTION:      Used only when setting or killing an entry in the index.  
                                   
                                  Answer should be M code that sets the variable X to a new value. X is the only input variable
                                  that is guaranteed to be defined and is equal to the internal value of the field.  
                                   
                                  TRANSFORM FOR STORAGE can be used on field-type cross-reference values to transform the internal
                                  value of the field before it is stored as a subscript in the index.  
                                   
                                  If a match is made on this index during a lookup, then in order to properly display the resulting
                                  index value to the user, the developer may need to enter code into the TRANSFORM FOR DISPLAY
                                  field to transform the index value back to a displayable format.  

                WRITE AUTHORITY:  @

.114,5.3        TRANSFORM FOR LOOKUP   4;E1,245 MUMPS

                INPUT TRANSFORM:  K:$L(X)>245 X D:$D(X) ^DIM
                LAST EDITED:      JAN 05, 2000 
                HELP-PROMPT:      This is Standard MUMPS code. Answer '??' for more help. 
                DESCRIPTION:      Used only during lookup.  
                                   
                                  Answer should be M code that sets the variable X to a new value. X is the only input variable
                                  that is guaranteed to be defined and is equal to the lookup value entered by the user.  
                                   
                                  During lookup, if the lookup value is not found in the index, FileMan will execute the TRANSFORM
                                  FOR LOOKUP code to transform the lookup value X. It will then search this index looking for a
                                  match to the transformed lookup value.  

                WRITE AUTHORITY:  @

.114,5.5        TRANSFORM FOR DISPLAY  3;E1,245 MUMPS

                INPUT TRANSFORM:  K:$L(X)>245 X D:$D(X) ^DIM
                LAST EDITED:      JUL 31, 1998 
                HELP-PROMPT:      This is Standard MUMPS code. Answer '??' for more help. 
                DESCRIPTION:      Used only during lookup.  
                                   
                                  Answer should be M code that sets the variable X to a new value. X is the only variable that is
                                  guaranteed to be defined and is equal to the value of the subscript from the index.  
                                   
                                  TRANSFORM FOR DISPLAY should be set only for an index value that has been transformed using the
                                  code in the TRANSFORM FOR STORAGE prior to storing the value in the index.  
                                   
                                  The code should take the internal value from the index subscript X, and convert it back to a
                                  format that can be displayed to an end user.  During lookup, if a match or matches are made to a
                                  lookup value that was transformed using the TRANSFORM FOR LOOKUP code on this index, then FileMan
                                  will execute the TRANSFORM FOR DISPLAY code before displaying the index value(s) to the end user.  

                WRITE AUTHORITY:  @

.114,6          MAXIMUM LENGTH         0;5 NUMBER

                INPUT TRANSFORM:  K:+X'=X!(X>999)!(X<1)!(X?.E1"."1N.N) X
                LAST EDITED:      FEB 19, 1996 
                HELP-PROMPT:      Answer must be between 1 and 999, with no decimal digits. Answer '??' for more help. 
                DESCRIPTION:      Answer must be the maximum length this cross-reference value should have when stored as a
                                  subscript in the index. FileMan's lookup utilties account for lookup values longer than the
                                  maximum length.  
                                   
                                  Specify a MAXIMUM LENGTH when an untruncated subscript may cause the length of a global reference
                                  in the index to exceed the M Portability Requirements.  


.114,7          COLLATION              0;7 SET

                                  'F' FOR forwards; 
                                  'B' FOR backwards; 
                LAST EDITED:      FEB 13, 1997 
                HELP-PROMPT:      Answer '??' for more help. 
                DESCRIPTION:      Answer with the direction FileMan's lookup utilities should $ORDER through this subscript when
                                  entries are returned or displayed to the user. If for example, you have a compound index on a
                                  Date of Birth field and a Name field, and you specify a COLLATION of 'backwards' on the Date of
                                  Birth value, the Lister and the Finder will return entries in reverse-date order. Likewise,
                                  question mark (?) help and partial matches in interactive ^DIC lookups will display entries in
                                  reverse-date order.  


.114,8          LOOKUP PROMPT          0;8 FREE TEXT

                INPUT TRANSFORM:  K:$L(X)>30!($L(X)<1) X
                LAST EDITED:      MAY 06, 1997 
                HELP-PROMPT:      Answer must be 1-30 characters in length. Answer '??' for more help. 
                DESCRIPTION:      The text entered here will become a prompt for the user when this index is used for lookup (i.e.,
                                  in the Classic FileMan calls to ^DIC.)  If the text is missing, then the FIELD LABEL will be used
                                  as a default.  




.11,666       RE-INDEXING            NOREINDEX;1 SET

                                '1' FOR NO RE-INDEXING ALLOWED; 
                                '0' FOR ALLOW REINDEXING; 
              HELP-PROMPT:      Should the re-indexing of this cross reference be prohibited? 
              DESCRIPTION:      If you answer '1', this cross reference will not be re-indexed during a general re-indexing of this
                                file, whether it's done via API or interactively. If you answer '0', which is the default, it will.  
                                A 'NO RE-INDEXING' cross-reference will ONLY be re-indexed if it is specifically named in an API
                                call 

                                UNEDITABLE

File #.11

  Record Indexes:

  BB (#.1101)    RECORD    REGULAR    IR    LOOKUP & SORTING
       Unique for:  Key A (#.1101), File #.11
      Short Descr:  The uniqueness index for the primary key of the Index file
      Description:  The BB index, on the key of the Index file, lets FileMan test potential key values for uniqueness. It is a
                    regular compound index with two fields, the .01 (File) and .02 (Index Name).  
        Set Logic:  S ^DD("IX","BB",X(1),X(2),DA)=""
       Kill Logic:  K ^DD("IX","BB",X(1),X(2),DA)
       Whole Kill:  K ^DD("IX","BB")
             X(1):  FILE  (.11,.01)  (Subscr 1)
             X(2):  NAME  (.11,.02)  (Subscr 2)

Subfile #.114

  Record Indexes:

  F (#.11403)    RECORD    REGULAR    IR    LOOKUP & SORTING    WHOLE FILE (#.11)
      Short Descr:  Lets FileMan find the indexes affected when a field changes
      Description:  The F index, is a whole file compound cross-reference on two fields in the Cross-Reference Values multiple:
                    File (#2) and Field (#3). It lets FileMan identify the indexes that might be affected when a field value
                    changes.  The checking of this index is an essential step during field level transactions in building the list
                    of record level cross-references that must be fired after user-driven changes to the record are finished.  
        Set Logic:  S ^DD("IX","F",X(1),X(2),DA(1),DA)=""
       Kill Logic:  K ^DD("IX","F",X(1),X(2),DA(1),DA)
       Whole Kill:  K ^DD("IX","F")
             X(1):  FILE  (.114,2)  (Subscr 1)
             X(2):  FIELD  (.114,3)  (Subscr 2)


INPUT TEMPLATE(S):

PRINT TEMPLATE(S):

SORT TEMPLATE(S):

FORM(S)/BLOCK(S):
DIKC EDIT                     JUN 12, 1997@10:58  USER #0
  DIKC EDIT MAIN                DD #.11
  DIKC EDIT HDR 1               DD #.11
  DIKC EDIT LOGIC               DD #.11
  DIKC EDIT CRV                 DD #.114
  DIKC EDIT CRV HDR             DD #.11
  DIKC EDIT HDR 2               DD #.11
  DIKC EDIT FIELD CRV           DD #.114
  DIKC EDIT COMPUTED CRV        DD #.114

DIKC EDIT UI                  JUN 12, 1997@10:58  USER #0
  DIKC EDIT UI MAIN             DD #.11
  DIKC EDIT UI HDR              DD #.11
  DIKC EDIT UI CRV              DD #.114
  DIKC EDIT UI CRV HDR          DD #.11
  DIKC EDIT UI FIELD CRV        DD #.114