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

CIANBINI.m

Go to the documentation of this file.
  1. CIANBINI ;MSC/IND/DKM - MSC RPC Broker Installation ;25-Jun-2012 15:27;PLS
  1. ;;1.1;CIA NETWORK COMPONENTS;**001007,001009**;Sep 18, 2007
  1. ;;Copyright 2000-2012, Medsphere Systems Corporation
  1. ;=================================================================
  1. ; Environment check
  1. EC D PATCH("XPAREDT2","26,35,52","KERNEL TOOLKIT")
  1. D RTNTST("CIAU",1.2,"CIA UTILITIES 1.2")
  1. D OBJCHK
  1. I '$G(XPDQUIT),$G(XPDENV)=1 D
  1. .N X
  1. .L +^XTMP("CIANBLIS"):0
  1. .I L -^XTMP("CIANBLIS") Q
  1. .D MES("One or more broker processes are currently running."),MES()
  1. .I '$$ASK^CIAU(" Do you wish to continue the installation") S XPDABORT=2
  1. .E D:$L($T(+0^CIANBLIS)) STOPALL^CIANBLIS
  1. .F X="XPI1","XPO1","XPZ1" S XPDDIQ(X)=0
  1. .S XPDNOQUE=1
  1. Q
  1. ; Check if specified routine is installed
  1. RTNTST(RTN,VN,MSG) ;
  1. D:$$RTNVER(RTN)<VN MES(MSG_" must be installed before proceeding.",2)
  1. Q
  1. ; Get version # for specified routine
  1. RTNVER(RTN) ;
  1. Q $P($T(+2^@RTN),";",3)
  1. ; Check patch #s for specified routine
  1. PATCH(RTN,PN,MSG) ;
  1. N X,Y,L,F
  1. F X=1:1:$L(PN,",") D
  1. .S Y=$P(PN,",",X),F=0
  1. .F L=2,3 D Q:F
  1. ..S F=$TR($P($T(+L^@RTN),";",5),"*",",")[(","_Y_",")
  1. .D:'F MES(MSG_" patch #"_Y_" must be installed before proceeding.",2)
  1. Q
  1. ; Check binary version against M system
  1. OBJCHK ; EP
  1. N VER,MSYS
  1. D GETMSYS(.MSYS,.VER)
  1. Q:'$D(MSYS)
  1. I '$D(VER) D
  1. .D MES("This package contains object code that is not supported on "_MSYS_" installations.",2)
  1. E I VER="" D
  1. .D MES("This package does not contain object code for this version of "_MSYS_" installations.",2)
  1. Q
  1. ; Get M system type and target version
  1. GETMSYS(MSYS,VER) ;
  1. K MSYS,VER
  1. Q:'$D(@XPDGREF@("OBJ"))
  1. S MSYS=$$UP^XLFSTR($P($$VERSION^%ZOSV(1)," ")),MSYS(0)=$S(MSYS="CACHE":1,MSYS="JUMPS":2,1:0)
  1. Q:'$D(@XPDGREF@("OBJ",MSYS(0)))
  1. S VER=$TR($$VERSION^%ZOSV()," ")
  1. F Q:'$L(VER) Q:$D(@XPDGREF@("OBJ",MSYS(0),VER)) S VER=$P(VER,".",1,$L(VER,".")-1)
  1. Q
  1. ; Display message in MSG and optionally set quit flag to QUIT
  1. MES(MSG,QUIT) ;
  1. D BMES^XPDUTL(" "_$G(MSG))
  1. S:$G(QUIT) XPDQUIT=QUIT
  1. Q
  1. ; Pre-init
  1. PRE S @XPDGREF@("NEW")=$D(^CIANB)<10
  1. D OBJINST
  1. X $G(@XPDGREF@("INITIAL"))
  1. Q
  1. ; Post-init
  1. POST X ^%ZOSF("EON"),^%ZOSF("TRMOFF")
  1. D CVT,DEFPAR
  1. X $G(@XPDGREF@("FINAL"))
  1. D:$G(@XPDGREF@("NEW")) TEDH^XPAREDIT("CIANB SITE PARAMETERS","BA")
  1. D CLEANUP^CIANBUTL,STARTALL^CIANBLIS
  1. K ^DIC(19941.24,0,"RD")
  1. Q
  1. ; Convert entries from old event file
  1. CVT N X,FN
  1. S FN=19941.21
  1. Q:$O(^CIANB(FN,0))!'$O(^CIAVEVT(0))
  1. S X=$P(^CIANB(FN,0),U,1,2)
  1. M ^CIANB(FN)=^CIAVEVT
  1. S $P(^CIANB(FN,0),U,1,2)=X,X=0
  1. F S X=$O(^CIANB(FN,X)) Q:'X D
  1. .D CVTX(2,99,99)
  1. .D CVTX(3,20,"2P")
  1. Q
  1. ; Move multiples to new nodes and fix sfn
  1. CVTX(NF,NT,SN) ;
  1. M ^CIANB(FN,X,NT)=^CIANB(FN,X,NF)
  1. K ^CIANB(FN,X,NF)
  1. S $P(^CIANB(FN,X,NT,0),U,2)=FN_SN
  1. Q
  1. ; Initializes default parameter values. Does not affect existing entries.
  1. DEFPAR N V,X,Y,Z
  1. D MES("Setting up default site parameters...")
  1. D DEL^XPAR("PKG","CIANB AUTHENTICATION",1)
  1. F X=0:0 S X=$O(@XPDGREF@("PARAM",X)) Q:'X M Z=^(X) D
  1. .S Y=Z,Z=$$MSG^CIAU($P(Y,U,3,999),"|",0),V=$$MSG^CIAU($P(Y,U,2),"|"),Y=$P(Y,U)
  1. .D ADD^XPAR("PKG",Y,V,.Z)
  1. Q
  1. ; Install routine binaries
  1. OBJINST ; EP
  1. N MSYS,RTN,OBJ,SUB,GBL
  1. D GETMSYS(.MSYS,.VER)
  1. Q:'$D(MSYS)
  1. Q:$D(@XPDGREF@("OBJ",MSYS(0)))<10
  1. S RTN=""
  1. D MES("Installing Routine Binaries...")
  1. F S RTN=$O(@XPDGREF@("OBJ",MSYS(0),VER,RTN)) Q:'$L(RTN) D
  1. .X "ZR ZS @RTN"
  1. .S OBJ="",SUB=0,GBL=$NA(@$S(MSYS(0)=1:"^rOBJ(RTN)",1:"^$R(RTN,""OBJECT"")"))
  1. .F S SUB=$O(@XPDGREF@("OBJ",MSYS(0),VER,RTN,SUB)) Q:'SUB S OBJ=OBJ_^(SUB,0)
  1. .S @GBL=$S(MSYS(0)=1:$$DECODE^CIAUUU(OBJ),1:OBJ)
  1. .D MES(" "_RTN_" installed.")
  1. Q