VistA-WorldVistAEHR/r/SCHEDULING-SD-SC/SCMCENV.m

87 lines
2.7 KiB
Mathematica

SCMCENV ;ALB/REW - PCMM Environment Checker ; 3 Feb 1996
;;5.3;Scheduling;**41**;AUG 13, 1993
EN ;entry point
W !,"PCMM Installation Requirements:",!
IF $D(XPDABORT)#2 W !!?4,"*** Warning: Because variable XPDABORT exists, PCMM will not install."
N SCX,SCPATCH,SCROUT,SCCOMM,SC2LINE,SC2DATA,SCGLOB,SC2CHECK,SCARR,SCSUB
W !,">>> Checking Programmer Variables:"
IF +$G(DUZ)'>0!($G(DUZ(0))'="@")!($G(U)'="^")!('$D(DT)) D Q
. S XPDABORT=2
. W !,"You must first initialize Programmer Environment by running ^XUP",!
ELSE D
. W " ...Ok"
BLDCHK ;check build file entries
W !,">>> Checking BUILD File Entries:"
F SCX=1:1 S SCPATCH=$P($P($T(BUILD+SCX),";;",2),U,1) Q:'$L(SCPATCH) D
.W !,?5,SCPATCH
.IF '$D(^XPD(9.6,"B",SCPATCH)) D
..N SCPKG,SCVER
..S SCPKG=$P($P($T(BUILD+SCX),";;",2),U,2)
..S SCVER=$P($P($T(BUILD+SCX),";;",2),U,3)
..IF $$VERSION^XPDUTL(SCPKG)'=SCVER D
...S XPDABORT=2
...W !,"Missing Required Package File Entry (Package/Patch): ",SCPATCH
..ELSE D
...W " ...Ok - in Package File"
.ELSE D
..W " ...Ok"
PKGCHK ;check package file entries
W !,">>> Checking PACKAGE File Entries:"
F SCX=1:1 S SCPATCH=$P($T(PACKAGE+SCX),";;",2) Q:'$L(SCPATCH) D
.N SCPKG,SCVER,SCPTC,SCPKGI,SCVERI
.W !,?5,SCPATCH
.IF '$$PATCH^XPDUTL(SCPATCH) D
..S XPDABORT=2
..W:$G(XPDABORT) !,"Missing Required (Package/Patch) Entry: ",SCPATCH
.ELSE D
..W " Ok"
;check patched routines
;check patched routines
RTCHK W !,">>> Checking Routines: "
;needs to be improved if 1 digit patches are checked
F SCX=1:1 S SCRT=$P($T(ROUTINE+SCX),";;",2) Q:'$L(SCRT) D
.S SCROUT=$P(SCRT,U,1)
.W !,?5,$P(SCRT,U,3)," v",$P(SCRT,U,2),?30,"Patch#: ",$P(SCRT,U,4),?43,"Routine: ^",SCROUT," ..."
.S SCCOMM="S SC2LINE=$P($T(+2"_U_SCROUT_"),"";;"",2)"
.X SCCOMM
.S SC2CHECK=$P(SCRT,U,2,99)
.IF '$L(SC2LINE) D Q
..W "Missing (Required Routine)"
..S XPDABORT=2
.ELSE D
..IF $P(SC2LINE,";",1)>$P(SC2CHECK,U,1) D Q
...W !?10,"Version of ",$P(SC2LINE,";",2)," is greater than standard - No patch checks done"
..IF $P(SC2LINE,";",1)<$P(SC2CHECK,U,1) D Q
...W !?10,"Version of ",$P(SC2LINE,";",2)," is less than required"
...S XPDABORT=2
..IF $P(SC2LINE,";",3)'[$P(SC2CHECK,U,3) D Q
...W !?10,"Missing Patch # ",$P(SC2CHECK,U,3)
...S XPDABORT=2
..W "Ok"
GLOBCHK W !,">>> Checking Globals:"
F SCX=1:1 S SCGLOB=$P($T(GLOB+SCX),";;",2) Q:'$L(SCGLOB) D
.W !,?5,SCGLOB
.IF $$GET1^DID(.84,"","","NAME")'="DIALOG" D
..W " ...Missing"
..S XPDABORT=2
.ELSE D
..W " ...Ok"
W:$D(XPDABORT) !,">>> PCMM Aborted in Environment Checker"
W:'$D(XPDABORT) !!,">>> Environment is Ok"
Q
;
PACKAGE ;
;;XU*8.0*2
;;XU*8.0*15
;;XU*8.0*16
;;XU*8.0*28
BUILD ;
;;RPC BROKER 1.0^XWB^1.0
ROUTINE ;
;;DICA^21.0^VA FileMan^17^Dec 28, 1994
;;SDUTL3^5.3^Scheduling^30^AUG 13, 1993
;
GLOB ;
;;^DI(.84
;