| 1 | LA7SMB ;DALOI/JMC - Shipping Manifest Build ;11/25/96  14:39
 | 
|---|
| 2 |  ;;5.2;AUTOMATED LAB INSTRUMENTS;**27,46,64**;Sep 27, 1994
 | 
|---|
| 3 | EN ;
 | 
|---|
| 4 |  ;
 | 
|---|
| 5 |  D CLEANUP
 | 
|---|
| 6 |  S LA7QUIT=0
 | 
|---|
| 7 |  ;
 | 
|---|
| 8 |  ; Select shipping configuration
 | 
|---|
| 9 |  S LA7SCFG=$$SSCFG^LA7SUTL(1)
 | 
|---|
| 10 |  I LA7SCFG<1 D CLEANUP Q
 | 
|---|
| 11 |  ;
 | 
|---|
| 12 |  ; Determine if there's an active manifest.
 | 
|---|
| 13 |  S LA7SM=$$CHKSM^LA7SMU(+LA7SCFG)
 | 
|---|
| 14 |  I LA7SM<0 D  Q
 | 
|---|
| 15 |  . D EN^DDIOL($P(LA7SM,"^",2),"","!?5")
 | 
|---|
| 16 |  . D CLEANUP
 | 
|---|
| 17 |  ;
 | 
|---|
| 18 |  I LA7SM=0 D
 | 
|---|
| 19 |  . N DIR,DIRUT,DTOUT,X,Y
 | 
|---|
| 20 |  . S DIR(0)="YO",DIR("A",1)="There's no open shipping manifest for "_$P(LA7SCFG,"^",2)
 | 
|---|
| 21 |  . S DIR("A")="Do you want to start one",DIR("B")="NO"
 | 
|---|
| 22 |  . D ^DIR
 | 
|---|
| 23 |  . I Y'=1 S LA7QUIT=1 Q
 | 
|---|
| 24 |  . S LA7SM=$$CSM^LA7SMU(+LA7SCFG)
 | 
|---|
| 25 |  . I LA7SM<1 D EN^DDIOL($P(LA7SM,"^",2),"","!?5") S LA7QUIT=1
 | 
|---|
| 26 |  ;
 | 
|---|
| 27 |  ; Only starting a new manifest, no building
 | 
|---|
| 28 |  I $G(LA7SMON) Q
 | 
|---|
| 29 |  ;
 | 
|---|
| 30 |  I LA7QUIT=1 D CLEANUP Q
 | 
|---|
| 31 |  ;
 | 
|---|
| 32 |  D ADATE^LA7SMU1
 | 
|---|
| 33 |  I LA7QUIT=1 D CLEANUP Q
 | 
|---|
| 34 |  ;
 | 
|---|
| 35 |  ; Flag to exclude previously removed tests from building.
 | 
|---|
| 36 |  S LA7EXPRV=$$ASKPREV^LA7SMU1
 | 
|---|
| 37 |  I LA7EXPRV<0 S LA7QUIT=1
 | 
|---|
| 38 |  ;
 | 
|---|
| 39 |  I LA7QUIT=1 D CLEANUP Q
 | 
|---|
| 40 |  ;
 | 
|---|
| 41 | DQ ; Taskman entry point
 | 
|---|
| 42 |  ; Build list of tests and criteria for manifest.
 | 
|---|
| 43 |  S LA7SCFG(0)=$G(^LAHM(62.9,+LA7SCFG,0))
 | 
|---|
| 44 |  I '$D(ZTQUEUED) D EN^DDIOL("Using shipping manifest# "_$P(LA7SM,"^",2),"","!?5")
 | 
|---|
| 45 |  ;
 | 
|---|
| 46 |  ; Lock this shipping manifest
 | 
|---|
| 47 |  L +^LAHM(62.8,+LA7SM,0):5
 | 
|---|
| 48 |  I '$T D  Q
 | 
|---|
| 49 |  . I '$D(ZTQUEUED) D EN^DDIOL("Unable to obtain lock for shipping manifest "_$P(LA7SCFG,"^",2),"","!?5")
 | 
|---|
| 50 |  . D CLEANUP
 | 
|---|
| 51 |  ;
 | 
|---|
| 52 |  ; Update status
 | 
|---|
| 53 |  D SMSUP^LA7SMU(LA7SM,2,"SM03")
 | 
|---|
| 54 |  S LA7SMCNT=0
 | 
|---|
| 55 |  ;
 | 
|---|
| 56 |  ; Build TMP global with test profiles
 | 
