- ZISX ;SF/GFT,AC - PROGRAM THAT XECUTES NODES IN ^%ZIS GLOBAL. ;10/26/2011
- ;;8.0;KERNEL;**585**;Jul 10, 1995;Build 22
- ;Close execute
- X3 D XECUTE($G(^%ZIS(2,+IOST(0),3))) Q
- X31 ;X ^%ZIS(2,+IOST(0),3.1) Q ;Old code
- ;Open printer port
- X10 D XECUTE($G(^%ZIS(2,IO("S"),10))) Q
- ;Close printer port
- X11 D XECUTE($G(^%ZIS(2,+IO("S"),11))) K IO("S") Q
- ;Pre-Close
- XPCX D XECUTE($G(^%ZIS(1,+IOS,"PCX"))) Q
- XPOX(X) ;Execute pre-open execute code.
- D XECUTE($G(^%ZIS(1,+X,"POX"))) Q
- ;General
- %Y D XECUTE($G(%Y)) Q
- XS X %ZIS("S") Q
- XW X %ZIS("W") Q
- ;
- ;**P585 START CJM
- ;ignore calls to CLOSE^NVSPRTU and PREOPEN^NVSPRTU if the device type is "PQ"=Print Queue
- XECUTE(NODE) ;
- I ($G(%ZTYPE)="PQ")!($G(IOT)="PQ") D
- .N REPLACE
- .S REPLACE("PREOPEN^NVSPRTU")="PREOPEN^ZISX"
- .S REPLACE("CLOSE^NVSPRTU")="CLOSE^ZISX"
- .S NODE=$$REPLACE^XLFSTR(NODE,.REPLACE)
- .X NODE
- E D
- .X NODE
- Q
- CLOSE ;
- Q
- PREOPEN(X) ;
- Q $G(X)
- ;**P585 END
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HZISX 956 printed Mar 13, 2025@21:20:13 Page 2
- ZISX ;SF/GFT,AC - PROGRAM THAT XECUTES NODES IN ^%ZIS GLOBAL. ;10/26/2011
- +1 ;;8.0;KERNEL;**585**;Jul 10, 1995;Build 22
- +2 ;Close execute
- X3 DO XECUTE($GET(^%ZIS(2,+IOST(0),3)))
- QUIT
- X31 ;X ^%ZIS(2,+IOST(0),3.1) Q ;Old code
- +1 ;Open printer port
- X10 DO XECUTE($GET(^%ZIS(2,IO("S"),10)))
- QUIT
- +1 ;Close printer port
- X11 DO XECUTE($GET(^%ZIS(2,+IO("S"),11)))
- KILL IO("S")
- QUIT
- +1 ;Pre-Close
- XPCX DO XECUTE($GET(^%ZIS(1,+IOS,"PCX")))
- QUIT
- XPOX(X) ;Execute pre-open execute code.
- +1 DO XECUTE($GET(^%ZIS(1,+X,"POX")))
- QUIT
- +2 ;General
- %Y DO XECUTE($GET(%Y))
- QUIT
- XS XECUTE %ZIS("S")
- QUIT
- XW XECUTE %ZIS("W")
- QUIT
- +1 ;
- +2 ;**P585 START CJM
- +3 ;ignore calls to CLOSE^NVSPRTU and PREOPEN^NVSPRTU if the device type is "PQ"=Print Queue
- XECUTE(NODE) ;
- +1 IF ($GET(%ZTYPE)="PQ")!($GET(IOT)="PQ")
- Begin DoDot:1
- +2 NEW REPLACE
- +3 SET REPLACE("PREOPEN^NVSPRTU")="PREOPEN^ZISX"
- +4 SET REPLACE("CLOSE^NVSPRTU")="CLOSE^ZISX"
- +5 SET NODE=$$REPLACE^XLFSTR(NODE,.REPLACE)
- +6 XECUTE NODE
- End DoDot:1
- +7 IF '$TEST
- Begin DoDot:1
- +8 XECUTE NODE
- End DoDot:1
- +9 QUIT
- CLOSE ;
- +1 QUIT
- PREOPEN(X) ;
- +1 QUIT $GET(X)
- +2 ;**P585 END