- BSDX2E ;IHS/OIT/MJL - ENVIRONMENT CHECK FOR WINDOWS SCHEDULING [ 08/22/2007 12:17 PM ]
- ;;2.0;IHS WINDOWS SCHEDULING;;NOV 01, 2007
- ;
- S LINE="",$P(LINE,"*",81)=""
- S XPDNOQUE="NO QUE" ;NO QUEUING ALLOWED
- S XPDABORT=0
- I '$G(DUZ) D SORRY("DUZ UNDEFINED OR 0") Q
- ;
- I '$L($G(DUZ(0))) D SORRY("DUZ(0) UNDEFINED OR NULL") Q
- ;
- D HOME^%ZIS,DT^DICRW
- S X=$P($G(^VA(200,DUZ,0)),U)
- I $G(X)="" W !,$$C^XBFUNC("Who are you????") D SORRY("Unknown User") Q
- ;
- VERSION ;
- W !,$$C^XBFUNC("Hello, "_$P(X,",",2)_" "_$P(X,","))
- W !!,$$C^XBFUNC("Checking Environment for Install of Version "_$P($T(+2),";",3)_" of "_$P($T(+2),";",4)_".")
- ;
- Q:'$$VERCHK("VA FILEMAN",22)
- Q:'$$VERCHK("KERNEL",8)
- ;Is the PIMS requirement present?
- Q:'$$VERCHK("PIMS",5.3)
- Q:'$$PATCHCK("PIMS*5.3*1003") D
- Q:'$$VERCHK("BMX",2.0)
- ;
- OTHER ;
- ;Other checks
- ;
- ENVOK ; If this is just an environ check, end here.
- W !!,$$C^XBFUNC("ENVIRONMENT OK.")
- ;
- ; The following line prevents the "Disable Options..." and "Move
- ; Routines..." questions from being asked during the install.
- I $G(XPDENV)=1 S (XPDDIQ("XPZ1"),XPDDIQ("XPZ2"))=0
- ;
- ;
- ;VERIFY BACKUPS HAVE BEEN DONE
- ;W !!
- ;S DIR(0)="Y"
- ;S DIR("B")="NO"
- ;S DIR("A")="Has a SUCCESSFUL system backup been performed??"
- ;D ^DIR
- ;I $D(DIRUT)!($G(Y)=0) S XPDABORT=1 S XPX="BACKUP" D SORRY Q
- ;S ^TMP("BPCPRE",$J,"BACKUPS CONFIRMED BY "_DUZ)=$H
- ;
- Q
- ;
- VERCHK(XPXPKG,XVRMIN) ;
- S X=$$VERSION^XPDUTL(XPXPKG)
- W !!,$$C^XBFUNC("Need at least "_XPXPKG_" "_XVRMIN_"....."_XPXPKG_" "_$S(X'="":X,1:"Is Not")_" Present")
- I X<XVRMIN D SORRY(XPXPKG_" "_XVRMIN_" Is Not Installed") Q 0
- Q 1
- ;
- PATCHCK(XPXPCH) ;
- S X=$$PATCH^XPDUTL(XPXPCH)
- W !!,$$C^XBFUNC("Need "_XPXPCH_"....."_XPXPCH_" "_$S(X:"Is",1:"Is Not")_" Present")
- Q X
- ;
- V0200 ;EP Version 2.0 PostInit
- ;Add Protocol items to BSDAM APPOINTMENT EVENTS protocol
- ;
- N BSDXDA,BSDXFDA,BSDXDA1,BSDXSEQ,BSDXDAT,BSDXNOD,BSDXIEN,BSDXMSG
- S BSDXDA=$O(^ORD(101,"B","BSDAM APPOINTMENT EVENTS",0))
- Q:'+BSDXDA
- S BSDXDAT="BSDX ADD APPOINTMENT;10.2^BSDX CANCEL APPOINTMENT;10.4^BSDX CHECKIN APPOINTMENT;10.6^BSDX NOSHOW APPOINTMENT;10.8"
- F J=1:1:$L(BSDXDAT,U) D
- . K BSDXIEN,BSDXMSG,BSDXFDA
- . S BSDXNOD=$P(BSDXDAT,U,J)
- . S BSDXDA1=$P(BSDXNOD,";")
- . S BSDXSEQ=$P(BSDXNOD,";",2)
- . S BSDXDA1=$O(^ORD(101,"B",BSDXDA1,0))
- . Q:'+BSDXDA1
- . Q:$D(^ORD(101,BSDXDA,10,"B",BSDXDA1))
- . S BSDXFDA(101.01,"+1,"_BSDXDA_",",".01")=BSDXDA1
- . S BSDXFDA(101.01,"+1,"_BSDXDA_",","3")=BSDXSEQ
- . D UPDATE^DIE("","BSDXFDA","BSDXIEN","BSDXMSG")
- . Q
- Q
- ;
- SORRY(XPX) ;
- K DIFQ
- S XPDABORT=1,XPDBLD=$O(^XTMP("XPDI",XPDA,"BLD",0))
- W !,$$C^XBFUNC($P(^XTMP("XPDI",XPDST,"BLD",XPDBLD,0),U,1)_" "_$P(^XTMP("XPDI",XPDST,"BLD",XPDBLD,0),U,2)_" Cannot Be Installed!")
- W !,$$C^XBFUNC("Reason: "_XPX_".")
- W *7,!!!,$$C^XBFUNC("Sorry....something is wrong with your environment")
- W !,$$C^XBFUNC("Aborting "_XPDNM_" install!")
- W !,$$C^XBFUNC("Correct error and reinstall otherwise")
- W !,$$C^XBFUNC("please print/capture this screen and notify")
- W !,$$C^XBFUNC("the Help Desk")
- W !!,LINE
- D BMES^XPDUTL("Sorry....something is wrong with your environment")
- D BMES^XPDUTL("Enviroment ERROR "_$G(XPX))
- D BMES^XPDUTL("Aborting "_XPDNM_" install!")
- D BMES^XPDUTL("Correct error and reinstall otherwise")
- D BMES^XPDUTL("please print/capture this screen and notify")
- D BMES^XPDUTL("the Help Desk")
- Q
- ;
- BSDX2E ;IHS/OIT/MJL - ENVIRONMENT CHECK FOR WINDOWS SCHEDULING [ 08/22/2007 12:17 PM ]
- +1 ;;2.0;IHS WINDOWS SCHEDULING;;NOV 01, 2007
- +2 ;
- +3 SET LINE=""
- SET $PIECE(LINE,"*",81)=""
- +4 ;NO QUEUING ALLOWED
- SET XPDNOQUE="NO QUE"
- +5 SET XPDABORT=0
- +6 IF '$GET(DUZ)
- DO SORRY("DUZ UNDEFINED OR 0")
- QUIT
- +7 ;
- +8 IF '$LENGTH($GET(DUZ(0)))
- DO SORRY("DUZ(0) UNDEFINED OR NULL")
- QUIT
- +9 ;
- +10 DO HOME^%ZIS
- DO DT^DICRW
- +11 SET X=$PIECE($GET(^VA(200,DUZ,0)),U)
- +12 IF $GET(X)=""
- WRITE !,$$C^XBFUNC("Who are you????")
- DO SORRY("Unknown User")
- QUIT
- +13 ;
- VERSION ;
- +1 WRITE !,$$C^XBFUNC("Hello, "_$PIECE(X,",",2)_" "_$PIECE(X,","))
- +2 WRITE !!,$$C^XBFUNC("Checking Environment for Install of Version "_$PIECE($TEXT(+2),";",3)_" of "_$PIECE($TEXT(+2),";",4)_".")
- +3 ;
- +4 IF '$$VERCHK("VA FILEMAN",22)
- QUIT
- +5 IF '$$VERCHK("KERNEL",8)
- QUIT
- +6 ;Is the PIMS requirement present?
- +7 IF '$$VERCHK("PIMS",5.3)
- QUIT
- +8 IF '$$PATCHCK("PIMS*5.3*1003")
- QUIT D
- +9 IF '$$VERCHK("BMX",2.0)
- QUIT
- +10 ;
- OTHER ;
- +1 ;Other checks
- +2 ;
- ENVOK ; If this is just an environ check, end here.
- +1 WRITE !!,$$C^XBFUNC("ENVIRONMENT OK.")
- +2 ;
- +3 ; The following line prevents the "Disable Options..." and "Move
- +4 ; Routines..." questions from being asked during the install.
- +5 IF $GET(XPDENV)=1
- SET (XPDDIQ("XPZ1"),XPDDIQ("XPZ2"))=0
- +6 ;
- +7 ;
- +8 ;VERIFY BACKUPS HAVE BEEN DONE
- +9 ;W !!
- +10 ;S DIR(0)="Y"
- +11 ;S DIR("B")="NO"
- +12 ;S DIR("A")="Has a SUCCESSFUL system backup been performed??"
- +13 ;D ^DIR
- +14 ;I $D(DIRUT)!($G(Y)=0) S XPDABORT=1 S XPX="BACKUP" D SORRY Q
- +15 ;S ^TMP("BPCPRE",$J,"BACKUPS CONFIRMED BY "_DUZ)=$H
- +16 ;
- +17 QUIT
- +18 ;
- VERCHK(XPXPKG,XVRMIN) ;
- +1 SET X=$$VERSION^XPDUTL(XPXPKG)
- +2 WRITE !!,$$C^XBFUNC("Need at least "_XPXPKG_" "_XVRMIN_"....."_XPXPKG_" "_$SELECT(X'="":X,1:"Is Not")_" Present")
- +3 IF X<XVRMIN
- DO SORRY(XPXPKG_" "_XVRMIN_" Is Not Installed")
- QUIT 0
- +4 QUIT 1
- +5 ;
- PATCHCK(XPXPCH) ;
- +1 SET X=$$PATCH^XPDUTL(XPXPCH)
- +2 WRITE !!,$$C^XBFUNC("Need "_XPXPCH_"....."_XPXPCH_" "_$SELECT(X:"Is",1:"Is Not")_" Present")
- +3 QUIT X
- +4 ;
- V0200 ;EP Version 2.0 PostInit
- +1 ;Add Protocol items to BSDAM APPOINTMENT EVENTS protocol
- +2 ;
- +3 NEW BSDXDA,BSDXFDA,BSDXDA1,BSDXSEQ,BSDXDAT,BSDXNOD,BSDXIEN,BSDXMSG
- +4 SET BSDXDA=$ORDER(^ORD(101,"B","BSDAM APPOINTMENT EVENTS",0))
- +5 IF '+BSDXDA
- QUIT
- +6 SET BSDXDAT="BSDX ADD APPOINTMENT;10.2^BSDX CANCEL APPOINTMENT;10.4^BSDX CHECKIN APPOINTMENT;10.6^BSDX NOSHOW APPOINTMENT;10.8"
- +7 FOR J=1:1:$LENGTH(BSDXDAT,U)
- Begin DoDot:1
- +8 KILL BSDXIEN,BSDXMSG,BSDXFDA
- +9 SET BSDXNOD=$PIECE(BSDXDAT,U,J)
- +10 SET BSDXDA1=$PIECE(BSDXNOD,";")
- +11 SET BSDXSEQ=$PIECE(BSDXNOD,";",2)
- +12 SET BSDXDA1=$ORDER(^ORD(101,"B",BSDXDA1,0))
- +13 IF '+BSDXDA1
- QUIT
- +14 IF $DATA(^ORD(101,BSDXDA,10,"B",BSDXDA1))
- QUIT
- +15 SET BSDXFDA(101.01,"+1,"_BSDXDA_",",".01")=BSDXDA1
- +16 SET BSDXFDA(101.01,"+1,"_BSDXDA_",","3")=BSDXSEQ
- +17 DO UPDATE^DIE("","BSDXFDA","BSDXIEN","BSDXMSG")
- +18 QUIT
- End DoDot:1
- +19 QUIT
- +20 ;
- SORRY(XPX) ;
- +1 KILL DIFQ
- +2 SET XPDABORT=1
- SET XPDBLD=$ORDER(^XTMP("XPDI",XPDA,"BLD",0))
- +3 WRITE !,$$C^XBFUNC($PIECE(^XTMP("XPDI",XPDST,"BLD",XPDBLD,0),U,1)_" "_$PIECE(^XTMP("XPDI",XPDST,"BLD",XPDBLD,0),U,2)_" Cannot Be Installed!")
- +4 WRITE !,$$C^XBFUNC("Reason: "_XPX_".")
- +5 WRITE *7,!!!,$$C^XBFUNC("Sorry....something is wrong with your environment")
- +6 WRITE !,$$C^XBFUNC("Aborting "_XPDNM_" install!")
- +7 WRITE !,$$C^XBFUNC("Correct error and reinstall otherwise")
- +8 WRITE !,$$C^XBFUNC("please print/capture this screen and notify")
- +9 WRITE !,$$C^XBFUNC("the Help Desk")
- +10 WRITE !!,LINE
- +11 DO BMES^XPDUTL("Sorry....something is wrong with your environment")
- +12 DO BMES^XPDUTL("Enviroment ERROR "_$GET(XPX))
- +13 DO BMES^XPDUTL("Aborting "_XPDNM_" install!")
- +14 DO BMES^XPDUTL("Correct error and reinstall otherwise")
- +15 DO BMES^XPDUTL("please print/capture this screen and notify")
- +16 DO BMES^XPDUTL("the Help Desk")
- +17 QUIT
- +18 ;