|---|
| 57 |  D SCBLD^LA7SM1(+LA7SCFG)
 | 
|---|
| 58 |  S LA7AA=""
 | 
|---|
| 59 |  F  S LA7AA=$O(^TMP("LA7SMB",$J,LA7AA)) Q:LA7AA=""  D
 | 
|---|
| 60 |  . N LA7END,LRSS
 | 
|---|
| 61 |  . I '$D(ZTQUEUED) D EN^DDIOL("Searching accession area: "_$P($G(^LRO(68,LA7AA,0)),"^"),"","!?5")
 | 
|---|
| 62 |  . ; Use selected accession date else get current accession day for this acession area
 | 
|---|
| 63 |  . I $G(LA7AA(LA7AA)) S LA7AD=$P(LA7AA(LA7AA),"^")
 | 
|---|
| 64 |  . E  S LA7AD=$$AD^LA7SUTL(LA7AA)
 | 
|---|
| 65 |  . S LRSS=$P($G(^LRO(68,LA7AA,0)),"^",2)
 | 
|---|
| 66 |  . S LA7AN=+$P($G(LA7AA(LA7AA)),"^",2),LA7LAN=+$P($G(LA7AA(LA7AA)),"^",3),LA7END=0
 | 
|---|
| 67 |  . I LA7AN S LA7AN=LA7AN-1
 | 
|---|
| 68 |  . F  S LA7AN=$O(^LRO(68,LA7AA,1,LA7AD,1,LA7AN)) Q:'LA7AN!(LA7END)  D SCAN
 | 
|---|
| 69 |  ;
 | 
|---|
| 70 |  ; Update status
 | 
|---|
| 71 |  D SMSUP^LA7SMU(LA7SM,1,"SM02")
 | 
|---|
| 72 |  ;
 | 
|---|
| 73 |  ; Release lock on this shipping manifest
 | 
|---|
| 74 |  L -^LAHM(62.8,+LA7SM,0)
 | 
|---|
| 75 |  ;
 | 
|---|
| 76 |  I '$D(ZTQUEUED) D
 | 
|---|
| 77 |  . N DIR,DIRUT,DIROUT,DTOUT,X,Y
 | 
|---|
| 78 |  . D EN^DDIOL("There were "_$S(LA7SMCNT:LA7SMCNT,1:"NO")_" specimens added","","!?5")
 | 
|---|
| 79 |  . D ASK^LA7SMP(LA7SM)
 | 
|---|
| 80 |  D CLEANUP
 | 
|---|
| 81 |  Q
 | 
|---|
| 82 |  ;
 | 
|---|
| 83 | SMONLY ; Start a shipping manifest only, no building
 | 
|---|
| 84 |  ;
 | 
|---|
| 85 |  N LA7SMON
 | 
|---|
| 86 |  S LA7SMON=1
 | 
|---|
| 87 |  D EN
 | 
|---|
| 88 |  I $G(LA7SCFG),$G(LA7SM)>0 D EN^DDIOL("Shipping manifest# "_$P(LA7SM,"^",2)_" is available","","!?5")
 | 
|---|
| 89 |  D CLEANUP
 | 
|---|
| 90 |  Q
 | 
|---|
| 91 |  ;
 | 
|---|
| 92 |  ;
 | 
|---|
| 93 | SCAN ; Scan accession for tests to build
 | 
|---|
| 94 |  ;
 | 
|---|
| 95 |  N LA76805,LA7DIV,LA7END
 | 
|---|
| 96 |  ;
 | 
|---|
| 97 |  I LA7LAN,LA7AN>LA7LAN S LA7END=1 Q
 | 
|---|
| 98 |  ;
 | 
|---|
| 99 |  ; Don't build controls
 | 
|---|
| 100 |  I $P($G(^LRO(68,LA7AA,1,LA7AD,1,LA7AN,0)),"^",2)=62.3 Q
 | 
|---|
| 101 |  ;
 | 
|---|
| 102 |  ; Don't build uncollected specimens
 | 
|---|
| 103 |  I '$P(LA7SCFG(0),"^",14),'$P($G(^LRO(68,LA7AA,1,LA7AD,1,LA7AN,3)),"^",3) Q
 | 
|---|
| 104 |  ;
 | 
|---|
| 105 |  ; Get Specimen type - if no specimen then quit
 | 
|---|
| 106 |  ; Anatomic path does not store specimen type in #68.
 | 
