cANCLCK ;Functies ivm locks van jobs; cANCLCK ; G YZ ; LCKGEG(PID,VNR) ; Gegevens ivm een lock ophalen ; PID = Process ID ; VNR = volgnummer van de lock N NSPACE,INI,FREF,FNAAM,COUNT,GREF,Q S $ZT="TRAP^cAN000" S NSPACE=$ZU(67,6,PID) S INI=$$INI^cANCJOB(PID) I INI="z" G LCKGEGA S FREF=$P($G(^("menu_gref")),"(") S Q=$G(^("q")) I '$L(Q) S Q=$P($G(@("^|"""_NSPACE_"""|cLOG(boot,""Q"",NSPACE)")),D,2) S FNAAM=$G(@("^|"""_NSPACE_"""|"_Q_"BA(99,1)")) LCKGEGA S COUNT=$P(LOCKS(VNR),"~",5) ZN "%SYS" D GetEntry^LOCKTAB(VNR) ZN SPACE S GREF=$P(REF,"[")_$P(REF,"]",2) LCKGEGZ Q INI_D_PID_D_VNR_D_$G(FNAAM)_D_COUNT_D_GREF ; LOCKJ(PID,BOUW) ; Ophalen van locks per job ; PID = Process ID ; BOUW= switch die aangeeft of de global opnieuw moet worden opgebouwd K LOCKS,SPACE,TEMPGLO N INI,VNR,AANT,STRING S $ZT="TRAP^cAN000" S TEMPGLO="LOCKS",SPACE=$ZU(5) ZN "%SYS" D GATHER^LOCKTAB ZN SPACE S INI=$$INI^cANCJOB(PID) LOCKJA I $G(BOUW) K ^TEMP(boot,$J,"JOBS",INI_" "_PID,"LOCKS") S VNR=0,AANT=0 F S VNR=$O(LOCKS(VNR)) Q:VNR="" D . I $P(LOCKS(VNR),"~",2)'=PID Q . S AANT=AANT+1 . S STRING=$$LCKGEG(PID,VNR) . I $G(BOUW) S ^TEMP(boot,$J,"JOBS",INI_" "_PID,"LOCKS",VNR)=$P(STRING,D,5,6) LOCKJZ Q AANT ; LOCKT ; Opbouwen van lock-table K LOCKS,SPACE,TEMPGLO N VNR,PID,INI,STRING S $ZT="TRAP^cAN000" K ^TEMP(boot,$J,"LOCKS") S TEMPGLO="LOCKS",SPACE=$ZU(5) ZN "%SYS" D GATHER^LOCKTAB ZN SPACE S VNR=0 F S VNR=$O(LOCKS(VNR)) Q:VNR="" D . S PID=$P(LOCKS(VNR),"~",2) . S STRING=$$LCKGEG(PID,VNR) . S INI=$P(STRING,D) . S ^TEMP(boot,$J,"LOCKS",INI_" "_PID_" "_VNR)=STRING LOCKTZ Q ; RLOCKE(VNR,PID) ; Restore lock-entry ; VNR = volgnummer van de lock ; PID = Process ID N DUMMY ZN "%SYS" S K=$$DELETE^LOCKTAB(VNR) ZN SPACE S DUMMY=$$LOCKJ(PID,1) RLOCKEZ Q ; RLOCKT(VNR) ; Restore lock-entry vanuit de lock-table ; VNR = volgnummer van de lock ZN "%SYS" S K=$$DELETE^LOCKTAB(VNR) ZN SPACE D LOCKT RLOCKTZ Q ; YZ Q ; ZZ ; 05.02.01 - 16 u 23 * V7.84