- GMPLUTL4 ; SLC/KER -- PL Utilities (Misc) ; 04/15/2002
- ;;2.0;Problem List;**26**;Aug 25, 1994
- ;
- ; External References
- ; DBIA 10096 ^%ZOSF("TEST")
- ;
- ; Variable Used but NEWed/KILLed Elsewhere
- ; IOT, ORWINDEV
- ;
- PTR(X) ; Output to Printer
- ; 1 = Yes
- ; 0 = No
- Q:+($$VISTA)>0!(+($$HFP)>0) 1
- Q 0
- ;
- VISTA(X) ; Vista Printer
- Q:$E($G(ION),1,3)="NUL" 0 Q:$G(IOT)'="HFS"&($E($G(IOST),1,2)["P-")&($G(IOST)'="P-OTHER") 1
- Q 0
- ;
- HFP(X) ; Host File sent to Printer
- ; Check ORWINDEV
- N GMTS85 S GMTS85=$$PROK("ORWRP",85)
- Q:+($G(GMTS85))>0&(+($G(ORWINDEV))>0) 1
- ; Check Host File Server
- Q:$G(IOT)'="HFS" 0
- ; Host File for GUI Scrollable Window
- Q:$E($G(ION),1,14)["OR WORKSTATION" 0
- ; TCP/IP Printer
- Q:$G(IO)["$PRT"!($G(IO)["PRN|") 1
- ; Windows Printer
- Q:$E($G(ION),1,14)["OR WINDOWS HFS" 1
- ; Host Files (file or unspecifed printer)
- Q 0
- ;
- ; Miscellaneous
- PROK(X,Y) ; Routine and Patch # OK
- N GMTS,GMTSI,GMTSO S X=$G(X),Y=$G(Y) Q:'$L(X) 0 Q:Y'=""&(+Y=0)
- S Y=+Y,GMTS=$$ROK(X) Q:'GMTS 0 Q:+Y=0 1 S GMTSO=0,GMTS=$T(@("+2^"_X)),GMTS=$P($P(GMTS,"**",2),"**",1)
- F GMTSI=1:1:$L(GMTS,",") S:+($P(GMTS,",",GMTSI))=Y GMTSO=1 Q:GMTSO=1
- S X=GMTSO Q X
- ROK(X) ; Routine OK (in UCI)
- S X=$G(X) Q:'$L(X) 0 Q:$L(X)>8 0 X ^%ZOSF("TEST") Q:$T 1 Q 0
- GMPLUTL4 ; SLC/KER -- PL Utilities (Misc) ; 04/15/2002
- +1 ;;2.0;Problem List;**26**;Aug 25, 1994
- +2 ;
- +3 ; External References
- +4 ; DBIA 10096 ^%ZOSF("TEST")
- +5 ;
- +6 ; Variable Used but NEWed/KILLed Elsewhere
- +7 ; IOT, ORWINDEV
- +8 ;
- PTR(X) ; Output to Printer
- +1 ; 1 = Yes
- +2 ; 0 = No
- +3 IF +($$VISTA)>0!(+($$HFP)>0)
- QUIT 1
- +4 QUIT 0
- +5 ;
- VISTA(X) ; Vista Printer
- +1 IF $EXTRACT($GET(ION),1,3)="NUL"
- QUIT 0
- IF $GET(IOT)'="HFS"&($EXTRACT($GET(IOST),1,2)["P-")&($GET(IOST)'="P-OTHER")
- QUIT 1
- +2 QUIT 0
- +3 ;
- HFP(X) ; Host File sent to Printer
- +1 ; Check ORWINDEV
- +2 NEW GMTS85
- SET GMTS85=$$PROK("ORWRP",85)
- +3 IF +($GET(GMTS85))>0&(+($GET(ORWINDEV))>0)
- QUIT 1
- +4 ; Check Host File Server
- +5 IF $GET(IOT)'="HFS"
- QUIT 0
- +6 ; Host File for GUI Scrollable Window
- +7 IF $EXTRACT($GET(ION),1,14)["OR WORKSTATION"
- QUIT 0
- +8 ; TCP/IP Printer
- +9 IF $GET(IO)["$PRT"!($GET(IO)["PRN|")
- QUIT 1
- +10 ; Windows Printer
- +11 IF $EXTRACT($GET(ION),1,14)["OR WINDOWS HFS"
- QUIT 1
- +12 ; Host Files (file or unspecifed printer)
- +13 QUIT 0
- +14 ;
- +15 ; Miscellaneous
- PROK(X,Y) ; Routine and Patch # OK
- +1 NEW GMTS,GMTSI,GMTSO
- SET X=$GET(X)
- SET Y=$GET(Y)
- IF '$LENGTH(X)
- QUIT 0
- IF Y'=""&(+Y=0)
- QUIT
- +2 SET Y=+Y
- SET GMTS=$$ROK(X)
- IF 'GMTS
- QUIT 0
- IF +Y=0
- QUIT 1
- SET GMTSO=0
- SET GMTS=$TEXT(@("+2^"_X))
- SET GMTS=$PIECE($PIECE(GMTS,"**",2),"**",1)
- +3 FOR GMTSI=1:1:$LENGTH(GMTS,",")
- IF +($PIECE(GMTS,",",GMTSI))=Y
- SET GMTSO=1
- IF GMTSO=1
- QUIT
- +4 SET X=GMTSO
- QUIT X
- ROK(X) ; Routine OK (in UCI)
- +1 SET X=$GET(X)
- IF '$LENGTH(X)
- QUIT 0
- IF $LENGTH(X)>8
- QUIT 0
- XECUTE ^%ZOSF("TEST")
- IF $TEST
- QUIT 1
- QUIT 0