|---|
| 107 |  S LA76805=""
 | 
|---|
| 108 |  I "CY^EM^SP"[LRSS S LA76805=0
 | 
|---|
| 109 |  E  D
 | 
|---|
| 110 |  . S X=+$O(^LRO(68,LA7AA,1,LA7AD,1,LA7AN,5,0))
 | 
|---|
| 111 |  . I 'X Q
 | 
|---|
| 112 |  . S LA76805=+$G(^LRO(68,LA7AA,1,LA7AD,1,LA7AN,5,X,0))
 | 
|---|
| 113 |  I LA76805="" Q
 | 
|---|
| 114 |  ;
 | 
|---|
| 115 |  ; Accession's division
 | 
|---|
| 116 |  S LA7DIV=+$P($G(^LRO(68,LA7AA,1,LA7AD,1,LA7AN,.4)),"^")
 | 
|---|
| 117 |  ;
 | 
|---|
| 118 |  S LA760=0
 | 
|---|
| 119 |  F  S LA760=$O(^LRO(68,LA7AA,1,LA7AD,1,LA7AN,4,LA760)) Q:'LA760  D
 | 
|---|
| 120 |  . ; Not looking for this test.
 | 
|---|
| 121 |  . I '$D(^TMP("LA7SMB",$J,LA7AA,LA760)) Q
 | 
|---|
| 122 |  . ; Set lock.
 | 
|---|
| 123 |  . D LOCK68
 | 
|---|
| 124 |  . ; NOTE *** Do NOT add any "QUIT" after this point unless releasing LOCK set above ***.
 | 
|---|
| 125 |  . ; Test's zeroth node.
 | 
|---|
| 126 |  . S LA760(0)=$G(^LRO(68,LA7AA,1,LA7AD,1,LA7AN,4,LA760,0))
 | 
|---|
| 127 |  . ; Test completed - skip
 | 
|---|
| 128 |  . I "CY^EM^SP"'[LRSS,$P(LA760(0),"^",5) D UNLOCK68 Q
 | 
|---|
| 129 |  . ; Test already on shipping manifest - skip
 | 
|---|
| 130 |  . I $P(LA760(0),"^",10) D UNLOCK68 Q
 | 
|---|
| 131 |  . ; Previously removed - skip
 | 
|---|
| 132 |  . I LA7EXPRV,$$PREV^LA7SMU1($P($G(^LRO(68,LA7AA,1,LA7AD,1,LA7AN,.3)),"^"),$P(LA760(0),"^")) D UNLOCK68 Q
 | 
|---|
| 133 |  . ; Test urgency
 | 
|---|
| 134 |  . S LA76205=+$P(LA760(0),"^",2)
 | 
|---|
| 135 |  . I LA76205>49 S LA76205=$S(LA76205=50:9,1:LA76205-50)
 | 
|---|
| 136 |  . ; Check if test is eligible for manifest
 | 
|---|
| 137 |  . D SCHK^LA7SM1
 | 
|---|
| 138 |  . I LA7FLAG S LA7FLAG=$$CKTEST(LA7AA,LA7AD,LA7AN,LA760)
 | 
|---|
| 139 |  . ; Add test to shipping manifest.
 | 
|---|
| 140 |  . I LA7FLAG D
 | 
|---|
| 141 |  . . S LA7I=0
 | 
|---|
| 142 |  . . F  S LA7I=$O(LA7X(LA7I)) Q:'LA7I  D ADD
 | 
|---|
| 143 |  . ; Release lock.
 | 
|---|
| 144 |  . D UNLOCK68
 | 
|---|
| 145 |  Q
 | 
|---|
| 146 |  ;
 | 
|---|
| 147 | ADD ; Add test to shipping manifest
 | 
|---|
| 148 |  ; Called from above, LA7SM
 | 
|---|
| 149 |  ; Lock on ^LRO(68,LA7AA,1,LA7AD,1,LA7AN,4,LA760) should be set before entering here.
 | 
|---|
| 150 |  ;
 | 
|---|
| 151 |  N FDA,IENS,LA7628,LA768,LA7DATA
 | 
|---|
| 152 |  ;
 | 
|---|
| 153 |  S LRDFN=+$G(^LRO(68,LA7AA,1,LA7AD,1,LA7AN,0))
 | 
|---|
| 154 |  S LA7UID=$P($G(^LRO(68,LA7AA,1,LA7AD,1,LA7AN,.3)),"^")
 | 
|---|
| 155 |  I LA7UID="" S LA7UID=$$LRUID^LRX(LA7AA,LA7AD,LA7AN)
 | 
|---|
| 156 |  S LA7SMCNT=$G(LA7SMCNT)+1
 | 
|---|
| 157 |  S ^TMP("LA7SMADD",$J,LA7SMCNT)=LRDFN_"^"_LA760_"^"_LA76805_"^"_LA76205_"^"_LA7UID
 | 
|---|
| 158 |  S LA7628(1)=+LA7SM,IENS="+2,"_LA7628(1)_","
 | 
|---|
| 159 |  S FDA(2,62.801,IENS,.01)=LRDFN
 | 
|---|
| 160 |  S FDA(2,62.801,IENS,.02)=LA760
 | 
|---|
| 161 |  I LA76805 S FDA(2,62.801,IENS,.03)=LA76805
 | 
|---|
| 162 |  S FDA(2,62.801,IENS,.04)=LA76205
 | 
|---|
| 163 |  S FDA(2,62.801,IENS,.05)=LA7UID
 | 
|---|
| 164 |  S FDA(2,62.801,IENS,.08)=1
 | 
|---|
| 165 |  I $D(LA7X(LA7I,0)) D
 | 
|---|
| 166 |  . I $P(LA7X(LA7I,0),"^",5) S FDA(2,62.801,IENS,.06)=$P(LA7X(LA7I,0),"^",5)
 | 
|---|
| 167 |  . I $P(LA7X(LA7I,0),"^",6) S FDA(2,62.801,IENS,.07)=$P(LA7X(LA7I,0),"^",6)
 | 
|---|
| 168 |  . I $P(LA7X(LA7I,0),"^",7) S FDA(2,62.801,IENS,.09)=$P(LA7X(LA7I,0),"^",7)
 | 
|---|
| 169 |  I $D(LA7X(LA7I,1)) D
 | 
|---|
| 170 |  . I $P(LA7X(LA7I,1),"^",1)]"" S FDA(2,62.801,IENS,1.1)=$P(LA7X(LA7I,1),"^",1)
 | 
