APSP1009 ;ISC/XTSUMBLD KERNEL - Package checksum checker ;3101209.164731
;;7.0;IHS PHARMACY MODIFICATIONS;;Dec 09,2010
;;7.3;3101209.164731
S XT4="I 1",X=$T(+3) W !!,"Checksum routine created on ",$P(X,";",4)," by KERNEL V",$P(X,";",3),!
CONT F XT1=1:1 S XT2=$T(ROU+XT1) Q:XT2="" S X=$P(XT2," ",1),XT3=$P(XT2,";",3) X XT4 I $T W !,X X ^%ZOSF("TEST") S:'$T XT3=0 X:XT3 ^%ZOSF("RSUM") W ?10,$S('XT3:"Routine not in UCI",XT3'=Y:"Calculated "_$C(7)_Y_", off by "_(Y-XT3),1:"ok")
;
K %1,%2,%3,X,Y,XT1,XT2,XT3,XT4 Q
ONE S XT4="I $D(^UTILITY($J,X))",X=$T(+3) W !!,"Checksum routine created on ",$P(X,";",4)," by KERNEL V",$P(X,";",3),!
W !,"Check a subset of routines:" K ^UTILITY($J) X ^%ZOSF("RSEL")
W ! G CONT
ROU ;;
APSPFUNC ;;9409955
APSPCTR ;;11819322
APSPDR3 ;;5053297
APSPDUR ;;6808100
APSPUTIL ;;3334638
APSPTDD ;;8725401
APSPELRX ;;8332298
PSOSUCHG ;;44456097
PSORN52 ;;29954216
APSPES9 ;;10974014
APSPFNC2 ;;20966564
PSOMLLDT ;;33344509
PSSMARK ;;27230072
APSQSIGN ;;9013636
PSOLLL1 ;;23941671
PSXVND ;;18358315
APSPMULT ;;11176755
APSPPCCV ;;10552061
APSPRRTS ;;15807645
PSOLSET ;;19073266
APSPSITE ;;8259075
APSPXUT ;;1827560
PSOORRNW ;;16639809
APSPPCC ;;12758889
APSPLPAT ;;3092395
PSOHLNEW ;;36248417
PSOLBL3 ;;7530499
APSPFNC4 ;;3801032
PSONVNEW ;;13363532
PSOORRL ;;29205568
PSSOPKI1 ;;26828312
PSSORUTL ;;28591808
PSJUTL ;;15855821
PSIVUTL ;;8515606
APSPPCC1 ;;6268535
APSPESIB ;;2103965
PSODRDUP ;;32972245
PSONEW2 ;;16064261
APSPES1 ;;17971271
PSJOE ;;25463896
PSOREF ;;36371400
PSOREF0 ;;18900639
PSORENW ;;20011644
APSPESLP ;;20818995
PSGOERS ;;21280745
PSIVOPT2 ;;13946793
PSOORCPY ;;16478813
PSOORNE4 ;;36996018
PSORENW4 ;;28616572
APSP1009 ;ISC/XTSUMBLD KERNEL - Package checksum checker ;3101209.164731
+1 ;;7.0;IHS PHARMACY MODIFICATIONS;;Dec 09,2010
+2 ;;7.3;3101209.164731
+3 SET XT4="I 1"
SET X=$TEXT(+3)
WRITE !!,"Checksum routine created on ",$PIECE(X,";",4)," by KERNEL V",$PIECE(X,";",3),!
CONT FOR XT1=1:1
SET XT2=$TEXT(ROU+XT1)
IF XT2=""
QUIT
SET X=$PIECE(XT2," ",1)
SET XT3=$PIECE(XT2,";",3)
XECUTE XT4
IF $TEST
WRITE !,X
XECUTE ^%ZOSF("TEST")
IF '$TEST
SET XT3=0
IF XT3
XECUTE ^%ZOSF("RSUM")
WRITE ?10,$SELECT('XT3:"Routine not in UCI",XT3'=Y:"Calculated "_$CHAR(7)_Y_", off by "_(Y-XT3),1:"ok")
+1 ;
+2 KILL %1,%2,%3,X,Y,XT1,XT2,XT3,XT4
QUIT
ONE SET XT4="I $D(^UTILITY($J,X))"
SET X=$TEXT(+3)
WRITE !!,"Checksum routine created on ",$PIECE(X,";",4)," by KERNEL V",$PIECE(X,";",3),!
+1 WRITE !,"Check a subset of routines:"
KILL ^UTILITY($JOB)
XECUTE ^%ZOSF("RSEL")
+2 WRITE !
GOTO CONT
ROU ;;
APSPFUNC ;;9409955
APSPCTR ;;11819322
APSPDR3 ;;5053297
APSPDUR ;;6808100
APSPUTIL ;;3334638
APSPTDD ;;8725401
APSPELRX ;;8332298
PSOSUCHG ;;44456097
PSORN52 ;;29954216
APSPES9 ;;10974014
APSPFNC2 ;;20966564
PSOMLLDT ;;33344509
PSSMARK ;;27230072
APSQSIGN ;;9013636
PSOLLL1 ;;23941671
PSXVND ;;18358315
APSPMULT ;;11176755
APSPPCCV ;;10552061
APSPRRTS ;;15807645
PSOLSET ;;19073266
APSPSITE ;;8259075
APSPXUT ;;1827560
PSOORRNW ;;16639809
APSPPCC ;;12758889
APSPLPAT ;;3092395
PSOHLNEW ;;36248417
PSOLBL3 ;;7530499
APSPFNC4 ;;3801032
PSONVNEW ;;13363532
PSOORRL ;;29205568
PSSOPKI1 ;;26828312
PSSORUTL ;;28591808
PSJUTL ;;15855821
PSIVUTL ;;8515606
APSPPCC1 ;;6268535
APSPESIB ;;2103965
PSODRDUP ;;32972245
PSONEW2 ;;16064261
APSPES1 ;;17971271
PSJOE ;;25463896
PSOREF ;;36371400
PSOREF0 ;;18900639
PSORENW ;;20011644
APSPESLP ;;20818995
PSGOERS ;;21280745
PSIVOPT2 ;;13946793
PSOORCPY ;;16478813
PSOORNE4 ;;36996018
PSORENW4 ;;28616572