cQSYS ;process information ;cQSYS; Q ; P1 ;CanBeSuspended;;CBSUSP; P2 ;CanBeTerminated;;CBTERM; P3 ;CanReceiveBroadcast;;CRBCAS; P4 ;ClientExecutableName;13;EXE; P5 ;ClientIPAddress;15;CLIP; P6 ;ClientNodeName;12;CLNN; P7 ;CurrentDevice;7;DEVICE; P8 ;CurrentLineAndRoutine;;CLR; P9 ;CurrentSrcLine;;CSRCL; P10 ;GlobalReferences;9;GLOREFS; P11 ;InTransaction;;INTR; P12 ;IsGhost;;ISGHOST; P13 ;JobNumber;;JOBN; P14 ;JobType;10;TYPE; P15 ;LastGlobalReference;;LGLREF; P16 ;LicenseUserId;;LUID; P17 ;LinesExecuted;8;LEX; P18 ;Location;;LOC; P19 ;MemoryAllocated;;MEMA; P20 ;MemoryUsed;;MEMU; P21 ;NameSpace;6;NSPC; P22 ;OpenDevices;;ODEV; P23 ;OSUserName;;OSUN; P24 ;Pid;;PID; P25 ;PidExternal;;PIDEX; P26 ;Priority;;PRIO; P27 ;PrivateGlobalBlockCount;;PGBC; P28 ;Routine;5;ROUT; P29 ;StartupClientIPAddress;;STCLIP; P30 ;StartupClientNodeName;;STCLNN; P31 ;State;4;STATE; P32 ;Switch10;;SW10; P33 ;UserInfo;;USI; P34 ;UserName;11;USN; ; JOBS ;get joblist into var JOB K JOB N %ROWCOUNT I ($P($P($ZV,")",2),"(",1)[" 2008")!($P($P($ZV,")",2),"(",1)[" 2010") N N S N=$ZU(5),$ZT="ERR" ZN "%SYS" D JOBL^%ZQSYS ZN N E D BUILD^%SS JOBSZ Q ; JOBL ;get joblist into var JOB ;Do not call directly N I,PID,Rset S I=1,$ZT="ERR" S Rset=##class(%Library.ResultSet).%New("SYS.Process:SS") D Rset.Execute(1) WHILE Rset.Next() { S PID=Rset.Get("Process") S JOB(0,I)=PID,I=I+1 } JOBLZ Q ; JOB(J,X) ;Get job-info for job J into var X (do not pass by reference) ;Ex.: D JOB^routine(Job,"A") or D JOB^routine(Job,"^[""namespace""]TEMP(""locks"")") N I,K,P S ZT="ERR" S J=$G(J,$J),X=$S('$L($G(X)):"^["""_N_"""]TEMP($J)",1:X) K @X S P=##CLASS(%SYS.ProcessQuery).%OpenId(J) I P F I=1:1:34 S K=$P($T(@("P"_I)),";",2) X "S @X@(J,"""_K_""")=P."_K JOBZ Q ; JOBI(J,X) ;Get item X for job J N I,K,P S J=$G(J,$J),X=$ZCONVERT($G(X),"U"),SW=0 I '$L(X) Q "" F I=1:1:34 I $P($T(@("P"_I)),";",4)=X S X=$P($T(@("P"_I)),";",'(($P($P($ZV,")",2),"(",1)[" 2008")!($P($P($ZV,")",2),"(",1)[" 2010"))+2),SW=1 I 'SW Q "" I ($P($P($ZV,")",2),"(",1)[" 2008")!($P($P($ZV,")",2),"(",1)[" 2010") D . I J=$J,X="NameSpace" S K=$ZU(5) Q . S P=##class(%SYS.ProcessQuery).%OpenId(J,0) I 'P S K="" Q . X "S K="""",P=##class(%SYS.ProcessQuery).%OpenId(J,0) I P S K=P."_X_"Get()" E D . S K=$ZU(67,X,J) . I X=4 S K=$P("Run;Lock;Open device;Close device;In use;Read;Write;gget;gset;gkill;$ORDER;$QUERY;gdefval;$ZF;HANG;Jobbing;^JOBEXAM;Broadcasting;Suspended;",";",K+1) ; JOBIZ Q K ; LOCKT(X) ;Get locktable into var X (do not pass by reference) ;Ex.: D LOCK^routine("A") or D LOCK^routine("^[""namespace""]TEMP(""locks"")") N I,Rset S X=$S('$L($G(X)):"^["""_N_"""]TEMP($J)",1:X) K @X S Rset=##class(%Library.ResultSet).%New("%SYS.LockQuery:Detail") D Rset.Execute("") S I=1 WHILE Rset.Next() { M @X@(I)=Rset.Data S I=I+1 } LOCKTZ Q ; LOCKD(X,Y) ;Delete One lock N N S X=$G(X),Y=$G(Y),K=0 I $L(X) S N=$ZU(5) ZN "%SYS" S K=##Class(SYS.Lock).DeleteOneLock(X,Y) ZN N LOCKDZ Q K ; CSHDW ;Clean-up Shadow Information N I,J,JOB,K,KILL,L,maxpid D JOBS S I="" F S I=$O(JOB(0,I)) Q:I="" S J(JOB(0,I))=I S I=1972 F S I=$O(^["%SYS"]SYS("shdwsrv",I)) Q:I="" D . S K=+$P(I,"|",2),KILL=0 . W !,I I '$D(J(K)) W ?20," is not an active job",! S KILL=1 . I 'KILL S L=$$JP^cQJOB(K,"routine") W ?20,L I $E(L,1,4)'="SHDW" W " is not a shadow job" S KILL=1 . I KILL=1 K ^["%SYS"]SYS("shdwsrv",I) CSHDWZ Q ; SSYS ;Save into %SYS namespace X "zl "_$T(+0)_" zn ""%SYS"" zs %Z"_$E($T(+0),2,$L($T(+0)))_" zn """_$ZU(5)_"""" SSYSZ Q ; AC ;Activate configuration N N S N=$ZU(5) ZN "%SYS" I ($P($P($ZV,")",2),"(",1)[" 2010") S Status=##Class(Config.CPF).Activate() E D REACT^STU1($P($ZU(86),"*")) ZN N ACZ Q ; CALL ;CompileAll in All Namspace N I,N D NSPC^cQ21(.N,1) S I="" F S I=$O(N(I)) Q:I="" I (I'?1.A1N)!($E(I,$L(I))'=1) K N(I) F S I=$O(N(I)) Q:I="" ZN I W !,$ZU(5) D $System.OBJ.CompileAll("bckr") CALLZ Q ; FREEZ(T) ;External Freeze of database ZN "%SYS" S K=##Class(Backup.General).ExternalFreeze(,,,,,,$G(T,600)) FREEZZ Q K ; THAW ;External Thaw of database ZN "%SYS" S K=##Class(Backup.General).ExternalThaw() THAWZ Q K ; LIC(R) ;License Login S R=$S($L($G(R)):R,1:"ZZZ") N K I ($P($P($ZV,")",2),"(",1)[" 5.")!($P($P($ZV,")",2),"(",1)[" 2008")!($P($P($ZV,")",2),"(",1)[" 2010") D . I ($P($P($ZV,")",2),"(",1)[" 2008"),$SYSTEM.License.UserNameLicensing() S K=$system.License.Login("UnknownUser_"_$$JOBI($J,"CLIP")) . I ($P($P($ZV,")",2),"(",1)[" 2010") S K=$system.License.Login("127.0.0.1") . ; Log license onto initials . I $P($G(^cLOG($ZCVT($ZU(110),"U"),"DAM",4)),"\") S K=$system.License.Login(R) LICZ Q ; ERR U 0 ERRZ ZQ ; ZZ ; 17.01.2012 - 15:58 * Cache-r6.4.9