|---|
| 171 |  . I $P(LA7X(LA7I,1),"^",2)]"" S FDA(2,62.801,IENS,1.13)=$P(LA7X(LA7I,1),"^",2)
 | 
|---|
| 172 |  . I $P(LA7X(LA7I,1),"^",5)]"" S FDA(2,62.801,IENS,1.14)=$P(LA7X(LA7I,1),"^",5)
 | 
|---|
| 173 |  . I $P(LA7X(LA7I,1),"^",3)]"" S FDA(2,62.801,IENS,1.2)=$P(LA7X(LA7I,1),"^",3)
 | 
|---|
| 174 |  . I $P(LA7X(LA7I,1),"^",4)]"" S FDA(2,62.801,IENS,1.23)=$P(LA7X(LA7I,1),"^",4)
 | 
|---|
| 175 |  . I $P(LA7X(LA7I,1),"^",6)]"" S FDA(2,62.801,IENS,1.24)=$P(LA7X(LA7I,1),"^",6)
 | 
|---|
| 176 |  I $D(LA7X(LA7I,2)) D
 | 
|---|
| 177 |  . I $P(LA7X(LA7I,2),"^",1)]"" S FDA(2,62.801,IENS,2.1)=$P(LA7X(LA7I,2),"^",1)
 | 
|---|
| 178 |  . I $P(LA7X(LA7I,2),"^",2)]"" S FDA(2,62.801,IENS,2.13)=$P(LA7X(LA7I,2),"^",2)
 | 
|---|
| 179 |  . I $P(LA7X(LA7I,2),"^",7)]"" S FDA(2,62.801,IENS,2.14)=$P(LA7X(LA7I,2),"^",7)
 | 
|---|
| 180 |  . I $P(LA7X(LA7I,2),"^",3)]"" S FDA(2,62.801,IENS,2.2)=$P(LA7X(LA7I,2),"^",3)
 | 
|---|
| 181 |  . I $P(LA7X(LA7I,2),"^",4)]"" S FDA(2,62.801,IENS,2.23)=$P(LA7X(LA7I,2),"^",4)
 | 
|---|
| 182 |  . I $P(LA7X(LA7I,2),"^",8)]"" S FDA(2,62.801,IENS,2.24)=$P(LA7X(LA7I,2),"^",8)
 | 
|---|
| 183 |  . I $P(LA7X(LA7I,2),"^",5)]"" S FDA(2,62.801,IENS,2.3)=$P(LA7X(LA7I,2),"^",5)
 | 
