source: FOIAVistA/trunk/r/VA_FILEMAN-ARJT-DI-DD-DM-DT-%DT-%RCR/DINIT2A2.m@ 767

Last change on this file since 767 was 628, checked in by George Lilly, 15 years ago

initial load of FOIAVistA 6/30/08 version

File size: 6.6 KB
Line 
1DINIT2A2 ;SFISC/MKO-KEY AND INDEX FILES ;8:42 AM 4 Jun 1999
2 ;;22.0;VA FileMan;**1**;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 ^DINIT2A3
6Q Q
7 ;;^DD(.11,2.1,9)
8 ;;=@
9 ;;^DD(.11,2.1,21,0)
10 ;;=^^16^16^2990430^
11 ;;^DD(.11,2.1,21,1,0)
12 ;;=Answer with the M code that FileMan should execute when the values of
13 ;;^DD(.11,2.1,21,2,0)
14 ;;=fields that make up the cross-reference are changed or deleted. When field
15 ;;^DD(.11,2.1,21,3,0)
16 ;;=values are changed, FileMan executes first the KILL LOGIC, then the SET
17 ;;^DD(.11,2.1,21,4,0)
18 ;;=LOGIC.
19 ;;^DD(.11,2.1,21,5,0)
20 ;;=
21 ;;^DD(.11,2.1,21,6,0)
22 ;;=Assume the DA array describes the record to be cross-referenced, and that
23 ;;^DD(.11,2.1,21,7,0)
24 ;;=the X(order#) array contains values after the transform for storage is
25 ;;^DD(.11,2.1,21,8,0)
26 ;;=applied, but before the truncation to the maximum length. The variable X
27 ;;^DD(.11,2.1,21,9,0)
28 ;;=also equals X(order#) of the lowest order number.
29 ;;^DD(.11,2.1,21,10,0)
30 ;;=
31 ;;^DD(.11,2.1,21,11,0)
32 ;;=When fields that make up a cross-reference are edited and the kill and set
33 ;;^DD(.11,2.1,21,12,0)
34 ;;=logic are executed, the X1(order#) array contains the old field values,
35 ;;^DD(.11,2.1,21,13,0)
36 ;;=and the X2(order#) array contains the new field values. If a record is
37 ;;^DD(.11,2.1,21,14,0)
38 ;;=being added, and there is an X1(order#) array element that corresponds to
39 ;;^DD(.11,2.1,21,15,0)
40 ;;=the .01 field, it is set to null. When a record is deleted, all X2(order#)
41 ;;^DD(.11,2.1,21,16,0)
42 ;;=array elements are null.
43 ;;^DD(.11,2.1,"DT")
44 ;;=2960116
45 ;;^DD(.11,2.2,0)
46 ;;=OVERFLOW KILL LOGIC^.112^^2.2;0
47 ;;^DD(.11,2.2,"DT")
48 ;;=2960124
49 ;;^DD(.11,2.3,0)
50 ;;=KILL CONDITION^F^^2.3;E1,245^K:$L(X)>245!($L(X)<1) X
51 ;;^DD(.11,2.3,3)
52 ;;=Answer must be a valid FileMan computed expression. Answer '??' for more help.
53 ;;^DD(.11,2.3,21,0)
54 ;;=^^5^5^2960124^
55 ;;^DD(.11,2.3,21,1,0)
56 ;;=Answer with a FileMan computed expression that will evaluate to Boolean
57 ;;^DD(.11,2.3,21,2,0)
58 ;;=true (according to the M rules for Boolean interpretation). FileMan will
59 ;;^DD(.11,2.3,21,3,0)
60 ;;=evaluate this expression whenever it would normally execute the
61 ;;^DD(.11,2.3,21,4,0)
62 ;;=cross-reference's Kill Logic, and will not execute the Kill Logic unless
63 ;;^DD(.11,2.3,21,5,0)
64 ;;=this condition evaluates to true.
65 ;;^DD(.11,2.3,"DT")
66 ;;=2960116
67 ;;^DD(.11,2.4,0)
68 ;;=KILL CONDITION CODE^K^^2.4;E1,245^K:$L(X)>245 X D:$D(X) ^DIM
69 ;;^DD(.11,2.4,3)
70 ;;=This is Standard MUMPS code. Answer '??' for more help.
71 ;;^DD(.11,2.4,9)
72 ;;=@
73 ;;^DD(.11,2.4,21,0)
74 ;;=^^15^15^2990430^
75 ;;^DD(.11,2.4,21,1,0)
76 ;;=This is MUMPS code, that sets the variable X. The KILL LOGIC is executed
77 ;;^DD(.11,2.4,21,2,0)
78 ;;=only if the KILL CONDITION, if present, sets X such the X evaluates to
79 ;;^DD(.11,2.4,21,3,0)
80 ;;=true, (according to M rules for Boolean interpretation)
81 ;;^DD(.11,2.4,21,4,0)
82 ;;=
83 ;;^DD(.11,2.4,21,5,0)
84 ;;=Assume the DA array describes the record to be cross-referenced, and that
85 ;;^DD(.11,2.4,21,6,0)
86 ;;=the X(order#) array contains values after the transform for storage is
87 ;;^DD(.11,2.4,21,7,0)
88 ;;=applied, but before the truncation to the maximum length. The variable X
89 ;;^DD(.11,2.4,21,8,0)
90 ;;=also equals X(order#) of the lowest order number.
91 ;;^DD(.11,2.4,21,9,0)
92 ;;=
93 ;;^DD(.11,2.4,21,10,0)
94 ;;=When fields that make up a cross-reference are edited and the kill and set
95 ;;^DD(.11,2.4,21,11,0)
96 ;;=conditions are executed, the X1(order#) array contains the old field
97 ;;^DD(.11,2.4,21,12,0)
98 ;;=values, and the X2(order#) array contains the new field values. If a
99 ;;^DD(.11,2.4,21,13,0)
100 ;;=record is being added, and there is an X1(order#) array element that
101 ;;^DD(.11,2.4,21,14,0)
102 ;;=corresponds to the .01 field, it is set to null. When a record is deleted,
103 ;;^DD(.11,2.4,21,15,0)
104 ;;=all X2(order#) array elements are null.
105 ;;^DD(.11,2.4,"DT")
106 ;;=2970117
107 ;;^DD(.11,2.5,0)
108 ;;=KILL ENTIRE INDEX CODE^K^^2.5;E1,245^K:$L(X)>245 X D:$D(X) ^DIM
109 ;;^DD(.11,2.5,3)
110 ;;=This is Standard MUMPS code. Answer '??' for more help.
111 ;;^DD(.11,2.5,9)
112 ;;=@
113 ;;^DD(.11,2.5,21,0)
114 ;;=^^4^4^2980911^
115 ;;^DD(.11,2.5,21,1,0)
116 ;;=This is kill statement that can be executed to remove an entire index for
117 ;;^DD(.11,2.5,21,2,0)
118 ;;=all records in a file. When an entire file is reindexed, FileMan executes
119 ;;^DD(.11,2.5,21,3,0)
120 ;;=this code instead of looping through all the entries in a file and
121 ;;^DD(.11,2.5,21,4,0)
122 ;;=executing the kill logic once for each entry.
123 ;;^DD(.11,2.5,"DT")
124 ;;=2970117
125 ;;^DD(.11,11.1,0)
126 ;;=CROSS-REFERENCE VALUES^.114IA^^11.1;0
127 ;;^DD(.11,11.1,"DT")
128 ;;=2960221
129 ;;^DD(.1101,0)
130 ;;=DESCRIPTION SUB-FIELD^^.01^1
131 ;;^DD(.1101,0,"DT")
132 ;;=2960116
133 ;;^DD(.1101,0,"NM","DESCRIPTION")
134 ;;=
135 ;;^DD(.1101,0,"UP")
136 ;;=.11
137 ;;^DD(.1101,.01,0)
138 ;;=DESCRIPTION^W^^0;1^Q
139 ;;^DD(.1101,.01,3)
140 ;;=Answer '??' for more help.
141 ;;^DD(.1101,.01,21,0)
142 ;;=^^3^3^2960123^
143 ;;^DD(.1101,.01,21,1,0)
144 ;;=Answer should describe the purpose of this index, along with any technical
145 ;;^DD(.1101,.01,21,2,0)
146 ;;=information that might be useful to advanced users, developers,
147 ;;^DD(.1101,.01,21,3,0)
148 ;;=troubleshooters, or system managers.
149 ;;^DD(.1101,.01,"DT")
150 ;;=2960116
151 ;;^DD(.111,0)
152 ;;=OVERFLOW SET LOGIC SUB-FIELD^^1^2
153 ;;^DD(.111,0,"DT")
154 ;;=2960124
155 ;;^DD(.111,0,"NM","OVERFLOW SET LOGIC")
156 ;;=
157 ;;^DD(.111,0,"UP")
158 ;;=.11
159 ;;^DD(.111,.01,0)
160 ;;=OVERFLOW SET LOGIC NODE^MNJ6,0X^^0;1^K:+X'=X!(X>999999)!(X<1)!(X?.E1"."1N.N) X S:$D(X) DINUM=X
161 ;;^DD(.111,.01,3)
162 ;;=Type a Number between 1 and 999999, 0 Decimal Digits. Answer '??' for more help.
163 ;;^DD(.111,.01,21,0)
164 ;;=^^3^3^2980911^
165 ;;^DD(.111,.01,21,1,0)
166 ;;=Answer must be the number of the node under which the additional line of
167 ;;^DD(.111,.01,21,2,0)
168 ;;=set logic will be filed. Use the overflow nodes if the set logic is too
169 ;;^DD(.111,.01,21,3,0)
170 ;;=long to fit in the SET LOGIC field.
171 ;;^DD(.111,.01,"DT")
172 ;;=2980910
173 ;;^DD(.111,1,0)
174 ;;=OVERFLOW SET LOGIC^RK^^1;E1,245^K:$L(X)>245 X D:$D(X) ^DIM
175 ;;^DD(.111,1,3)
176 ;;=Answer must be Standard M code. Answer '??' for more help.
177 ;;^DD(.111,1,9)
178 ;;=@
179 ;;^DD(.111,1,21,0)
180 ;;=^^6^6^2980911^
181 ;;^DD(.111,1,21,1,0)
182 ;;=Answer with the M code of the additional set logic stored at this node.
183 ;;^DD(.111,1,21,2,0)
184 ;;=FileMan will not automatically execute this additional code, so the set
185 ;;^DD(.111,1,21,3,0)
186 ;;=logic must invoke the additional code stored in this overflow node.
187 ;;^DD(.111,1,21,4,0)
188 ;;=
189 ;;^DD(.111,1,21,5,0)
190 ;;=The M code can assume that DIXR contains the internal entry number of the
Note: See TracBrowser for help on using the repository browser.