ATX51P16 ; IHS/CMI/LAB - PCC Suite v5.1 patch 16 environment check ; 02 Nov 2015 2:41 PM
;;5.1;TAXONOMY;**16**;FEB 04, 1997;Build 26
;
;
; 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
F X="XPO1","XPZ1","XPZ2","XPI1" S XPDDIQ(X)=0
I '$$INSTALLD("ATX*5.1*15") D SORRY(2)
I +$$VERSION^XPDUTL("AICD")<4 D MES^XPDUTL($$CJ^XLFSTR("Version 4.0 of AICD is required. Not installed",80)) D SORRY(2) I 1
E D MES^XPDUTL($$CJ^XLFSTR("Requires AICD V4.0....Present.",80))
;
Q
;
PRE ;
Q
POST ;
S ATXDA=0
F S ATXDA=$O(^ATXAX(ATXDA)) Q:ATXDA'=+ATXDA D
.Q:'$D(^ATXAX(ATXDA,0))
.Q:$P(^ATXAX(ATXDA,0),U,13)]"" ;already has value
.S F=$P(^ATXAX(ATXDA,0),U,15)
.I F'=80,F'=81,F'=80.1,F'=95.3,F'=50.67 Q
.;W !,ATXDA," ",F," ",$P(^ATXAX(ATXDA,0),U,1)
.S DA=ATXDA,DIE="^ATXAX(",DR=".13///1" D ^DIE K DIE,DA,DR
D ^ATXF5
D SETTAXRN^ATX6ENV
Q
INSTALLD(ATXSTAL) ;EP - Determine if patch ATXSTAL was installed, where
; ATXSTAL is the name of the INSTALL. E.g "AG*6.0*11".
;
NEW ATXY,DIC,X,Y
S X=$P(ATXSTAL,"*",1)
S DIC="^DIC(9.4,",DIC(0)="FM",D="C"
D IX^DIC
I Y<1 D IMES Q 0
S DIC=DIC_+Y_",22,",X=$P(ATXSTAL,"*",2)
D ^DIC
I Y<1 D IMES Q 0
S DIC=DIC_+Y_",""PAH"",",X=$P(ATXSTAL,"*",3)
D ^DIC
S ATXY=Y
D IMES
Q $S(ATXY<1:0,1:1)
IMES ;
D MES^XPDUTL($$CJ^XLFSTR("Patch """_ATXSTAL_""" is"_$S(Y<1:" *NOT*",1:"")_" installed.",IOM))
Q
SORRY(X) ;
KILL DIFQ
I X=3 S XPDQUIT=2 Q
S XPDQUIT=X
W *7,!,$$CJ^XLFSTR("Sorry....FIX IT!",IOM)
Q
ATX51P16 ; IHS/CMI/LAB - PCC Suite v5.1 patch 16 environment check ; 02 Nov 2015 2:41 PM
+1 ;;5.1;TAXONOMY;**16**;FEB 04, 1997;Build 26
+2 ;
+3 ;
+4 ; The following line prevents the "Disable Options..." and "Move
+5 ; Routines..." questions from being asked during the install.
+6 IF $GET(XPDENV)=1
SET (XPDDIQ("XPZ1"),XPDDIQ("XPZ2"))=0
+7 FOR X="XPO1","XPZ1","XPZ2","XPI1"
SET XPDDIQ(X)=0
+8 IF '$$INSTALLD("ATX*5.1*15")
DO SORRY(2)
+9 IF +$$VERSION^XPDUTL("AICD")<4
DO MES^XPDUTL($$CJ^XLFSTR("Version 4.0 of AICD is required. Not installed",80))
DO SORRY(2)
IF 1
+10 IF '$TEST
DO MES^XPDUTL($$CJ^XLFSTR("Requires AICD V4.0....Present.",80))
+11 ;
+12 QUIT
+13 ;
PRE ;
+1 QUIT
POST ;
+1 SET ATXDA=0
+2 FOR
SET ATXDA=$ORDER(^ATXAX(ATXDA))
IF ATXDA'=+ATXDA
QUIT
Begin DoDot:1
+3 IF '$DATA(^ATXAX(ATXDA,0))
QUIT
+4 ;already has value
IF $PIECE(^ATXAX(ATXDA,0),U,13)]""
QUIT
+5 SET F=$PIECE(^ATXAX(ATXDA,0),U,15)
+6 IF F'=80
IF F'=81
IF F'=80.1
IF F'=95.3
IF F'=50.67
QUIT
+7 ;W !,ATXDA," ",F," ",$P(^ATXAX(ATXDA,0),U,1)
+8 SET DA=ATXDA
SET DIE="^ATXAX("
SET DR=".13///1"
DO ^DIE
KILL DIE,DA,DR
End DoDot:1
+9 DO ^ATXF5
+10 DO SETTAXRN^ATX6ENV
+11 QUIT
INSTALLD(ATXSTAL) ;EP - Determine if patch ATXSTAL was installed, where
+1 ; ATXSTAL is the name of the INSTALL. E.g "AG*6.0*11".
+2 ;
+3 NEW ATXY,DIC,X,Y
+4 SET X=$PIECE(ATXSTAL,"*",1)
+5 SET DIC="^DIC(9.4,"
SET DIC(0)="FM"
SET D="C"
+6 DO IX^DIC
+7 IF Y<1
DO IMES
QUIT 0
+8 SET DIC=DIC_+Y_",22,"
SET X=$PIECE(ATXSTAL,"*",2)
+9 DO ^DIC
+10 IF Y<1
DO IMES
QUIT 0
+11 SET DIC=DIC_+Y_",""PAH"","
SET X=$PIECE(ATXSTAL,"*",3)
+12 DO ^DIC
+13 SET ATXY=Y
+14 DO IMES
+15 QUIT $SELECT(ATXY<1:0,1:1)
IMES ;
+1 DO MES^XPDUTL($$CJ^XLFSTR("Patch """_ATXSTAL_""" is"_$SELECT(Y<1:" *NOT*",1:"")_" installed.",IOM))
+2 QUIT
SORRY(X) ;
+1 KILL DIFQ
+2 IF X=3
SET XPDQUIT=2
QUIT
+3 SET XPDQUIT=X
+4 WRITE *7,!,$$CJ^XLFSTR("Sorry....FIX IT!",IOM)
+5 QUIT