|---|
| 184 |  . I $P(LA7X(LA7I,2),"^",6)]"" S FDA(2,62.801,IENS,2.33)=$P(LA7X(LA7I,2),"^",6)
 | 
|---|
| 185 |  . I $P(LA7X(LA7I,2),"^",9)]"" S FDA(2,62.801,IENS,2.34)=$P(LA7X(LA7I,2),"^",9)
 | 
|---|
| 186 |  I $D(LA7X(LA7I,5)) D
 | 
|---|
| 187 |  . F I=1:1:9 I $P(LA7X(LA7I,5),"^",I)]"" S FDA(2,62.801,IENS,"5."_I)=$P(LA7X(LA7I,5),"^",I)
 | 
|---|
| 188 |  D UPDATE^DIE("","FDA(2)","LA7628","LA7DIE(2)")
 | 
|---|
| 189 |  ;
 | 
|---|
| 190 |  ; Update event file
 | 
|---|
| 191 |  S LA7DATA="SM50^"_$$NOW^XLFDT_"^"_LA760_"^"_$P(LA7SM,"^",2)
 | 
|---|
| 192 |  D SEUP^LA7SMU(LA7UID,2,LA7DATA)
 | 
|---|
| 193 |  ;
 | 
|---|
| 194 |  ; Update accession
 | 
|---|
| 195 |  D ACCSUP^LA7SMU(LA7UID,LA760,+LA7SM)
 | 
|---|
| 196 |  Q
 | 
|---|
| 197 |  ;
 | 
|---|
| 198 |  ;
 | 
|---|
| 199 | CKTEST(LA7AA,LA7AD,LA7AN,LA760) ; Check other tests on accession if test is part of another panel that
 | 
|---|
| 200 |  ; has been flagged for shipping.
 | 
|---|
| 201 |  ; Call with LA7AA = ien of accession area.
 | 
|---|
| 202 |  ;           LA7AD = accession date
 | 
|---|
| 203 |  ;           LA7AN = accession number
 | 
|---|
| 204 |  ;           LA760 = ien of lab test
 | 
|---|
| 205 |  ; Returns   LA7FLAG = 0 (part of another panel)
 | 
|---|
| 206 |  ;                   = 1 (not part of another panel)
 | 
|---|
| 207 |  ;
 | 
|---|
| 208 |  N LA7FLAG,LA7PCNT,LA7K,LA7J,X
 | 
|---|
| 209 |  ;
 | 
|---|
| 210 |  K ^TMP("LA7TREE",$J)
 | 
|---|
| 211 |  ;
 | 
|---|
| 212 |  S LA7FLAG=1
 | 
|---|
| 213 |  S LA7AD(LA7AD)=""
 | 
|---|
| 214 |  S LA7K=+$P($G(^LRO(68,LA7AA,1,LA7AD,1,LA7AN,0)),"^",3)
 | 
|---|
| 215 |  ;
 | 
|---|
| 216 |  I LA7K D
 | 
|---|
| 217 |  . ; Check original accession date.
 | 
|---|
| 218 |  . S LA7AD(LA7K)=""
 | 
|---|
| 219 |  . ; Check rollover accession
 | 
|---|
| 220 |  . I $P($G(^LRO(68,LA7AA,1,LA7K,1,LA7AN,9)),"^") S LA7AD($P($G(^LRO(68,LA7AA,1,LA7K,1,LA7AN,9)),"^"))=""
 | 
|---|
| 221 |  S LA7AD=0
 | 
|---|
| 222 |  F  S LA7AD=$O(LA7AD(LA7AD)) Q:'LA7AD  D
 | 
|---|
| 223 |  . S LA7J=0
 | 
|---|
| 224 |  . F  S LA7J=$O(^LRO(68,LA7AA,1,LA7AD,1,LA7AN,4,LA7J)) Q:'LA7J  D
 | 
|---|
| 225 |  . . I LA7J=LA760 Q
 | 
|---|
| 226 |  . . ; Not on manifest
 | 
|---|
| 227 |  . . I '$P($G(^LRO(68,LA7AA,1,LA7AD,1,LA7AN,4,LA7J,0)),"^",10) Q
 | 
|---|
| 228 |  . . S LA7PCNT=0 D UNWIND(LA7J)
 | 
|---|
| 229 |  ;
 | 
|---|
| 230 |  ; Test is part of another test previously shipped.
 | 
