LEX2I04E ;IHS/OIT/FCJ - LEX*2.0*1004 Env Check FOR IHS patch 1003 ;07/01/2011
;;2.0;LEXICON UTILITY;**1004**;Sep 23, 1996;Build 5
;ORIGINAL ROUTINE FROM LEX2I02E
;
;
ENV ;
I '$G(IOM) D HOME^%ZIS
I '$G(DUZ) W !,"DUZ UNDEFINED OR 0." D SORRY(2) Q
I '$L($G(DUZ(0))) W !,"DUZ(0) UNDEFINED OR NULL." D SORRY(2) Q
I '(DUZ(0)["@") W:'$D(ZTQUEUED) !,"DUZ(0) DOES NOT CONTAIN AN '@'." D SORRY(2) Q
;
S X=$$GET1^DIQ(200,DUZ,.01)
W !!,$$CJ^XLFSTR("Hello, "_$P(X,",",2)_" "_$P(X,","),IOM)
W !!,$$CJ^XLFSTR("Checking Environment for "_$P($T(+2),";",4)_" V "_$P($T(+2),";",3)_" Patch "_$P($T(+2),";",5)_".",IOM)
;
NEW IORVON,IORVOFF
S X="IORVON;IORVOFF"
D ENDR^%ZISS
CHK ;
I '$$INSTALLD("ICPT*6.0*1003") S XPDQUIT=2
I '$$INSTALLD("ICD*18.0*1003") S XPDQUIT=2
I '$$INSTALLD("LEX*2.0*1003") S XPDQUIT=2
I $$VCHK("DI","22.0",2,"<")
I $$VCHK("XU","8.0",2,"<")
;
NEW DA,DIC
S X="LEX",DIC="^DIC(9.4,",DIC(0)="",D="C"
D IX^DIC
I Y<0,$D(^DIC(9.4,"C","LEX")) D
.W !!,*7,*7,$$CJ^XLFSTR("You Have More Than One Entry In The",IOM),!,$$CJ^XLFSTR("PACKAGE File with an ""LEX"" prefix.",IOM)
.W !,$$CJ^XLFSTR(IORVON_"One entry needs to be deleted."_IORVOFF,IOM)
.D SORRY(2)
;
I $G(XPDQUIT) W !,$$CJ^XLFSTR(IORVON_"You must FIX IT, Before Proceeding."_IORVOFF,IOM),!!,*7,*7,*7 Q
W !!,$$CJ^XLFSTR("ENVIRONMENT OK.",IOM)
D HELP^XBHELP("INTROE","LEX2I04E")
I '$$DIR^XBDIR("E","","","","","",1) D SORRY(2) Q
I $G(XPDENV)=1 S (XPDDIQ("XPZ1"),XPDDIQ("XPZ2"))=0 D HELP^XBHELP("INTROI","LEX2I04E") I '$$DIR^XBDIR("E","","","","","",1) D SORRY(2)
Q
;
SORRY(X) ;
KILL DIFQ
S XPDQUIT=X
W *7,!,$$CJ^XLFSTR("Sorry....FIX IT!",IOM)
Q
;
VCHK(LEXPRE,LEXVER,LEXQUIT,LEXCOMP) ; Check versions needed.
;
NEW LEXV
S LEXV=$$VERSION^XPDUTL(LEXPRE)
W !,$$CJ^XLFSTR("Need "_$S(LEXCOMP="<":"at least ",1:"")_LEXPRE_" v "_LEXVER_"....."_LEXPRE_" v "_LEXV_" Present",IOM)
I @(LEXV_LEXCOMP_LEXVER) D SORRY(LEXQUIT) Q 0
Q 1
INSTALLD(LEX) ;EP; Determine if patch was installed, where LEX is
; the name of the INSTALL. E.g "AVA*93.2*12".
;
NEW DIC,X,Y
; lookup package.
S X=$P(LEX,"*",1)
S DIC="^DIC(9.4,",DIC(0)="FM",D="C"
D IX^DIC
I Y<1 Q 0
; lookup version.
S DIC=DIC_+Y_",22,",X=$P(LEX,"*",2)
D ^DIC
I Y<1 Q 0
; lookup patch.
S DIC=DIC_+Y_",""PAH"",",X=$P(LEX,"*",3)
D ^DIC
I Y<1 S P=DIC_"""B"","_X_")" I $O(@P)'="" S Y=1
I Y>0 W !,$$CJ^XLFSTR("Need at least "_LEX_"....."_LEX_" Present",IOM)
I Y<0 W !,$$CJ^XLFSTR("Need at least "_LEX_".....",IOM)
Q $S(Y<1:0,1:1)
; -------------------------------------------
INTROE ; Intro text during KIDS Environment check.
;; Distribution contains VA Lexicon Data only for patches 86-87
;; 95-102, 104-105, and 107-108.
;;
;;
;;###
;
INTROI ; Intro text during KIDS Install.
;;A standard message will be produced by this update.
;;
;;If you run interactively, results are displayed on your screen,
;;in the mail message and in the INSTALL file.
;;If you queue to TaskMan, please read the mail message for results of
;;this update, and remember not to Q to the HOME device.
;;###
LEX2I04E ;IHS/OIT/FCJ - LEX*2.0*1004 Env Check FOR IHS patch 1003 ;07/01/2011
+1 ;;2.0;LEXICON UTILITY;**1004**;Sep 23, 1996;Build 5
+2 ;ORIGINAL ROUTINE FROM LEX2I02E
+3 ;
+4 ;
ENV ;
+1 IF '$GET(IOM)
DO HOME^%ZIS
+2 IF '$GET(DUZ)
WRITE !,"DUZ UNDEFINED OR 0."
DO SORRY(2)
QUIT
+3 IF '$LENGTH($GET(DUZ(0)))
WRITE !,"DUZ(0) UNDEFINED OR NULL."
DO SORRY(2)
QUIT
+4 IF '(DUZ(0)["@")
IF '$DATA(ZTQUEUED)
WRITE !,"DUZ(0) DOES NOT CONTAIN AN '@'."
DO SORRY(2)
QUIT
+5 ;
+6 SET X=$$GET1^DIQ(200,DUZ,.01)
+7 WRITE !!,$$CJ^XLFSTR("Hello, "_$PIECE(X,",",2)_" "_$PIECE(X,","),IOM)
+8 WRITE !!,$$CJ^XLFSTR("Checking Environment for "_$PIECE($TEXT(+2),";",4)_" V "_$PIECE($TEXT(+2),";",3)_" Patch "_$PIECE($TEXT(+2),";",5)_".",IOM)
+9 ;
+10 NEW IORVON,IORVOFF
+11 SET X="IORVON;IORVOFF"
+12 DO ENDR^%ZISS
CHK ;
+1 IF '$$INSTALLD("ICPT*6.0*1003")
SET XPDQUIT=2
+2 IF '$$INSTALLD("ICD*18.0*1003")
SET XPDQUIT=2
+3 IF '$$INSTALLD("LEX*2.0*1003")
SET XPDQUIT=2
+4 IF $$VCHK("DI","22.0",2,"<")
+5 IF $$VCHK("XU","8.0",2,"<")
+6 ;
+7 NEW DA,DIC
+8 SET X="LEX"
SET DIC="^DIC(9.4,"
SET DIC(0)=""
SET D="C"
+9 DO IX^DIC
+10 IF Y<0
IF $DATA(^DIC(9.4,"C","LEX"))
Begin DoDot:1
+11 WRITE !!,*7,*7,$$CJ^XLFSTR("You Have More Than One Entry In The",IOM),!,$$CJ^XLFSTR("PACKAGE File with an ""LEX"" prefix.",IOM)
+12 WRITE !,$$CJ^XLFSTR(IORVON_"One entry needs to be deleted."_IORVOFF,IOM)
+13 DO SORRY(2)
End DoDot:1
+14 ;
+15 IF $GET(XPDQUIT)
WRITE !,$$CJ^XLFSTR(IORVON_"You must FIX IT, Before Proceeding."_IORVOFF,IOM),!!,*7,*7,*7
QUIT
+16 WRITE !!,$$CJ^XLFSTR("ENVIRONMENT OK.",IOM)
+17 DO HELP^XBHELP("INTROE","LEX2I04E")
+18 IF '$$DIR^XBDIR("E","","","","","",1)
DO SORRY(2)
QUIT
+19 IF $GET(XPDENV)=1
SET (XPDDIQ("XPZ1"),XPDDIQ("XPZ2"))=0
DO HELP^XBHELP("INTROI","LEX2I04E")
IF '$$DIR^XBDIR("E","","","","","",1)
DO SORRY(2)
+20 QUIT
+21 ;
SORRY(X) ;
+1 KILL DIFQ
+2 SET XPDQUIT=X
+3 WRITE *7,!,$$CJ^XLFSTR("Sorry....FIX IT!",IOM)
+4 QUIT
+5 ;
VCHK(LEXPRE,LEXVER,LEXQUIT,LEXCOMP) ; Check versions needed.
+1 ;
+2 NEW LEXV
+3 SET LEXV=$$VERSION^XPDUTL(LEXPRE)
+4 WRITE !,$$CJ^XLFSTR("Need "_$SELECT(LEXCOMP="<":"at least ",1:"")_LEXPRE_" v "_LEXVER_"....."_LEXPRE_" v "_LEXV_" Present",IOM)
+5 IF @(LEXV_LEXCOMP_LEXVER)
DO SORRY(LEXQUIT)
QUIT 0
+6 QUIT 1
INSTALLD(LEX) ;EP; Determine if patch was installed, where LEX is
+1 ; the name of the INSTALL. E.g "AVA*93.2*12".
+2 ;
+3 NEW DIC,X,Y
+4 ; lookup package.
+5 SET X=$PIECE(LEX,"*",1)
+6 SET DIC="^DIC(9.4,"
SET DIC(0)="FM"
SET D="C"
+7 DO IX^DIC
+8 IF Y<1
QUIT 0
+9 ; lookup version.
+10 SET DIC=DIC_+Y_",22,"
SET X=$PIECE(LEX,"*",2)
+11 DO ^DIC
+12 IF Y<1
QUIT 0
+13 ; lookup patch.
+14 SET DIC=DIC_+Y_",""PAH"","
SET X=$PIECE(LEX,"*",3)
+15 DO ^DIC
+16 IF Y<1
SET P=DIC_"""B"","_X_")"
IF $ORDER(@P)'=""
SET Y=1
+17 IF Y>0
WRITE !,$$CJ^XLFSTR("Need at least "_LEX_"....."_LEX_" Present",IOM)
+18 IF Y<0
WRITE !,$$CJ^XLFSTR("Need at least "_LEX_".....",IOM)
+19 QUIT $SELECT(Y<1:0,1:1)
+20 ; -------------------------------------------
INTROE ; Intro text during KIDS Environment check.
+1 ;; Distribution contains VA Lexicon Data only for patches 86-87
+2 ;; 95-102, 104-105, and 107-108.
+3 ;;
+4 ;;
+5 ;;###
+6 ;
INTROI ; Intro text during KIDS Install.
+1 ;;A standard message will be produced by this update.
+2 ;;
+3 ;;If you run interactively, results are displayed on your screen,
+4 ;;in the mail message and in the INSTALL file.
+5 ;;If you queue to TaskMan, please read the mail message for results of
+6 ;;this update, and remember not to Q to the HOME device.
+7 ;;###