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

BLRPRE32.m

Go to the documentation of this file.
  1. BLRPRE32 ; IHS/OIT/MKK - IHS Lab Patch 1032 Pre/Post/Environment Routine ; [ February 29, 2012 8:00 AM ]
  1. ;;5.2;IHS LABORATORY;**1032**;NOV 01, 1997
  1. ;
  1. PRE ; EP
  1. NEW CP,PREREQ,RPMS,RPMSVER,QFLG,ROWSTARS,STR
  1. NEW ERRARRAY ; Errors array
  1. ;
  1. D BMES^XPDUTL("Beginning of Pre Check.")
  1. ;
  1. I $G(XPDNM)="" D Q
  1. . S CP=$TR($P($T(+2),";",5),"*")
  1. . D SORRY^BLRPRE31(CP,"XPDNM not defined or 0.")
  1. ;
  1. S CP=$P(XPDNM,"*",3) ; Patch Number
  1. S RPMS=$P(XPDNM,"*",1) ; RPMS Module
  1. S RPMSVER=$P(XPDNM,"*",2) ; RPMS Version
  1. ;
  1. S ROWSTARS=$TR($J("",65)," ","*") ; Row of asterisks
  1. ;
  1. USERID ; EP - CHECK FOR USER ID
  1. I +$G(DUZ)<1 D SORRY^BLRPRE31(CP,"DUZ UNDEFINED OR 0.") Q
  1. ;
  1. I $P($G(^VA(200,DUZ,0)),U)="" D SORRY^BLRPRE31(CP,"Installer cannot be identified!") Q
  1. ;
  1. GETREADY ; EP
  1. S XPDNOQUE=1 ; No Queuing Allowed
  1. ;
  1. ; The following line prevents the "Disable Options..." and "Move
  1. ; Routines..." questions from being asked during the install.
  1. F X="XPO1","XPZ1","XPZ2","XPI1" S XPDDIQ(X)=0,XPDDIQ(X,"B")="NO"
  1. ;
  1. S XPDABORT=0 ; KIDS install Flag
  1. ;
  1. D HOME^%ZIS ; Reset/Initialize IO variables
  1. D DTNOLF^DICRW ; Set DT variable without a Line Feed
  1. ;
  1. ENVICHEK ; Environment Checker
  1. D ENVHEADR(CP,RPMSVER,RPMS)
  1. ;
  1. D NEEDIT^BLRPRE31(CP,"LR","5.2",1031,.ERRARRAY) ; Lab Pre-Requisites
  1. ;
  1. D MES^XPDUTL("")
  1. ;
  1. I XPDABORT>0 D SORRYEND^BLRPRE31(.ERRARRAY,CP) Q ; ENVIRONMENT HAS ERROR(S)
  1. ;
  1. D BOKAY^BLRPRE31("ENVIRONMENT")
  1. ;
  1. Q
  1. ;
  1. ENVHEADR(CP,RPMSVER,RPMS) ; EP -- Environment Header
  1. NEW FULLNAME,LINE1,LINE2,STARS,TIMESTR
  1. S STARS=$TR($J("",IOM)," ","*")
  1. ;
  1. S LINE1="@Checking@Environment@for@Patch@"_CP_"@of@"
  1. S LINE2=$TR($$CJ^XLFSTR("@Version@"_RPMSVER_"@of@the@"_$TR("Laboratory Service Package"," ","@")_"@",$L(LINE1))," ","@")
  1. S LINE1=$TR($$CJ^XLFSTR(LINE1,$L(LINE2))," ","@") ; Make LINE1 same width as LINE2.
  1. ;
  1. S TIMESTR=$TR($$CJ^XLFSTR("at "_$$UP^XLFSTR($$HTE^XLFDT($H,"5MPZ")),$L(LINE2))," ","@")
  1. ;
  1. D ^XBCLS
  1. W STARS,!
  1. W $TR($$CJ^XLFSTR(LINE1,IOM)," @","* "),!
  1. W $TR($$CJ^XLFSTR(LINE2,IOM)," @","* "),!
  1. W $TR($$CJ^XLFSTR(TIMESTR,IOM)," @","* "),!
  1. W STARS,!
  1. Q
  1. ;
  1. POST ; EP -- POST INSTALL
  1. NEW CP,POSTMSG,STR
  1. ;
  1. S CP=$P($T(+2),"*",3) ; Current Patch
  1. S POSTMSG="Laboratory Patch "_CP_" INSTALL completed."
  1. ;
  1. ; Store # of times installation occurred as well as person & date/time
  1. D ENDINSTL^BLRPRE31(CP)
  1. ;
  1. D BMES^XPDUTL("Laboratory Patch "_CP_" INSTALL complete.")
  1. ;
  1. S STR(1)=" "
  1. S STR(2)=$J("",10)_"POST INSTALL of BLRPRE32 Routine."
  1. S STR(3)=" "
  1. S STR(4)=$J("",15)_POSTMSG
  1. S STR(5)=" "
  1. ;
  1. D MAILALMI^BLRUTIL3(POSTMSG,.STR,"IHS Lab Patch 1032")
  1. ;
  1. Q
  1. ;
  1. DEBUG ; EP - Debugging Line Label for environment checker
  1. NEW CP,DEBUG,RPMS,RPMSVER,QFLG,STR
  1. W !!
  1. W "Debug BLRPRE32.",!!
  1. ;
  1. ; Note -- DEBUG is a negative flag:
  1. ; YES="Don't Send Alerts"; NO="Send Alerts"
  1. S DEBUG="YES"
  1. D ^XBFMK
  1. S DIR(0)="YO"
  1. S DIR("B")="NO"
  1. S DIR("A")="Send Alerts/E-Mails"
  1. D ^DIR
  1. S:+$G(Y)=1 DEBUG="NO"
  1. ;
  1. W !
  1. S XPDNM="LR*5.2*1032"
  1. S XPDENV=0
  1. ;
  1. D PRESSKEY^BLRGMENU(4)
  1. ;
  1. D PRE
  1. W !!!
  1. ;
  1. D ^XBFMK
  1. S DIR(0)="YO"
  1. S DIR("B")="NO"
  1. S DIR("A")="Test Post Install Code"
  1. D ^DIR
  1. ;
  1. D:+$G(Y)=1 POST
  1. W !!!
  1. ;
  1. Q
  1. ;
  1. BCKUPRPT ; EP - Report on the BLRINSTL global
  1. NEW CNT,HD1,HEADER,LINES,MAXLINES,PG,QFLG
  1. NEW BACKUP,BCKUPDT,BCKUPWHO,HOWMANY,INSTLDT,INSTLWHO,PATCH
  1. ;
  1. S HEADER(1)="^BLRINSTL Global Report"
  1. S HEADER(2)="Lab Package Installation"
  1. S HEADER(3)=" "
  1. S $E(HEADER(4),4)="Patch"
  1. S $E(HEADER(4),11)="#"
  1. S $E(HEADER(4),15)="Who Installed"
  1. S $E(HEADER(4),45)="Install Date/Time"
  1. S MAXLINES=20,LINES=MAXLINES+10,PG=0,(HD1,QFLG)="NO"
  1. ;
  1. S PATCH=1018
  1. F S PATCH=$O(^BLRINSTL("LAB PATCH",PATCH)) Q:PATCH<1!(QFLG="Q") D
  1. . S HOWMANY=0
  1. . F S HOWMANY=$O(^BLRINSTL("LAB PATCH",PATCH,"INSTALLED BY",HOWMANY)) Q:HOWMANY<1!(QFLG="Q") D
  1. .. I LINES>MAXLINES D HEADERPG^BLRGMENU(.PG,QFLG,HD1) Q:QFLG="Q"
  1. .. ;
  1. .. S INSTLWHO=$G(^BLRINSTL("LAB PATCH",PATCH,"INSTALLED BY",HOWMANY))
  1. .. S:INSTLWHO["^" INSTLWHO=$P(INSTLWHO,"^",2)
  1. .. S INSTLDT=$G(^BLRINSTL("LAB PATCH",PATCH,"INSTALLED BY",HOWMANY,"DATE/TIME"))
  1. .. ;
  1. .. W ?4,PATCH
  1. .. W ?9,$J(HOWMANY,2)
  1. .. W ?14,INSTLWHO
  1. .. W ?44,INSTLDT
  1. .. W !
  1. .. S LINES=LINES+1
  1. ;
  1. D ^XBFMK
  1. S DIR(0)="YO"
  1. S DIR("A")="BACKUP LISTING"
  1. S DIR("B")="YES"
  1. D ^DIR
  1. I +$G(Y)'=1 D Q
  1. . W !,?4,"No BACKUP report requested from ^BLRINSTL global. Routine Ends.",!
  1. . D PRESSKEY^BLRGMENU(9)
  1. ;
  1. S MAXLINES=20,LINES=MAXLINES+10,PG=0,(HD1,QFLG)="NO"
  1. ;
  1. K HEADER(2)
  1. S HEADER(2)="Backup Confirmation"
  1. ;
  1. K HEADER(4)
  1. S $E(HEADER(4),4)="Patch"
  1. S $E(HEADER(4),11)="#"
  1. S $E(HEADER(4),15)="Who Confirmed"
  1. S $E(HEADER(4),45)="When Confirmed"
  1. ;
  1. S PATCH=1018
  1. F S PATCH=$O(^BLRINSTL("LAB PATCH",PATCH)) Q:PATCH<1!(QFLG="Q") D
  1. . S HOWMANY=0
  1. . F S HOWMANY=$O(^BLRINSTL("LAB PATCH",PATCH,"BACKUP CONFIRMED BY",HOWMANY)) Q:HOWMANY<1!(QFLG="Q") D
  1. .. I LINES>MAXLINES D HEADERPG^BLRGMENU(.PG,QFLG,HD1) Q:QFLG="Q"
  1. .. ;
  1. .. S INSTLWHO=$G(^BLRINSTL("LAB PATCH",PATCH,"BACKUP CONFIRMED BY",HOWMANY))
  1. .. S:INSTLWHO["^" INSTLWHO=$P(INSTLWHO,"^",2)
  1. .. S INSTLDT=$G(^BLRINSTL("LAB PATCH",PATCH,"BACKUP CONFIRMED BY",HOWMANY,"DATE/TIME"))
  1. .. ;
  1. .. W ?4,PATCH
  1. .. W ?9,$J(HOWMANY,2)
  1. .. W ?14,INSTLWHO
  1. .. W ?44,INSTLDT
  1. .. W !
  1. .. S LINES=LINES+1
  1. Q