|---|
| 231 |  I $D(^TMP("LA7TREE",$J,LA760)) S LA7FLAG=0
 | 
|---|
| 232 |  ;
 | 
|---|
| 233 |  K ^TMP("LA7TREE",$J)
 | 
|---|
| 234 |  ;
 | 
|---|
| 235 |  Q LA7FLAG
 | 
|---|
| 236 |  ;
 | 
|---|
| 237 | UNWIND(LA760) ; Unwind profile - set tests into global ^TMP("LA7TREE",$J).
 | 
|---|
| 238 |  ; Initialize variable LA7PCNT=0 before calling.
 | 
|---|
| 239 |  ; Kill ^TMP("LA7TREE",$J) before calling.
 | 
|---|
| 240 |  ;
 | 
|---|
| 241 |  N I,II
 | 
|---|
| 242 |  ;
 | 
|---|
| 243 |  ; Recursive panel, caught in a loop.
 | 
|---|
| 244 |  I $G(LA7PCNT)>50 Q
 | 
|---|
| 245 |  ; Test does not exist in file 60.
 | 
|---|
| 246 |  I '$D(^LAB(60,LA760,0)) Q
 | 
|---|
| 247 |  ; Bypass "workload" type tests.
 | 
|---|
| 248 |  I $P(^LAB(60,LA760,0),"^",4)="WK" Q
 | 
|---|
| 249 |  ; Atomic test
 | 
|---|
| 250 |  I $L($P(^LAB(60,LA760,0),"^",5)) S ^TMP("LA7TREE",$J,LA760)="" Q
 | 
|---|
| 251 |  ; Check panels
 | 
|---|
| 252 |  I $O(^LAB(60,LA760,2,0)) D
 | 
|---|
| 253 |  . ; Increment panel counter.
 | 
|---|
| 254 |  . S LA7PCNT=$G(LA7PCNT)+1
 | 
|---|
| 255 |  . S I=0
 | 
|---|
| 256 |  . ; Expand test on panel.
 | 
|---|
| 257 |  . F  S I=$O(^LAB(60,LA760,2,I)) Q:'I  D
 | 
|---|
| 258 |  . . ; IEN of test on panel.
 | 
|---|
| 259 |  . . S II=+$G(^LAB(60,LA760,2,I,0))
 | 
|---|
| 260 |  . . ; Recursive panel, panel calls itself.
 | 
|---|
| 261 |  . . I II,II=LA760 Q
 | 
|---|
| 262 |  . . I II S ^TMP("LA7TREE",$J,LA760)="" D UNWIND(II)
 | 
|---|
| 263 |  Q
 | 
|---|
| 264 |  ;
 | 
|---|
| 265 | LOCK68 ; Lock entry in file 68
 | 
|---|
| 266 |  ; Called from above, LA7SM
 | 
|---|
| 267 |  ;
 | 
|---|
| 268 |  L +^LRO(68,LA7AA,1,LA7AD,1,LA7AN,4,LA760):9999 ; Set lock.
 | 
|---|
| 269 |  ;
 | 
|---|
| 270 |  Q
 | 
|---|
| 271 |  ;
 | 
|---|
| 272 | UNLOCK68 ; Unlock entry in file 68
 | 
|---|
| 273 |  ; Called from above, LA7SM
 | 
|---|
| 274 |  ;
 | 
|---|
| 275 |  L -^LRO(68,LA7AA,1,LA7AD,1,LA7AN,4,LA760) ; Release lock.
 | 
|---|
| 276 |  ;
 | 
|---|
| 277 |  Q
 | 
|---|
| 278 |  ;
 | 
|---|
| 279 | CLEANUP ; Cleanup variables
 | 
|---|
| 280 |  ;
 | 
|---|
| 281 |  I $D(ZTQUEUED) S ZTREQ="@"
 | 
|---|
| 282 |  ;
 | 
|---|
| 283 |  K ^TMP("LA7SMB",$J),^TMP("LA7SMADD",$J),^TMP("LA7TREE",$J)
 | 
|---|
| 284 |  ;
 | 
|---|
| 285 |  K LA760,LA76205,LA76805,LA7AA,LA7AD,LA7AN,LA7EXPRV,LA7FLAG,LA7LAN,LA7PCNT,LA7QUIT,LA7SCFG,LA7SM,LA7SMCNT,LA7UID,LA7X
 | 
|---|
| 286 |  K LRDFN
 | 
|---|
| 287 |  Q
 | 
|---|