%ZISG1 ;Device Handler prototype ;;8.0T3 ;W !,$D(^$DI) K (%BUG) ;S:'$D(%BUG) %BUG=0 K:%BUG="NO" %BUG S XGDA="" I '$D(XGION) D .S XGION=$S($D(^$W("ZISGDEV","G","DEV","VALUE")):^$W("ZISGDEV","G","DEV","VALUE"),1:"") S:$G(XGION)]"" XGDA=$O(^%ZIS(1,"B",XGION,0)) S XGIOT=$G(^%ZIS(1,+XGDA,"TYPE")) I XGIOT']""!('XGDA) D ^XGLMSG("E","No Device has been selected.") q I XGIOT'="TRM" G @XGIOT D INIT I $D(^$W("ZISGTRM")) S ^$W("ZISGTRM","VISIBLE")=1 ;K ^$W("ZISGTRM") E M ^$W("ZISGTRM")=TMP("ZISGTRM") S ^$DI($PD,"FOCUS")="ZISGTRM" I $G(^%ZOSF("OS"))["VAX DSM" ESTART 0 ;D ESTA^XG(0) ;;I $D(XGIOST) D ;;.S ^$W("ZISGTRM","G","SUB","VALUE")=XGIOST ;;.ETRIGGER ^$W("ZISGTRM","G","SUB","EVENT","CHANGE") S ^$W("ZISGTRM","VISIBLE")=1 ;D S^XG("ZISGTRM","VISIBLE",1) D B2 ESTART ;D ESTA^XG() ERR ;K ^$W("ZISGTRM") ;D K^XG("ZISGTRM") ;D S^XG("ZISGTRM","VISIBLE",0) Q SUBTYPE ; D B2^%ZISG3 Q B2 G B2^%ZISG3 DEV ; Callback for DEV item. Q SUB ; Callback for SUB item G SUB^%ZISG3 CHGRAD ;CHANGE IN MARGIN G CHGRAD^%ZISG3 OK ; Callback for exit item in menu W !,"EXIT^%ZISG1 CALLED UPON CANCEL OF MORE" ;D S^XG("ZISGTRM","VISIBLE",0) S ^$W("ZISGTRM","VISIBLE")=0 W !,"JUST BEFORE ESTOP OF TAG EXIT^%ZISG1" ESTOP ;D ESTO^XG QUIT CANCEL K ^$W("ZISGTRM") ESTOP ;D ESTO^XG QUIT HELP ;Callback for help. D ^XGLMSG("I","Help is not available at this time.") Q INIT ;create names of devices into ACDEV N %,%1,%2 K TMP("ZISGTRM","G","SUBTYPE","CHOICE") S %1="" F %=1:1 S %1=$O(^%ZIS(2,"B",%1)) Q:%1']"" F %2=0:0 S %2=$O(^%ZIS(2,"B",%1,%2)) Q:%2'>0 S TMP("ZISGTRM","G","SUBTYPE","CHOICE",%)=%1 Q ; SPL ;Entry point for SPOOL devices. I '$D(DUZ) D ^XGLMSG("E","Your DUZ is not defined!") Q I $S($D(^VA(200,DUZ,"SPL")):$E(^("SPL"),1),1:"N")'["y" D Q .D ^XGLMSG("E","You aren't an authorized SPOOLER user.") Q .; W:'$D(IOP) !?5,"You aren't an authorized SPOOLER user." Q I '$D(^$W("ZISGSPL")) D .M ^$W("ZISGSPL")=TMP("ZISGSPL") .M TMP("OLD","G","ZISGSPL","CHOICE")=^XMB(3.51,"B") .S X="",Y="" .S XGDIC("S")="I '$P(^XMB(3.51,Y,0),U,10)" .F S X=$O(TMP("OLD","G","ZISGSPL","CHOICE",X)) Q:X="" D ..S Y="" F S Y=$O(TMP("OLD","G","ZISGSPL","CHOICE",X,Y)) Q:Y="" D ...I 0 ...X:$D(^DD(3.51,0,"SCR")) ^("SCR") I $T X XGDIC("S") I $T S TMP("NEW","G","ZISGSPL","CHOICE",X_"^"_Y)=X .M ^$W("ZISGSPL","G","DOC","CHOICE")=TMP("NEW","G","ZISGSPL","CHOICE") E S ^$W("ZISGSPL","VISIBLE")=1 S ^$DI($PD,"FOCUS")="ZISGSPL" ESTART Q SPLOK ; Callback for exit item in menu W !,"OK BUTTON CALLED IN SPOOL SETUP" S XGDOC=^$W("ZISGSPL","G","DOC","VALUE") ;D S^XG("ZISGSPL","VISIBLE",0) S ^$W("ZISGSPL","VISIBLE")=0 ESTOP ;D ESTO^XG QUIT SPLNOK K ^$W("ZISGSPL") ESTOP ;D ESTO^XG QUIT ; MT ;Magtape device setup S XGDA="" I '$D(XGION) D .S XGION=$S($D(^$W("ZISGDEV","G","DEV","VALUE")):^$W("ZISGDEV","G","DEV","VALUE"),1:"") S:$G(XGION)]"" XGDA=$O(^%ZIS(1,"B",XGION,0)) M ^$W("ZISGMT")=TMP("ZISGMT") S ^$W("ZISGMT","G","OPENPARAM","VALUE")=$G(^%ZIS(1,+XGDA,"IOPAR")) S ^$DI($PD,"FOCUS")="ZISGMT" ESTART Q MTOK ; Callback for exit item in menu W !,"OK BUTTON CALLED IN SPOOL SETUP" S XGPAR=^$W("ZISGMT","G","OPENPARAM","VALUE") ;D S^XG("ZISGMT","VISIBLE",0) S ^$W("ZISGMT","VISIBLE")=0 W !,"JUST BEFORE ESTOP OF TAG MTOK^%ZISG1" ESTOP ;D ESTO^XG QUIT MTNOK K ^$W("ZISGMT") ESTOP ;D ESTO^XG QUIT SDP ;SDP device setup S XGDA="" I '$D(XGION) D .S XGION=$S($D(^$W("ZISGDEV","G","DEV","VALUE")):^$W("ZISGDEV","G","DEV","VALUE"),1:"") S:$G(XGION)]"" XGDA=$O(^%ZIS(1,"B",XGION,0)) M ^$W("ZISGSDP")=TMP("ZISGSDP") S ^$W("ZISGSDP","G","OPENPARAM","VALUE")=$G(^%ZIS(1,+XGDA,"IOPAR")) S ^$DI($PD,"FOCUS")="ZISGSDP" ESTART Q SDPOK ; Callback for exit item in menu W !,"OK BUTTON CALLED IN SPOOL SETUP" S XGPAR=^$W("ZISGSDP","G","OPENPARAM","VALUE") ;D S^XG("ZISGSDP","VISIBLE",0) S ^$W("ZISGSDP","VISIBLE")=0 W !,"JUST BEFORE ESTOP OF TAG SDPOK^%ZISG1" ESTOP ;D ESTO^XG QUIT SDPNOK K ^$W("ZISGSDP") ESTOP ;D ESTO^XG QUIT HFS ;HOST FILE device setup S XGDA="" I '$D(XGION) D .S XGION=$S($D(^$W("ZISGDEV","G","DEV","VALUE")):^$W("ZISGDEV","G","DEV","VALUE"),1:"") S:$G(XGION)]"" XGDA=$O(^%ZIS(1,"B",XGION,0)) M ^$W("ZISGHFS")=TMP("ZISGHFS") S ^$W("ZISGHFS","G","OPENPARAM")=$G(^%ZIS(1,+XGDA,"IOPAR")) S ^$DI($PD,"FOCUS")="ZISGHFS" ESTART Q HFSOK ; Callback for exit item in menu W !,"OK BUTTON CALLED IN SPOOL SETUP" S XGPAR=^$W("ZISGHFS","G","OPENPARAM","VALUE") ;D S^XG("ZISGHFS","VISIBLE",0) S ^$W("ZISGHFS","VISIBLE")=0 W !,"JUST BEFORE ESTOP OF TAG HFSOK^%ZISG1" ESTOP ;D ESTO^XG QUIT HFSNOK K ^$W("ZISGHFS") ESTOP ;D ESTO^XG QUIT