source: cprs/branches/tmg-cprs/m_files/TMGDIS2.m~@ 796

Last change on this file since 796 was 796, checked in by Kevin Toppenberg, 14 years ago

Initial upload

File size: 4.0 KB
Line 
1TMGDIS2 ;TMG/kst/Custom version of DIS2 ;03/25/06 ; 5/15/10 11:15pm
2 ;;1.0;TMG-LIB;**1**;01/01/06
3 ;"---- Prior header below ----------
4 ;SFISC/GFT-SEARCH, TEMPLATES & COMPUTED FIELDS;4JUN2005
5 ;;22.0;VA FileMan;**6,144**;Mar 30, 1999;Build 5
6 ;
7DIS2 ;
8 ;"Purpose:
9 ;"Input: ...
10 ;"Output: TMGRESULT is set
11 ;"Results: none
12 KILL DISV
13 ;"GOTO G:'DUZ
140 ;"D
15 ;". N DIS,DIS0,DA,DC,DE,DJ,DL
16 ;". D S3^DIBT1 Q
17 ;"KILL DIRUT,DIROUT
18 ;"I $D(DTOUT)!($D(DUOUT)) GOTO Q
19 ;"Get SORT TEMPLATE to store search into.
20 SET Y=$$PREPTMPL()
21 IF +TMGRESULT=-1 GOTO TMGDONE ;"Quit from there
22 SET TMGSORTT=Y
23 IF X="",'$D(DIAR) GOTO G
24 IF Y<0 GOTO Q:X=U,0
25 IF $D(DIARU),DIARU-Y=0 DO GOTO 0
26 . WRITE $C(7),!,"Archivers must not store results in the default template"
27 SET (DIARI,DISV)=+Y
28 SET A=$D(^DIBT(DISV,"DL"))
29 IF $D(DIS0)#2 SET ^("DL")=DIS0
30 IF $D(DA)#2 SET ^("DA")=DA
31 IF $D(DJ)#2 SET ^("DJ")=DJ
32 IF $D(DIAR),'$D(DIARU) SET $P(^DIAR(1.11,DIARC,0),U,3)=DISV
33 SET Z=-1
34 SET DIS0="^DIBT(+Y,"
35 FOR P="DIS","DA","DC","DE","DJ","DL" DO
36 . SET %Y=DIS0_""""_P_""","
37 . SET %X=P_"("
38 . DO %XY^%RCR
39 SET %X="^UTILITY($J,",%Y="^DIBT(DISV,""O"","
40 SET @(%X_"0)=U")
41 DO %XY^%RCR
42G NEW DISTXT
43 SET %X="^UTILITY($J,"
44 SET %Y="DISTXT("
45 DO %XY^%RCR
46 ;"WRITE !
47 SET Y=DI
48 DO Q
49 SET DIC=Y
50 IF $D(SF)!$D(L)&'$D(DIAR) GOTO EN1^DIP
51 GOTO EN^DIP
52 ;
53 ;"==========================================
54TEM GOTO TEMP^TMGDIS ;"-- MOVED TO TMGDIS
55COMP GOTO COMP^TMGDIS ;"-- MOVED TO TMGDIS
56XA GOTO XA^TMGDIS ;"-- MOVED TO TMGDIS
57COLON GOTO COLON^TMGDIS ;"-- MOVED TO TMGDIS
58Q GOTO Q^TMGIDS ;"-- MOVED TO TMGDIS
59 ;"==========================================
60 ;
61 ;"X KILL O(DC)
62 ;" GOTO X^TMGDIS
63 ;
64DIS ;PUT SET LOGIC INTO DIS FOR SUBFILE
65 SET %X=""
66 FOR %Y=1:1 SET %X=$O(DIS(%X)) Q:'%X DO
67 . SET %=$S($D(DIAR(DIARF,%X)):DIAR(DIARF,%X),1:DIS(%X))
68 . IF %["X DIS(" SET %=$P(%,"X DIS(")_"X DIFG("_DIARF_","_$P(%,"X DIS(",2)
69 . SET ^DIAR(1.11,DIARC,"S",%Y,0)=%X
70 . SET ^(1)=%
71 IF %Y>1 DO
72 . SET %Y=%Y-1
73 . SET ^DIAR(1.11,DIARC,"S",0)="^1.1132^"_%Y_U_%Y
74 GOTO DIS2 ;"quit will occur there.
75 ;
76PREPTMPL() ;
77 ;"//kt added
78 ;"Purpose: Return IEN of a SORT TEMPLATE ready for use.
79 ;"Get SORT TEMPLATE to store search into.
80 NEW TMGTMPL SET TMGTMPL=-1
81 NEW Y SET Y=+$GET(INFO("SORT IEN"))
82 IF (Y'>0)!($DATA(^DIBT(Y))=0) DO ;"Get a new record
83 . NEW DIC,X
84 . SET DIC=.401,DIC(0)="L"
85 . SET X="TMG SRCH "_$J
86 . DO ^DIC ;"Create now, or get pre-existing
87 . IF +Y'>0 DO QUIT
88 . . SET TMGRESULT="-1^Error getting SORT TEMPLATE for use."
89 IF +Y>0,$DATA(^DIBT(+Y)) DO ;"Edit existing record
90 . NEW TMGFDA,TMGMSG,TMGIEN,TMGIENS,DA,DIE
91 . SET TMGTMPL=+Y
92 . NEW I SET I=0
93 . ;"Kill all but zero node of record
94 . FOR SET I=$ORDER(^DIBT(Y,I)) QUIT:I="" KILL ^DIBT(Y,I)
95 . NEW % DO NOW^%DTC
96 . SET DIE=.401
97 . SET DA=+Y
98 . SET DR="2///"_%_";3///"_DUZ(0)_";4///"_TMGFILE_";5///"_DUZ_";6///"_DUZ(0)
99 . DO ^DIE
100 . ;"SET IENS=+Y_","
101 . ;"SET TMGFDA(.401,IENS,2)=%
102 . ;"SET TMGFDA(.401,IENS,3)=DUZ(0)
103 . ;"SET TMGFDA(.401,IENS,4)=TMGFILE
104 . ;"SET TMGFDA(.401,IENS,5)=DUZ
105 . ;"SET TMGFDA(.401,IENS,6)=DUZ(0)
106 . ;"Set back new field data
107 . ;"DO FILE^DIE("K","TMGFDA","TMGMSG")
108 . ;"IF $DATA(TMGMSG("DIERROR")) DO QUIT
109 . ;". SET TMGRESULT="-1^Error editing SORT TEMPLATE: '"_$GET(TMGMSG("DIERR",1,"TEXT",1))_"'"
110 . ;". SET Y=-1
111 QUIT TMGTMPL
112 ;
113TMGDONE QUIT
Note: See TracBrowser for help on using the repository browser.