[613] | 1 | DINIT2A0 ;SFISC/MKO-KEY AND INDEX FILES ;10:50 AM 30 Mar 1999
|
---|
| 2 | ;;22.0;VA FileMan;;Mar 30, 1999
|
---|
| 3 | ;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
| 4 | F I=1:2 S X=$T(Q+I) Q:X="" S Y=$E($T(Q+I+1),4,999),X=$E(X,4,999) S:$A(Y)=126 I=I+1,Y=$E(Y,2,999)_$E($T(Q+I+1),5,99) S:$A(Y)=61 Y=$E(Y,2,999) S @X=Y
|
---|
| 5 | G ^DINIT2A1
|
---|
| 6 | Q Q
|
---|
| 7 | ;;^DIC(.11,0,"GL")
|
---|
| 8 | ;;=^DD("IX",
|
---|
| 9 | ;;^DIC("B","INDEX",.11)
|
---|
| 10 | ;;=
|
---|
| 11 | ;;^DIC(.11,"%D",0)
|
---|
| 12 | ;;=^^5^5^2980911^
|
---|
| 13 | ;;^DIC(.11,"%D",1,0)
|
---|
| 14 | ;;=This file stores information about new-style cross-references defined on a
|
---|
| 15 | ;;^DIC(.11,"%D",2,0)
|
---|
| 16 | ;;=file. Whereas traditional cross-references are stored under the 1 nodes of
|
---|
| 17 | ;;^DIC(.11,"%D",3,0)
|
---|
| 18 | ;;=the ^DD for a particular field, new-style cross-references are stored in
|
---|
| 19 | ;;^DIC(.11,"%D",4,0)
|
---|
| 20 | ;;=this file and can consist of one field (simple cross-references), as well
|
---|
| 21 | ;;^DIC(.11,"%D",5,0)
|
---|
| 22 | ;;=as more than one field (compound cross-references).
|
---|
| 23 | ;;^DD(.11,0)
|
---|
| 24 | ;;=FIELD^^11.1^20
|
---|
| 25 | ;;^DD(.11,0,"DDA")
|
---|
| 26 | ;;=N
|
---|
| 27 | ;;^DD(.11,0,"DT")
|
---|
| 28 | ;;=2980908
|
---|
| 29 | ;;^DD(.11,0,"ID","DI SHORT DESCRIPTION 50")
|
---|
| 30 | ;;=D EN^DDIOL($E($P(^(0),U,3),1,50),"","?0")
|
---|
| 31 | ;;^DD(.11,0,"IX","AC",.11,.51)
|
---|
| 32 | ;;=
|
---|
| 33 | ;;^DD(.11,0,"IX","B",.11,.01)
|
---|
| 34 | ;;=
|
---|
| 35 | ;;^DD(.11,0,"NM","INDEX")
|
---|
| 36 | ;;=
|
---|
| 37 | ;;^DD(.11,0,"PT",.31,3)
|
---|
| 38 | ;;=
|
---|
| 39 | ;;^DD(.11,.01,0)
|
---|
| 40 | ;;=FILE^RNJ20,7^^0;1^K:+X'=X!(X>999999999999)!(X<0)!(X?.E1"."8N.N) X
|
---|
| 41 | ;;^DD(.11,.01,1,0)
|
---|
| 42 | ;;=^.1^^-1
|
---|
| 43 | ;;^DD(.11,.01,1,1,0)
|
---|
| 44 | ;;=.11^B
|
---|
| 45 | ;;^DD(.11,.01,1,1,1)
|
---|
| 46 | ;;=S ^DD("IX","B",$E(X,1,30),DA)=""
|
---|
| 47 | ;;^DD(.11,.01,1,1,2)
|
---|
| 48 | ;;=K ^DD("IX","B",$E(X,1,30),DA)
|
---|
| 49 | ;;^DD(.11,.01,1,1,3)
|
---|
| 50 | ;;=Lets developers pick indexes by file number
|
---|
| 51 | ;;^DD(.11,.01,1,1,"%D",0)
|
---|
| 52 | ;;=^^2^2^2980911^
|
---|
| 53 | ;;^DD(.11,.01,1,1,"%D",1,0)
|
---|
| 54 | ;;=The B index, on the .01 (File) of the Index file, lets developers pick
|
---|
| 55 | ;;^DD(.11,.01,1,1,"%D",2,0)
|
---|
| 56 | ;;=indexes by the numbers of the files they cross-reference.
|
---|
| 57 | ;;^DD(.11,.01,3)
|
---|
| 58 | ;;=Answer must be between 0 and 999999999999, with up to 7 decimal digits. Answer '??' for more help.
|
---|
| 59 | ;;^DD(.11,.01,21,0)
|
---|
| 60 | ;;=^^3^3^2980910^^
|
---|
| 61 | ;;^DD(.11,.01,21,1,0)
|
---|
| 62 | ;;=Answer should be the number of the file cross-referenced by this index.
|
---|
| 63 | ;;^DD(.11,.01,21,2,0)
|
---|
| 64 | ;;=For whole file cross-references on subfiles, answer with the number of
|
---|
| 65 | ;;^DD(.11,.01,21,3,0)
|
---|
| 66 | ;;=the file where the index physically resides, not the subfile number.
|
---|
| 67 | ;;^DD(.11,.01,"DT")
|
---|
| 68 | ;;=2980611
|
---|
| 69 | ;;^DD(.11,.02,0)
|
---|
| 70 | ;;=NAME^RF^^0;2^K:$L(X)>30!($L(X)<1)!'(X?1A.AN) X
|
---|
| 71 | ;;^DD(.11,.02,1,0)
|
---|
| 72 | ;;=^.1^^0
|
---|
| 73 | ;;^DD(.11,.02,3)
|
---|
| 74 | ;;=Answer must be 1-30 characters in length. Answer '??' for more help.
|
---|
| 75 | ;;^DD(.11,.02,21,0)
|
---|
| 76 | ;;=^^4^4^2980911^
|
---|
| 77 | ;;^DD(.11,.02,21,1,0)
|
---|
| 78 | ;;=Answer must be the name of the index. For example, the name of the default
|
---|
| 79 | ;;^DD(.11,.02,21,2,0)
|
---|
| 80 | ;;=lookup index on a file's .01 field is B, the name of the uniqueness index
|
---|
| 81 | ;;^DD(.11,.02,21,3,0)
|
---|
| 82 | ;;=of a compound key is BB, and the name of an index not used for lookup must
|
---|
| 83 | ;;^DD(.11,.02,21,4,0)
|
---|
| 84 | ;;=start with A.
|
---|
| 85 | ;;^DD(.11,.02,"DT")
|
---|
| 86 | ;;=2990303
|
---|
| 87 | ;;^DD(.11,.1,0)
|
---|
| 88 | ;;=DESCRIPTION^.1101^^.1;0
|
---|
| 89 | ;;^DD(.11,.11,0)
|
---|
| 90 | ;;=SHORT DESCRIPTION^RF^^0;3^K:$L(X)>79!($L(X)<1) X
|
---|
| 91 | ;;^DD(.11,.11,3)
|
---|
| 92 | ;;=Answer must be 1-79 characters in length. Answer '??' for more help.
|
---|
| 93 | ;;^DD(.11,.11,21,0)
|
---|
| 94 | ;;=^^2^2^2980910^
|
---|
| 95 | ;;^DD(.11,.11,21,1,0)
|
---|
| 96 | ;;=Answer should be text briefly explaining the function of this
|
---|
| 97 | ;;^DD(.11,.11,21,2,0)
|
---|
| 98 | ;;=cross-reference.
|
---|
| 99 | ;;^DD(.11,.11,"DT")
|
---|
| 100 | ;;=2960216
|
---|
| 101 | ;;^DD(.11,.2,0)
|
---|
| 102 | ;;=TYPE^RS^R:REGULAR;MU:MUMPS;^0;4^Q
|
---|
| 103 | ;;^DD(.11,.2,3)
|
---|
| 104 | ;;=Answer '??' for more help.
|
---|
| 105 | ;;^DD(.11,.2,21,0)
|
---|
| 106 | ;;=^^5^5^2980911^
|
---|
| 107 | ;;^DD(.11,.2,21,1,0)
|
---|
| 108 | ;;=REGULAR - One or more field values are stored in an index on the file. The
|
---|
| 109 | ;;^DD(.11,.2,21,2,0)
|
---|
| 110 | ;;=index can be used for sorting, or optionally, looking up entries.
|
---|
| 111 | ;;^DD(.11,.2,21,3,0)
|
---|
| 112 | ;;=
|
---|
| 113 | ;;^DD(.11,.2,21,4,0)
|
---|
| 114 | ;;=MUMPS - Customizable M code executes whenever a field that makes up the
|
---|
| 115 | ;;^DD(.11,.2,21,5,0)
|
---|
| 116 | ;;=cross-references changes.
|
---|
| 117 | ;;^DD(.11,.2,"DT")
|
---|
| 118 | ;;=2970718
|
---|
| 119 | ;;^DD(.11,.4,0)
|
---|
| 120 | ;;=EXECUTION^RS^F:FIELD;R:RECORD;^0;6^Q
|
---|
| 121 | ;;^DD(.11,.4,1,0)
|
---|
| 122 | ;;=^.1^^0
|
---|
| 123 | ;;^DD(.11,.4,3)
|
---|
| 124 | ;;=Answer '??' for more help.
|
---|
| 125 | ;;^DD(.11,.4,21,0)
|
---|
| 126 | ;;=^^7^7^2980911^^
|
---|
| 127 | ;;^DD(.11,.4,21,1,0)
|
---|
| 128 | ;;=Answer with the code that indicates whether the cross reference logic
|
---|
| 129 | ;;^DD(.11,.4,21,2,0)
|
---|
| 130 | ;;=should be executed after a field in the index changes, or only after all
|
---|
| 131 | ;;^DD(.11,.4,21,3,0)
|
---|
| 132 | ;;=fields in a record are updated. The logic for most simple (single-field)
|
---|
| 133 | ;;^DD(.11,.4,21,4,0)
|
---|
| 134 | ;;=indexes should be executed immediately after the field changes, and so
|
---|
| 135 | ;;^DD(.11,.4,21,5,0)
|
---|
| 136 | ;;=should get the code 'F'. The logic for most compound indexes should be
|
---|
| 137 | ;;^DD(.11,.4,21,6,0)
|
---|
| 138 | ;;=executed only once after a transaction on the entire record is complete,
|
---|
| 139 | ;;^DD(.11,.4,21,7,0)
|
---|
| 140 | ;;=and so should get the code 'R'. Exceptions to this rule are rare.
|
---|
| 141 | ;;^DD(.11,.4,"DT")
|
---|
| 142 | ;;=2980611
|
---|
| 143 | ;;^DD(.11,.41,0)
|
---|
| 144 | ;;=ACTIVITY^FX^^0;7^K:$L(X)>2!($L(X)<1)!($TR(X,"IR")]"") X
|
---|
| 145 | ;;^DD(.11,.41,3)
|
---|
| 146 | ;;=Answer must be 2 characters in length. Answer '??' for more help.
|
---|
| 147 | ;;^DD(.11,.41,21,0)
|
---|
| 148 | ;;=^^15^15^2990225^
|
---|
| 149 | ;;^DD(.11,.41,21,1,0)
|
---|
| 150 | ;;=Answer with the flags that control whether FileMan fires this
|
---|
| 151 | ;;^DD(.11,.41,21,2,0)
|
---|
| 152 | ;;=cross-reference during an installation and a re-cross-referencing
|
---|
| 153 | ;;^DD(.11,.41,21,3,0)
|
---|
| 154 | ;;=operation. The possible flags are:
|
---|
| 155 | ;;^DD(.11,.41,21,4,0)
|
---|
| 156 | ;;=
|
---|
| 157 | ;;^DD(.11,.41,21,5,0)
|
---|
| 158 | ;;= I = Installing an entry at a site
|
---|
| 159 | ;;^DD(.11,.41,21,6,0)
|
---|
| 160 | ;;= R = Re-cross-referencing this index
|
---|
| 161 | ;;^DD(.11,.41,21,7,0)
|
---|
| 162 | ;;=
|
---|
| 163 | ;;^DD(.11,.41,21,8,0)
|
---|
| 164 | ;;=FileMan automatically fires cross-references during an edit, regardless of
|
---|
| 165 | ;;^DD(.11,.41,21,9,0)
|
---|
| 166 | ;;=Activity, though you can control whether a cross-reference is fired by
|
---|
| 167 | ;;^DD(.11,.41,21,10,0)
|
---|
| 168 | ;;=entering Set and Kill Conditions.
|
---|
| 169 | ;;^DD(.11,.41,21,11,0)
|
---|
| 170 | ;;=
|
---|
| 171 | ;;^DD(.11,.41,21,12,0)
|
---|
| 172 | ;;=Also, if you explicity select a cross-reference in an EN^DIK, EN1^DIK, or
|
---|
| 173 | ;;^DD(.11,.41,21,13,0)
|
---|
| 174 | ;;=ENALL^DIK call, or in the UTILITY FUNCTIONS/RE-INDEX FILE option on the VA
|
---|
| 175 | ;;^DD(.11,.41,21,14,0)
|
---|
| 176 | ;;=FileMan menu, that cross-reference will be fired whether or not its
|
---|
| 177 | ;;^DD(.11,.41,21,15,0)
|
---|
| 178 | ;;=Activity contains an "R".
|
---|
| 179 | ;;^DD(.11,.41,"DT")
|
---|
| 180 | ;;=2980611
|
---|
| 181 | ;;^DD(.11,.42,0)
|
---|
| 182 | ;;=USE^S^LS:LOOKUP & SORTING;S:SORTING ONLY;A:ACTION;^0;14^Q
|
---|
| 183 | ;;^DD(.11,.42,3)
|
---|
| 184 | ;;=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.
|
---|
| 185 | ;;^DD(.11,.42,21,0)
|
---|
| 186 | ;;=^^15^15^2980911^^
|
---|
| 187 | ;;^DD(.11,.42,21,1,0)
|
---|
| 188 | ;;=LOOKUP & SORTING - The index name starts with "B" or a letter that
|
---|
| 189 | ;;^DD(.11,.42,21,2,0)
|
---|
| 190 | ;;=alphabetically follows "B". Calls to Classic FileMan lookup (^DIC) or the
|
---|
| 191 | ;;^DD(.11,.42,21,3,0)
|
---|
| 192 | ;;=Finder (FIND^DIC or $$FIND1^DIC) where the index is not specified will
|
---|
| 193 | ;;^DD(.11,.42,21,4,0)
|
---|
| 194 | ;;=include this index in the search. The index will be available for use by
|
---|