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

BLRP24PC.m

Go to the documentation of this file.
  1. BLRP24PC ; IHS/OIT/MKK - IHS Lab Patch 1024 Post install Checksum checker ; [ 12/15/2007 12:50 PM ]
  1. ;;5.2;LR;**1024**;April 8, 2008
  1. ;;
  1. EP ; EP -- Start here
  1. NEW CP ; Current Patch
  1. NEW CSSTR ; Checksum String
  1. NEW ERR ; Error Count
  1. NEW HEAD ; HEADer array
  1. NEW RCNT ; Routine Count
  1. NEW PATCH ; Latest Patch Number
  1. NEW SSTR ; String to hold $S results
  1. NEW STR ; String variable
  1. NEW VERSION ; Version Number
  1. NEW %1,%2,%3,X,Y,XT1,XT2,XT3,XT4 ; Looping variables
  1. ;
  1. S CP=$TR($P($T(+2),";",5),"*") ; Current Patch
  1. ;
  1. S HEAD(1)=$$CJ^XLFSTR($$LOC^XBFUNC,IOM) ; Location
  1. S HEAD(2)=$$CJ^XLFSTR("IHS Lab Patch "_CP_" Checksum routine",IOM)
  1. ;
  1. S STR="Run Date: "_$$UP^XLFSTR($TR($$HTE^XLFDT($H,"2MPZ"),"@"," "))
  1. S HEAD(3)=$$CJ^XLFSTR(STR,IOM)
  1. ;
  1. S HEAD(4)=" "
  1. ;
  1. S $E(HEAD(5),6)="Routine"
  1. S $E(HEAD(5),16)="Checksum"
  1. S $E(HEAD(5),26)="Status"
  1. S $E(HEAD(5),36)="Ver"
  1. S $E(HEAD(5),46)="Patch"
  1. S HEAD(6)=$TR($J("",IOM)," ","-")
  1. ;
  1. D ^XBCLS ; Clear Screen & "Home" cursor
  1. D MES^XPDUTL(.HEAD)
  1. ;
  1. CONT ;
  1. S (ERR,RCNT)=0
  1. S XT4="I 1",X=$T(+9)
  1. F XT1=1:1 S XT2=$T(ROU+XT1) Q:XT2=""!($P(XT2,";",2)="") D
  1. . S X=$P(XT2,";",2),XT3=$P(XT2,";",4)
  1. . X XT4 I '$T Q
  1. . S RCNT=RCNT+1
  1. . K CSSTR
  1. . S CSSTR=$J(RCNT,3)
  1. . S $E(CSSTR,6)=X
  1. . X ^%ZOSF("RSUM")
  1. . S $E(CSSTR,16)=XT3
  1. . S SSTR=$S('XT3:"Not in UCI",XT3'=Y:"**Error**",1:"ok")
  1. . S $E(CSSTR,26)=SSTR
  1. . I XT3'=0 D
  1. .. S STR=$G(^ROUTINE(X,0,2))
  1. .. S VERSION=$P(STR,";",3)
  1. .. S $E(CSSTR,36)=VERSION
  1. .. S PATCH=$RE($P($RE($P($P(STR,";",5),"*",3)),",",1))
  1. .. S $E(CSSTR,46)=PATCH
  1. .. I XT3'=Y D
  1. ... S $E(CSSTR,1,4)="****"
  1. ... S $E(CSSTR,47)="Calc "_Y_", off by "_(Y-XT3)
  1. ... S $E(CSSTR,77,80)="****"
  1. . D MES^XPDUTL(CSSTR)
  1. . I $$UP^XLFSTR(SSTR)="OK" Q
  1. . ;
  1. . ; Checksum error detected
  1. . S ERR=ERR+1
  1. . S ERR(ERR)=$$LJ^XLFSTR(X,8)_$J("",8)_$J(XT3,8)_$J("",10)_$J(Y,8)_$J("",10)_$J((Y-XT3),8)
  1. ;
  1. K CSSTR
  1. S CSSTR(1)=" "
  1. S CSSTR(2)="Number of Routines = "_RCNT
  1. S CSSTR(3)=" "
  1. D BMES^XPDUTL(.CSSTR)
  1. ;
  1. I ERR<1 D
  1. . S CSSTR(2)="No Checksum Errors detected"
  1. . D MES^XPDUTL(.CSSTR)
  1. ;
  1. I ERR>0 D RPTERROR
  1. ;
  1. W !
  1. Q
  1. ;
  1. ; Checksum Errors detected: produce report and send E-mail to LMI Mail Group
  1. RPTERROR ;
  1. NEW NUMAGREE
  1. S NUMAGREE=$S(ERR>1:"Errors",1:"Error")
  1. W !,ERR," Checksum ",NUMAGREE," detected",!!
  1. ;
  1. NEW LINECNT,HOWMANY,RTNN
  1. K STR
  1. S LINECNT=1
  1. D ADDLINE($TR($J("",65)," ","*"),.STR,.LINECNT)
  1. D ADDLINE(" ",.STR,.LINECNT)
  1. D ADDLINE($$CJ^XLFSTR("IHS Lab Patch 1023",65),.STR,.LINECNT)
  1. S HOWMANY=$S(ERR>1:"Errors",1:"Error")
  1. S RTNN=$S(ERR>1:"Routines",1:"Routine")
  1. D ADDLINE($$CJ^XLFSTR("Systems Environment "_HOWMANY_" Detected.",65),.STR,.LINECNT)
  1. D ADDLINE($$CJ^XLFSTR(RTNN_" with CHECKSUM "_HOWMANY,65),.STR,.LINECNT)
  1. D ADDLINE(" ",.STR,.LINECNT)
  1. D ADDLINE($J("",3)_$RE($J($RE(RTNN),8))_$J("",8)_"Checksum"_$J("",8)_"Calculated"_$J("",9)_$J("Off by",9),.STR,.LINECNT)
  1. D ADDLINE($J("",3)_"--------"_$J("",8)_"--------"_$J("",8)_"----------"_$J("",9)_$J("------",9),.STR,.LINECNT)
  1. S ERR=0
  1. F S ERR=$O(ERR(ERR)) Q:ERR="" D
  1. . D ADDLINE($J("",3)_$G(ERR(ERR)),.STR,.LINECNT)
  1. D ADDLINE(" ",.STR,.LINECNT)
  1. D ADDLINE($$CJ^XLFSTR("Please print/capture this screen and",65),.STR,.LINECNT)
  1. D ADDLINE($$CJ^XLFSTR("notify the Support Center at",65),.STR,.LINECNT)
  1. D ADDLINE(" ",.STR,.LINECNT)
  1. D ADDLINE($$CJ^XLFSTR("1-888-830-7280.",65),.STR,.LINECNT)
  1. D ADDLINE(" ",.STR,.LINECNT)
  1. D ADDLINE($G(STR(1)),.STR,.LINECNT)
  1. D BMES^XPDUTL(.STR)
  1. ;
  1. Q
  1. ;
  1. D SENDMAIL("CHECKSUM ERROR DETECTED",.STR)
  1. Q
  1. ;
  1. ; Routine to build STR array for display
  1. ADDLINE(DISPSTR,ARRAY,COUNTER) ;
  1. S ARRAY(COUNTER)=DISPSTR
  1. S COUNTER=COUNTER+1
  1. Q
  1. ;
  1. 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),!
  1. W !,"Check a subset of routines:" K ^UTILITY($J) X ^%ZOSF("RSEL")
  1. W ! G CONT
  1. ;
  1. SENDMAIL(SUBJECT,MAILMSG) ;
  1. D KILL^XM ; Kill any MAILMAN variables
  1. N XMSUB,XMTO,XMINSTR,XMZ
  1. I '$G(DUZ) N DUZ D DUZ^XUP(.5)
  1. S XMSUB=SUBJECT
  1. S XMTO="G.LMI"
  1. S XMINSTR("FROM")=.5 ; POSTMASTER DUZ
  1. S XMINSTR("ADDR FLAGS")="R" ; Ignore any restrictions (domain closed or protected by security key)
  1. S XMZ="" ; Initialize variable
  1. D SENDMSG^XMXAPI(DUZ,XMSUB,"MAILMSG",XMTO,.XMINSTR,.XMZ)
  1. I $G(XMZ)="" D
  1. . W !!,"SENDMSG^XMXAPI failed",!!
  1. ;
  1. K X,XMDUZ,XMSUB,XMTEXT,Y ; Cleanup
  1. Q
  1. ;
  1. ROU ;;
  1. ;BLRCLRAL;;2907975
  1. ;BLRKIDSU;;13430377
  1. ;BLRLINK;;15204460
  1. ;BLRLINK2;;6466668
  1. ;BLRLINK3;;13568292
  1. ;BLRLOINC;;6691279
  1. ;BLRMERG2;;12336879
  1. ;BLRNLINK;;19377877
  1. ;BLRNLOIN;;7713235
  1. ;BLRP24PC;;7460374
  1. ;BLRPCCVC;;2702891
  1. ;BLRUTIL;;23683533
  1. ;BLRUTIL2;;12090473
  1. ;LRAC3;;9695372
  1. ;LRAC4;;12582925
  1. ;LR7OMERG;;16507732
  1. ;LRMISEZ1;;9433587
  1. ;;;