vhINITML ;INITIALISATIE TERMINAL ;%INITML; [ 06/04/2002 11:14 AM ] G 1 ; 1 Do $system.OBJ.CloseObjects() ; Close all objects D INIT^vhTERMINA ;S:'$D(QU) QU=$$USERNAME^vhUSER($$DEVUSER^vhUSER($$IO^cQ5),-1) D MAXPART^cS:$ZV["MSM" D PRIO(),CASE("L") I $G(^cLOG(cs,"LOG",$I)) D LOGGING I $P($ZU(5),",")="LVH" D .I "\128\1015\1027\"[(D_$$IO^cQ5_D) D CHKCTK^vhSLVH .;I "\134\70\"[(D_$I_D) D LOGIN^RPLKOM I $ZV'["MSM"!($ZV["MSM"&($P($ZU(5),",")'="MGR")) D CHKMAIL^vhMAIL ; YZ Q ; SETCASE(R) ; Toggle van Case in Q_BA("MENU",...) Quit:'$$ASK^vhWACHTW("PROGMODE","","",0) Q:R="" Q:'$D(@R) If $P(@R,D,12) Set $P(@R,D,12)="" Write " ","UpperCase" h 2 Else Set $P(@R,D,12)=1 Write " ","LowerCase" h 2 Quit SELCASE(R) ; R is de menu referentie Q:R="" Q:'$D(@R) S R=$P(@R,D,12) D CASE($P("U\L",D,R+1)) Q ; CASE(C) If $ZV["MSM" Do .U:C="L" 0:(::::266240:16384) ; Lowercase,8-bit,tabs .U:C="U" 0:(::::282624) ;uppercase,8-bit,tabs Q ; LOGGING New R,Time,Uci Do MASTER^cQ5 Set Uci=$ZU(5) Do ^cA105,^cA106,IN^cQMSMSW("1,0") Set Time=$O(^vhLOGGING(cs,$I,$I,+$H,""),-1) Set:'Time Time=+$P($H,",",2) Set R=$G(^vhLOGGING(cs,$I,$I,+$H,Time)) If $L(R),$P(R,D)'="Mn",Time=$P($H,",",2) Else Do .If $P(R,D)="Off" Set R="" .Else If $P(R,D)'="On" Kill ^vhLOGGING(cs,$I,$I,+$H,Time) .If R="" Set R="On\"_DT_D_TD_D_$J_D_Uci_D_$G(QU,"??") .Else Set R="Mn\"_DT_D_TD_D_$J_D_Uci_D_$G(QU,"??") .Set Time=+$P($H,",",2),^vhLOGGING(cs,$I,$I,+$H,Time)=R Do IN^cQMSMSW(Uci) Quit ; KPROG(Menu,MenuNaam,Routine,Aktie,WachtW) New R,Io,GloRef If $ZU(5)=$ZU(2),$L(Routine) Do .Set WachtW=$G(WachtW) .If Aktie="M" Quit:Menu="" Quit:WachtW="" .Set Io=$$IO^cQ5 .Set:Aktie="M" Routine="M" Set:Routine["^" Routine=$P(Routine,"^",2) .Set MenuNaam=$S(MenuNaam="":"???",1:MenuNaam) .Set GloRef="^kprog(Routine" Set:Aktie="M" GloRef=GloRef_","_Menu Set GloRef=GloRef_",MenuNaam,Io)" .Set R=$G(@GloRef) .Set $P(R,D)=$P(R,D)+1,$P(R,D,2)=$H Set:$L(WachtW) $P(R,D,3)=WachtW .Set @GloRef=R Quit ; PROGLOG(Aktie,%ZM) New R,Next,Routine,User Lock +PROGLOG If Aktie="C",$L($G(sProgLog)),$D(@sProgLog) Do .Set R=@sProgLog,$P(R,D,7)=$P($H,",",2),@sProgLog=R .Kill sProgLog Else Do .Set R=@%ZM,Routine=$P(R,D,4),User=$P($$DEVUSER^vhUSER(io),";") .Set:User User=User_";"_$P(^vhUSER("D",User),D,4) .Set Next=$O(^PROGLOG(+$H,""),-1)+1 .Set R=D_Routine_D_D_$P($H,",",2)_D_User_D_io_D .Set ^PROGLOG(+$H,Next)=R,sProgLog=$ZR Lock -PROGLOG Quit ; PRIO(Prio) Set Prio=$G(Prio,"N") Set Prio=$S(Prio="L":"LOW",Prio="N":$S($ZV["MSM":"HIGH",1:"NORMAL"),1:"HIGH") Do @(Prio_$S($ZV["MSM":"^%HL",1:"^%PRIO")) Quit ;