Status: | Merged | ||||
---|---|---|---|---|---|
Merged at revision: | not available | ||||
Proposed branch: | lp:~jontai/ovid/bug515722 | ||||
Merge into: | lp:ovid | ||||
Diff against target: |
2657 lines (+2648/-0) 2 files modified
ovid/src/mumps/kids/MSCFM.1.2.KID (+2126/-0) ovid/src/mumps/kids/MSCRES.1.2.KID (+522/-0) |
||||
To merge this branch: | bzr merge lp:~jontai/ovid/bug515722 | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
jeff.apple | Approve | ||
Review via email: mp+18410@code.launchpad.net |
Commit message
Description of the change
To post a comment you must log in.
Revision history for this message
Jon Tai (jontai) wrote : | # |
Revision history for this message
jeff.apple (jeff-apple) wrote : | # |
It's really hard to tell by looking at a KIDS build if it's all OK. Doesn't look wrong, though.
review:
Approve
Revision history for this message
Jon Tai (jontai) wrote : | # |
You can check out the branch and do a diff between the 1.1 versions and the 1.2 versions. That gives you something more meaningful to look at.
In any case, if you approve, can you merge it into mainline and re-push?
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === added file 'ovid/src/mumps/kids/MSCFM.1.2.KID' |
2 | --- ovid/src/mumps/kids/MSCFM.1.2.KID 1970-01-01 00:00:00 +0000 |
3 | +++ ovid/src/mumps/kids/MSCFM.1.2.KID 2010-02-01 21:38:14 +0000 |
4 | @@ -0,0 +1,2126 @@ |
5 | +KIDS Distribution saved on Feb 01, 2010@12:23:04 |
6 | +BUMP VERSION NUMBER TO REFLECT CHANGES SINCE MAY 2009 |
7 | +**KIDS**:MSCFM*1.0*2^ |
8 | + |
9 | +**INSTALL NAME** |
10 | +MSCFM*1.0*2 |
11 | +"BLD",7057,0) |
12 | +MSCFM*1.0*2^^^3100201^n |
13 | +"BLD",7057,4,0) |
14 | +^9.64PA^21455^1 |
15 | +"BLD",7057,4,21455,0) |
16 | +21455 |
17 | +"BLD",7057,4,21455,222) |
18 | +y^y^f^^^^n |
19 | +"BLD",7057,4,21455,21400) |
20 | +0 |
21 | +"BLD",7057,4,"B",21455,21455) |
22 | + |
23 | +"BLD",7057,6.3) |
24 | +1 |
25 | +"BLD",7057,"KRN",0) |
26 | +^9.67PA^8989.52^19 |
27 | +"BLD",7057,"KRN",.4,0) |
28 | +.4 |
29 | +"BLD",7057,"KRN",.401,0) |
30 | +.401 |
31 | +"BLD",7057,"KRN",.402,0) |
32 | +.402 |
33 | +"BLD",7057,"KRN",.403,0) |
34 | +.403 |
35 | +"BLD",7057,"KRN",.5,0) |
36 | +.5 |
37 | +"BLD",7057,"KRN",.84,0) |
38 | +.84 |
39 | +"BLD",7057,"KRN",3.6,0) |
40 | +3.6 |
41 | +"BLD",7057,"KRN",3.8,0) |
42 | +3.8 |
43 | +"BLD",7057,"KRN",9.2,0) |
44 | +9.2 |
45 | +"BLD",7057,"KRN",9.8,0) |
46 | +9.8 |
47 | +"BLD",7057,"KRN",9.8,"NM",0) |
48 | +^9.68A^16^15 |
49 | +"BLD",7057,"KRN",9.8,"NM",1,0) |
50 | +MSCFM^^0^B5098671 |
51 | +"BLD",7057,"KRN",9.8,"NM",2,0) |
52 | +MSCFMDEL^^0^B1636754 |
53 | +"BLD",7057,"KRN",9.8,"NM",3,0) |
54 | +MSCFMGET^^0^B9839507 |
55 | +"BLD",7057,"KRN",9.8,"NM",4,0) |
56 | +MSCFMLST^^0^B4353203 |
57 | +"BLD",7057,"KRN",9.8,"NM",5,0) |
58 | +MSCFMQRY^^0^B26519484 |
59 | +"BLD",7057,"KRN",9.8,"NM",6,0) |
60 | +MSCFMUPD^^0^B5427703 |
61 | +"BLD",7057,"KRN",9.8,"NM",7,0) |
62 | +MSCBFM^^0^B417415 |
63 | +"BLD",7057,"KRN",9.8,"NM",8,0) |
64 | +MSCFMFI^^0^B16373360 |
65 | +"BLD",7057,"KRN",9.8,"NM",9,0) |
66 | +MSCFMINS^^0^B6139097 |
67 | +"BLD",7057,"KRN",9.8,"NM",10,0) |
68 | +MSCFMSCN^^0^B9466392 |
69 | +"BLD",7057,"KRN",9.8,"NM",12,0) |
70 | +MSCFMFND^^0^B6202861 |
71 | +"BLD",7057,"KRN",9.8,"NM",13,0) |
72 | +MSCFMDIC^^0^B4553400 |
73 | +"BLD",7057,"KRN",9.8,"NM",14,0) |
74 | +MSCFME^^0^B5719463 |
75 | +"BLD",7057,"KRN",9.8,"NM",15,0) |
76 | +MSCFMIDX^^0^B5374937 |
77 | +"BLD",7057,"KRN",9.8,"NM",16,0) |
78 | +MSCFMREF^^0^B1814485 |
79 | +"BLD",7057,"KRN",9.8,"NM","B","MSCBFM",7) |
80 | + |
81 | +"BLD",7057,"KRN",9.8,"NM","B","MSCFM",1) |
82 | + |
83 | +"BLD",7057,"KRN",9.8,"NM","B","MSCFMDEL",2) |
84 | + |
85 | +"BLD",7057,"KRN",9.8,"NM","B","MSCFMDIC",13) |
86 | + |
87 | +"BLD",7057,"KRN",9.8,"NM","B","MSCFME",14) |
88 | + |
89 | +"BLD",7057,"KRN",9.8,"NM","B","MSCFMFI",8) |
90 | + |
91 | +"BLD",7057,"KRN",9.8,"NM","B","MSCFMFND",12) |
92 | + |
93 | +"BLD",7057,"KRN",9.8,"NM","B","MSCFMGET",3) |
94 | + |
95 | +"BLD",7057,"KRN",9.8,"NM","B","MSCFMIDX",15) |
96 | + |
97 | +"BLD",7057,"KRN",9.8,"NM","B","MSCFMINS",9) |
98 | + |
99 | +"BLD",7057,"KRN",9.8,"NM","B","MSCFMLST",4) |
100 | + |
101 | +"BLD",7057,"KRN",9.8,"NM","B","MSCFMQRY",5) |
102 | + |
103 | +"BLD",7057,"KRN",9.8,"NM","B","MSCFMREF",16) |
104 | + |
105 | +"BLD",7057,"KRN",9.8,"NM","B","MSCFMSCN",10) |
106 | + |
107 | +"BLD",7057,"KRN",9.8,"NM","B","MSCFMUPD",6) |
108 | + |
109 | +"BLD",7057,"KRN",19,0) |
110 | +19 |
111 | +"BLD",7057,"KRN",19,"NM",0) |
112 | +^9.68A^1^1 |
113 | +"BLD",7057,"KRN",19,"NM",1,0) |
114 | +MSC FM RESOURCE USER^^0 |
115 | +"BLD",7057,"KRN",19,"NM","B","MSC FM RESOURCE USER",1) |
116 | + |
117 | +"BLD",7057,"KRN",19.1,0) |
118 | +19.1 |
119 | +"BLD",7057,"KRN",101,0) |
120 | +101 |
121 | +"BLD",7057,"KRN",409.61,0) |
122 | +409.61 |
123 | +"BLD",7057,"KRN",771,0) |
124 | +771 |
125 | +"BLD",7057,"KRN",870,0) |
126 | +870 |
127 | +"BLD",7057,"KRN",8989.51,0) |
128 | +8989.51 |
129 | +"BLD",7057,"KRN",8989.52,0) |
130 | +8989.52 |
131 | +"BLD",7057,"KRN",8994,0) |
132 | +8994 |
133 | +"BLD",7057,"KRN",8994,"NM",0) |
134 | +^9.68A^1^1 |
135 | +"BLD",7057,"KRN",8994,"NM",1,0) |
136 | +MSC FILEMAN RESOURCE^^0 |
137 | +"BLD",7057,"KRN",8994,"NM","B","MSC FILEMAN RESOURCE",1) |
138 | + |
139 | +"BLD",7057,"KRN","B",.4,.4) |
140 | + |
141 | +"BLD",7057,"KRN","B",.401,.401) |
142 | + |
143 | +"BLD",7057,"KRN","B",.402,.402) |
144 | + |
145 | +"BLD",7057,"KRN","B",.403,.403) |
146 | + |
147 | +"BLD",7057,"KRN","B",.5,.5) |
148 | + |
149 | +"BLD",7057,"KRN","B",.84,.84) |
150 | + |
151 | +"BLD",7057,"KRN","B",3.6,3.6) |
152 | + |
153 | +"BLD",7057,"KRN","B",3.8,3.8) |
154 | + |
155 | +"BLD",7057,"KRN","B",9.2,9.2) |
156 | + |
157 | +"BLD",7057,"KRN","B",9.8,9.8) |
158 | + |
159 | +"BLD",7057,"KRN","B",19,19) |
160 | + |
161 | +"BLD",7057,"KRN","B",19.1,19.1) |
162 | + |
163 | +"BLD",7057,"KRN","B",101,101) |
164 | + |
165 | +"BLD",7057,"KRN","B",409.61,409.61) |
166 | + |
167 | +"BLD",7057,"KRN","B",771,771) |
168 | + |
169 | +"BLD",7057,"KRN","B",870,870) |
170 | + |
171 | +"BLD",7057,"KRN","B",8989.51,8989.51) |
172 | + |
173 | +"BLD",7057,"KRN","B",8989.52,8989.52) |
174 | + |
175 | +"BLD",7057,"KRN","B",8994,8994) |
176 | + |
177 | +"BLD",7057,"MSC") |
178 | +/home/japple/MSCFM.1.1.KID |
179 | +"BLD",7057,"MSCOM") |
180 | +BUMP VERSION NUMBER TO REFLECT CHANGES SINCE MAY 2009 |
181 | +"BLD",7057,"QUES",0) |
182 | +^9.62^^ |
183 | +"BLD",7057,"REQB",0) |
184 | +^9.611^^ |
185 | +"FIA",21455) |
186 | +FILEMAN EXCEPTION |
187 | +"FIA",21455,0) |
188 | +^MSCFME( |
189 | +"FIA",21455,0,0) |
190 | +21455 |
191 | +"FIA",21455,0,1) |
192 | +y^y^f^^^^n |
193 | +"FIA",21455,0,10) |
194 | + |
195 | +"FIA",21455,0,11) |
196 | + |
197 | +"FIA",21455,0,"RLRO") |
198 | + |
199 | +"FIA",21455,21455) |
200 | +0 |
201 | +"KRN",19,13190,-1) |
202 | +0^1 |
203 | +"KRN",19,13190,0) |
204 | +MSC FM RESOURCE USER^MSC FM RES^^B^^^^^^^^VISTALINK |
205 | +"KRN",19,13190,99.1) |
206 | +61384,66183 |
207 | +"KRN",19,13190,"RPC",0) |
208 | +^19.05P^1^1 |
209 | +"KRN",19,13190,"RPC",1,0) |
210 | +MSC FILEMAN RESOURCE |
211 | +"KRN",19,13190,"U") |
212 | +MSC FM RES |
213 | +"KRN",8994,2239,-1) |
214 | +0^1 |
215 | +"KRN",8994,2239,0) |
216 | +MSC FILEMAN RESOURCE^ENTRY^MSCBFM^2^P^0^^^1 |
217 | +"KRN",8994,2239,2,0) |
218 | +^8994.02A^1^1 |
219 | +"KRN",8994,2239,2,1,0) |
220 | +RES^2^^1^1 |
221 | +"KRN",8994,2239,2,"B","RES",1) |
222 | + |
223 | +"KRN",8994,2239,2,"PARAMSEQ",1,1) |
224 | + |
225 | +"MBREQ") |
226 | +0 |
227 | +"ORD",16,8994) |
228 | +8994;16;1;;;;;;;RPCDEL^XPDIA1 |
229 | +"ORD",16,8994,0) |
230 | +REMOTE PROCEDURE |
231 | +"ORD",18,19) |
232 | +19;18;;;OPT^XPDTA;OPTF1^XPDIA;OPTE1^XPDIA;OPTF2^XPDIA;;OPTDEL^XPDIA |
233 | +"ORD",18,19,0) |
234 | +OPTION |
235 | +"QUES","XPF1",0) |
236 | +Y |
237 | +"QUES","XPF1","??") |
238 | +^D REP^XPDH |
239 | +"QUES","XPF1","A") |
240 | +Shall I write over your |FLAG| File |
241 | +"QUES","XPF1","B") |
242 | +YES |
243 | +"QUES","XPF1","M") |
244 | +D XPF1^XPDIQ |
245 | +"QUES","XPF2",0) |
246 | +Y |
247 | +"QUES","XPF2","??") |
248 | +^D DTA^XPDH |
249 | +"QUES","XPF2","A") |
250 | +Want my data |FLAG| yours |
251 | +"QUES","XPF2","B") |
252 | +YES |
253 | +"QUES","XPF2","M") |
254 | +D XPF2^XPDIQ |
255 | +"QUES","XPI1",0) |
256 | +YO |
257 | +"QUES","XPI1","??") |
258 | +^D INHIBIT^XPDH |
259 | +"QUES","XPI1","A") |
260 | +Want KIDS to INHIBIT LOGONs during the install |
261 | +"QUES","XPI1","B") |
262 | +NO |
263 | +"QUES","XPI1","M") |
264 | +D XPI1^XPDIQ |
265 | +"QUES","XPM1",0) |
266 | +PO^VA(200,:EM |
267 | +"QUES","XPM1","??") |
268 | +^D MG^XPDH |
269 | +"QUES","XPM1","A") |
270 | +Enter the Coordinator for Mail Group '|FLAG|' |
271 | +"QUES","XPM1","B") |
272 | + |
273 | +"QUES","XPM1","M") |
274 | +D XPM1^XPDIQ |
275 | +"QUES","XPO1",0) |
276 | +Y |
277 | +"QUES","XPO1","??") |
278 | +^D MENU^XPDH |
279 | +"QUES","XPO1","A") |
280 | +Want KIDS to Rebuild Menu Trees Upon Completion of Install |
281 | +"QUES","XPO1","B") |
282 | +NO |
283 | +"QUES","XPO1","M") |
284 | +D XPO1^XPDIQ |
285 | +"QUES","XPZ1",0) |
286 | +Y |
287 | +"QUES","XPZ1","??") |
288 | +^D OPT^XPDH |
289 | +"QUES","XPZ1","A") |
290 | +Want to DISABLE Scheduled Options, Menu Options, and Protocols |
291 | +"QUES","XPZ1","B") |
292 | +NO |
293 | +"QUES","XPZ1","M") |
294 | +D XPZ1^XPDIQ |
295 | +"QUES","XPZ2",0) |
296 | +Y |
297 | +"QUES","XPZ2","??") |
298 | +^D RTN^XPDH |
299 | +"QUES","XPZ2","A") |
300 | +Want to MOVE routines to other CPUs |
301 | +"QUES","XPZ2","B") |
302 | +NO |
303 | +"QUES","XPZ2","M") |
304 | +D XPZ2^XPDIQ |
305 | +"RTN") |
306 | +15 |
307 | +"RTN","MSCBFM") |
308 | +0^7^B417415 |
309 | +"RTN","MSCBFM",1,0) |
310 | +MSCBFM; MSC/JDA - RPC for FileMan requests ; 14 May, 2009 |
311 | +"RTN","MSCBFM",2,0) |
312 | + ;;1.0;MSCFM;;May 14, 2009 |
313 | +"RTN","MSCBFM",3,0) |
314 | +ENTRY(RETVAL,ARGBYTES) |
315 | +"RTN","MSCBFM",4,0) |
316 | + ; Entry point for RPC that handles FileMan requests |
317 | +"RTN","MSCBFM",5,0) |
318 | + ; both parameters are in byte format |
319 | +"RTN","MSCBFM",6,0) |
320 | + N RES,REPLYRES S RES="",REPLYRES="",RETVAL="" |
321 | +"RTN","MSCBFM",7,0) |
322 | + D FROMBYTE^MSCRES(.RES,.ARGBYTES) |
323 | +"RTN","MSCBFM",8,0) |
324 | + D PROCESS^MSCFM(.REPLYRES,.RES) |
325 | +"RTN","MSCBFM",9,0) |
326 | + D TOBYTE^MSCRES(.RETVAL,.REPLYRES) |
327 | +"RTN","MSCBFM",10,0) |
328 | + Q |
329 | +"RTN","MSCFM") |
330 | +0^1^B5098671 |
331 | +"RTN","MSCFM",1,0) |
332 | +MSCFM; MSC/JDA - Common OVID FileMan routines ; OCT 20, 2009 |
333 | +"RTN","MSCFM",2,0) |
334 | + ;;1.0;MSCFM;;May 14, 2009 |
335 | +"RTN","MSCFM",3,0) |
336 | + Q |
337 | +"RTN","MSCFM",4,0) |
338 | +PROCESS(REPLY,RES) |
339 | +"RTN","MSCFM",5,0) |
340 | + N TEMP,PROPNAME |
341 | +"RTN","MSCFM",6,0) |
342 | + D FIRST^MSCRES(.RES) |
343 | +"RTN","MSCFM",7,0) |
344 | + D START^MSCRES(.REPLY) |
345 | +"RTN","MSCFM",8,0) |
346 | + D ADDCMPD^MSCRES(.REPLY,"FILEMAN") |
347 | +"RTN","MSCFM",9,0) |
348 | + S TEMP=$$NEXTPROP^MSCRES(.RES) |
349 | +"RTN","MSCFM",10,0) |
350 | + ; JDA - TODO : Check for valid top-property |
351 | +"RTN","MSCFM",11,0) |
352 | + F Q:'$$NEXTPROP^MSCRES(.RES) D |
353 | +"RTN","MSCFM",12,0) |
354 | + . S PROPNAME=$$GETPROP^MSCRES(.RES) |
355 | +"RTN","MSCFM",13,0) |
356 | + . I PROPNAME="GETS" D RUN^MSCFMGET(.REPLY,.RES) Q |
357 | +"RTN","MSCFM",14,0) |
358 | + . I PROPNAME="LIST" D RUN^MSCFMLST(.REPLY,.RES) Q |
359 | +"RTN","MSCFM",15,0) |
360 | + . I PROPNAME="FIND" D RUN^MSCFMFND(.REPLY,.RES) Q |
361 | +"RTN","MSCFM",16,0) |
362 | + . I PROPNAME="INSERT" D RUN^MSCFMINS(.REPLY,.RES) Q |
363 | +"RTN","MSCFM",17,0) |
364 | + . I PROPNAME="DELETE" D RUN^MSCFMDEL(.REPLY,.RES) Q |
365 | +"RTN","MSCFM",18,0) |
366 | + . I PROPNAME="UPDATE" D RUN^MSCFMUPD(.REPLY,.RES) Q |
367 | +"RTN","MSCFM",19,0) |
368 | + . I PROPNAME="FILEINFO" D FILEINFO^MSCFMFI(.REPLY,.RES) Q |
369 | +"RTN","MSCFM",20,0) |
370 | + . I PROPNAME="FILES" D FILES^MSCFMFI(.REPLY,.RES) Q |
371 | +"RTN","MSCFM",21,0) |
372 | + . I PROPNAME="PROJECT" D RPCPROJ^MSCSQL2(.REPLY,.RES) Q |
373 | +"RTN","MSCFM",22,0) |
374 | + . I PROPNAME="DIC" D RUN^MSCFMDIC(.REPLY,.RES) Q |
375 | +"RTN","MSCFM",23,0) |
376 | + . I PROPNAME="INDEX" D RUN^MSCFMIDX(.REPLY,.RES) Q |
377 | +"RTN","MSCFM",24,0) |
378 | + . I PROPNAME="REFBY" D RUN^MSCFMREF(.REPLY,.RES) Q |
379 | +"RTN","MSCFM",25,0) |
380 | + . Q |
381 | +"RTN","MSCFM",26,0) |
382 | + D ENDCMPD^MSCRES(.REPLY) ; FILEMAN |
383 | +"RTN","MSCFM",27,0) |
384 | + Q |
385 | +"RTN","MSCFM",28,0) |
386 | +FILE2NUM(FILE) |
387 | +"RTN","MSCFM",29,0) |
388 | + N PC,PART,FLD |
389 | +"RTN","MSCFM",30,0) |
390 | + S PART=$P(FILE,"^",1) |
391 | +"RTN","MSCFM",31,0) |
392 | + S FILENUM=$$FIND1^DIC(1,,"X",$P(PART,"^",1)) |
393 | +"RTN","MSCFM",32,0) |
394 | + Q:FILENUM="" 0 |
395 | +"RTN","MSCFM",33,0) |
396 | + F PC=2:1:$L(FILE,"^") D |
397 | +"RTN","MSCFM",34,0) |
398 | + . S PART=$P(FILE,"^",PC) |
399 | +"RTN","MSCFM",35,0) |
400 | + . S FLD=$$FLD2NUM(FILENUM,PART) |
401 | +"RTN","MSCFM",36,0) |
402 | + . S FILENUM=+$P(^DD(FILENUM,FLD,0),"^",2) |
403 | +"RTN","MSCFM",37,0) |
404 | + . Q |
405 | +"RTN","MSCFM",38,0) |
406 | + Q FILENUM |
407 | +"RTN","MSCFM",39,0) |
408 | +FLD2NUM(FILENUM,FLDNUM) |
409 | +"RTN","MSCFM",40,0) |
410 | + I FLDNUM?1(.N0.1"I",.N1".".N0.1"I") S:'$D(^DD(FILENUM,FLDNUM)) FLDNUM=0 Q FLDNUM ; already a number, but verify it exists |
411 | +"RTN","MSCFM",41,0) |
412 | + E Q $$FLDNUM^DILFD(FILENUM,FLDNUM) |
413 | +"RTN","MSCFM",42,0) |
414 | +NUM2FILE(FILENUM) |
415 | +"RTN","MSCFM",43,0) |
416 | + N FILENAME |
417 | +"RTN","MSCFM",44,0) |
418 | + S FILENAME=$O(^DD(FILENUM,0,"NM","")) |
419 | +"RTN","MSCFM",45,0) |
420 | + Q:('$D(^DIC(FILENUM,0))&($G(^DD(FILENUM,0,"UP"))="")) "" ; No File. Garbage? Like .3 |
421 | +"RTN","MSCFM",46,0) |
422 | + Q FILENAME |
423 | +"RTN","MSCFM",47,0) |
424 | + |
425 | +"RTN","MSCFMDEL") |
426 | +0^2^B1636754 |
427 | +"RTN","MSCFMDEL",1,0) |
428 | +MSCFMDEL; MSC/JDA - OVID FileMan DELETE ; May 14, 2009 |
429 | +"RTN","MSCFMDEL",2,0) |
430 | + ;;1.0;MSCFM;;May 14, 2009 |
431 | +"RTN","MSCFMDEL",3,0) |
432 | + Q |
433 | +"RTN","MSCFMDEL",4,0) |
434 | +RUN(REPLY,RES) |
435 | +"RTN","MSCFMDEL",5,0) |
436 | + N PROPNAME,FILE,FDA,IENS,MSG,ERRNO |
437 | +"RTN","MSCFMDEL",6,0) |
438 | + ; Parse out the command properties |
439 | +"RTN","MSCFMDEL",7,0) |
440 | + F Q:'$$NEXTPROP^MSCRES(.RES) D |
441 | +"RTN","MSCFMDEL",8,0) |
442 | + . S PROPNAME=$$GETPROP^MSCRES(.RES) |
443 | +"RTN","MSCFMDEL",9,0) |
444 | + . I PROPNAME="FILE" S FILE=$$FILE2NUM^MSCFM($$GETVAL^MSCRES(.RES)) Q |
445 | +"RTN","MSCFMDEL",10,0) |
446 | + . I PROPNAME="IENS" S IENS=$$GETVAL^MSCRES(.RES) Q |
447 | +"RTN","MSCFMDEL",11,0) |
448 | + . Q |
449 | +"RTN","MSCFMDEL",12,0) |
450 | + S:$E(IENS,$L(IENS))'="," IENS=IENS_"," |
451 | +"RTN","MSCFMDEL",13,0) |
452 | + S FDA(FILE,IENS,.01)="@" |
453 | +"RTN","MSCFMDEL",14,0) |
454 | + D FILE^DIE(,"FDA","MSG") |
455 | +"RTN","MSCFMDEL",15,0) |
456 | + D ADDCMPD^MSCRES(.REPLY,"RESULTS") |
457 | +"RTN","MSCFMDEL",16,0) |
458 | + F ERRNO=1:1 Q:'$G(MSG("DIERR",ERRNO)) D |
459 | +"RTN","MSCFMDEL",17,0) |
460 | + . D ADDCMPD^MSCRES(.REPLY,"ERROR") |
461 | +"RTN","MSCFMDEL",18,0) |
462 | + . D ADDPROP^MSCRES(.REPLY,"ERROR NUMBER",MSG("DIERR",ERRNO)) |
463 | +"RTN","MSCFMDEL",19,0) |
464 | + . D ADDPROP^MSCRES(.REPLY,"ERROR TEXT",MSG("DIERR",ERRNO,"TEXT",1)) |
465 | +"RTN","MSCFMDEL",20,0) |
466 | + . D ENDCMPD^MSCRES(.REPLY) ; ERROR |
467 | +"RTN","MSCFMDEL",21,0) |
468 | + . Q |
469 | +"RTN","MSCFMDEL",22,0) |
470 | + D ENDCMPD^MSCRES(.REPLY) ; RESULTS |
471 | +"RTN","MSCFMDEL",23,0) |
472 | + Q |
473 | +"RTN","MSCFMDIC") |
474 | +0^13^B4553400 |
475 | +"RTN","MSCFMDIC",1,0) |
476 | +MSCFMDIC; MSC/JDA - OVID FileMan DIC ; May 14, 2009 |
477 | +"RTN","MSCFMDIC",2,0) |
478 | + ;;1.0;MSCFM;;May 14, 2009; |
479 | +"RTN","MSCFMDIC",3,0) |
480 | + Q |
481 | +"RTN","MSCFMDIC",4,0) |
482 | +RUN(REPLY,RES) ; main entry point |
483 | +"RTN","MSCFMDIC",5,0) |
484 | + N PROPNAME,FILENUM |
485 | +"RTN","MSCFMDIC",6,0) |
486 | + ; Parse out the command properties |
487 | +"RTN","MSCFMDIC",7,0) |
488 | + F Q:'$$NEXTPROP^MSCRES(.RES) D |
489 | +"RTN","MSCFMDIC",8,0) |
490 | + . S PROPNAME=$$GETPROP^MSCRES(.RES) |
491 | +"RTN","MSCFMDIC",9,0) |
492 | + . I PROPNAME="FILE" S FILENUM=$$GETVAL^MSCRES(.RES) Q |
493 | +"RTN","MSCFMDIC",10,0) |
494 | + . Q |
495 | +"RTN","MSCFMDIC",11,0) |
496 | + D SCAN(.REPLY,$NA(^DD(FILENUM)),1) |
497 | +"RTN","MSCFMDIC",12,0) |
498 | + D SCAN(.REPLY,$NA(^DIC(FILENUM)),0) |
499 | +"RTN","MSCFMDIC",13,0) |
500 | + Q |
501 | +"RTN","MSCFMDIC",14,0) |
502 | +SCAN(REPLY,GLOBNAME,ONLYNUM) |
503 | +"RTN","MSCFMDIC",15,0) |
504 | + N I |
505 | +"RTN","MSCFMDIC",16,0) |
506 | + F I=0:1:$QL(GLOBNAME) D |
507 | +"RTN","MSCFMDIC",17,0) |
508 | + . D ADDCMPD^MSCRES(.REPLY,"N") |
509 | +"RTN","MSCFMDIC",18,0) |
510 | + . D ADDPROP^MSCRES(.REPLY,"S",$QS(GLOBNAME,I)) |
511 | +"RTN","MSCFMDIC",19,0) |
512 | + . Q |
513 | +"RTN","MSCFMDIC",20,0) |
514 | + D:$D(@GLOBNAME)#10 ADDPROP^MSCRES(.REPLY,"V",@GLOBNAME) |
515 | +"RTN","MSCFMDIC",21,0) |
516 | + D SUBSCAN(.REPLY,GLOBNAME,ONLYNUM) |
517 | +"RTN","MSCFMDIC",22,0) |
518 | + F I=0:1:$QL(GLOBNAME) D ENDCMPD^MSCRES(.REPLY) |
519 | +"RTN","MSCFMDIC",23,0) |
520 | + Q |
521 | +"RTN","MSCFMDIC",24,0) |
522 | +SUBSCAN(REPLY,GLOBNAME,ONLYNUM) ; populate based on global name |
523 | +"RTN","MSCFMDIC",25,0) |
524 | + N I,GLEN,TMP |
525 | +"RTN","MSCFMDIC",26,0) |
526 | + S I="" |
527 | +"RTN","MSCFMDIC",27,0) |
528 | + S GLEN=$QL(GLOBNAME) |
529 | +"RTN","MSCFMDIC",28,0) |
530 | + F S I=$O(@GLOBNAME@(I)) Q:(I="")!((I'=+I)&ONLYNUM) D |
531 | +"RTN","MSCFMDIC",29,0) |
532 | + . D ADDCMPD^MSCRES(.REPLY,"N") |
533 | +"RTN","MSCFMDIC",30,0) |
534 | + . D ADDPROP^MSCRES(.REPLY,"S",I) |
535 | +"RTN","MSCFMDIC",31,0) |
536 | + . D:$D(@GLOBNAME@(I))#10 ADDPROP^MSCRES(.REPLY,"V",@GLOBNAME@(I)) |
537 | +"RTN","MSCFMDIC",32,0) |
538 | + . D SUBSCAN(.REPLY,$NA(@GLOBNAME@(I)),0) |
539 | +"RTN","MSCFMDIC",33,0) |
540 | + . D ENDCMPD^MSCRES(.REPLY) ; N |
541 | +"RTN","MSCFMDIC",34,0) |
542 | + . Q |
543 | +"RTN","MSCFMDIC",35,0) |
544 | + Q |
545 | +"RTN","MSCFMDIC",36,0) |
546 | +READSUB(RES,GLOBAL) |
547 | +"RTN","MSCFMDIC",37,0) |
548 | + N PROPNAME,SUB,VAL,TMP |
549 | +"RTN","MSCFMDIC",38,0) |
550 | + F Q:'$$NEXTPROP^MSCRES(.RES) D |
551 | +"RTN","MSCFMDIC",39,0) |
552 | + . S PROPNAME=$$GETPROP^MSCRES(.RES) |
553 | +"RTN","MSCFMDIC",40,0) |
554 | + . I PROPNAME="N" D READSUB(.RES,.TMP) M GLOBAL(SUB)=TMP Q |
555 | +"RTN","MSCFMDIC",41,0) |
556 | + . I PROPNAME="S" S SUB=$$GETVAL^MSCRES(.RES) Q |
557 | +"RTN","MSCFMDIC",42,0) |
558 | + . I PROPNAME="V" S VAL=$$GETVAL^MSCRES(.RES) Q |
559 | +"RTN","MSCFMDIC",43,0) |
560 | + . Q |
561 | +"RTN","MSCFMDIC",44,0) |
562 | + S GLOBAL(SUB)=VAL |
563 | +"RTN","MSCFMDIC",45,0) |
564 | + Q |
565 | +"RTN","MSCFMDIC",46,0) |
566 | +READ(RES,GLOBAL) |
567 | +"RTN","MSCFMDIC",47,0) |
568 | + N PROPNAME,X |
569 | +"RTN","MSCFMDIC",48,0) |
570 | + S X=$$NEXTPROP^MSCRES(.RES) |
571 | +"RTN","MSCFMDIC",49,0) |
572 | + F Q:'$$NEXTPROP^MSCRES(.RES) D |
573 | +"RTN","MSCFMDIC",50,0) |
574 | + . S PROPNAME=$$GETPROP^MSCRES(.RES) |
575 | +"RTN","MSCFMDIC",51,0) |
576 | + . I PROPNAME="N" D READSUB(.RES,.GLOBAL) Q |
577 | +"RTN","MSCFMDIC",52,0) |
578 | + . I PROPNAME="V" S GLOBAL=$$GETVAL^MSCRES(.RES) Q |
579 | +"RTN","MSCFMDIC",53,0) |
580 | + . Q |
581 | +"RTN","MSCFMDIC",54,0) |
582 | + S X=$$NEXTPROP^MSCRES(.RES) |
583 | +"RTN","MSCFMDIC",55,0) |
584 | + Q |
585 | +"RTN","MSCFME") |
586 | +0^14^B5719463 |
587 | +"RTN","MSCFME",1,0) |
588 | +MSCFME; MSC/JDA - Builds OVID FileMan exception file ; May 14, 2009 |
589 | +"RTN","MSCFME",2,0) |
590 | + ;;1.0;MSCFM;;May 14, 2009 |
591 | +"RTN","MSCFME",3,0) |
592 | + L +^TMP("FME",0):0 |
593 | +"RTN","MSCFME",4,0) |
594 | + E W "Scanner is already running.",! Q |
595 | +"RTN","MSCFME",5,0) |
596 | + ; Delete the data in 21455 |
597 | +"RTN","MSCFME",6,0) |
598 | + N FDA,TMP |
599 | +"RTN","MSCFME",7,0) |
600 | + D LIST^DIC(21455,,"@","Q",,,,,,,"TMP") |
601 | +"RTN","MSCFME",8,0) |
602 | + S TMP="" F S TMP=$O(TMP("DILIST",2,TMP)) Q:TMP="" S FDA(21455,TMP_",",.01)="@" |
603 | +"RTN","MSCFME",9,0) |
604 | + D FILE^DIE(,"FDA") |
605 | +"RTN","MSCFME",10,0) |
606 | + K ^TMP("FME") |
607 | +"RTN","MSCFME",11,0) |
608 | + S ^TMP("FME","FILE")=1 |
609 | +"RTN","MSCFME",12,0) |
610 | + F D Q:^TMP("FME","FILE")="@" |
611 | +"RTN","MSCFME",13,0) |
612 | + . S ^TMP("FME",1)=0 |
613 | +"RTN","MSCFME",14,0) |
614 | + . J CHILD($J) |
615 | +"RTN","MSCFME",15,0) |
616 | + . F Q:^TMP("FME",1) H 2 |
617 | +"RTN","MSCFME",16,0) |
618 | + . L +^TMP("FME",1) |
619 | +"RTN","MSCFME",17,0) |
620 | + . L -^TMP("FME",1) |
621 | +"RTN","MSCFME",18,0) |
622 | + . D:^TMP("FME","FILE")'="@" SAVE(^TMP("FME","FILE"),"*","S","Halted, possible due to a SCREEN on the file") |
623 | +"RTN","MSCFME",19,0) |
624 | + . Q |
625 | +"RTN","MSCFME",20,0) |
626 | + L -^TMP("FME",0) |
627 | +"RTN","MSCFME",21,0) |
628 | + Q |
629 | +"RTN","MSCFME",22,0) |
630 | +CHILD(PARENT) |
631 | +"RTN","MSCFME",23,0) |
632 | + N SL,TRG,MSG,FILE,FIELD,HADERROR,ETYPE,REASON |
633 | +"RTN","MSCFME",24,0) |
634 | + L +^TMP("FME",1) |
635 | +"RTN","MSCFME",25,0) |
636 | + S ^TMP("FME",1)=1 |
637 | +"RTN","MSCFME",26,0) |
638 | + S $ETRAP="G ERROR^MSCFME" |
639 | +"RTN","MSCFME",27,0) |
640 | + S HADERROR=0 |
641 | +"RTN","MSCFME",28,0) |
642 | + S FILE=^TMP("FME","FILE") |
643 | +"RTN","MSCFME",29,0) |
644 | + F S FILE=$O(^DIC(FILE)) Q:FILE'=+FILE D |
645 | +"RTN","MSCFME",30,0) |
646 | + . S ^TMP("FME","FILE")=FILE |
647 | +"RTN","MSCFME",31,0) |
648 | + . S FIELD=0 |
649 | +"RTN","MSCFME",32,0) |
650 | + . F S FIELD=$O(^DD(FILE,FIELD)) Q:FIELD'=+FIELD D |
651 | +"RTN","MSCFME",33,0) |
652 | + . . K MSG |
653 | +"RTN","MSCFME",34,0) |
654 | + . . D FIELD^DID(FILE,FIELD,,"MULTIPLE-VALUED","TRG","MSG") |
655 | +"RTN","MSCFME",35,0) |
656 | + . . Q:TRG("MULTIPLE-VALUED") |
657 | +"RTN","MSCFME",36,0) |
658 | + . . S REASON="" |
659 | +"RTN","MSCFME",37,0) |
660 | + . . D TRY(FILE,FIELD) |
661 | +"RTN","MSCFME",38,0) |
662 | + . . I $D(MSG) D |
663 | +"RTN","MSCFME",39,0) |
664 | + . . . S REASON="FileMan reported the error: "_MSG("DIERR",1,"TEXT",1) |
665 | +"RTN","MSCFME",40,0) |
666 | + . . . S HADERROR=1 |
667 | +"RTN","MSCFME",41,0) |
668 | + . . Q:'HADERROR |
669 | +"RTN","MSCFME",42,0) |
670 | + . . S ETYPE="I" |
671 | +"RTN","MSCFME",43,0) |
672 | + . . D TRY(FILE,FIELD_"I") |
673 | +"RTN","MSCFME",44,0) |
674 | + . . S:HADERROR ETYPE="N" |
675 | +"RTN","MSCFME",45,0) |
676 | + . . D SAVE(FILE,FIELD,ETYPE,REASON) |
677 | +"RTN","MSCFME",46,0) |
678 | + . . Q |
679 | +"RTN","MSCFME",47,0) |
680 | + . Q |
681 | +"RTN","MSCFME",48,0) |
682 | + S ^TMP("FME","FILE")="@" |
683 | +"RTN","MSCFME",49,0) |
684 | + L -^TMP("FME",1) |
685 | +"RTN","MSCFME",50,0) |
686 | + Q |
687 | +"RTN","MSCFME",51,0) |
688 | +TRY(FILE,FIELD) |
689 | +"RTN","MSCFME",52,0) |
690 | + S HADERROR=0 |
691 | +"RTN","MSCFME",53,0) |
692 | + S SL=$STACK,HADERROR=0 |
693 | +"RTN","MSCFME",54,0) |
694 | + D LIST^DIC(FILE,,"@;"_FIELD,"Q",50,,,,,,"TRG","MSG") |
695 | +"RTN","MSCFME",55,0) |
696 | + Q |
697 | +"RTN","MSCFME",56,0) |
698 | +ERROR |
699 | +"RTN","MSCFME",57,0) |
700 | + N I |
701 | +"RTN","MSCFME",58,0) |
702 | + I REASON="" S REASON="FileMan error with $ECODE="_$ECODE |
703 | +"RTN","MSCFME",59,0) |
704 | + S:SL=$STACK $ECODE="",HADERROR=1 |
705 | +"RTN","MSCFME",60,0) |
706 | + Q |
707 | +"RTN","MSCFME",61,0) |
708 | +SAVE(FILE,FIELD,ETYPE,REASON) |
709 | +"RTN","MSCFME",62,0) |
710 | + N FDA |
711 | +"RTN","MSCFME",63,0) |
712 | + S FDA(21455,"+1,",.01)=FILE_"^"_FIELD |
713 | +"RTN","MSCFME",64,0) |
714 | + S FDA(21455,"+1,",1)=FILE |
715 | +"RTN","MSCFME",65,0) |
716 | + S FDA(21455,"+1,",2)=FIELD |
717 | +"RTN","MSCFME",66,0) |
718 | + S FDA(21455,"+1,",3)=ETYPE |
719 | +"RTN","MSCFME",67,0) |
720 | + S FDA(21455,"+1,",4)=REASON |
721 | +"RTN","MSCFME",68,0) |
722 | + D UPDATE^DIE(,"FDA") |
723 | +"RTN","MSCFME",69,0) |
724 | + Q |
725 | +"RTN","MSCFMFI") |
726 | +0^8^B16373360 |
727 | +"RTN","MSCFMFI",1,0) |
728 | +MSCFMFI; MSC/JDA - OVID FileMan FILES ; May 14, 2009 |
729 | +"RTN","MSCFMFI",2,0) |
730 | + ;;1.0;MSCFM;;May 14, 2009 |
731 | +"RTN","MSCFMFI",3,0) |
732 | + Q |
733 | +"RTN","MSCFMFI",4,0) |
734 | +FILEINFO(REPLY,RES) |
735 | +"RTN","MSCFMFI",5,0) |
736 | + N PROPNAME,FILE,FILENUM,SQL |
737 | +"RTN","MSCFMFI",6,0) |
738 | + S SQL=0 |
739 | +"RTN","MSCFMFI",7,0) |
740 | + ; Parse out the command properties |
741 | +"RTN","MSCFMFI",8,0) |
742 | + F Q:'$$NEXTPROP^MSCRES(.RES) D |
743 | +"RTN","MSCFMFI",9,0) |
744 | + . S PROPNAME=$$GETPROP^MSCRES(.RES) |
745 | +"RTN","MSCFMFI",10,0) |
746 | + . I PROPNAME="FILE" S FILE=$$GETVAL^MSCRES(.RES) Q |
747 | +"RTN","MSCFMFI",11,0) |
748 | + . I PROPNAME="SQL" S SQL=$$GETVAL^MSCRES(.RES) Q |
749 | +"RTN","MSCFMFI",12,0) |
750 | + . Q |
751 | +"RTN","MSCFMFI",13,0) |
752 | + I FILE=+FILE S FILENUM=FILE S FILE=$$NUM2FILE^MSCFM(FILENUM) |
753 | +"RTN","MSCFMFI",14,0) |
754 | + E S FILENUM=$$FILE2NUM^MSCFM(FILE) |
755 | +"RTN","MSCFMFI",15,0) |
756 | + I (FILENUM=0)!(FILE="")!('$$VFILE^DILFD(FILENUM)) D ADDPROP^MSCRES(.REPLY,"ERROR","Could not find file.") D ENDCMPD^MSCRES(.REPLY) Q |
757 | +"RTN","MSCFMFI",16,0) |
758 | + ; If this is a subfile, go to top file |
759 | +"RTN","MSCFMFI",17,0) |
760 | + F Q:$G(^DD(FILENUM,0,"UP"))="" S FILENUM=^DD(FILENUM,0,"UP") |
761 | +"RTN","MSCFMFI",18,0) |
762 | + S FILE=$$NUM2FILE^MSCFM(FILENUM) |
763 | +"RTN","MSCFMFI",19,0) |
764 | + I (FILENUM=0)!(FILE="")!('$$VFILE^DILFD(FILENUM)) D ADDPROP^MSCRES(.REPLY,"ERROR","Could not find file.") D ENDCMPD^MSCRES(.REPLY) Q |
765 | +"RTN","MSCFMFI",20,0) |
766 | + D DOFIELDS(.REPLY,FILENUM,SQL,FILE,"") |
767 | +"RTN","MSCFMFI",21,0) |
768 | + Q |
769 | +"RTN","MSCFMFI",22,0) |
770 | +DOFIELDS(REPLY,FILENUM,SQL,FILE,UPFILE,UPFIELD) |
771 | +"RTN","MSCFMFI",23,0) |
772 | + N TYPE,P2,FLDNUM,FDTARGET,SQLTMP,SQLTMP2,DESC,I |
773 | +"RTN","MSCFMFI",24,0) |
774 | + S:$G(FILE)="" FILE=$$NUM2FILE^MSCFM(FILENUM) |
775 | +"RTN","MSCFMFI",25,0) |
776 | + Q:FILE="" ; Garbage? Like 1.008? |
777 | +"RTN","MSCFMFI",26,0) |
778 | + D ADDCMPD^MSCRES(.REPLY,"FILE") |
779 | +"RTN","MSCFMFI",27,0) |
780 | + D ADDPROP^MSCRES(.REPLY,"NAME",FILE) |
781 | +"RTN","MSCFMFI",28,0) |
782 | + D ADDPROP^MSCRES(.REPLY,"NUMBER",FILENUM) |
783 | +"RTN","MSCFMFI",29,0) |
784 | + D ADDPROP^MSCRES(.REPLY,"LOCATION",$$ROOT^DILFD(FILENUM)) |
785 | +"RTN","MSCFMFI",30,0) |
786 | + I UPFILE="" D |
787 | +"RTN","MSCFMFI",31,0) |
788 | + . D FILE^DID(FILENUM,,"DESCRIPTION","DESC") |
789 | +"RTN","MSCFMFI",32,0) |
790 | + E D |
791 | +"RTN","MSCFMFI",33,0) |
792 | + . D FIELD^DID(UPFILE,UPFIELD,,"DESCRIPTION","DESC") |
793 | +"RTN","MSCFMFI",34,0) |
794 | + I $D(DESC("DESCRIPTION",1)) D |
795 | +"RTN","MSCFMFI",35,0) |
796 | + . D ADDCMPD^MSCRES(.REPLY,"DESC") |
797 | +"RTN","MSCFMFI",36,0) |
798 | + . S I=0 F S I=$O(DESC("DESCRIPTION",I)) Q:I="" D ADDPROP^MSCRES(.REPLY,I,DESC("DESCRIPTION",I)) W "=>"_DESC("DESCRIPTION",I),! |
799 | +"RTN","MSCFMFI",37,0) |
800 | + . D ENDCMPD^MSCRES(.REPLY) ; "DESC" |
801 | +"RTN","MSCFMFI",38,0) |
802 | + I SQL D |
803 | +"RTN","MSCFMFI",39,0) |
804 | + . S SQLTMP=$O(^DMSQ("T","C",FILENUM,"")) |
805 | +"RTN","MSCFMFI",40,0) |
806 | + . Q:SQLTMP="" |
807 | +"RTN","MSCFMFI",41,0) |
808 | + . D ADDPROP^MSCRES(.REPLY,"SQL",$P(^DMSQ("T",SQLTMP,0),"^",1)) |
809 | +"RTN","MSCFMFI",42,0) |
810 | + S FLDNUM=0 |
811 | +"RTN","MSCFMFI",43,0) |
812 | + F S FLDNUM=$O(^DD(FILENUM,FLDNUM)) Q:FLDNUM'=+FLDNUM D |
813 | +"RTN","MSCFMFI",44,0) |
814 | + . D FIELD^DID(FILENUM,FLDNUM,,"LABEL;TYPE;GLOBAL SUBSCRIPT LOCATION","FDTARGET") |
815 | +"RTN","MSCFMFI",45,0) |
816 | + . Q:FDTARGET("LABEL")="" ; Garbage? File 604, field 18.1 |
817 | +"RTN","MSCFMFI",46,0) |
818 | + . D ADDCMPD^MSCRES(.REPLY,"F") |
819 | +"RTN","MSCFMFI",47,0) |
820 | + . D ADDPROP^MSCRES(.REPLY,"N",FDTARGET("LABEL")) |
821 | +"RTN","MSCFMFI",48,0) |
822 | + . S P2=$P(^DD(FILENUM,FLDNUM,0),"^",2) |
823 | +"RTN","MSCFMFI",49,0) |
824 | + . S TYPE=$$TYPENUM(FDTARGET("TYPE")) |
825 | +"RTN","MSCFMFI",50,0) |
826 | + . I (+P2)&(TYPE'=5) S TYPE=9 ; Multiples are subfile when not WP |
827 | +"RTN","MSCFMFI",51,0) |
828 | + . D ADDPROP^MSCRES(.REPLY,"T",TYPE) |
829 | +"RTN","MSCFMFI",52,0) |
830 | + . D ADDPROP^MSCRES(.REPLY,"L",FDTARGET("GLOBAL SUBSCRIPT LOCATION")) |
831 | +"RTN","MSCFMFI",53,0) |
832 | + . D ADDPROP^MSCRES(.REPLY,"#",FLDNUM) |
833 | +"RTN","MSCFMFI",54,0) |
834 | + . I (TYPE=7) D |
835 | +"RTN","MSCFMFI",55,0) |
836 | + . . D ADDPROP^MSCRES(.REPLY,"P",+$P(P2,"P",2)) |
837 | +"RTN","MSCFMFI",56,0) |
838 | + . I (TYPE=9) D |
839 | +"RTN","MSCFMFI",57,0) |
840 | + . . N SFNUM S SFNUM=+$P(^DD(FILENUM,FLDNUM,0),"^",2) |
841 | +"RTN","MSCFMFI",58,0) |
842 | + . . Q:'SFNUM |
843 | +"RTN","MSCFMFI",59,0) |
844 | + . . D DOFIELDS(.REPLY,SFNUM,SQL,"",FILENUM,FLDNUM) |
845 | +"RTN","MSCFMFI",60,0) |
846 | + . E I SQL D |
847 | +"RTN","MSCFMFI",61,0) |
848 | + . . S SQLTMP=$O(^DMSQ("C","D",FILENUM,FLDNUM,"")) |
849 | +"RTN","MSCFMFI",62,0) |
850 | + . . Q:SQLTMP="" |
851 | +"RTN","MSCFMFI",63,0) |
852 | + . . S SQLTMP2=$P(^DMSQ("C",SQLTMP,0),"^",1) |
853 | +"RTN","MSCFMFI",64,0) |
854 | + . . D ADDPROP^MSCRES(.REPLY,"Q",$P(^DMSQ("E",SQLTMP2,0),"^",1)) |
855 | +"RTN","MSCFMFI",65,0) |
856 | + . D ENDCMPD^MSCRES(.REPLY) ; F |
857 | +"RTN","MSCFMFI",66,0) |
858 | + . Q |
859 | +"RTN","MSCFMFI",67,0) |
860 | + D ENDCMPD^MSCRES(.REPLY) ; FILE |
861 | +"RTN","MSCFMFI",68,0) |
862 | + Q |
863 | +"RTN","MSCFMFI",69,0) |
864 | +TYPENUM(TYPE) |
865 | +"RTN","MSCFMFI",70,0) |
866 | + I '$D(^MSCTYPES) D |
867 | +"RTN","MSCFMFI",71,0) |
868 | + . S ^MSCTYPES("DATE/TIME")=1 |
869 | +"RTN","MSCFMFI",72,0) |
870 | + . S ^MSCTYPES("NUMERIC")=2 |
871 | +"RTN","MSCFMFI",73,0) |
872 | + . S ^MSCTYPES("SET")=3 |
873 | +"RTN","MSCFMFI",74,0) |
874 | + . S ^MSCTYPES("FREE TEXT")=4 |
875 | +"RTN","MSCFMFI",75,0) |
876 | + . S ^MSCTYPES("MUMPS")=4 |
877 | +"RTN","MSCFMFI",76,0) |
878 | + . S ^MSCTYPES("WORD-PROCESSING")=5 |
879 | +"RTN","MSCFMFI",77,0) |
880 | + . S ^MSCTYPES("COMPUTED")=6 |
881 | +"RTN","MSCFMFI",78,0) |
882 | + . S ^MSCTYPES("POINTER")=7 |
883 | +"RTN","MSCFMFI",79,0) |
884 | + . S ^MSCTYPES("VARIABLE-POINTER")=8 |
885 | +"RTN","MSCFMFI",80,0) |
886 | + Q ^MSCTYPES(TYPE) |
887 | +"RTN","MSCFMFI",81,0) |
888 | +FILES(REPLY,RES) |
889 | +"RTN","MSCFMFI",82,0) |
890 | + N IDX,FILENAME |
891 | +"RTN","MSCFMFI",83,0) |
892 | + S IDX=1 |
893 | +"RTN","MSCFMFI",84,0) |
894 | + D ADDCMPD^MSCRES(.REPLY,"RESULTS") |
895 | +"RTN","MSCFMFI",85,0) |
896 | + F S IDX=$O(^DD(IDX)) Q:IDX'=+IDX D |
897 | +"RTN","MSCFMFI",86,0) |
898 | + . Q:'$$VFILE^DILFD(IDX) ; WP fields |
899 | +"RTN","MSCFMFI",87,0) |
900 | + . S FILENAME=$$NUM2FILE^MSCFM(IDX) |
901 | +"RTN","MSCFMFI",88,0) |
902 | + . Q:FILENAME="" ; Garbage in the structure? Like .008 or .3 |
903 | +"RTN","MSCFMFI",89,0) |
904 | + . D ADDCMPD^MSCRES(.REPLY,"R") |
905 | +"RTN","MSCFMFI",90,0) |
906 | + . D ADDPROP^MSCRES(.REPLY,"T",FILENAME) |
907 | +"RTN","MSCFMFI",91,0) |
908 | + . D ADDPROP^MSCRES(.REPLY,"N",IDX) |
909 | +"RTN","MSCFMFI",92,0) |
910 | + . D:$G(^DD(IDX,0,"UP")) ADDPROP^MSCRES(.REPLY,"P",$G(^DD(IDX,0,"UP"))) |
911 | +"RTN","MSCFMFI",93,0) |
912 | + . D ENDCMPD^MSCRES(.REPLY) ; R |
913 | +"RTN","MSCFMFI",94,0) |
914 | + D ENDCMPD^MSCRES(.REPLY) ; RESULTS |
915 | +"RTN","MSCFMFI",95,0) |
916 | + Q |
917 | +"RTN","MSCFMFND") |
918 | +0^12^B6202861 |
919 | +"RTN","MSCFMFND",1,0) |
920 | +MSCFMFND; MSC/JDA - OVID FileMan FIND ; May 14, 2009 |
921 | +"RTN","MSCFMFND",2,0) |
922 | + ;;1.0;MSCFM;;May 14, 2009 |
923 | +"RTN","MSCFMFND",3,0) |
924 | + Q |
925 | +"RTN","MSCFMFND",4,0) |
926 | +RUN(REPLY,RES) |
927 | +"RTN","MSCFMFND",5,0) |
928 | + N THIS |
929 | +"RTN","MSCFMFND",6,0) |
930 | + D CNSTRCT(.THIS) |
931 | +"RTN","MSCFMFND",7,0) |
932 | + N TARGET |
933 | +"RTN","MSCFMFND",8,0) |
934 | + D PROCESS(.THIS,.RES) |
935 | +"RTN","MSCFMFND",9,0) |
936 | + I $G(THIS("ERROR"))'="" D ADDPROP^MSCRES(.REPLY,"ERROR",THIS("ERROR")) Q |
937 | +"RTN","MSCFMFND",10,0) |
938 | + D:$G(THIS("SAFE")) SAFE(.THIS) |
939 | +"RTN","MSCFMFND",11,0) |
940 | + I $G(THIS("ERROR"))'="" D ADDPROP^MSCRES(.REPLY,"ERROR",THIS("ERROR")) Q |
941 | +"RTN","MSCFMFND",12,0) |
942 | + ; Call Fileman |
943 | +"RTN","MSCFMFND",13,0) |
944 | + D FIND^DIC(THIS("FILE"),THIS("IENS"),THIS("FIELDS"),THIS("FLAGS"),THIS("IDXVALUE"),THIS("NUMBER"),THIS("IDXNAME"),THIS("SCREEN"),,"TARGET") |
945 | +"RTN","MSCFMFND",14,0) |
946 | + D BLDREPLY^MSCFMQRY(.THIS,.TARGET,.REPLY) |
947 | +"RTN","MSCFMFND",15,0) |
948 | + Q |
949 | +"RTN","MSCFMFND",16,0) |
950 | +PROCESS(THIS,RES) |
951 | +"RTN","MSCFMFND",17,0) |
952 | + F Q:('$$NEXTPROP^MSCRES(.RES))!($G(THIS("ERROR"))'="") D |
953 | +"RTN","MSCFMFND",18,0) |
954 | + . D PROCPROP(.THIS,.RES) |
955 | +"RTN","MSCFMFND",19,0) |
956 | + . Q |
957 | +"RTN","MSCFMFND",20,0) |
958 | + Q |
959 | +"RTN","MSCFMFND",21,0) |
960 | +PROCIDX(THIS,RES) |
961 | +"RTN","MSCFMFND",22,0) |
962 | + N PROPNAME |
963 | +"RTN","MSCFMFND",23,0) |
964 | + F Q:'$$NEXTPROP^MSCRES(.RES) D |
965 | +"RTN","MSCFMFND",24,0) |
966 | + . S PROPNAME=$$GETPROP^MSCRES(.RES) |
967 | +"RTN","MSCFMFND",25,0) |
968 | + . I PROPNAME="NAME" S THIS("IDXNAME")=$$GETVAL^MSCRES(.RES) Q |
969 | +"RTN","MSCFMFND",26,0) |
970 | + . I PROPNAME="VALUE" S THIS("IDXVALUE")=$$GETVAL^MSCRES(.RES) Q |
971 | +"RTN","MSCFMFND",27,0) |
972 | + . Q |
973 | +"RTN","MSCFMFND",28,0) |
974 | + Q |
975 | +"RTN","MSCFMFND",29,0) |
976 | +PROCPROP(THIS,RES) |
977 | +"RTN","MSCFMFND",30,0) |
978 | + N PROPNAME |
979 | +"RTN","MSCFMFND",31,0) |
980 | + S PROPNAME=$$GETPROP^MSCRES(.RES) |
981 | +"RTN","MSCFMFND",32,0) |
982 | + I PROPNAME="INDEX" D PROCIDX(.THIS,.RES) Q |
983 | +"RTN","MSCFMFND",33,0) |
984 | + D PROCPROP^MSCFMQRY(.THIS,.RES) |
985 | +"RTN","MSCFMFND",34,0) |
986 | + Q |
987 | +"RTN","MSCFMFND",35,0) |
988 | +CNSTRCT(THIS) |
989 | +"RTN","MSCFMFND",36,0) |
990 | + D CNSTRCT^MSCFMQRY(.THIS) |
991 | +"RTN","MSCFMFND",37,0) |
992 | + S THIS("FLAGS")=THIS("FLAGS")_"X" |
993 | +"RTN","MSCFMFND",38,0) |
994 | + S THIS("IDXNAME")="",THIS("IDXVALUE")="" |
995 | +"RTN","MSCFMFND",39,0) |
996 | + Q |
997 | +"RTN","MSCFMFND",40,0) |
998 | +SAFE(THIS) |
999 | +"RTN","MSCFMFND",41,0) |
1000 | + N TRG,I,PCNUM,PC,FIELD,FNUM,DONE,RESULT |
1001 | +"RTN","MSCFMFND",42,0) |
1002 | + S FIELDS=THIS("FIELDS") |
1003 | +"RTN","MSCFMFND",43,0) |
1004 | + D FIND^DIC(21455,,"@;1;2;3I","Q",THIS("FILE"),,"C",,,"TRG") |
1005 | +"RTN","MSCFMFND",44,0) |
1006 | + Q:'$P(TRG("DILIST",0),"^",1) |
1007 | +"RTN","MSCFMFND",45,0) |
1008 | + S RESULT="@" |
1009 | +"RTN","MSCFMFND",46,0) |
1010 | + F PCNUM=2:1:$L(FIELDS,";") D |
1011 | +"RTN","MSCFMFND",47,0) |
1012 | + . S PC=$P(FIELDS,";",PCNUM) |
1013 | +"RTN","MSCFMFND",48,0) |
1014 | + . S FNUM=+PC |
1015 | +"RTN","MSCFMFND",49,0) |
1016 | + . S I="",DONE=0 F S I=$O(TRG("DILIST","ID",I)) Q:I="" D Q:DONE |
1017 | +"RTN","MSCFMFND",50,0) |
1018 | + . . I TRG("DILIST","ID",I,3)="S" S THIS("ERROR")="No data due to safe mode.",DONE=1 Q |
1019 | +"RTN","MSCFMFND",51,0) |
1020 | + . . I TRG("DILIST","ID",I,2)=FNUM D S DONE=1 |
1021 | +"RTN","MSCFMFND",52,0) |
1022 | + . . . Q:TRG("DILIST","ID",I,3)="N" |
1023 | +"RTN","MSCFMFND",53,0) |
1024 | + . . . I TRG("DILIST","ID",I,3)="I" S:PC'["I" PC=PC_"I" S RESULT=RESULT_";"_PC Q |
1025 | +"RTN","MSCFMFND",54,0) |
1026 | + . . . Q |
1027 | +"RTN","MSCFMFND",55,0) |
1028 | + . S:'DONE RESULT=RESULT_";"_PC |
1029 | +"RTN","MSCFMFND",56,0) |
1030 | + . Q |
1031 | +"RTN","MSCFMFND",57,0) |
1032 | + S THIS("FIELDS")=RESULT |
1033 | +"RTN","MSCFMFND",58,0) |
1034 | + Q |
1035 | +"RTN","MSCFMGET") |
1036 | +0^3^B9839507 |
1037 | +"RTN","MSCFMGET",1,0) |
1038 | +MSCFMGET; MSC/JDA - OVID FileMan GETS ; OCT 20, 2009 |
1039 | +"RTN","MSCFMGET",2,0) |
1040 | + ;;1.0;MSCFM;;May 14, 2009 |
1041 | +"RTN","MSCFMGET",3,0) |
1042 | + Q |
1043 | +"RTN","MSCFMGET",4,0) |
1044 | +RUN(REPLY,RES) |
1045 | +"RTN","MSCFMGET",5,0) |
1046 | + N PROPNAME,FILE,IENS,FIELDS,TARGET,NAMES,FLAGS,NEWFLD |
1047 | +"RTN","MSCFMGET",6,0) |
1048 | + S FIELDS="",FLAGS="N" |
1049 | +"RTN","MSCFMGET",7,0) |
1050 | + ; Parse out the command properties |
1051 | +"RTN","MSCFMGET",8,0) |
1052 | + F Q:'$$NEXTPROP^MSCRES(.RES) D |
1053 | +"RTN","MSCFMGET",9,0) |
1054 | + . S PROPNAME=$$GETPROP^MSCRES(.RES) |
1055 | +"RTN","MSCFMGET",10,0) |
1056 | + . I PROPNAME="FILE" S FILE=$$FILE2NUM^MSCFM($$GETVAL^MSCRES(.RES)) W FILE,! Q |
1057 | +"RTN","MSCFMGET",11,0) |
1058 | + . I PROPNAME="IENS" S IENS=$$GETVAL^MSCRES(.RES) Q |
1059 | +"RTN","MSCFMGET",12,0) |
1060 | + . I PROPNAME="FIELD" S NEWFLD=$$PROCFLD(.RES,FILE,.NAMES) I NEWFLD'="" D Q |
1061 | +"RTN","MSCFMGET",13,0) |
1062 | + . . S:FIELDS'="" FIELDS=FIELDS_";" S FIELDS=FIELDS_NEWFLD |
1063 | +"RTN","MSCFMGET",14,0) |
1064 | + . . Q |
1065 | +"RTN","MSCFMGET",15,0) |
1066 | + . I PROPNAME="INTERNAL" S:$$GETVAL^MSCRES(.RES) FLAGS=FLAGS_"I" Q |
1067 | +"RTN","MSCFMGET",16,0) |
1068 | + . Q |
1069 | +"RTN","MSCFMGET",17,0) |
1070 | + D GETS^DIQ(FILE,IENS,FIELDS,FLAGS,"TARGET","MSG") |
1071 | +"RTN","MSCFMGET",18,0) |
1072 | + N IDX,VALUE,WPROW,SFCOUNT |
1073 | +"RTN","MSCFMGET",19,0) |
1074 | + D ADDCMPD^MSCRES(.REPLY,"RESULTS") |
1075 | +"RTN","MSCFMGET",20,0) |
1076 | + S IDX="" |
1077 | +"RTN","MSCFMGET",21,0) |
1078 | + F S IDX=$O(TARGET(FILE,IENS,IDX)) Q:IDX="" D |
1079 | +"RTN","MSCFMGET",22,0) |
1080 | + . D ADDCMPD^MSCRES(.REPLY,"FIELD") |
1081 | +"RTN","MSCFMGET",23,0) |
1082 | + . D ADDPROP^MSCRES(.REPLY,"NAME",NAMES(IDX)) |
1083 | +"RTN","MSCFMGET",24,0) |
1084 | + . I $D(TARGET(FILE,IENS,IDX,1))=1 D ; Word processing field |
1085 | +"RTN","MSCFMGET",25,0) |
1086 | + . . F WPROW=1:1 Q:$D(TARGET(FILE,IENS,IDX,WPROW))=0 D |
1087 | +"RTN","MSCFMGET",26,0) |
1088 | + . . . D ADDPROP^MSCRES(.REPLY,"VALUE",TARGET(FILE,IENS,IDX,WPROW)) |
1089 | +"RTN","MSCFMGET",27,0) |
1090 | + . . . Q |
1091 | +"RTN","MSCFMGET",28,0) |
1092 | + . . Q |
1093 | +"RTN","MSCFMGET",29,0) |
1094 | + . E I $D(NAMES(IDX,"TYPE")) D ; Special type - variable pointer |
1095 | +"RTN","MSCFMGET",30,0) |
1096 | + . . S VALUE=$G(TARGET(FILE,IENS,IDX,"I")) |
1097 | +"RTN","MSCFMGET",31,0) |
1098 | + . . ; Convert root to file number pointer to and return that |
1099 | +"RTN","MSCFMGET",32,0) |
1100 | + . . S $P(VALUE,";",2)=+$P(@("^"_$P(VALUE,";",2)_"0)"),"^",2) |
1101 | +"RTN","MSCFMGET",33,0) |
1102 | + . . D ADDPROP^MSCRES(.REPLY,"VALUE",VALUE) |
1103 | +"RTN","MSCFMGET",34,0) |
1104 | + . . Q |
1105 | +"RTN","MSCFMGET",35,0) |
1106 | + . E D |
1107 | +"RTN","MSCFMGET",36,0) |
1108 | + . . S VALUE=$G(TARGET(FILE,IENS,IDX,"I")) |
1109 | +"RTN","MSCFMGET",37,0) |
1110 | + . . S:VALUE="" VALUE=TARGET(FILE,IENS,IDX) |
1111 | +"RTN","MSCFMGET",38,0) |
1112 | + . . D ADDPROP^MSCRES(.REPLY,"VALUE",VALUE) |
1113 | +"RTN","MSCFMGET",39,0) |
1114 | + . . Q |
1115 | +"RTN","MSCFMGET",40,0) |
1116 | + . D ENDCMPD^MSCRES(.REPLY) ; FIELD |
1117 | +"RTN","MSCFMGET",41,0) |
1118 | + . Q |
1119 | +"RTN","MSCFMGET",42,0) |
1120 | + S IDX="" F S IDX=$O(NAMES(IDX)) Q:IDX="" D |
1121 | +"RTN","MSCFMGET",43,0) |
1122 | + . Q:'$D(NAMES(IDX,"SUB")) |
1123 | +"RTN","MSCFMGET",44,0) |
1124 | + . K TARGET,MSG |
1125 | +"RTN","MSCFMGET",45,0) |
1126 | + . D LIST^DIC(NAMES(IDX,"SUB"),","_IENS,"@","Q",,,,,,,"TARGET","MSG") |
1127 | +"RTN","MSCFMGET",46,0) |
1128 | + . S SFCOUNT=+$O(TARGET("DILIST",2,""),-1) |
1129 | +"RTN","MSCFMGET",47,0) |
1130 | + . Q:'SFCOUNT |
1131 | +"RTN","MSCFMGET",48,0) |
1132 | + . D ADDCMPD^MSCRES(.REPLY,"FIELD") |
1133 | +"RTN","MSCFMGET",49,0) |
1134 | + . D ADDPROP^MSCRES(.REPLY,"NAME",NAMES(IDX)) |
1135 | +"RTN","MSCFMGET",50,0) |
1136 | + . D ADDPROP^MSCRES(.REPLY,"VALUE",SFCOUNT) |
1137 | +"RTN","MSCFMGET",51,0) |
1138 | + . D ENDCMPD^MSCRES(.REPLY) ; FIELD |
1139 | +"RTN","MSCFMGET",52,0) |
1140 | + . Q |
1141 | +"RTN","MSCFMGET",53,0) |
1142 | + D ENDCMPD^MSCRES(.REPLY) ; RESULTS |
1143 | +"RTN","MSCFMGET",54,0) |
1144 | + Q |
1145 | +"RTN","MSCFMGET",55,0) |
1146 | +PROCFLD(RES,FILE,NAMES) |
1147 | +"RTN","MSCFMGET",56,0) |
1148 | + N PROPNAME,NAME,TYPE,NUM,SFNUM |
1149 | +"RTN","MSCFMGET",57,0) |
1150 | + F Q:'$$NEXTPROP^MSCRES(.RES) D |
1151 | +"RTN","MSCFMGET",58,0) |
1152 | + . S PROPNAME=$$GETPROP^MSCRES(.RES) |
1153 | +"RTN","MSCFMGET",59,0) |
1154 | + . I PROPNAME="NAME" S NAME=$$GETVAL^MSCRES(.RES) Q |
1155 | +"RTN","MSCFMGET",60,0) |
1156 | + . I PROPNAME="TYPE" S TYPE=$$GETVAL^MSCRES(.RES) Q |
1157 | +"RTN","MSCFMGET",61,0) |
1158 | + . Q |
1159 | +"RTN","MSCFMGET",62,0) |
1160 | + S NUM=$$FLD2NUM^MSCFM(FILE,NAME) |
1161 | +"RTN","MSCFMGET",63,0) |
1162 | + I 'NUM Q "" |
1163 | +"RTN","MSCFMGET",64,0) |
1164 | + S NAMES(NUM)=NAME |
1165 | +"RTN","MSCFMGET",65,0) |
1166 | + S SFNUM=$$GETSFNUM(FILE,NUM) |
1167 | +"RTN","MSCFMGET",66,0) |
1168 | + I SFNUM S NAMES(NUM,"SUB")=SFNUM Q "" |
1169 | +"RTN","MSCFMGET",67,0) |
1170 | + S:$D(TYPE) NAMES(NUM,"TYPE")=TYPE |
1171 | +"RTN","MSCFMGET",68,0) |
1172 | + Q NUM |
1173 | +"RTN","MSCFMGET",69,0) |
1174 | +GETSFNUM(FILE,MFIELD) ; get subfile # |
1175 | +"RTN","MSCFMGET",70,0) |
1176 | + ; get subfile for the given file and multiple-valued field |
1177 | +"RTN","MSCFMGET",71,0) |
1178 | + N ATTR,SUBFILE |
1179 | +"RTN","MSCFMGET",72,0) |
1180 | + S SUBFILE="" |
1181 | +"RTN","MSCFMGET",73,0) |
1182 | + D FIELD^DID(FILE,MFIELD,"","MULTIPLE-VALUED;SPECIFIER;TYPE","ATTR") |
1183 | +"RTN","MSCFMGET",74,0) |
1184 | + I ATTR("MULTIPLE-VALUED")=1,ATTR("TYPE")'="WORD-PROCESSING" D |
1185 | +"RTN","MSCFMGET",75,0) |
1186 | + . S SUBFILE=+$G(ATTR("SPECIFIER")) |
1187 | +"RTN","MSCFMGET",76,0) |
1188 | + . Q |
1189 | +"RTN","MSCFMGET",77,0) |
1190 | + Q SUBFILE |
1191 | +"RTN","MSCFMIDX") |
1192 | +0^15^B5374937 |
1193 | +"RTN","MSCFMIDX",1,0) |
1194 | +MSCFMIDX ; MSC/JDA - OVID FileMan INDEX ; May 14, 2009 |
1195 | +"RTN","MSCFMIDX",2,0) |
1196 | + ;;1.0;MSCFM;;May 14, 2009 |
1197 | +"RTN","MSCFMIDX",3,0) |
1198 | + Q |
1199 | +"RTN","MSCFMIDX",4,0) |
1200 | +RUN(REPLY,RES) |
1201 | +"RTN","MSCFMIDX",5,0) |
1202 | + N FILENUM,PROPNAME,IDXNAME,FIELD,FILE |
1203 | +"RTN","MSCFMIDX",6,0) |
1204 | + F Q:'$$NEXTPROP^MSCRES(.RES) D |
1205 | +"RTN","MSCFMIDX",7,0) |
1206 | + . S PROPNAME=$$GETPROP^MSCRES(.RES) |
1207 | +"RTN","MSCFMIDX",8,0) |
1208 | + . I PROPNAME="FILE" S FILENUM=$$GETVAL^MSCRES(.RES) Q |
1209 | +"RTN","MSCFMIDX",9,0) |
1210 | + . Q |
1211 | +"RTN","MSCFMIDX",10,0) |
1212 | + S IDXNAME="" |
1213 | +"RTN","MSCFMIDX",11,0) |
1214 | + ; old style indexes |
1215 | +"RTN","MSCFMIDX",12,0) |
1216 | + F S IDXNAME=$O(^DD(FILENUM,0,"IX",IDXNAME)) Q:IDXNAME="" D |
1217 | +"RTN","MSCFMIDX",13,0) |
1218 | + . D ADDCMPD^MSCRES(.REPLY,"INDEX") |
1219 | +"RTN","MSCFMIDX",14,0) |
1220 | + . D ADDPROP^MSCRES(.REPLY,"NAME",IDXNAME) |
1221 | +"RTN","MSCFMIDX",15,0) |
1222 | + . S FILE=$O(^DD(FILENUM,0,"IX",IDXNAME,"")) |
1223 | +"RTN","MSCFMIDX",16,0) |
1224 | + . D ADDCMPD^MSCRES(.REPLY,"FIELD") |
1225 | +"RTN","MSCFMIDX",17,0) |
1226 | + . D ADDPROP^MSCRES(.REPLY,"FILE",FILE) |
1227 | +"RTN","MSCFMIDX",18,0) |
1228 | + . S FIELD=$O(^DD(FILENUM,0,"IX",IDXNAME,FILE,"")) |
1229 | +"RTN","MSCFMIDX",19,0) |
1230 | + . D ADDPROP^MSCRES(.REPLY,"FIELD",FIELD) |
1231 | +"RTN","MSCFMIDX",20,0) |
1232 | + . D ENDCMPD^MSCRES(.REPLY) ; FIELD |
1233 | +"RTN","MSCFMIDX",21,0) |
1234 | + . D ENDCMPD^MSCRES(.REPLY) ; INDEX |
1235 | +"RTN","MSCFMIDX",22,0) |
1236 | + . Q |
1237 | +"RTN","MSCFMIDX",23,0) |
1238 | + ; new style indexes |
1239 | +"RTN","MSCFMIDX",24,0) |
1240 | + N SCREEN,TRG,IDXNUM,TRG2,SUB,MSG,IENS |
1241 | +"RTN","MSCFMIDX",25,0) |
1242 | + S SCREEN="I $P(^DD(""IX"",Y,0),""^"",14)'=""A""" |
1243 | +"RTN","MSCFMIDX",26,0) |
1244 | + D FIND^DIC(.11,,"@;.11;.02;","QX",FILENUM,,"B",SCREEN,,"TRG") |
1245 | +"RTN","MSCFMIDX",27,0) |
1246 | + S IDXNUM="" F S IDXNUM=$O(TRG("DILIST","ID",IDXNUM)) Q:IDXNUM="" D |
1247 | +"RTN","MSCFMIDX",28,0) |
1248 | + . D ADDCMPD^MSCRES(.REPLY,"INDEX") |
1249 | +"RTN","MSCFMIDX",29,0) |
1250 | + . D ADDPROP^MSCRES(.REPLY,"STYLE","New") |
1251 | +"RTN","MSCFMIDX",30,0) |
1252 | + . D ADDPROP^MSCRES(.REPLY,"NAME",TRG("DILIST","ID",IDXNUM,.02)) |
1253 | +"RTN","MSCFMIDX",31,0) |
1254 | + . D ADDPROP^MSCRES(.REPLY,"SHORTDESC",TRG("DILIST","ID",IDXNUM,.11)) |
1255 | +"RTN","MSCFMIDX",32,0) |
1256 | + . S IENS=TRG("DILIST",2,IDXNUM)_"," |
1257 | +"RTN","MSCFMIDX",33,0) |
1258 | + . N DESC I $$GET1^DIQ(.11,IENS,.1,,"DESC","MSG")'="" D |
1259 | +"RTN","MSCFMIDX",34,0) |
1260 | + . . N TMP S TMP="" |
1261 | +"RTN","MSCFMIDX",35,0) |
1262 | + . . F S TMP=$O(DESC(TMP)) Q:TMP="" D ADDPROP^MSCRES(.REPLY,"LONGDESC",DESC(TMP)) |
1263 | +"RTN","MSCFMIDX",36,0) |
1264 | + . . Q |
1265 | +"RTN","MSCFMIDX",37,0) |
1266 | + . D LIST^DIC(.114,","_IENS,"@;.01;2;3","Q",,,,,,,"TRG2") |
1267 | +"RTN","MSCFMIDX",38,0) |
1268 | + . S SUB="" F S SUB=$O(TRG2("DILIST","ID",SUB)) Q:SUB="" D |
1269 | +"RTN","MSCFMIDX",39,0) |
1270 | + . . D ADDCMPD^MSCRES(.REPLY,"FIELD") |
1271 | +"RTN","MSCFMIDX",40,0) |
1272 | + . . D ADDPROP^MSCRES(.REPLY,"ORDER",TRG2("DILIST","ID",SUB,.01)) |
1273 | +"RTN","MSCFMIDX",41,0) |
1274 | + . . D ADDPROP^MSCRES(.REPLY,"FILE",TRG2("DILIST","ID",SUB,2)) |
1275 | +"RTN","MSCFMIDX",42,0) |
1276 | + . . D ADDPROP^MSCRES(.REPLY,"FIELD",TRG2("DILIST","ID",SUB,3)) |
1277 | +"RTN","MSCFMIDX",43,0) |
1278 | + . . D ENDCMPD^MSCRES(.REPLY) ; FIELD |
1279 | +"RTN","MSCFMIDX",44,0) |
1280 | + . . Q |
1281 | +"RTN","MSCFMIDX",45,0) |
1282 | + . D ENDCMPD^MSCRES(.REPLY) ; INDEX |
1283 | +"RTN","MSCFMIDX",46,0) |
1284 | + . Q |
1285 | +"RTN","MSCFMIDX",47,0) |
1286 | + Q |
1287 | +"RTN","MSCFMINS") |
1288 | +0^9^B6139097 |
1289 | +"RTN","MSCFMINS",1,0) |
1290 | +MSCFMINS; MSC/JDA - OVID FileMan INSERT ; May 14, 2009 |
1291 | +"RTN","MSCFMINS",2,0) |
1292 | + ;;1.0;MSCFM;;May 14, 2009 |
1293 | +"RTN","MSCFMINS",3,0) |
1294 | + Q |
1295 | +"RTN","MSCFMINS",4,0) |
1296 | +RUN(REPLY,RES) |
1297 | +"RTN","MSCFMINS",5,0) |
1298 | + N PROPNAME,FILE,INPUTFDA,IEN,SEQ,IDX,MSG,FDA,WPDATA |
1299 | +"RTN","MSCFMINS",6,0) |
1300 | + ; Parse out the command properties |
1301 | +"RTN","MSCFMINS",7,0) |
1302 | + F Q:'$$NEXTPROP^MSCRES(.RES) D |
1303 | +"RTN","MSCFMINS",8,0) |
1304 | + . S PROPNAME=$$GETPROP^MSCRES(.RES) |
1305 | +"RTN","MSCFMINS",9,0) |
1306 | + . I PROPNAME="FIELD" D PROCFLD(.RES,FILE,.INPUTFDA,.FDA,"WPDATA") |
1307 | +"RTN","MSCFMINS",10,0) |
1308 | + . I PROPNAME="FILE" S FILE=$$FILE2NUM^MSCFM($$GETVAL^MSCRES(.RES)) Q |
1309 | +"RTN","MSCFMINS",11,0) |
1310 | + . Q |
1311 | +"RTN","MSCFMINS",12,0) |
1312 | + D VALS^DIE(,"INPUTFDA","FDA","MSG") |
1313 | +"RTN","MSCFMINS",13,0) |
1314 | + Q:$$ERROR(.MSG) |
1315 | +"RTN","MSCFMINS",14,0) |
1316 | + D UPDATE^DIE(,"FDA","IEN","MSG") |
1317 | +"RTN","MSCFMINS",15,0) |
1318 | + Q:$$ERROR(.MSG) |
1319 | +"RTN","MSCFMINS",16,0) |
1320 | + D ADDCMPD^MSCRES(.REPLY,"RESULTS") |
1321 | +"RTN","MSCFMINS",17,0) |
1322 | + S SEQ="" |
1323 | +"RTN","MSCFMINS",18,0) |
1324 | + F S SEQ=$O(IEN(SEQ)) Q:SEQ="" D |
1325 | +"RTN","MSCFMINS",19,0) |
1326 | + . D ADDCMPD^MSCRES(.REPLY,"IEN") |
1327 | +"RTN","MSCFMINS",20,0) |
1328 | + . D ADDPROP^MSCRES(.REPLY,"VALUE",IEN(SEQ)) |
1329 | +"RTN","MSCFMINS",21,0) |
1330 | + . D ADDPROP^MSCRES(.REPLY,"SEQ",SEQ) |
1331 | +"RTN","MSCFMINS",22,0) |
1332 | + . D ENDCMPD^MSCRES(.REPLY) ; IEN |
1333 | +"RTN","MSCFMINS",23,0) |
1334 | + . Q |
1335 | +"RTN","MSCFMINS",24,0) |
1336 | + D ENDCMPD^MSCRES(.REPLY) ; RESULTS |
1337 | +"RTN","MSCFMINS",25,0) |
1338 | + Q |
1339 | +"RTN","MSCFMINS",26,0) |
1340 | +PROCFLD(RES,FILE,INPUTFDA,FDA,WPVAR) |
1341 | +"RTN","MSCFMINS",27,0) |
1342 | + N NAME,VALUE,IENS,INTERN,WPLINES,WPNUM |
1343 | +"RTN","MSCFMINS",28,0) |
1344 | + S IENS="+1," |
1345 | +"RTN","MSCFMINS",29,0) |
1346 | + S INTERN=0,WPNUM=1 |
1347 | +"RTN","MSCFMINS",30,0) |
1348 | + F Q:'$$NEXTPROP^MSCRES(.RES) D |
1349 | +"RTN","MSCFMINS",31,0) |
1350 | + . S PROPNAME=$$GETPROP^MSCRES(.RES) |
1351 | +"RTN","MSCFMINS",32,0) |
1352 | + . I PROPNAME="NAME" S NAME=$$FLD2NUM^MSCFM(FILE,$$GETVAL^MSCRES(.RES)) Q |
1353 | +"RTN","MSCFMINS",33,0) |
1354 | + . I PROPNAME="VALUE" S VALUE=$$GETVAL^MSCRES(.RES) Q |
1355 | +"RTN","MSCFMINS",34,0) |
1356 | + . I PROPNAME="WPLINE" S WPLINES(WPNUM)=$$GETVAL^MSCRES(.RES),WPNUM=WPNUM+1 Q |
1357 | +"RTN","MSCFMINS",35,0) |
1358 | + . I PROPNAME="INTERNAL" S INTERN=$$GETVAL^MSCRES(.RES) Q |
1359 | +"RTN","MSCFMINS",36,0) |
1360 | + . I PROPNAME="IENS" S IENS=$$GETVAL^MSCRES(.RES) Q |
1361 | +"RTN","MSCFMINS",37,0) |
1362 | + . Q |
1363 | +"RTN","MSCFMINS",38,0) |
1364 | + I INTERN S INPUTFDA(FILE,IENS,NAME)=VALUE Q |
1365 | +"RTN","MSCFMINS",39,0) |
1366 | + I $D(WPLINES) S FDA(FILE,IENS,NAME)=WPVAR_"("""_NAME_""")" M @FDA(FILE,IENS,NAME)=WPLINES Q |
1367 | +"RTN","MSCFMINS",40,0) |
1368 | + S FDA(FILE,IENS,NAME)=VALUE |
1369 | +"RTN","MSCFMINS",41,0) |
1370 | + Q |
1371 | +"RTN","MSCFMINS",42,0) |
1372 | +ERROR(MSG) |
1373 | +"RTN","MSCFMINS",43,0) |
1374 | + Q:$G(MSG("DIERR"))="" 0 |
1375 | +"RTN","MSCFMINS",44,0) |
1376 | + N NUM |
1377 | +"RTN","MSCFMINS",45,0) |
1378 | + D ADDCMPD^MSCRES(.REPLY,"ERRORS") |
1379 | +"RTN","MSCFMINS",46,0) |
1380 | + F IDX=1:1 Q:$G(MSG("DIERR",IDX))="" D |
1381 | +"RTN","MSCFMINS",47,0) |
1382 | + . S NUM="" |
1383 | +"RTN","MSCFMINS",48,0) |
1384 | + . D ADDCMPD^MSCRES(.REPLY,"ERROR") |
1385 | +"RTN","MSCFMINS",49,0) |
1386 | + . S NUM=$G(MSG("DIERR",IDX,"PARAM","FIELD")) |
1387 | +"RTN","MSCFMINS",50,0) |
1388 | + . S:NUM="" NUM=$G(MSG("DIERR",IDX,"PARAM","FILE")) |
1389 | +"RTN","MSCFMINS",51,0) |
1390 | + . D ADDPROP^MSCRES(.REPLY,"NUMBER",NUM) |
1391 | +"RTN","MSCFMINS",52,0) |
1392 | + . D ADDPROP^MSCRES(.REPLY,"TEXT",MSG("DIERR",IDX,"TEXT",1)) |
1393 | +"RTN","MSCFMINS",53,0) |
1394 | + . D ENDCMPD^MSCRES(.REPLY) ; FIELD |
1395 | +"RTN","MSCFMINS",54,0) |
1396 | + D ENDCMPD^MSCRES(.REPLY) ; ERRORS |
1397 | +"RTN","MSCFMINS",55,0) |
1398 | + Q 1 |
1399 | +"RTN","MSCFMLST") |
1400 | +0^4^B4353203 |
1401 | +"RTN","MSCFMLST",1,0) |
1402 | +MSCFMLST; MSC/JDA - OVID FileMan LIST ; May 14, 2009 |
1403 | +"RTN","MSCFMLST",2,0) |
1404 | + ;;1.0;MSCFM;;May 14, 2009 |
1405 | +"RTN","MSCFMLST",3,0) |
1406 | + Q |
1407 | +"RTN","MSCFMLST",4,0) |
1408 | +RUN(REPLY,RES) |
1409 | +"RTN","MSCFMLST",5,0) |
1410 | + N THIS,FROM |
1411 | +"RTN","MSCFMLST",6,0) |
1412 | + D CNSTRCT(.THIS) |
1413 | +"RTN","MSCFMLST",7,0) |
1414 | + N TARGET |
1415 | +"RTN","MSCFMLST",8,0) |
1416 | + D PROCESS(.THIS,.RES) |
1417 | +"RTN","MSCFMLST",9,0) |
1418 | + I $G(THIS("ERROR"))'="" D ADDPROP^MSCRES(.REPLY,"ERROR",THIS("ERROR")) Q |
1419 | +"RTN","MSCFMLST",10,0) |
1420 | + D:$G(THIS("SAFE")) SAFE(.THIS) |
1421 | +"RTN","MSCFMLST",11,0) |
1422 | + I $G(THIS("ERROR"))'="" D ADDPROP^MSCRES(.REPLY,"ERROR",THIS("ERROR")) Q |
1423 | +"RTN","MSCFMLST",12,0) |
1424 | + M:$D(THIS("FROM")) FROM=THIS("FROM") |
1425 | +"RTN","MSCFMLST",13,0) |
1426 | + ; Call Fileman |
1427 | +"RTN","MSCFMLST",14,0) |
1428 | + D LIST^DIC(THIS("FILE"),THIS("IENS"),THIS("FIELDS"),THIS("FLAGS"),THIS("NUMBER"),.FROM,,,THIS("SCREEN"),,"TARGET") |
1429 | +"RTN","MSCFMLST",15,0) |
1430 | + M THIS("FROM")=FROM |
1431 | +"RTN","MSCFMLST",16,0) |
1432 | + D BLDREPLY^MSCFMQRY(.THIS,.TARGET,.REPLY) |
1433 | +"RTN","MSCFMLST",17,0) |
1434 | + Q |
1435 | +"RTN","MSCFMLST",18,0) |
1436 | +PROCESS(THIS,RES) |
1437 | +"RTN","MSCFMLST",19,0) |
1438 | + F Q:('$$NEXTPROP^MSCRES(.RES))!($G(THIS("ERROR"))'="") D |
1439 | +"RTN","MSCFMLST",20,0) |
1440 | + . D PROCPROP(.THIS,.RES) |
1441 | +"RTN","MSCFMLST",21,0) |
1442 | + . Q |
1443 | +"RTN","MSCFMLST",22,0) |
1444 | + Q |
1445 | +"RTN","MSCFMLST",23,0) |
1446 | +PROCPROP(THIS,RES) |
1447 | +"RTN","MSCFMLST",24,0) |
1448 | + D PROCPROP^MSCFMQRY(.THIS,.RES) |
1449 | +"RTN","MSCFMLST",25,0) |
1450 | + Q |
1451 | +"RTN","MSCFMLST",26,0) |
1452 | +CNSTRCT(THIS) |
1453 | +"RTN","MSCFMLST",27,0) |
1454 | + D CNSTRCT^MSCFMQRY(.THIS) |
1455 | +"RTN","MSCFMLST",28,0) |
1456 | + Q |
1457 | +"RTN","MSCFMLST",29,0) |
1458 | +SAFE(THIS) |
1459 | +"RTN","MSCFMLST",30,0) |
1460 | + N TRG,I,PCNUM,PC,FIELD,FNUM,DONE,RESULT |
1461 | +"RTN","MSCFMLST",31,0) |
1462 | + S FIELDS=THIS("FIELDS") |
1463 | +"RTN","MSCFMLST",32,0) |
1464 | + D FIND^DIC(21455,,"@;1;2;3I","Q",THIS("FILE"),,"C",,,"TRG") |
1465 | +"RTN","MSCFMLST",33,0) |
1466 | + Q:'$P(TRG("DILIST",0),"^",1) |
1467 | +"RTN","MSCFMLST",34,0) |
1468 | + S RESULT="@" |
1469 | +"RTN","MSCFMLST",35,0) |
1470 | + F PCNUM=2:1:$L(FIELDS,";") D |
1471 | +"RTN","MSCFMLST",36,0) |
1472 | + . S PC=$P(FIELDS,";",PCNUM) |
1473 | +"RTN","MSCFMLST",37,0) |
1474 | + . S FNUM=+PC |
1475 | +"RTN","MSCFMLST",38,0) |
1476 | + . S I="",DONE=0 F S I=$O(TRG("DILIST","ID",I)) Q:I="" D Q:DONE |
1477 | +"RTN","MSCFMLST",39,0) |
1478 | + . . I TRG("DILIST","ID",I,3)="S" S THIS("ERROR")="No data due to safe mode.",DONE=1 Q |
1479 | +"RTN","MSCFMLST",40,0) |
1480 | + . . I TRG("DILIST","ID",I,2)=FNUM D S DONE=1 |
1481 | +"RTN","MSCFMLST",41,0) |
1482 | + . . . Q:TRG("DILIST","ID",I,3)="N" |
1483 | +"RTN","MSCFMLST",42,0) |
1484 | + . . . I TRG("DILIST","ID",I,3)="I" S:PC'["I" PC=PC_"I" S RESULT=RESULT_";"_PC Q |
1485 | +"RTN","MSCFMLST",43,0) |
1486 | + . . . Q |
1487 | +"RTN","MSCFMLST",44,0) |
1488 | + . S:'DONE RESULT=RESULT_";"_PC |
1489 | +"RTN","MSCFMLST",45,0) |
1490 | + . Q |
1491 | +"RTN","MSCFMLST",46,0) |
1492 | + S THIS("FIELDS")=RESULT |
1493 | +"RTN","MSCFMLST",47,0) |
1494 | + Q |
1495 | +"RTN","MSCFMQRY") |
1496 | +0^5^B26519484 |
1497 | +"RTN","MSCFMQRY",1,0) |
1498 | +MSCFMQRY; MSC/JDA - OVID FileMan base for LIST and FIND ; May 14, 2009 |
1499 | +"RTN","MSCFMQRY",2,0) |
1500 | + ;;1.0;MSCFM;;May 14, 2009 |
1501 | +"RTN","MSCFMQRY",3,0) |
1502 | + Q |
1503 | +"RTN","MSCFMQRY",4,0) |
1504 | +BLDREPLY(THIS,TARGET,REPLY) |
1505 | +"RTN","MSCFMQRY",5,0) |
1506 | + I THIS("FROM")'="" D |
1507 | +"RTN","MSCFMQRY",6,0) |
1508 | + . D ADDCMPD^MSCRES(.REPLY,"FROM") |
1509 | +"RTN","MSCFMQRY",7,0) |
1510 | + . N FROM M FROM=THIS("FROM") |
1511 | +"RTN","MSCFMQRY",8,0) |
1512 | + . D SCAN^MSCFMDIC(.REPLY,"FROM",0) |
1513 | +"RTN","MSCFMQRY",9,0) |
1514 | + . D ENDCMPD^MSCRES(.REPLY) ; FROM |
1515 | +"RTN","MSCFMQRY",10,0) |
1516 | + . Q |
1517 | +"RTN","MSCFMQRY",11,0) |
1518 | + D ADDCMPD^MSCRES(.REPLY,"RESULTS") |
1519 | +"RTN","MSCFMQRY",12,0) |
1520 | + ; Check for HTML encoded packed output |
1521 | +"RTN","MSCFMQRY",13,0) |
1522 | + I THIS("PACK")&($P(TARGET("DILIST",0),"^",4)["H") D ADDPROP^MSCRES(.REPLY,"HTML",1) |
1523 | +"RTN","MSCFMQRY",14,0) |
1524 | + N MAP,MAPFLD,TYPEMAP,FNUM,PC |
1525 | +"RTN","MSCFMQRY",15,0) |
1526 | + I THIS("PACK") D |
1527 | +"RTN","MSCFMQRY",16,0) |
1528 | + . S MAP=TARGET("DILIST",0,"MAP") |
1529 | +"RTN","MSCFMQRY",17,0) |
1530 | + . ; Translate the field numbers back into the field names we were given |
1531 | +"RTN","MSCFMQRY",18,0) |
1532 | + . ; Also, remap special types from field #s to positions |
1533 | +"RTN","MSCFMQRY",19,0) |
1534 | + . F FNUM=1:1 S MAPFLD=$P(MAP,"^",FNUM) Q:MAPFLD="" D |
1535 | +"RTN","MSCFMQRY",20,0) |
1536 | + . . Q:'$D(THIS("NAMES",MAPFLD)) |
1537 | +"RTN","MSCFMQRY",21,0) |
1538 | + . . S $P(MAP,"^",FNUM)=THIS("NAMES",MAPFLD) |
1539 | +"RTN","MSCFMQRY",22,0) |
1540 | + . . S:$D(THIS("TYPES",MAPFLD)) TYPEMAP(FNUM)=THIS("TYPES",MAPFLD) |
1541 | +"RTN","MSCFMQRY",23,0) |
1542 | + . . Q |
1543 | +"RTN","MSCFMQRY",24,0) |
1544 | + . Q |
1545 | +"RTN","MSCFMQRY",25,0) |
1546 | + E D |
1547 | +"RTN","MSCFMQRY",26,0) |
1548 | + . S MAPFLD="" |
1549 | +"RTN","MSCFMQRY",27,0) |
1550 | + . F S MAPFLD=$O(THIS("NAMES",MAPFLD)) Q:MAPFLD="" D |
1551 | +"RTN","MSCFMQRY",28,0) |
1552 | + . . S:$D(THIS("TYPES",MAPFLD)) TYPEMAP(THIS("NAMES",MAPFLD))=THIS("TYPES",MAPFLD) |
1553 | +"RTN","MSCFMQRY",29,0) |
1554 | + . . Q |
1555 | +"RTN","MSCFMQRY",30,0) |
1556 | + . Q |
1557 | +"RTN","MSCFMQRY",31,0) |
1558 | + I $D(MAP) D |
1559 | +"RTN","MSCFMQRY",32,0) |
1560 | + . D ADDCMPD^MSCRES(.REPLY,"MAP") |
1561 | +"RTN","MSCFMQRY",33,0) |
1562 | + . F PC=1:1:$L(MAP,"^") D ADDPROP^MSCRES(.REPLY,"M",$P(MAP,"^",PC)) |
1563 | +"RTN","MSCFMQRY",34,0) |
1564 | + . D ENDCMPD^MSCRES(.REPLY) ; MAP |
1565 | +"RTN","MSCFMQRY",35,0) |
1566 | + . Q |
1567 | +"RTN","MSCFMQRY",36,0) |
1568 | + N SEQNUM,NODE,IDX,VALUE,FLDVAL |
1569 | +"RTN","MSCFMQRY",37,0) |
1570 | + ; Loop though results and create reply resource |
1571 | +"RTN","MSCFMQRY",38,0) |
1572 | + I THIS("PACK") D ; Packed format |
1573 | +"RTN","MSCFMQRY",39,0) |
1574 | + . S SEQNUM=0 |
1575 | +"RTN","MSCFMQRY",40,0) |
1576 | + . I $D(THIS("TYPES")) D ; need to translate variable pointers to return file #s |
1577 | +"RTN","MSCFMQRY",41,0) |
1578 | + . . F S SEQNUM=$O(TARGET("DILIST",SEQNUM)) Q:SEQNUM="" D |
1579 | +"RTN","MSCFMQRY",42,0) |
1580 | + . . . S VALUE=TARGET("DILIST",SEQNUM,0) |
1581 | +"RTN","MSCFMQRY",43,0) |
1582 | + . . . S IDX="" |
1583 | +"RTN","MSCFMQRY",44,0) |
1584 | + . . . F S IDX=$O(TYPEMAP(IDX)) Q:IDX="" D |
1585 | +"RTN","MSCFMQRY",45,0) |
1586 | + . . . . S FLDVAL=$P(VALUE,"^",IDX) |
1587 | +"RTN","MSCFMQRY",46,0) |
1588 | + . . . . I FLDVAL'="" D |
1589 | +"RTN","MSCFMQRY",47,0) |
1590 | + . . . . . S $P(FLDVAL,";",2)=+$P(@("^"_$P(FLDVAL,";",2)_"0)"),"^",2) |
1591 | +"RTN","MSCFMQRY",48,0) |
1592 | + . . . . S $P(VALUE,"^",IDX)=FLDVAL |
1593 | +"RTN","MSCFMQRY",49,0) |
1594 | + . . . . . Q |
1595 | +"RTN","MSCFMQRY",50,0) |
1596 | + . . . . Q |
1597 | +"RTN","MSCFMQRY",51,0) |
1598 | + . . . D ADDPROP^MSCRES(.REPLY,"RD",VALUE) |
1599 | +"RTN","MSCFMQRY",52,0) |
1600 | + . . . Q |
1601 | +"RTN","MSCFMQRY",53,0) |
1602 | + . . Q |
1603 | +"RTN","MSCFMQRY",54,0) |
1604 | + . E D |
1605 | +"RTN","MSCFMQRY",55,0) |
1606 | + . . F S SEQNUM=$O(TARGET("DILIST",SEQNUM)) Q:SEQNUM="" D |
1607 | +"RTN","MSCFMQRY",56,0) |
1608 | + . . . D ADDPROP^MSCRES(.REPLY,"RD",TARGET("DILIST",SEQNUM,0)) |
1609 | +"RTN","MSCFMQRY",57,0) |
1610 | + . . . Q |
1611 | +"RTN","MSCFMQRY",58,0) |
1612 | + . . Q |
1613 | +"RTN","MSCFMQRY",59,0) |
1614 | + . Q |
1615 | +"RTN","MSCFMQRY",60,0) |
1616 | + E D ; Unpacked data |
1617 | +"RTN","MSCFMQRY",61,0) |
1618 | + . N FLDNUM |
1619 | +"RTN","MSCFMQRY",62,0) |
1620 | + . S SEQNUM="0" |
1621 | +"RTN","MSCFMQRY",63,0) |
1622 | + . F S SEQNUM=$O(TARGET("DILIST","ID",SEQNUM)) Q:SEQNUM="" D |
1623 | +"RTN","MSCFMQRY",64,0) |
1624 | + . . D ADDCMPD^MSCRES(.REPLY,"ROW") |
1625 | +"RTN","MSCFMQRY",65,0) |
1626 | + . . ; Add IEN field |
1627 | +"RTN","MSCFMQRY",66,0) |
1628 | + . . D ADDCMPD^MSCRES(.REPLY,"FIELD") |
1629 | +"RTN","MSCFMQRY",67,0) |
1630 | + . . D ADDPROP^MSCRES(.REPLY,"NAME","IEN") |
1631 | +"RTN","MSCFMQRY",68,0) |
1632 | + . . D ADDPROP^MSCRES(.REPLY,"VALUE",TARGET("DILIST",2,SEQNUM)) |
1633 | +"RTN","MSCFMQRY",69,0) |
1634 | + . . D ENDCMPD^MSCRES(.REPLY) ; FIELD |
1635 | +"RTN","MSCFMQRY",70,0) |
1636 | + . . ; Loop through fields |
1637 | +"RTN","MSCFMQRY",71,0) |
1638 | + . . S FLDNUM="" |
1639 | +"RTN","MSCFMQRY",72,0) |
1640 | + . . F S FLDNUM=$O(TARGET("DILIST","ID",SEQNUM,FLDNUM)) Q:FLDNUM="" D |
1641 | +"RTN","MSCFMQRY",73,0) |
1642 | + . . . S VALUE=TARGET("DILIST","ID",SEQNUM,FLDNUM) |
1643 | +"RTN","MSCFMQRY",74,0) |
1644 | + . . . Q:VALUE="" ; Do not report empty nodes |
1645 | +"RTN","MSCFMQRY",75,0) |
1646 | + . . . S:$D(TYPEMAP(FLDNUM)) $P(VALUE,";",2)=+$P(@("^"_$P(VALUE,";",2)_"0)"),"^",2) |
1647 | +"RTN","MSCFMQRY",76,0) |
1648 | + . . . D ADDCMPD^MSCRES(.REPLY,"FIELD") |
1649 | +"RTN","MSCFMQRY",77,0) |
1650 | + . . . D ADDPROP^MSCRES(.REPLY,"NAME",THIS("NAMES",FLDNUM)) |
1651 | +"RTN","MSCFMQRY",78,0) |
1652 | + . . . D ADDPROP^MSCRES(.REPLY,"VALUE",VALUE) |
1653 | +"RTN","MSCFMQRY",79,0) |
1654 | + . . . D ENDCMPD^MSCRES(.REPLY) ; FIELD |
1655 | +"RTN","MSCFMQRY",80,0) |
1656 | + . . . Q |
1657 | +"RTN","MSCFMQRY",81,0) |
1658 | + . . D ENDCMPD^MSCRES(.REPLY) ; ROW |
1659 | +"RTN","MSCFMQRY",82,0) |
1660 | + . . Q |
1661 | +"RTN","MSCFMQRY",83,0) |
1662 | + . Q |
1663 | +"RTN","MSCFMQRY",84,0) |
1664 | + D ENDCMPD^MSCRES(.REPLY) ; RESULTS |
1665 | +"RTN","MSCFMQRY",85,0) |
1666 | + Q |
1667 | +"RTN","MSCFMQRY",86,0) |
1668 | +CNSTRCT(THIS) |
1669 | +"RTN","MSCFMQRY",87,0) |
1670 | + S THIS("PACK")=0,THIS("NUMBER")="*",THIS("FLAGS")="Q",THIS("FIELDS")="@" |
1671 | +"RTN","MSCFMQRY",88,0) |
1672 | + S THIS("IENS")="",THIS("FROM")="",THIS("SCREEN")="" |
1673 | +"RTN","MSCFMQRY",89,0) |
1674 | + Q |
1675 | +"RTN","MSCFMQRY",90,0) |
1676 | +PROCPROP(THIS,RES) |
1677 | +"RTN","MSCFMQRY",91,0) |
1678 | + N FROM |
1679 | +"RTN","MSCFMQRY",92,0) |
1680 | + S PROPNAME=$$GETPROP^MSCRES(.RES) |
1681 | +"RTN","MSCFMQRY",93,0) |
1682 | + I PROPNAME="FIELD" D Q |
1683 | +"RTN","MSCFMQRY",94,0) |
1684 | + . N TMP |
1685 | +"RTN","MSCFMQRY",95,0) |
1686 | + . S TMP=$$PROCFLD(.THIS,.RES) |
1687 | +"RTN","MSCFMQRY",96,0) |
1688 | + . Q:'TMP ; obsolete or multiple field |
1689 | +"RTN","MSCFMQRY",97,0) |
1690 | + . S THIS("FIELDS")=THIS("FIELDS")_";"_TMP |
1691 | +"RTN","MSCFMQRY",98,0) |
1692 | + . Q |
1693 | +"RTN","MSCFMQRY",99,0) |
1694 | + I PROPNAME="FILE" S THIS("FILE")=$$FILE2NUM^MSCFM($$GETVAL^MSCRES(.RES)) S:THIS("FILE")=0 THIS("ERROR")="Could not find file '"_$$GETVAL^MSCRES(.RES)_"'." Q |
1695 | +"RTN","MSCFMQRY",100,0) |
1696 | + I PROPNAME="NUMBER" S THIS("NUMBER")=+$$GETVAL^MSCRES(.RES) Q |
1697 | +"RTN","MSCFMQRY",101,0) |
1698 | + I PROPNAME="FROM" D READ^MSCFMDIC(.RES,.FROM) M THIS("FROM")=FROM Q |
1699 | +"RTN","MSCFMQRY",102,0) |
1700 | + I PROPNAME="IENS" S THIS("IENS")=$$GETVAL^MSCRES(.RES) Q |
1701 | +"RTN","MSCFMQRY",103,0) |
1702 | + I PROPNAME="PACK" S THIS("PACK")=$$GETVAL^MSCRES(.RES) S:THIS("PACK") THIS("FLAGS")=THIS("FLAGS")_"P" Q |
1703 | +"RTN","MSCFMQRY",104,0) |
1704 | + I PROPNAME="SCREEN" S THIS("SCREEN")="I "_$$PROCESS^MSCFMSCN(.THIS,.RES) Q |
1705 | +"RTN","MSCFMQRY",105,0) |
1706 | + I PROPNAME="SAFE" S THIS("SAFE")=$$GETVAL^MSCRES(.RES) Q |
1707 | +"RTN","MSCFMQRY",106,0) |
1708 | + Q |
1709 | +"RTN","MSCFMQRY",107,0) |
1710 | +PROCFLD(THIS,RES) |
1711 | +"RTN","MSCFMQRY",108,0) |
1712 | + N NAME,PROPNAME,FLAGS,INTERN,EXTERN,NUM,TYPE,TARGET |
1713 | +"RTN","MSCFMQRY",109,0) |
1714 | + S NAME="",INTERN="0",EXTERN="0" |
1715 | +"RTN","MSCFMQRY",110,0) |
1716 | + F Q:'$$NEXTPROP^MSCRES(.RES) D |
1717 | +"RTN","MSCFMQRY",111,0) |
1718 | + . S PROPNAME=$$GETPROP^MSCRES(.RES) |
1719 | +"RTN","MSCFMQRY",112,0) |
1720 | + . I PROPNAME="NAME" S NAME=$$GETVAL^MSCRES(.RES) Q |
1721 | +"RTN","MSCFMQRY",113,0) |
1722 | + . I PROPNAME="INTERNAL" S INTERN=$$GETVAL^MSCRES(.RES) Q |
1723 | +"RTN","MSCFMQRY",114,0) |
1724 | + . I PROPNAME="TYPE" S TYPE=$$GETVAL^MSCRES(.RES) Q |
1725 | +"RTN","MSCFMQRY",115,0) |
1726 | + . Q |
1727 | +"RTN","MSCFMQRY",116,0) |
1728 | + S NUM=$$FLD2NUM^MSCFM(THIS("FILE"),NAME) |
1729 | +"RTN","MSCFMQRY",117,0) |
1730 | + Q:'NUM 0 ; obsolete field |
1731 | +"RTN","MSCFMQRY",118,0) |
1732 | + D FIELD^DID(THIS("FILE"),NUM,,"MULTIPLE-VALUED","TARGET") |
1733 | +"RTN","MSCFMQRY",119,0) |
1734 | + Q:'$D(TARGET("MULTIPLE-VALUED")) 0 |
1735 | +"RTN","MSCFMQRY",120,0) |
1736 | + Q:TARGET("MULTIPLE-VALUED") 0 |
1737 | +"RTN","MSCFMQRY",121,0) |
1738 | + S THIS("NAMES",NUM)=NAME ; for unpacked |
1739 | +"RTN","MSCFMQRY",122,0) |
1740 | + S:INTERN NUM=NUM_"I" |
1741 | +"RTN","MSCFMQRY",123,0) |
1742 | + S:EXTERN NUM=NUM_"E" |
1743 | +"RTN","MSCFMQRY",124,0) |
1744 | + S THIS("NAMES",NUM)=NAME ; for packed |
1745 | +"RTN","MSCFMQRY",125,0) |
1746 | + S:$D(TYPE) THIS("TYPES",NUM)=TYPE |
1747 | +"RTN","MSCFMQRY",126,0) |
1748 | + Q NUM |
1749 | +"RTN","MSCFMREF") |
1750 | +0^16^B1814485 |
1751 | +"RTN","MSCFMREF",1,0) |
1752 | +MSCFMREF; MSC/JDA - OVID FileMan REFBY ; May 14, 2009 |
1753 | +"RTN","MSCFMREF",2,0) |
1754 | + ;;1.0;MSCFM;;May 14, 2009 |
1755 | +"RTN","MSCFMREF",3,0) |
1756 | + Q |
1757 | +"RTN","MSCFMREF",4,0) |
1758 | +RUN(REPLY,RES) |
1759 | +"RTN","MSCFMREF",5,0) |
1760 | + N FILENUM,PROPNAME,VAR,FILE,FIELD,FILENAME |
1761 | +"RTN","MSCFMREF",6,0) |
1762 | + S FILENUM=0,FILENAME="" |
1763 | +"RTN","MSCFMREF",7,0) |
1764 | + F Q:'$$NEXTPROP^MSCRES(.RES) D |
1765 | +"RTN","MSCFMREF",8,0) |
1766 | + . S PROPNAME=$$GETPROP^MSCRES(.RES) |
1767 | +"RTN","MSCFMREF",9,0) |
1768 | + . I PROPNAME="FILE" S FILENAME=$$GETVAL^MSCRES(.RES) Q |
1769 | +"RTN","MSCFMREF",10,0) |
1770 | + . Q |
1771 | +"RTN","MSCFMREF",11,0) |
1772 | + S:FILENAME'="" FILENUM=$$FILE2NUM^MSCFM(FILENAME) |
1773 | +"RTN","MSCFMREF",12,0) |
1774 | + I FILENUM=0 D ADDPROP^MSCRES(.REPLY,"ERROR","Could not find file.") Q |
1775 | +"RTN","MSCFMREF",13,0) |
1776 | + S VAR="^DD("_FILENUM_",0,""PT"")" |
1777 | +"RTN","MSCFMREF",14,0) |
1778 | + F S VAR=$Q(@VAR) Q:($QS(VAR,1)'=FILENUM)!($QS(VAR,3)'="PT") D |
1779 | +"RTN","MSCFMREF",15,0) |
1780 | + . S FILE=$QS(VAR,4) |
1781 | +"RTN","MSCFMREF",16,0) |
1782 | + . S FIELD=$QS(VAR,5) |
1783 | +"RTN","MSCFMREF",17,0) |
1784 | + . D ADDCMPD^MSCRES(.REPLY,"R") |
1785 | +"RTN","MSCFMREF",18,0) |
1786 | + . D ADDPROP^MSCRES(.REPLY,"F",$$NUM2FILE^MSCFM(FILE)) |
1787 | +"RTN","MSCFMREF",19,0) |
1788 | + . D ADDPROP^MSCRES(.REPLY,"F#",FILE) |
1789 | +"RTN","MSCFMREF",20,0) |
1790 | + . D ADDPROP^MSCRES(.REPLY,"C",$P(^DD(FILE,FIELD,0),"^",1)) |
1791 | +"RTN","MSCFMREF",21,0) |
1792 | + . D ADDPROP^MSCRES(.REPLY,"C#",FIELD) |
1793 | +"RTN","MSCFMREF",22,0) |
1794 | + . D ENDCMPD^MSCRES(.REPLY) ; R |
1795 | +"RTN","MSCFMREF",23,0) |
1796 | + . Q |
1797 | +"RTN","MSCFMREF",24,0) |
1798 | + Q |
1799 | +"RTN","MSCFMSCN") |
1800 | +0^10^B9466392 |
1801 | +"RTN","MSCFMSCN",1,0) |
1802 | +MSCFMSCN; MSC/JDA - OVID FileMan screens ; May 14, 2009 |
1803 | +"RTN","MSCFMSCN",2,0) |
1804 | + ;;1.0;MSCFM;;May 14, 2009 |
1805 | +"RTN","MSCFMSCN",3,0) |
1806 | + Q |
1807 | +"RTN","MSCFMSCN",4,0) |
1808 | +PROCESS(THIS,RES) ; Parse equation resource into text suitable for a SCREEN |
1809 | +"RTN","MSCFMSCN",5,0) |
1810 | + N RETVAL,PROPNAME S RETVAL="" |
1811 | +"RTN","MSCFMSCN",6,0) |
1812 | + F Q:'$$NEXTPROP^MSCRES(.RES) D ; There should only be one, but loop anyway |
1813 | +"RTN","MSCFMSCN",7,0) |
1814 | + . S PROPNAME=$$GETPROP^MSCRES(.RES) |
1815 | +"RTN","MSCFMSCN",8,0) |
1816 | + . I PROPNAME="ISNULL" S RETVAL=$$PROCNULL(.THIS,.RES) Q |
1817 | +"RTN","MSCFMSCN",9,0) |
1818 | + . I PROPNAME="EQUALS" S RETVAL=$$PROCEQ(.THIS,.RES) Q |
1819 | +"RTN","MSCFMSCN",10,0) |
1820 | + . I PROPNAME="AND" S RETVAL=$$PROCAND(.THIS,.RES) Q |
1821 | +"RTN","MSCFMSCN",11,0) |
1822 | + . I PROPNAME="OR" S RETVAL=$$PROCOR(.THIS,.RES) Q |
1823 | +"RTN","MSCFMSCN",12,0) |
1824 | + . I PROPNAME="GT" S RETVAL=$$PROCGT(.THIS,.RES) Q |
1825 | +"RTN","MSCFMSCN",13,0) |
1826 | + . I PROPNAME="FIELD" S RETVAL=$$PROCFLD(.THIS,.RES) Q |
1827 | +"RTN","MSCFMSCN",14,0) |
1828 | + . I PROPNAME="VALUE" S RETVAL=$$PROCVAL(.THIS,.RES) Q |
1829 | +"RTN","MSCFMSCN",15,0) |
1830 | + . I PROPNAME="IEN" S RETVAL=$$PROCIEN(.THIS,.RES) Q |
1831 | +"RTN","MSCFMSCN",16,0) |
1832 | + . Q |
1833 | +"RTN","MSCFMSCN",17,0) |
1834 | + Q RETVAL |
1835 | +"RTN","MSCFMSCN",18,0) |
1836 | +PROCEQ(THIS,RES) ; Check for equals |
1837 | +"RTN","MSCFMSCN",19,0) |
1838 | + N PROPNAME,LEFT,RIGHT |
1839 | +"RTN","MSCFMSCN",20,0) |
1840 | + F Q:'$$NEXTPROP^MSCRES(.RES) D |
1841 | +"RTN","MSCFMSCN",21,0) |
1842 | + . S PROPNAME=$$GETPROP^MSCRES(.RES) |
1843 | +"RTN","MSCFMSCN",22,0) |
1844 | + . I PROPNAME="LEFT" S LEFT=$$PROCESS(.THIS,.RES) Q |
1845 | +"RTN","MSCFMSCN",23,0) |
1846 | + . I PROPNAME="RIGHT" S RIGHT=$$PROCESS(.THIS,.RES) Q |
1847 | +"RTN","MSCFMSCN",24,0) |
1848 | + . Q |
1849 | +"RTN","MSCFMSCN",25,0) |
1850 | + Q "("_LEFT_"="_RIGHT_")" |
1851 | +"RTN","MSCFMSCN",26,0) |
1852 | +PROCAND(THIS,RES) ; Boolean AND between two clauses |
1853 | +"RTN","MSCFMSCN",27,0) |
1854 | + N PROPNAME,LEFT,RIGHT |
1855 | +"RTN","MSCFMSCN",28,0) |
1856 | + F Q:'$$NEXTPROP^MSCRES(.RES) D |
1857 | +"RTN","MSCFMSCN",29,0) |
1858 | + . S PROPNAME=$$GETPROP^MSCRES(.RES) |
1859 | +"RTN","MSCFMSCN",30,0) |
1860 | + . I PROPNAME="LEFT" S LEFT=$$PROCESS(.THIS,.RES) Q |
1861 | +"RTN","MSCFMSCN",31,0) |
1862 | + . I PROPNAME="RIGHT" S RIGHT=$$PROCESS(.THIS,.RES) Q |
1863 | +"RTN","MSCFMSCN",32,0) |
1864 | + . Q |
1865 | +"RTN","MSCFMSCN",33,0) |
1866 | + Q "("_LEFT_"&"_RIGHT_")" |
1867 | +"RTN","MSCFMSCN",34,0) |
1868 | +PROCOR(THIS,RES) ; Boolean OR between two clauses |
1869 | +"RTN","MSCFMSCN",35,0) |
1870 | + N PROPNAME,LEFT,RIGHT |
1871 | +"RTN","MSCFMSCN",36,0) |
1872 | + F Q:'$$NEXTPROP^MSCRES(.RES) D |
1873 | +"RTN","MSCFMSCN",37,0) |
1874 | + . S PROPNAME=$$GETPROP^MSCRES(.RES) |
1875 | +"RTN","MSCFMSCN",38,0) |
1876 | + . I PROPNAME="LEFT" S LEFT=$$PROCESS(.THIS,.RES) Q |
1877 | +"RTN","MSCFMSCN",39,0) |
1878 | + . I PROPNAME="RIGHT" S RIGHT=$$PROCESS(.THIS,.RES) Q |
1879 | +"RTN","MSCFMSCN",40,0) |
1880 | + . Q |
1881 | +"RTN","MSCFMSCN",41,0) |
1882 | + Q "("_LEFT_"!"_RIGHT_")" |
1883 | +"RTN","MSCFMSCN",42,0) |
1884 | +PROCGT(THIS,RES) ; Greater Than between two clauses |
1885 | +"RTN","MSCFMSCN",43,0) |
1886 | + N PROPNAME,LEFT,RIGHT |
1887 | +"RTN","MSCFMSCN",44,0) |
1888 | + F Q:'$$NEXTPROP^MSCRES(.RES) D |
1889 | +"RTN","MSCFMSCN",45,0) |
1890 | + . S PROPNAME=$$GETPROP^MSCRES(.RES) |
1891 | +"RTN","MSCFMSCN",46,0) |
1892 | + . I PROPNAME="LEFT" S LEFT=$$PROCESS(.THIS,.RES) Q |
1893 | +"RTN","MSCFMSCN",47,0) |
1894 | + . I PROPNAME="RIGHT" S RIGHT=$$PROCESS(.THIS,.RES) Q |
1895 | +"RTN","MSCFMSCN",48,0) |
1896 | + . Q |
1897 | +"RTN","MSCFMSCN",49,0) |
1898 | + Q "("_LEFT_">"_RIGHT_")" |
1899 | +"RTN","MSCFMSCN",50,0) |
1900 | +PROCNULL(THIS,RES) ; Check for null |
1901 | +"RTN","MSCFMSCN",51,0) |
1902 | + N RETVAL,FIELD,BOOL,PROPNAME S RETVAL="1",FIELD="",BOOL=1 |
1903 | +"RTN","MSCFMSCN",52,0) |
1904 | + F Q:'$$NEXTPROP^MSCRES(.RES) D |
1905 | +"RTN","MSCFMSCN",53,0) |
1906 | + . S PROPNAME=$$GETPROP^MSCRES(.RES) |
1907 | +"RTN","MSCFMSCN",54,0) |
1908 | + . I PROPNAME="FIELD" S FIELD=$$PROCFLD(.THIS,.RES) Q |
1909 | +"RTN","MSCFMSCN",55,0) |
1910 | + . I PROPNAME="BOOL" S BOOL=$$GETVAL^MSCRES(.RES) Q |
1911 | +"RTN","MSCFMSCN",56,0) |
1912 | + . Q |
1913 | +"RTN","MSCFMSCN",57,0) |
1914 | + I (FIELD'="") D |
1915 | +"RTN","MSCFMSCN",58,0) |
1916 | + . S RETVAL=FIELD |
1917 | +"RTN","MSCFMSCN",59,0) |
1918 | + . S:'BOOL RETVAL=RETVAL_"'" |
1919 | +"RTN","MSCFMSCN",60,0) |
1920 | + . S RETVAL=RETVAL_"=""""" |
1921 | +"RTN","MSCFMSCN",61,0) |
1922 | + . S RETVAL="("_RETVAL_")" |
1923 | +"RTN","MSCFMSCN",62,0) |
1924 | + . Q |
1925 | +"RTN","MSCFMSCN",63,0) |
1926 | + Q RETVAL |
1927 | +"RTN","MSCFMSCN",64,0) |
1928 | +PROCVAL(THIS,RES) ; Constant value |
1929 | +"RTN","MSCFMSCN",65,0) |
1930 | + Q """"_$$GETVAL^MSCRES(.RES)_"""" |
1931 | +"RTN","MSCFMSCN",66,0) |
1932 | +PROCFLD(THIS,RES) ; Field in record |
1933 | +"RTN","MSCFMSCN",67,0) |
1934 | + ; Construct equation of form: $P($G(GLOBALROOT(Y,SUBSCRIPT)),"^",PART) |
1935 | +"RTN","MSCFMSCN",68,0) |
1936 | + N FIELD,GLOBNAME,TEMP,INDEX,LOC |
1937 | +"RTN","MSCFMSCN",69,0) |
1938 | + S FIELD=$$GETVAL^MSCRES(.RES) |
1939 | +"RTN","MSCFMSCN",70,0) |
1940 | + ; Get the raw global location and check that. |
1941 | +"RTN","MSCFMSCN",71,0) |
1942 | + D FILE^DID(THIS("FILE"),,"GLOBAL NAME","TEMP") |
1943 | +"RTN","MSCFMSCN",72,0) |
1944 | + S GLOBNAME=TEMP("GLOBAL NAME") |
1945 | +"RTN","MSCFMSCN",73,0) |
1946 | + D FIELD^DID(THIS("FILE"),FIELD,,"GLOBAL SUBSCRIPT LOCATION","TEMP") |
1947 | +"RTN","MSCFMSCN",74,0) |
1948 | + S INDEX=$P(TEMP("GLOBAL SUBSCRIPT LOCATION"),";",1) |
1949 | +"RTN","MSCFMSCN",75,0) |
1950 | + S LOC=$P(TEMP("GLOBAL SUBSCRIPT LOCATION"),";",2) |
1951 | +"RTN","MSCFMSCN",76,0) |
1952 | + Q "$P($G("_GLOBNAME_"Y,"""_INDEX_""")),""^"","_LOC_")" |
1953 | +"RTN","MSCFMSCN",77,0) |
1954 | +PROCIEN(THIS,RES) ; IEN |
1955 | +"RTN","MSCFMSCN",78,0) |
1956 | + Q "Y" |
1957 | +"RTN","MSCFMUPD") |
1958 | +0^6^B5427703 |
1959 | +"RTN","MSCFMUPD",1,0) |
1960 | +MSCFMUPD; MSC/JDA - OVID FileMan UPDATE ; May 14, 2009 |
1961 | +"RTN","MSCFMUPD",2,0) |
1962 | + ;;1.0;MSCFM;;May 14, 2009 |
1963 | +"RTN","MSCFMUPD",3,0) |
1964 | + Q |
1965 | +"RTN","MSCFMUPD",4,0) |
1966 | +RUN(REPLY,RES) |
1967 | +"RTN","MSCFMUPD",5,0) |
1968 | + N PROPNAME,FILE,FDA,IENS,MSG,IDX,INPUTFDA |
1969 | +"RTN","MSCFMUPD",6,0) |
1970 | + ; Parse out the command properties |
1971 | +"RTN","MSCFMUPD",7,0) |
1972 | + F Q:'$$NEXTPROP^MSCRES(.RES) D |
1973 | +"RTN","MSCFMUPD",8,0) |
1974 | + . S PROPNAME=$$GETPROP^MSCRES(.RES) |
1975 | +"RTN","MSCFMUPD",9,0) |
1976 | + . I PROPNAME="FIELD" D PROCFLD(.RES,FILE,IENS,.INPUTFDA,.FDA) |
1977 | +"RTN","MSCFMUPD",10,0) |
1978 | + . I PROPNAME="FILE" S FILE=$$FILE2NUM^MSCFM($$GETVAL^MSCRES(.RES)) Q |
1979 | +"RTN","MSCFMUPD",11,0) |
1980 | + . I PROPNAME="IENS" S IENS=$$GETVAL^MSCRES(.RES) S:$E(IENS,$L(IENS))'="," IENS=IENS_"," Q |
1981 | +"RTN","MSCFMUPD",12,0) |
1982 | + . Q |
1983 | +"RTN","MSCFMUPD",13,0) |
1984 | + D VALS^DIE(,"INPUTFDA","FDA","MSG") |
1985 | +"RTN","MSCFMUPD",14,0) |
1986 | + I $G(MSG("DIERR"))'="" D Q |
1987 | +"RTN","MSCFMUPD",15,0) |
1988 | + . D ADDCMPD^MSCRES(.REPLY,"ERRORS") |
1989 | +"RTN","MSCFMUPD",16,0) |
1990 | + . F IDX=1:1 Q:$G(MSG("DIERR",IDX))="" D |
1991 | +"RTN","MSCFMUPD",17,0) |
1992 | + . . D ADDCMPD^MSCRES(.REPLY,"ERROR") |
1993 | +"RTN","MSCFMUPD",18,0) |
1994 | + . . D ADDPROP^MSCRES(.REPLY,"NUMBER",MSG("DIERR",IDX,"PARAM","FIELD")) |
1995 | +"RTN","MSCFMUPD",19,0) |
1996 | + . . D ADDPROP^MSCRES(.REPLY,"TEXT",MSG("DIERR",IDX,"TEXT",1)) |
1997 | +"RTN","MSCFMUPD",20,0) |
1998 | + . . D ENDCMPD^MSCRES(.REPLY) ; ERROR |
1999 | +"RTN","MSCFMUPD",21,0) |
2000 | + . D ENDCMPD^MSCRES(.REPLY) ; ERRORS |
2001 | +"RTN","MSCFMUPD",22,0) |
2002 | + . Q |
2003 | +"RTN","MSCFMUPD",23,0) |
2004 | + D FILE^DIE(,"FDA","MSG") |
2005 | +"RTN","MSCFMUPD",24,0) |
2006 | + I $G(MSG("DIERR"))'="" D |
2007 | +"RTN","MSCFMUPD",25,0) |
2008 | + . D ADDCMPD^MSCRES(.REPLY,"ERRORS") |
2009 | +"RTN","MSCFMUPD",26,0) |
2010 | + . F IDX=1:1 Q:'$G(MSG("DIERR",IDX)) D |
2011 | +"RTN","MSCFMUPD",27,0) |
2012 | + . . D ADDCMPD^MSCRES(.REPLY,"ERROR") |
2013 | +"RTN","MSCFMUPD",28,0) |
2014 | + . . D ADDPROP^MSCRES(.REPLY,"NUMBER",MSG("DIERR",IDX)) |
2015 | +"RTN","MSCFMUPD",29,0) |
2016 | + . . D ADDPROP^MSCRES(.REPLY,"TEXT",MSG("DIERR",IDX,"TEXT",1)) |
2017 | +"RTN","MSCFMUPD",30,0) |
2018 | + . . D ENDCMPD^MSCRES(.REPLY) ; ERROR |
2019 | +"RTN","MSCFMUPD",31,0) |
2020 | + . . Q |
2021 | +"RTN","MSCFMUPD",32,0) |
2022 | + . D ENDCMPD^MSCRES(.REPLY) ; ERROR |
2023 | +"RTN","MSCFMUPD",33,0) |
2024 | + . Q |
2025 | +"RTN","MSCFMUPD",34,0) |
2026 | + E D ADDCMPD^MSCRES(.REPLY,"RESULTS") D ENDCMPD^MSCRES(.REPLY) ; Empty results |
2027 | +"RTN","MSCFMUPD",35,0) |
2028 | + Q |
2029 | +"RTN","MSCFMUPD",36,0) |
2030 | +PROCFLD(RES,FILE,IENS,INPUTFDA,FDA) |
2031 | +"RTN","MSCFMUPD",37,0) |
2032 | + N NAME,VALUE,INTERN,RESULT |
2033 | +"RTN","MSCFMUPD",38,0) |
2034 | + S INTERN=0 |
2035 | +"RTN","MSCFMUPD",39,0) |
2036 | + F Q:'$$NEXTPROP^MSCRES(.RES) D |
2037 | +"RTN","MSCFMUPD",40,0) |
2038 | + . S PROPNAME=$$GETPROP^MSCRES(.RES) |
2039 | +"RTN","MSCFMUPD",41,0) |
2040 | + . I PROPNAME="NAME" S NAME=$$GETVAL^MSCRES(.RES) Q ; Either label or number is OK |
2041 | +"RTN","MSCFMUPD",42,0) |
2042 | + . I PROPNAME="VALUE" S VALUE=$$GETVAL^MSCRES(.RES) Q |
2043 | +"RTN","MSCFMUPD",43,0) |
2044 | + . I PROPNAME="INTERNAL" S INTERN=$$GETVAL^MSCRES(.RES) Q |
2045 | +"RTN","MSCFMUPD",44,0) |
2046 | + . Q |
2047 | +"RTN","MSCFMUPD",45,0) |
2048 | + I INTERN S INPUTFDA(FILE,IENS,NAME)=VALUE |
2049 | +"RTN","MSCFMUPD",46,0) |
2050 | + E S FDA(FILE,IENS,NAME)=VALUE |
2051 | +"RTN","MSCFMUPD",47,0) |
2052 | + Q |
2053 | +"SEC","^DIC",21455,21455,0,"AUDIT") |
2054 | +@ |
2055 | +"SEC","^DIC",21455,21455,0,"DD") |
2056 | +@ |
2057 | +"SEC","^DIC",21455,21455,0,"DEL") |
2058 | +@ |
2059 | +"SEC","^DIC",21455,21455,0,"LAYGO") |
2060 | +@ |
2061 | +"SEC","^DIC",21455,21455,0,"RD") |
2062 | +@ |
2063 | +"SEC","^DIC",21455,21455,0,"WR") |
2064 | +@ |
2065 | +"VER") |
2066 | +8.0^22.0 |
2067 | +"^DD",21455,21455,0) |
2068 | +FIELD^^4^5 |
2069 | +"^DD",21455,21455,0,"DT") |
2070 | +3080708 |
2071 | +"^DD",21455,21455,0,"IX","B",21455,.01) |
2072 | + |
2073 | +"^DD",21455,21455,0,"IX","C",21455,1) |
2074 | + |
2075 | +"^DD",21455,21455,0,"NM","FILEMAN EXCEPTION") |
2076 | + |
2077 | +"^DD",21455,21455,.01,0) |
2078 | +NAME^RF^^0;1^K:$L(X)>30!(X?.N)!($L(X)<3)!'(X'?1P.E) X |
2079 | +"^DD",21455,21455,.01,1,0) |
2080 | +^.1 |
2081 | +"^DD",21455,21455,.01,1,1,0) |
2082 | +21455^B |
2083 | +"^DD",21455,21455,.01,1,1,1) |
2084 | +S ^MSCFME("B",$E(X,1,30),DA)="" |
2085 | +"^DD",21455,21455,.01,1,1,2) |
2086 | +K ^MSCFME("B",$E(X,1,30),DA) |
2087 | +"^DD",21455,21455,.01,3) |
2088 | +NAME MUST BE 3-30 CHARACTERS, NOT NUMERIC OR STARTING WITH PUNCTUATION |
2089 | +"^DD",21455,21455,1,0) |
2090 | +FILE^RNJ19,9^^0;2^K:+X'=X!(X>999999999)!(X<0)!(X?.E1"."10.N) X |
2091 | +"^DD",21455,21455,1,.1) |
2092 | +FILE NUMBER |
2093 | +"^DD",21455,21455,1,1,0) |
2094 | +^.1 |
2095 | +"^DD",21455,21455,1,1,1,0) |
2096 | +21455^C |
2097 | +"^DD",21455,21455,1,1,1,1) |
2098 | +S ^MSCFME("C",$E(X,1,30),DA)="" |
2099 | +"^DD",21455,21455,1,1,1,2) |
2100 | +K ^MSCFME("C",$E(X,1,30),DA) |
2101 | +"^DD",21455,21455,1,1,1,"DT") |
2102 | +3080708 |
2103 | +"^DD",21455,21455,1,3) |
2104 | +Type a number between 0 and 999999999, 9 Decimal Digits |
2105 | +"^DD",21455,21455,1,"DT") |
2106 | +3080708 |
2107 | +"^DD",21455,21455,2,0) |
2108 | +FIELD^NJ19,9^^0;3^K:+X'=X!(X>999999999)!(X<0)!(X?.E1"."10.N) X |
2109 | +"^DD",21455,21455,2,3) |
2110 | +Type a number between 0 and 999999999, 9 Decimal Digits |
2111 | +"^DD",21455,21455,2,"DT") |
2112 | +3080708 |
2113 | +"^DD",21455,21455,3,0) |
2114 | +ACTION^RS^N:DO NOT RETRIEVE;I:RETRIEVE INTERNAL VALUE;S:SKIP ENTIRE FILE;^0;4^Q |
2115 | +"^DD",21455,21455,3,"DT") |
2116 | +3080708 |
2117 | +"^DD",21455,21455,4,0) |
2118 | +REASON^FJ250^^1;1^K:$L(X)>250!($L(X)<1) X |
2119 | +"^DD",21455,21455,4,3) |
2120 | +Answer must be 1-250 characters in length |
2121 | +"^DD",21455,21455,4,"DT") |
2122 | +3080708 |
2123 | +"^DIC",21455,21455,0) |
2124 | +FILEMAN EXCEPTION^21455 |
2125 | +"^DIC",21455,21455,0,"GL") |
2126 | +^MSCFME( |
2127 | +"^DIC",21455,"B","FILEMAN EXCEPTION",21455) |
2128 | + |
2129 | +**END** |
2130 | +**END** |
2131 | |
2132 | === added file 'ovid/src/mumps/kids/MSCRES.1.2.KID' |
2133 | --- ovid/src/mumps/kids/MSCRES.1.2.KID 1970-01-01 00:00:00 +0000 |
2134 | +++ ovid/src/mumps/kids/MSCRES.1.2.KID 2010-02-01 21:38:14 +0000 |
2135 | @@ -0,0 +1,522 @@ |
2136 | +KIDS Distribution saved on Feb 01, 2010@12:24:04 |
2137 | +BUMP VERSION NUMBER TO REFLECT CHANGES SINCE MAY 2009 |
2138 | +**KIDS**:MSC RES*1.0*2^ |
2139 | + |
2140 | +**INSTALL NAME** |
2141 | +MSC RES*1.0*2 |
2142 | +"BLD",7061,0) |
2143 | +MSC RES*1.0*2^^0^3100201^y |
2144 | +"BLD",7061,4,0) |
2145 | +^9.64PA^^ |
2146 | +"BLD",7061,6.3) |
2147 | +1 |
2148 | +"BLD",7061,"KRN",0) |
2149 | +^9.67PA^8989.52^19 |
2150 | +"BLD",7061,"KRN",.4,0) |
2151 | +.4 |
2152 | +"BLD",7061,"KRN",.401,0) |
2153 | +.401 |
2154 | +"BLD",7061,"KRN",.402,0) |
2155 | +.402 |
2156 | +"BLD",7061,"KRN",.403,0) |
2157 | +.403 |
2158 | +"BLD",7061,"KRN",.5,0) |
2159 | +.5 |
2160 | +"BLD",7061,"KRN",.84,0) |
2161 | +.84 |
2162 | +"BLD",7061,"KRN",3.6,0) |
2163 | +3.6 |
2164 | +"BLD",7061,"KRN",3.8,0) |
2165 | +3.8 |
2166 | +"BLD",7061,"KRN",9.2,0) |
2167 | +9.2 |
2168 | +"BLD",7061,"KRN",9.8,0) |
2169 | +9.8 |
2170 | +"BLD",7061,"KRN",9.8,"NM",0) |
2171 | +^9.68A^1^1 |
2172 | +"BLD",7061,"KRN",9.8,"NM",1,0) |
2173 | +MSCRES^^0^B26296407 |
2174 | +"BLD",7061,"KRN",9.8,"NM","B","MSCRES",1) |
2175 | + |
2176 | +"BLD",7061,"KRN",19,0) |
2177 | +19 |
2178 | +"BLD",7061,"KRN",19.1,0) |
2179 | +19.1 |
2180 | +"BLD",7061,"KRN",101,0) |
2181 | +101 |
2182 | +"BLD",7061,"KRN",409.61,0) |
2183 | +409.61 |
2184 | +"BLD",7061,"KRN",771,0) |
2185 | +771 |
2186 | +"BLD",7061,"KRN",870,0) |
2187 | +870 |
2188 | +"BLD",7061,"KRN",8989.51,0) |
2189 | +8989.51 |
2190 | +"BLD",7061,"KRN",8989.52,0) |
2191 | +8989.52 |
2192 | +"BLD",7061,"KRN",8994,0) |
2193 | +8994 |
2194 | +"BLD",7061,"KRN","B",.4,.4) |
2195 | + |
2196 | +"BLD",7061,"KRN","B",.401,.401) |
2197 | + |
2198 | +"BLD",7061,"KRN","B",.402,.402) |
2199 | + |
2200 | +"BLD",7061,"KRN","B",.403,.403) |
2201 | + |
2202 | +"BLD",7061,"KRN","B",.5,.5) |
2203 | + |
2204 | +"BLD",7061,"KRN","B",.84,.84) |
2205 | + |
2206 | +"BLD",7061,"KRN","B",3.6,3.6) |
2207 | + |
2208 | +"BLD",7061,"KRN","B",3.8,3.8) |
2209 | + |
2210 | +"BLD",7061,"KRN","B",9.2,9.2) |
2211 | + |
2212 | +"BLD",7061,"KRN","B",9.8,9.8) |
2213 | + |
2214 | +"BLD",7061,"KRN","B",19,19) |
2215 | + |
2216 | +"BLD",7061,"KRN","B",19.1,19.1) |
2217 | + |
2218 | +"BLD",7061,"KRN","B",101,101) |
2219 | + |
2220 | +"BLD",7061,"KRN","B",409.61,409.61) |
2221 | + |
2222 | +"BLD",7061,"KRN","B",771,771) |
2223 | + |
2224 | +"BLD",7061,"KRN","B",870,870) |
2225 | + |
2226 | +"BLD",7061,"KRN","B",8989.51,8989.51) |
2227 | + |
2228 | +"BLD",7061,"KRN","B",8989.52,8989.52) |
2229 | + |
2230 | +"BLD",7061,"KRN","B",8994,8994) |
2231 | + |
2232 | +"BLD",7061,"MSC") |
2233 | +/home/japple/MSCRES.1.1.KID |
2234 | +"BLD",7061,"MSCOM") |
2235 | +BUMP VERSION NUMBER TO REFLECT CHANGES SINCE MAY 2009 |
2236 | +"MBREQ") |
2237 | +0 |
2238 | +"QUES","XPF1",0) |
2239 | +Y |
2240 | +"QUES","XPF1","??") |
2241 | +^D REP^XPDH |
2242 | +"QUES","XPF1","A") |
2243 | +Shall I write over your |FLAG| File |
2244 | +"QUES","XPF1","B") |
2245 | +YES |
2246 | +"QUES","XPF1","M") |
2247 | +D XPF1^XPDIQ |
2248 | +"QUES","XPF2",0) |
2249 | +Y |
2250 | +"QUES","XPF2","??") |
2251 | +^D DTA^XPDH |
2252 | +"QUES","XPF2","A") |
2253 | +Want my data |FLAG| yours |
2254 | +"QUES","XPF2","B") |
2255 | +YES |
2256 | +"QUES","XPF2","M") |
2257 | +D XPF2^XPDIQ |
2258 | +"QUES","XPI1",0) |
2259 | +YO |
2260 | +"QUES","XPI1","??") |
2261 | +^D INHIBIT^XPDH |
2262 | +"QUES","XPI1","A") |
2263 | +Want KIDS to INHIBIT LOGONs during the install |
2264 | +"QUES","XPI1","B") |
2265 | +NO |
2266 | +"QUES","XPI1","M") |
2267 | +D XPI1^XPDIQ |
2268 | +"QUES","XPM1",0) |
2269 | +PO^VA(200,:EM |
2270 | +"QUES","XPM1","??") |
2271 | +^D MG^XPDH |
2272 | +"QUES","XPM1","A") |
2273 | +Enter the Coordinator for Mail Group '|FLAG|' |
2274 | +"QUES","XPM1","B") |
2275 | + |
2276 | +"QUES","XPM1","M") |
2277 | +D XPM1^XPDIQ |
2278 | +"QUES","XPO1",0) |
2279 | +Y |
2280 | +"QUES","XPO1","??") |
2281 | +^D MENU^XPDH |
2282 | +"QUES","XPO1","A") |
2283 | +Want KIDS to Rebuild Menu Trees Upon Completion of Install |
2284 | +"QUES","XPO1","B") |
2285 | +NO |
2286 | +"QUES","XPO1","M") |
2287 | +D XPO1^XPDIQ |
2288 | +"QUES","XPZ1",0) |
2289 | +Y |
2290 | +"QUES","XPZ1","??") |
2291 | +^D OPT^XPDH |
2292 | +"QUES","XPZ1","A") |
2293 | +Want to DISABLE Scheduled Options, Menu Options, and Protocols |
2294 | +"QUES","XPZ1","B") |
2295 | +NO |
2296 | +"QUES","XPZ1","M") |
2297 | +D XPZ1^XPDIQ |
2298 | +"QUES","XPZ2",0) |
2299 | +Y |
2300 | +"QUES","XPZ2","??") |
2301 | +^D RTN^XPDH |
2302 | +"QUES","XPZ2","A") |
2303 | +Want to MOVE routines to other CPUs |
2304 | +"QUES","XPZ2","B") |
2305 | +NO |
2306 | +"QUES","XPZ2","M") |
2307 | +D XPZ2^XPDIQ |
2308 | +"RTN") |
2309 | +1 |
2310 | +"RTN","MSCRES") |
2311 | +0^1^B26296407 |
2312 | +"RTN","MSCRES",1,0) |
2313 | +MSCRES ; MSC/JDA - Resource message format ; May 14, 2009 |
2314 | +"RTN","MSCRES",2,0) |
2315 | + ;;1.0;MSC RES;;May 14, 2009 |
2316 | +"RTN","MSCRES",3,0) |
2317 | + Q |
2318 | +"RTN","MSCRES",4,0) |
2319 | +FROMBYTE(RETVAL,BYTES) |
2320 | +"RTN","MSCRES",5,0) |
2321 | + M RETVAL=BYTES |
2322 | +"RTN","MSCRES",6,0) |
2323 | + Q |
2324 | +"RTN","MSCRES",7,0) |
2325 | +TOBYTE(RETVAL,RES) |
2326 | +"RTN","MSCRES",8,0) |
2327 | + M RETVAL=RES |
2328 | +"RTN","MSCRES",9,0) |
2329 | + K RETVAL("INDEX") |
2330 | +"RTN","MSCRES",10,0) |
2331 | + K RETVAL("OFFSET") |
2332 | +"RTN","MSCRES",11,0) |
2333 | + K RETVAL("PROP") |
2334 | +"RTN","MSCRES",12,0) |
2335 | + K RETVAL("VAL") |
2336 | +"RTN","MSCRES",13,0) |
2337 | + Q |
2338 | +"RTN","MSCRES",14,0) |
2339 | +START(RES) ; for write |
2340 | +"RTN","MSCRES",15,0) |
2341 | + S RES("INDEX")=1,RES("OFFSET")=1 |
2342 | +"RTN","MSCRES",16,0) |
2343 | + S RES(1)="" |
2344 | +"RTN","MSCRES",17,0) |
2345 | + Q |
2346 | +"RTN","MSCRES",18,0) |
2347 | +FIRST(RES) ; for read |
2348 | +"RTN","MSCRES",19,0) |
2349 | + S RES("INDEX")=1,RES("OFFSET")=1,RES("PROP")="",RES("VAL")="" |
2350 | +"RTN","MSCRES",20,0) |
2351 | + Q |
2352 | +"RTN","MSCRES",21,0) |
2353 | +GETBYTES(RES,NUM) |
2354 | +"RTN","MSCRES",22,0) |
2355 | + N RETVAL |
2356 | +"RTN","MSCRES",23,0) |
2357 | + N NXTLNAMT S NXTLNAMT=0 ; Number of bytes to get from the next line |
2358 | +"RTN","MSCRES",24,0) |
2359 | + ; CHUNK_SIZE is 201 |
2360 | +"RTN","MSCRES",25,0) |
2361 | + N OFFSET S OFFSET=RES("OFFSET") |
2362 | +"RTN","MSCRES",26,0) |
2363 | + N INDEX S INDEX=RES("INDEX") |
2364 | +"RTN","MSCRES",27,0) |
2365 | + I NUM+OFFSET-1>201 S NXTLNAMT=NUM+OFFSET-201-1 S NUM=201-OFFSET+1 |
2366 | +"RTN","MSCRES",28,0) |
2367 | + S RETVAL=$E(RES(INDEX),OFFSET,OFFSET+NUM-1) |
2368 | +"RTN","MSCRES",29,0) |
2369 | + S RES("OFFSET")=OFFSET+NUM |
2370 | +"RTN","MSCRES",30,0) |
2371 | + I RES("OFFSET")=(201+1) S RES("OFFSET")=1 S RES("INDEX")=INDEX+1 |
2372 | +"RTN","MSCRES",31,0) |
2373 | + S:NXTLNAMT>0 RETVAL=RETVAL_$$GETBYTES(.RES,NXTLNAMT) |
2374 | +"RTN","MSCRES",32,0) |
2375 | + Q RETVAL |
2376 | +"RTN","MSCRES",33,0) |
2377 | +PUTBYTES(RES,BYTES) |
2378 | +"RTN","MSCRES",34,0) |
2379 | + N LEN S LEN=$L(BYTES) |
2380 | +"RTN","MSCRES",35,0) |
2381 | + N NUM S NUM=LEN |
2382 | +"RTN","MSCRES",36,0) |
2383 | + ; CHUNK_SIZE is 201 |
2384 | +"RTN","MSCRES",37,0) |
2385 | + N OFFSET S OFFSET=RES("OFFSET") |
2386 | +"RTN","MSCRES",38,0) |
2387 | + N INDEX S INDEX=RES("INDEX") |
2388 | +"RTN","MSCRES",39,0) |
2389 | + I NUM+OFFSET-1>201 S NUM=201-OFFSET+1 S RES(INDEX)=RES(INDEX)_$E(BYTES,1,NUM) |
2390 | +"RTN","MSCRES",40,0) |
2391 | + E S RES(INDEX)=RES(INDEX)_BYTES |
2392 | +"RTN","MSCRES",41,0) |
2393 | + S RES("OFFSET")=OFFSET+NUM |
2394 | +"RTN","MSCRES",42,0) |
2395 | + I RES("OFFSET")=(201+1) S RES("OFFSET")=1 S RES("INDEX")=INDEX+1 S RES(INDEX+1)="" |
2396 | +"RTN","MSCRES",43,0) |
2397 | + D:NUM'=LEN PUTBYTES(.RES,$E(BYTES,NUM+1,LEN)) |
2398 | +"RTN","MSCRES",44,0) |
2399 | + Q |
2400 | +"RTN","MSCRES",45,0) |
2401 | +B64TOINT(BUFFER) |
2402 | +"RTN","MSCRES",46,0) |
2403 | + N IDX,RESULT |
2404 | +"RTN","MSCRES",47,0) |
2405 | + N CHAR64 S CHAR64="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" |
2406 | +"RTN","MSCRES",48,0) |
2407 | + S RESULT=0 |
2408 | +"RTN","MSCRES",49,0) |
2409 | + F IDX=1:1:$L(BUFFER) D |
2410 | +"RTN","MSCRES",50,0) |
2411 | + . S RESULT=(RESULT*64)+$F(CHAR64,$E(BUFFER,IDX))-2 ; arrays are 1-base, and find return one past, so +2 |
2412 | +"RTN","MSCRES",51,0) |
2413 | + . Q |
2414 | +"RTN","MSCRES",52,0) |
2415 | + Q RESULT |
2416 | +"RTN","MSCRES",53,0) |
2417 | +DECODINT(RES,NUMBYTES) |
2418 | +"RTN","MSCRES",54,0) |
2419 | + N BUFFER |
2420 | +"RTN","MSCRES",55,0) |
2421 | + S BUFFER=$RE($$GETBYTES(.RES,NUMBYTES)) |
2422 | +"RTN","MSCRES",56,0) |
2423 | + Q $$B64TOINT(BUFFER) |
2424 | +"RTN","MSCRES",57,0) |
2425 | +ENCODINT(SIZE,NUMBYTES) |
2426 | +"RTN","MSCRES",58,0) |
2427 | + N ENCODED,IDX S ENCODED="" |
2428 | +"RTN","MSCRES",59,0) |
2429 | + N CHAR64 S CHAR64="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" |
2430 | +"RTN","MSCRES",60,0) |
2431 | + F IDX=1:1:NUMBYTES D |
2432 | +"RTN","MSCRES",61,0) |
2433 | + . S ENCODED=ENCODED_$E(CHAR64,(SIZE#64)+1) |
2434 | +"RTN","MSCRES",62,0) |
2435 | + . S SIZE=SIZE\64 |
2436 | +"RTN","MSCRES",63,0) |
2437 | + . Q |
2438 | +"RTN","MSCRES",64,0) |
2439 | + Q ENCODED |
2440 | +"RTN","MSCRES",65,0) |
2441 | +NEXTPROP(RES) |
2442 | +"RTN","MSCRES",66,0) |
2443 | + N SIZE S SIZE=$$DECODINT(.RES,1) |
2444 | +"RTN","MSCRES",67,0) |
2445 | + I SIZE=0 S RES("PROP")="",RES("VAL")="" Q 0 |
2446 | +"RTN","MSCRES",68,0) |
2447 | + S RES("PROP")=$$GETBYTES(.RES,SIZE) |
2448 | +"RTN","MSCRES",69,0) |
2449 | + S SIZE=$$DECODINT(.RES,2) |
2450 | +"RTN","MSCRES",70,0) |
2451 | + S RES("VAL")=$S(SIZE=0:"",1:$$GETBYTES(.RES,SIZE)) |
2452 | +"RTN","MSCRES",71,0) |
2453 | + Q 1 |
2454 | +"RTN","MSCRES",72,0) |
2455 | +GETPROP(RES) |
2456 | +"RTN","MSCRES",73,0) |
2457 | + Q RES("PROP") |
2458 | +"RTN","MSCRES",74,0) |
2459 | +GETVAL(RES) |
2460 | +"RTN","MSCRES",75,0) |
2461 | + Q RES("VAL") |
2462 | +"RTN","MSCRES",76,0) |
2463 | +ENCODSTR(STR,NUMBYTES) |
2464 | +"RTN","MSCRES",77,0) |
2465 | + Q $$ENCODINT($L(STR),NUMBYTES)_STR |
2466 | +"RTN","MSCRES",78,0) |
2467 | +ADDCMPD(RES,NAME) |
2468 | +"RTN","MSCRES",79,0) |
2469 | + D PUTBYTES(.RES,$$ENCODSTR(NAME,1)_$$ENCODINT(0,2)) |
2470 | +"RTN","MSCRES",80,0) |
2471 | + Q |
2472 | +"RTN","MSCRES",81,0) |
2473 | +ENDCMPD(RES) |
2474 | +"RTN","MSCRES",82,0) |
2475 | + D PUTBYTES(.RES,$$ENCODINT(0,1)) |
2476 | +"RTN","MSCRES",83,0) |
2477 | + Q |
2478 | +"RTN","MSCRES",84,0) |
2479 | +ADDPROP(RES,NAME,VAL) |
2480 | +"RTN","MSCRES",85,0) |
2481 | + Q:VAL="" ; Empty values would be confused with compounds |
2482 | +"RTN","MSCRES",86,0) |
2483 | + D PUTBYTES(.RES,$$ENCODSTR(NAME,1)_$$ENCODSTR(VAL,2)) |
2484 | +"RTN","MSCRES",87,0) |
2485 | + Q |
2486 | +"RTN","MSCRES",88,0) |
2487 | +READBUF(LEN) |
2488 | +"RTN","MSCRES",89,0) |
2489 | + N RETVAL,REMAIN,TMP |
2490 | +"RTN","MSCRES",90,0) |
2491 | + S REMAIN=LEN |
2492 | +"RTN","MSCRES",91,0) |
2493 | + S RETVAL="" |
2494 | +"RTN","MSCRES",92,0) |
2495 | + F Q:REMAIN=0 D |
2496 | +"RTN","MSCRES",93,0) |
2497 | + . R TMP#REMAIN |
2498 | +"RTN","MSCRES",94,0) |
2499 | + . S RETVAL=RETVAL_TMP |
2500 | +"RTN","MSCRES",95,0) |
2501 | + . S REMAIN=LEN-$L(RETVAL) |
2502 | +"RTN","MSCRES",96,0) |
2503 | + Q RETVAL |
2504 | +"RTN","MSCRES",97,0) |
2505 | +SAVEIO |
2506 | +"RTN","MSCRES",98,0) |
2507 | + I '($D(IO)#2) D |
2508 | +"RTN","MSCRES",99,0) |
2509 | + . N VAR |
2510 | +"RTN","MSCRES",100,0) |
2511 | + . F VAR="IO","IO(0)","IOBS","IOF","IOM","ION","IOS","IOSL","IOST","IOST(0)","IOT","IOXY" K @VAR |
2512 | +"RTN","MSCRES",101,0) |
2513 | + . D HOME^%ZIS |
2514 | +"RTN","MSCRES",102,0) |
2515 | + D SAVDEV^%ZISUTL("oldio") |
2516 | +"RTN","MSCRES",103,0) |
2517 | + Q |
2518 | +"RTN","MSCRES",104,0) |
2519 | +LOADIO |
2520 | +"RTN","MSCRES",105,0) |
2521 | + D USE^%ZISUTL("oldio") |
2522 | +"RTN","MSCRES",106,0) |
2523 | + D RMDEV^%ZISUTL("oldio") |
2524 | +"RTN","MSCRES",107,0) |
2525 | + Q |
2526 | +"RTN","MSCRES",108,0) |
2527 | +USE(SOCK) |
2528 | +"RTN","MSCRES",109,0) |
2529 | + D USE^%ZISUTL(SOCK("S")) |
2530 | +"RTN","MSCRES",110,0) |
2531 | + Q |
2532 | +"RTN","MSCRES",111,0) |
2533 | +GETSOCK(SOCK,IPADDR,PORT,TO) |
2534 | +"RTN","MSCRES",112,0) |
2535 | + N SOCKNUM |
2536 | +"RTN","MSCRES",113,0) |
2537 | + S SOCKNUM=$O(^TMP("MSCRES",$J,""),-1) |
2538 | +"RTN","MSCRES",114,0) |
2539 | + S:SOCKNUM="" SOCKNUM=0 |
2540 | +"RTN","MSCRES",115,0) |
2541 | + S SOCKNUM=SOCKNUM+1 |
2542 | +"RTN","MSCRES",116,0) |
2543 | + S ^TMP("MSCRES",$J,SOCKNUM)="" |
2544 | +"RTN","MSCRES",117,0) |
2545 | + D SAVEIO |
2546 | +"RTN","MSCRES",118,0) |
2547 | + D CALL^%ZISTCP(IPADDR,PORT,TO) |
2548 | +"RTN","MSCRES",119,0) |
2549 | + S SOCK("S")="sock:"_$J_":"_SOCKNUM |
2550 | +"RTN","MSCRES",120,0) |
2551 | + S SOCK("#")=SOCKNUM |
2552 | +"RTN","MSCRES",121,0) |
2553 | + D SAVDEV^%ZISUTL(SOCK("S")) |
2554 | +"RTN","MSCRES",122,0) |
2555 | + D LOADIO |
2556 | +"RTN","MSCRES",123,0) |
2557 | + Q |
2558 | +"RTN","MSCRES",124,0) |
2559 | +CLSSOCK(SOCK) |
2560 | +"RTN","MSCRES",125,0) |
2561 | + D SAVEIO |
2562 | +"RTN","MSCRES",126,0) |
2563 | + D USE(.SOCK) |
2564 | +"RTN","MSCRES",127,0) |
2565 | + D CLOSE^%ZISTCP |
2566 | +"RTN","MSCRES",128,0) |
2567 | + D RMDEV^%ZISUTL(SOCK("S")) |
2568 | +"RTN","MSCRES",129,0) |
2569 | + K ^TMP("MSCRES",$J,SOCK("#")) |
2570 | +"RTN","MSCRES",130,0) |
2571 | + D LOADIO |
2572 | +"RTN","MSCRES",131,0) |
2573 | + Q |
2574 | +"RTN","MSCRES",132,0) |
2575 | +FROMSOCK(RETVAL,SOCK) |
2576 | +"RTN","MSCRES",133,0) |
2577 | + N REMAIN,BUFFER,LEN |
2578 | +"RTN","MSCRES",134,0) |
2579 | + D SAVEIO |
2580 | +"RTN","MSCRES",135,0) |
2581 | + D USE(.SOCK) |
2582 | +"RTN","MSCRES",136,0) |
2583 | + D START^MSCRES(.RETVAL) |
2584 | +"RTN","MSCRES",137,0) |
2585 | + S REMAIN=$$B64TOINT($RE($$READBUF(4))) |
2586 | +"RTN","MSCRES",138,0) |
2587 | + F D Q:'REMAIN |
2588 | +"RTN","MSCRES",139,0) |
2589 | + . R BUFFER#REMAIN |
2590 | +"RTN","MSCRES",140,0) |
2591 | + . S LEN=$L(BUFFER) |
2592 | +"RTN","MSCRES",141,0) |
2593 | + . I LEN D PUTBYTES(.RETVAL,BUFFER) S BUFFER="" S REMAIN=REMAIN-LEN |
2594 | +"RTN","MSCRES",142,0) |
2595 | + D FIRST(.RETVAL) |
2596 | +"RTN","MSCRES",143,0) |
2597 | + D LOADIO |
2598 | +"RTN","MSCRES",144,0) |
2599 | + Q |
2600 | +"RTN","MSCRES",145,0) |
2601 | +TOSOCK(RES,SOCK) |
2602 | +"RTN","MSCRES",146,0) |
2603 | + D SAVEIO |
2604 | +"RTN","MSCRES",147,0) |
2605 | + D USE(.SOCK) |
2606 | +"RTN","MSCRES",148,0) |
2607 | + N BYTES,BUFLEN,X,COUNT |
2608 | +"RTN","MSCRES",149,0) |
2609 | + D TOBYTE(.BYTES,.RES) |
2610 | +"RTN","MSCRES",150,0) |
2611 | + S COUNT=0 S X="" |
2612 | +"RTN","MSCRES",151,0) |
2613 | + F S X=$O(BYTES(X)) Q:X="" S COUNT=COUNT+$L(BYTES(X)) |
2614 | +"RTN","MSCRES",152,0) |
2615 | + W $RE($$ENCODINT(COUNT,4)) |
2616 | +"RTN","MSCRES",153,0) |
2617 | + F S X=$O(BYTES(X)) Q:X="" W BYTES(X) |
2618 | +"RTN","MSCRES",154,0) |
2619 | + W ! |
2620 | +"RTN","MSCRES",155,0) |
2621 | + D LOADIO |
2622 | +"RTN","MSCRES",156,0) |
2623 | + Q |
2624 | +"RTN","MSCRES",157,0) |
2625 | +SKIPPROP(RES) |
2626 | +"RTN","MSCRES",158,0) |
2627 | + Q:$$GETVAL(.RES)'="" |
2628 | +"RTN","MSCRES",159,0) |
2629 | + F Q:'$$NEXTPROP^MSCRES(.RES) D |
2630 | +"RTN","MSCRES",160,0) |
2631 | + . D:$$GETVAL(.RES)="" SKIPPROP(.RES) |
2632 | +"RTN","MSCRES",161,0) |
2633 | + . Q |
2634 | +"RTN","MSCRES",162,0) |
2635 | + Q |
2636 | +"RTN","MSCRES",163,0) |
2637 | +DUMP(RES,IND) |
2638 | +"RTN","MSCRES",164,0) |
2639 | + F Q:'$$NEXTPROP^MSCRES(.RES) D |
2640 | +"RTN","MSCRES",165,0) |
2641 | + . S PROPNAME=$$GETPROP^MSCRES(.RES) |
2642 | +"RTN","MSCRES",166,0) |
2643 | + . W IND |
2644 | +"RTN","MSCRES",167,0) |
2645 | + . W PROPNAME |
2646 | +"RTN","MSCRES",168,0) |
2647 | + . I $$GETVAL^MSCRES(.RES)="" W " {",! D DUMP(.RES,IND_" ") W IND_"}",! Q |
2648 | +"RTN","MSCRES",169,0) |
2649 | + . W "("_$$GETVAL^MSCRES(.RES)_")",! |
2650 | +"RTN","MSCRES",170,0) |
2651 | + . Q |
2652 | +"RTN","MSCRES",171,0) |
2653 | + Q |
2654 | +"VER") |
2655 | +8.0^22.0 |
2656 | +**END** |
2657 | +**END** |
Tested new builds on Cache and GT.M with getpatients.sh -- they seem to work just fine.