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