Changeset 636 for FOIAVistA/tag/r/HEALTH_LEVEL_SEVEN-HL/HLCSTCP4.m
- Timestamp:
- Dec 4, 2009, 8:26:01 PM (14 years ago)
- Location:
- FOIAVistA/tag/r
- Files:
-
- 1 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
FOIAVistA/tag/r/HEALTH_LEVEL_SEVEN-HL/HLCSTCP4.m
r628 r636 1 HLCSTCP4 ;SFIRMFO/RSD - BI-DIRECTIONAL TCP ;1 0/18/2007 09:562 ;;1.6;HEALTH LEVEL SEVEN;**109,122**;Oct 13,1995;Build 141 HLCSTCP4 ;SFIRMFO/RSD - BI-DIRECTIONAL TCP ;11/03/2006 13:31 2 ;;1.6;HEALTH LEVEL SEVEN;**109,122**;Oct 13,1995;Build 4 3 3 ;Per VHA Directive 2004-038, this routine should not be modified. 4 4 ; … … 15 15 ;I $G(HLMSG) L -^HLMA(HLMSG) 16 16 ; 17 ; patch HL*1.6*122 start18 N STOP19 S STOP=020 I $G(HLDP) S STOP=$$STOP^HLCSTCP21 17 S $ETRAP="D UNWIND^%ZTER" 22 S HLTCP("$ZA\8192#2")="" 23 I (^%ZOSF("OS")["OpenM") D 24 . S HLTCP("$ZA")=$ZA 25 . ; For TCP devices $ZA\8192#2: the device is currently in the 26 . ; Connected state talking to a remote host. 27 . S HLTCP("$ZA\8192#2")=$ZA\8192#2 28 ; 18 ; patch HL*1.6*122 19 S HLTCPERR("$P")=$P 29 20 S HLTCPERR("ERR-$ZE")=$$EC^%ZOSV 30 21 ; I $$EC^%ZOSV["OPENERR"!($$EC^%ZOSV["NOTOPEN")!($$EC^%ZOSV["DEVNOTOPN") D CC^HLCSTCP2("Op-err") S:$G(HLPRIO)="I" HLERROR="15^Open Related Error" D UNWIND^%ZTER Q 31 I $$EC^%ZOSV["OPENERR"!($$EC^%ZOSV["NOTOPEN")!($$EC^%ZOSV["DEVNOTOPN") D G:STOP H2^XUSCLEANQ32 . D CC^HLCSTCP2("Op-err") H 122 I $$EC^%ZOSV["OPENERR"!($$EC^%ZOSV["NOTOPEN")!($$EC^%ZOSV["DEVNOTOPN") D Q 23 . D CC^HLCSTCP2("Op-err") 33 24 . S:$G(HLPRIO)="I" HLERROR="15^Open Related Error" 34 . I STOP D Q 35 .. D CC^HLCSTCP2("Shutdown: (with 'Op-err')") 36 . I 'STOP D UNWIND^%ZTER 37 I $$EC^%ZOSV["WRITE" D G:STOP!(HLTCP("$ZA\8192#2")=0) H2^XUSCLEAN Q 38 . D CC^HLCSTCP2("Wr-err") H 1 39 . S:$G(HLPRIO)="I" HLERROR="108^Write Error" 40 . I STOP D Q 41 .. D CC^HLCSTCP2("Shutdown: (with 'Wr-err')") 42 . I HLTCP("$ZA\8192#2")=0 D Q 43 .. D CC^HLCSTCP2("Halt (Wr): (Disconnected with 'Wr-err')") 44 . I 'STOP,HLTCP("$ZA\8192#2") D UNWIND^%ZTER 25 . D UNWIND^%ZTER 26 I $$EC^%ZOSV["WRITE" D Q ;HL*1.6*77 modifications start here 27 . D CC^HLCSTCP2("Wr-err") 28 . S:$G(HLPRIO)="I" HLERROR="108^Write Error" 29 . D UNWIND^%ZTER ;HL*1.6*77 modifications end here 45 30 ; I $$EC^%ZOSV["READ" D CC^HLCSTCP2("Rd-err") S:$G(HLPRIO)="I" HLERROR="108^Read Error" D UNWIND^%ZTER Q 46 I $$EC^%ZOSV["READ" D G:STOP!(HLTCP("$ZA\8192#2")=0) H2^XUSCLEANQ47 . D CC^HLCSTCP2("Rd-err") H 131 I $$EC^%ZOSV["READ" D Q 32 . D CC^HLCSTCP2("Rd-err") 48 33 . S:$G(HLPRIO)="I" HLERROR="108^Read Error" 49 . I STOP D Q 50 .. D CC^HLCSTCP2("Shutdown: (with 'Rd-err')") 51 . I HLTCP("$ZA\8192#2")=0 D Q 52 .. D CC^HLCSTCP2("Halt (Rd): (Disconnected with 'Rd-err')") 53 . I 'STOP,HLTCP("$ZA\8192#2") D UNWIND^%ZTER 34 . D UNWIND^%ZTER 54 35 S HLCSOUT=1 D ^%ZTER,CC^HLCSTCP2("Error"),SDFLD^HLCSTCP 55 36 S:$G(HLPRIO)="I" HLERROR="9^Error" 56 I STOP D CC^HLCSTCP2("Shutdown: (with 'Error')")57 I HLTCP("$ZA\8192#2")=0 D58 . D CC^HLCSTCP2("Halt (Er): (Disconnected with 'Error')")59 G:STOP!(HLTCP("$ZA\8192#2")=0) H2^XUSCLEAN60 ; patch HL*1.6*122 end61 37 D UNWIND^%ZTER 62 38 Q 63 39 ; 64 40 PROXY ; set DUZ for application proxy user 65 ; 66 ; removed the execcution: patch 122 TEST v2 41 S HLDUZ=+$$APFIND^XUSAP("HLSEVEN,APPLICATION PROXY") 42 S DUZ=HLDUZ 43 D DUZ^XUP(DUZ) 67 44 Q 68 45 ; 69 ;; S HLDUZ=+$$APFIND^XUSAP("HLSEVEN,APPLICATION PROXY")70 ;; S DUZ=HLDUZ71 ;; D DUZ^XUP(DUZ)72 ;; Q73 ;74 46 HLDUZ ; compare DUZ and set DUZ to application proxy user 75 ; 76 ; removed the execcution: patch 122 TEST v2 77 Q 78 ; 79 ;; I '$G(HLDUZ) D PROXY 80 ; 81 HLDUZ2 ; compare DUZ and HLDUZ 47 I '$G(HLDUZ) D PROXY 82 48 I $G(DUZ)'=HLDUZ D 83 49 . S DUZ=HLDUZ … … 121 87 I HLIND1 D Q 122 88 . ;get pointer to 772, kill header 123 . ;124 . ; patch HL*1.6*122: MPI-client/server125 . F L +^HLMA(+HLIND1):10 Q:$T H 1126 89 . K ^HLMA(+HLIND1,"MSH") 127 . L -^HLMA(+HLIND1)128 . ;129 90 . I $D(^HL(772,+$P(HLIND1,U,2),"IN")) K ^("IN") 130 91 . S X=$$MAID^HLTF(+HLIND1,HLMID) … … 155 116 Q X 156 117 ; 157 ERROR1 ;158 ; moved from ERROR^HLCSTCP1159 ; Error trap for disconnect error and return back to the read loop.160 ; patch HL*1.6*122 start161 I (^%ZOSF("OS")["OpenM") D162 . S HLTCP("$ZA")=$ZA163 . ; For TCP devices $ZA\8192#2: the device is currently in the164 . ; Connected state talking to a remote host.165 . S HLTCP("$ZA\8192#2")=$ZA\8192#2166 . I HLTCP("$ZA\8192#2")=0 D167 .. ; decrement counter of multi-listener168 .. I $D(^HLCS(870,"E","M",+$G(HLDP))) D EXITM^HLCSTCP169 .. ; process terminated170 .. D H2^XUSCLEAN171 S $ETRAP="D UNWIND^%ZTER"172 ; I $$EC^%ZOSV["READ"!($$EC^%ZOSV["NOTOPEN")!($$EC^%ZOSV["DEVNOTOPN") D UNWIND^%ZTER Q173 I ($$EC^%ZOSV["NOTOPEN")!($$EC^%ZOSV["DEVNOTOPN") D Q174 . ; if it is not a multi-listener175 . I '$D(^HLCS(870,"E","M",+$G(HLDP))) D CC^HLCSTCP1("Open-err")176 . D UNWIND^%ZTER177 I $$EC^%ZOSV["READ" D Q178 . ; if it is not a multi-listener179 . I '$D(^HLCS(870,"E","M",+$G(HLDP))) D CC^HLCSTCP1("Rd-err")180 . D UNWIND^%ZTER181 ;182 ; I $$EC^%ZOSV["WRITE" D CC("Wr-err") D UNWIND^%ZTER Q183 I $$EC^%ZOSV["WRITE" D Q184 . ; if it is not a multi-listener185 . I '$D(^HLCS(870,"E","M",+$G(HLDP))) D CC^HLCSTCP1("Wr-err")186 . D UNWIND^%ZTER187 ;188 ; for GT.M189 I $ECODE["UREAD" D Q190 . ; if it is not a multi-listener191 . I '$D(^HLCS(870,"E","M",+$G(HLDP))) D CC^HLCSTCP1("Rd-err")192 . D UNWIND^%ZTER193 ;194 ; S HLCSOUT=1 D ^%ZTER,CC("Error")195 S HLCSOUT=1196 D ^%ZTER197 ; if it is not a multi-listener198 I '$D(^HLCS(870,"E","M",+$G(HLDP))) D CC^HLCSTCP1("Error")199 ; patch HL*1.6*122 end200 ;201 D UNWIND^%ZTER202 Q203 ;204 CLRMCNTR ;205 ; clear the counter to set as "0 server" for multi-listener206 ; HL*1.6*122 start207 Q:'$G(HLDP)208 Q:'$D(^HLCS(870,"E","M",HLDP))209 S $P(^HLCS(870,HLDP,0),"^",4)="MS"210 S $P(^HLCS(870,HLDP,0),U,5)="0 server"211 Q212 ;213 CREATUSR ;214 ; patch HL*1.6*122 TEST v2: DUZ code removed215 ; create application proxy users for listeners and incoming filer216 ;; N HLTEMP217 ;; S HLTEMP=$$CREATE^XUSAP("HLSEVEN,APPLICATION PROXY","#")218 Q
Note:
See TracChangeset
for help on using the changeset viewer.