Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: NVSCLFIX

NVSCLFIX.m

Go to the documentation of this file.
NVSCLFIX	;ESEHSP/BDL - Insert dummy nodes to prevent block collisions ;MAR2016
 ;;1.0
START	;
 D:$$DOIT($SYSTEM) COLFIX
 Q
DOIT(NVSSYS)	;
 N NVSANS,NVSHI S NVSANS=1
 S NVSHI=$P($G(^XTMP("NVSCLFIX",NVSSYS)),"^",2)
 S:+NVSHI NVSANS=($G(^TMP("DIERR",NVSHI))'["##########")
 Q NVSANS
COLFIX	;
 N NVSPROCS,NVSHPROC,NVSLPROC,NVSSUBS,NVSZINC,NVSXINC
 S NVSXINC=$S($system.Version.GetBuildOS()'="VMS":50,1:500)
 D:NVSXINC=500 DOVMS
 S:NVSXINC=50 NVSHPROC=40000,NVSLPROC=1000
 F NVSSUBS="DIERR","DIMSG","DIHELP" F NVSZINC=NVSLPROC:NVSXINC:NVSHPROC X "S $P(^TMP("""_NVSSUBS_""","_NVSZINC_"),""#"",2047)=NVSZINC"
 S ^XTMP("NVSCLFIX",0)=($ZDATE($H+30,8)-17000000)_"^"_($ZDATE($H,8)-17000000)_"^Block Collision Prevention"
 S ^XTMP("NVSCLFIX",$SYSTEM)=NVSLPROC_"^"_NVSHPROC 
 Q
DOVMS	;
 S NVSPROCS=##class(%ResultSet).%New("%SYS.ProcessQuery:ListPids"),NVSHPROC=0,NVSLPROC=9999999999
 D NVSPROCS.Execute()
 While NVSPROCS.Next() { S:NVSPROCS.Pid>$G(NVSHPROC) NVSHPROC=NVSPROCS.Pid S:NVSPROCS.Pid<$G(NVSLPROC) NVSLPROC=NVSPROCS.Pid }
 S:$L(NVSHPROC)>4 NVSHPROC=NVSHPROC\10000*10000+10000
 S:$L(NVSLPROC)>4 NVSLPROC=NVSLPROC\10000*10000
 Q