- ACRF20EN ;IHS/OIRM/DSD/AEF - PATCH 20 ENVIRONMENT CHECK ROUTINE [ 07/25/2006 3:52 PM ]
- ;;2.1;ADMIN RESOURCE MGT SYSTEM;**20**;NOV 05, 2001
- ;
- EN ;EP -- MAIN ENTRY POINT
- ;
- ;CALL GENERIC EN^ACRFPENV(ACRPCHN,ACRPCHS,.XPDQUIT) ENVIRONMENT
- ;CHECK ROUTINE
- ;
- ; WHERE:
- ; ACRPCHN = PATCH NAME
- ; ACRPCHS = PREREQUISITE PATCH NUMBERS
- ; XPDQUIT = KIDS INSTALL TERMINATOR VARIABLE OUTPUT
- ; 1 = QUIT
- ;
- K XPDQUIT
- ;ACR*2.1*20 BEGIN NEW CODE
- K ACRAUTCK
- ;
- S ACRAUTCK="" ;USE TO PERFORM ENVIRONMENT
- ; CHECK ON THE AUT PACKAGE. COMMENT
- ; OUT IF NOT NEEDED.
- I $D(ACRAUTCK) D
- .S ACRPCHN="AUT*98.1*20"
- .S ACRPCHS="20" ;CHANGE AS NEEDED
- .D CHKAUT(ACRPCHN,ACRPCHS,.XPDQUIT)
- S ACRPCHN="ACR*2.1*20"
- S ACRPCHS="1,2,3,4,5,6,7,8,12,13,14,15,16,17,18,19" ;CHANGE AS NEEDED
- D EN^ACRFPENV(ACRPCHN,ACRPCHS,.XPDQUIT)
- ;S ACRPCHN="ACR*2.1*20"
- ;S ACRPCHS="1,2,3,4,5,6,7,8,12,13,14,15,16,17,18,19" ;CHANGE AS NEEDED
- ;ACR*2.1*20 END NEW CODE
- ;
- ;D EN^ACRFPENV(ACRPCHN,ACRPCHS,.XPDQUIT)
- ;
- ;ACR*2.1*20 END NEW CODE
- ;
- K ACRAUTCK ;ACR*2.1*20
- ;
- Q
- ;ACR*2.1*20 FROM HERE DOWN WAS ADDED TO GIVE THE ABILITY TO
- ; DO AN ENVIRONMENT CHECK ON THE AUT PACKAGE
- CHKAUT(ACRPCHN,ACRPCHS,XPDQUIT) ;EP ENVIRONMENT CHECK FOR AUT
- ;----- MAIN ENTRY POINT
- ;
- ; INPUT:
- ; ACRPCHN = PATCH NAME
- ; ACRPCHS = PREREQUISITE PATCH NUMBERS
- ;
- ; OUTPUT:
- ; XPDQUIT = KIDS INSTALL TERMINATOR VARIABLE
- ; 1 = QUIT
- ;
- K XPDQUIT
- ;
- D CHK(ACRPCHN,ACRPCHS,.XPDQUIT)
- ;
- Q
- CHK(ACRPCHN,ACRPCHS,XPDQUIT) ;EP
- ;----- DETERMINES IF PATCH VERSION MATCHES PACKAGE VERSION
- ;
- ; INPUT:
- ; ACRPCHN = PATCH NAME
- ; ACRPCHS = PREREQUISITE PATCH NUMBERS
- ;
- ; OUTPUT:
- ; XPDQUIT = KIDS INSTALL TERMINATOR VARIABLE
- ; 1 = QUIT
- ;
- N D0,D1,I,J,P,X,Y,Z
- ;
- S Y=$$VERSION^XPDUTL("IHS DICTIONARIES (POINTERS)")
- ;
- ;----- CHECK TO SEE IF AUT IS INSTALLED
- ;
- S D0=$O(^DIC(9.4,"B","IHS DICTIONARIES (POINTERS)",0))
- I 'D0 D Q
- . S XPDQUIT=1
- . D BMES^XPDUTL("Unable to find 'IHS DICTIONARIES (POINTERS)' package in the Package file.")
- ;
- S D1=$O(^DIC(9.4,D0,22,"B",Y,0))
- I 'D1 D Q
- . S XPDQUIT=1
- . S X="Unable to find 'IHS DICTIONARIES (POINTERS)' Version "_Y_" in the Package file"
- . D BMES^XPDUTL(X)
- ;
- ;----- CHECK TO SEE IF PATCH MATCHES CURRENT VERSION
- ;
- I Y'=$$VER^XPDUTL(ACRPCHN) D Q
- . S XPDQUIT=1
- . S X="This patch is for AUT version "_$$VER^XPDUTL(ACRPCHN)_" but you are running version "_Y_"."
- . D BMES^XPDUTL(X)
- ;
- ;----- CHECK FOR REQUIRED PATCHES
- ;
- Q:$G(ACRPCHS)']""
- F I=1:1:$L(ACRPCHS,",") D
- . S Z=$P(ACRPCHS,",",I)
- . I Z["-" D Q
- . . F J=$P(Z,"-"):1:$P(Z,"-",2) D
- . . . I '$D(^DIC(9.4,D0,22,D1,"PAH","B",J)) D
- . . . . S XPDQUIT=1
- . . . . D PMSG(Y,J)
- . I '$D(^DIC(9.4,D0,22,D1,"PAH","B",Z)) D
- . . S XPDQUIT=1
- . . D PMSG(Y,Z)
- Q
- PMSG(Y,P) ;
- ;----- ISSUE MISSING PATCH MESSAGE
- ;
- ; Y = VERSION NUMBER
- ; P = PATCH NUMBER
- ;
- N X
- S X="Patch AUT*"_Y_"*"_P_" is missing"
- D BMES^XPDUTL(X)
- Q
- ACRF20EN ;IHS/OIRM/DSD/AEF - PATCH 20 ENVIRONMENT CHECK ROUTINE [ 07/25/2006 3:52 PM ]
- +1 ;;2.1;ADMIN RESOURCE MGT SYSTEM;**20**;NOV 05, 2001
- +2 ;
- EN ;EP -- MAIN ENTRY POINT
- +1 ;
- +2 ;CALL GENERIC EN^ACRFPENV(ACRPCHN,ACRPCHS,.XPDQUIT) ENVIRONMENT
- +3 ;CHECK ROUTINE
- +4 ;
- +5 ; WHERE:
- +6 ; ACRPCHN = PATCH NAME
- +7 ; ACRPCHS = PREREQUISITE PATCH NUMBERS
- +8 ; XPDQUIT = KIDS INSTALL TERMINATOR VARIABLE OUTPUT
- +9 ; 1 = QUIT
- +10 ;
- +11 KILL XPDQUIT
- +12 ;ACR*2.1*20 BEGIN NEW CODE
- +13 KILL ACRAUTCK
- +14 ;
- +15 ;USE TO PERFORM ENVIRONMENT
- SET ACRAUTCK=""
- +16 ; CHECK ON THE AUT PACKAGE. COMMENT
- +17 ; OUT IF NOT NEEDED.
- +18 IF $DATA(ACRAUTCK)
- Begin DoDot:1
- +19 SET ACRPCHN="AUT*98.1*20"
- +20 ;CHANGE AS NEEDED
- SET ACRPCHS="20"
- +21 DO CHKAUT(ACRPCHN,ACRPCHS,.XPDQUIT)
- End DoDot:1
- +22 SET ACRPCHN="ACR*2.1*20"
- +23 ;CHANGE AS NEEDED
- SET ACRPCHS="1,2,3,4,5,6,7,8,12,13,14,15,16,17,18,19"
- +24 DO EN^ACRFPENV(ACRPCHN,ACRPCHS,.XPDQUIT)
- +25 ;S ACRPCHN="ACR*2.1*20"
- +26 ;S ACRPCHS="1,2,3,4,5,6,7,8,12,13,14,15,16,17,18,19" ;CHANGE AS NEEDED
- +27 ;ACR*2.1*20 END NEW CODE
- +28 ;
- +29 ;D EN^ACRFPENV(ACRPCHN,ACRPCHS,.XPDQUIT)
- +30 ;
- +31 ;ACR*2.1*20 END NEW CODE
- +32 ;
- +33 ;ACR*2.1*20
- KILL ACRAUTCK
- +34 ;
- +35 QUIT
- +36 ;ACR*2.1*20 FROM HERE DOWN WAS ADDED TO GIVE THE ABILITY TO
- +37 ; DO AN ENVIRONMENT CHECK ON THE AUT PACKAGE
- CHKAUT(ACRPCHN,ACRPCHS,XPDQUIT) ;EP ENVIRONMENT CHECK FOR AUT
- +1 ;----- MAIN ENTRY POINT
- +2 ;
- +3 ; INPUT:
- +4 ; ACRPCHN = PATCH NAME
- +5 ; ACRPCHS = PREREQUISITE PATCH NUMBERS
- +6 ;
- +7 ; OUTPUT:
- +8 ; XPDQUIT = KIDS INSTALL TERMINATOR VARIABLE
- +9 ; 1 = QUIT
- +10 ;
- +11 KILL XPDQUIT
- +12 ;
- +13 DO CHK(ACRPCHN,ACRPCHS,.XPDQUIT)
- +14 ;
- +15 QUIT
- CHK(ACRPCHN,ACRPCHS,XPDQUIT) ;EP
- +1 ;----- DETERMINES IF PATCH VERSION MATCHES PACKAGE VERSION
- +2 ;
- +3 ; INPUT:
- +4 ; ACRPCHN = PATCH NAME
- +5 ; ACRPCHS = PREREQUISITE PATCH NUMBERS
- +6 ;
- +7 ; OUTPUT:
- +8 ; XPDQUIT = KIDS INSTALL TERMINATOR VARIABLE
- +9 ; 1 = QUIT
- +10 ;
- +11 NEW D0,D1,I,J,P,X,Y,Z
- +12 ;
- +13 SET Y=$$VERSION^XPDUTL("IHS DICTIONARIES (POINTERS)")
- +14 ;
- +15 ;----- CHECK TO SEE IF AUT IS INSTALLED
- +16 ;
- +17 SET D0=$ORDER(^DIC(9.4,"B","IHS DICTIONARIES (POINTERS)",0))
- +18 IF 'D0
- Begin DoDot:1
- +19 SET XPDQUIT=1
- +20 DO BMES^XPDUTL("Unable to find 'IHS DICTIONARIES (POINTERS)' package in the Package file.")
- End DoDot:1
- QUIT
- +21 ;
- +22 SET D1=$ORDER(^DIC(9.4,D0,22,"B",Y,0))
- +23 IF 'D1
- Begin DoDot:1
- +24 SET XPDQUIT=1
- +25 SET X="Unable to find 'IHS DICTIONARIES (POINTERS)' Version "_Y_" in the Package file"
- +26 DO BMES^XPDUTL(X)
- End DoDot:1
- QUIT
- +27 ;
- +28 ;----- CHECK TO SEE IF PATCH MATCHES CURRENT VERSION
- +29 ;
- +30 IF Y'=$$VER^XPDUTL(ACRPCHN)
- Begin DoDot:1
- +31 SET XPDQUIT=1
- +32 SET X="This patch is for AUT version "_$$VER^XPDUTL(ACRPCHN)_" but you are running version "_Y_"."
- +33 DO BMES^XPDUTL(X)
- End DoDot:1
- QUIT
- +34 ;
- +35 ;----- CHECK FOR REQUIRED PATCHES
- +36 ;
- +37 IF $GET(ACRPCHS)']""
- QUIT
- +38 FOR I=1:1:$LENGTH(ACRPCHS,",")
- Begin DoDot:1
- +39 SET Z=$PIECE(ACRPCHS,",",I)
- +40 IF Z["-"
- Begin DoDot:2
- +41 FOR J=$PIECE(Z,"-"):1:$PIECE(Z,"-",2)
- Begin DoDot:3
- +42 IF '$DATA(^DIC(9.4,D0,22,D1,"PAH","B",J))
- Begin DoDot:4
- +43 SET XPDQUIT=1
- +44 DO PMSG(Y,J)
- End DoDot:4
- End DoDot:3
- End DoDot:2
- QUIT
- +45 IF '$DATA(^DIC(9.4,D0,22,D1,"PAH","B",Z))
- Begin DoDot:2
- +46 SET XPDQUIT=1
- +47 DO PMSG(Y,Z)
- End DoDot:2
- End DoDot:1
- +48 QUIT
- PMSG(Y,P) ;
- +1 ;----- ISSUE MISSING PATCH MESSAGE
- +2 ;
- +3 ; Y = VERSION NUMBER
- +4 ; P = PATCH NUMBER
- +5 ;
- +6 NEW X
- +7 SET X="Patch AUT*"_Y_"*"_P_" is missing"
- +8 DO BMES^XPDUTL(X)
- +9 QUIT