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

DI1018P.m

Go to the documentation of this file.
  1. DI1018P ; IHS/OIT/FBD - FILEMAN V22.0 PATCH 1018 ENVIRONMENT CHECKS AND POST-INIT PROCESS;
  1. ;;22.0;VA FILEMAN;**1018**;JUN 03,2015;Build 3
  1. ;
  1. ;
  1. ; The following line prevents the "Disable Options..." and "Move Routines..." questions from being asked during the install.
  1. I $G(XPDENV)=1 S (XPDDIQ("XPZ1"),XPDDIQ("XPZ2"))=0
  1. F X="XPO1","XPZ1","XPZ2","XPI1" S XPDDIQ(X)=0
  1. ;KERNEL
  1. I +$$VERSION^XPDUTL("XU")<8 D MES^XPDUTL($$CJ^XLFSTR("Version 8.0 of KERNEL is required. Not installed",80)) D SORRY(2) I 1
  1. E D MES^XPDUTL($$CJ^XLFSTR("Requires Kernel Version 8.0....Present.",80))
  1. ;FILEMAN
  1. I +$$VERSION^XPDUTL("DI")<22 D MES^XPDUTL($$CJ^XLFSTR("Version 22.0 of FILEMAN is required. Not installed.",80)) D SORRY(2) I 1
  1. E D MES^XPDUTL($$CJ^XLFSTR("Requires Fileman v22....Present.",80))
  1. ;DI 22.0 PATCH 1017
  1. I '$$INSTALLD("DI*22.0*1017") D SORRY(2)
  1. ;
  1. Q ;END OF ENVIRONMENT CHECK
  1. ;
  1. ;
  1. PRE ;PATCH 1018 PRE-INIT CHECKS AND PROCESSES
  1. D MES^XPDUTL($$CJ^XLFSTR("Beginning DI v22.0 patch 1018 pre-init process.",80))
  1. ;
  1. D MES^XPDUTL($$CJ^XLFSTR("Setting flag to prevent KIDS env check/pre-init/post-init routine deletion...",80))
  1. S DIZFLG=+$O(^XTV(8989.2,"B","XPD NO_EPP_DELETE",0)) ;CHECK IF NO-DELETE PARAMETER ALREADY EXISTS IN KERNEL PARAMETERS FILE
  1. I 'DIZFLG D ;IF NOT, ADD IT
  1. . K DO
  1. . S DIC="^XTV(8989.2,",DIC(0)="L",X="XPD NO_EPP_DELETE",DIADD=1
  1. . D FILE^DICN S DIZFLG=+Y K DO,DIC,DIADD,X
  1. S DIE="^XTV(8989.2,",DA=DIZFLG,DR="4///1" ;SET XPD NO_EPP_DELETE PARAMETER VALUE TO 1 (NO-DELETE = TRUE)
  1. D ^DIE
  1. K DIE,DA,DR
  1. D MES^XPDUTL($$CJ^XLFSTR("Flag set complete.",80))
  1. ;
  1. D MES^XPDUTL($$CJ^XLFSTR("DI v22.0 patch 1018 pre-init process complete.",80))
  1. Q
  1. ;
  1. ;
  1. POST ;PATCH 1018 POST-INIT PROCESSES
  1. D MES^XPDUTL($$CJ^XLFSTR("Beginning DI v22.0 patch 1018 post-init process.",80))
  1. ;
  1. D MES^XPDUTL($$CJ^XLFSTR("Re-initializing FileMan...",80))
  1. D ;INCREMENT STACK TO COMPARTMENTALIZE FOLLOWING 'NEW' COMMANDS NECESSARY FOR NA^DINIT CALL
  1. .N %,%H,%X,%Y,DD,DH,DIC,DIK,DIT,DITZS,D,DA,VERSION,DU,F,I,J,P,X,Y,DIRUT,DTOUT,DUOUT ;'NEW'-ED EQUIVALENT OF KL^DINIT6 VARIABLE KILL
  1. .D VERSION^DINIT N DIFROM S DIFROM=VERSION D DT^DICRW ;FILEMAN VERSION NUMBER RETRIEVAL
  1. .D NA^DINIT ;GOES DIRECTLY INTO REQUIRED ^DINIT EXECUTION WITHOUT GIVING USER ^DINIT'S NORMAL CHANCE TO OPT OUT
  1. D MES^XPDUTL($$CJ^XLFSTR("FileMan re-initialization complete...",80))
  1. ;
  1. D BMES^XPDUTL("Delivering DI v22.0 patch 1018 install message to select users...")
  1. D MAIL
  1. ;
  1. D MES^XPDUTL($$CJ^XLFSTR("DI v22.0 patch 1018 post-init process complete.",80))
  1. Q
  1. ;
  1. ;
  1. MAIL ;----- SEND INSTALL MAIL MESSAGE
  1. ;
  1. N DIFROM,XMSUB,XMDUZ,XMTEXT,XMY
  1. ;
  1. K ^TMP("DI1018MS",$J)
  1. S ^TMP("DI1018MS",$J,1)=" --- DI v22.0 patch 1018 has been installed into this namespace ---"
  1. S ^TMP("DI1018MS",$J,2)=" "
  1. I $G(XPDA) D
  1. . S %=0
  1. . F S %=$O(^XTMP("XPDI",XPDA,"BLD",XPDBLD,1,%)) Q:'% D
  1. . . S ^TMP("DI1018MS",$J,(%+2))=" "_^(%,0)
  1. ;
  1. S XMSUB=$P($P($T(+1),";",2)," ",3,99)
  1. S XMDUZ=$S($G(DUZ):DUZ,1:.5)
  1. S XMTEXT="^TMP(""DI1018MS"",$J,"
  1. S XMY(1)=""
  1. S XMY(DUZ)=""
  1. ;
  1. F %="XUMGR","XUPROG","XUPROGMODE" D SINGLE(%)
  1. D ^XMD
  1. ;
  1. K ^TMP("DI1018MS",$J)
  1. Q
  1. ;
  1. ;
  1. SINGLE(K) ;----- GET HOLDERS OF A SINGLE KEY K.
  1. N Y
  1. Q:'$D(^XUSEC(K))
  1. S Y=0
  1. F S Y=$O(^XUSEC(K,Y)) Q:'Y S XMY(Y)=""
  1. Q
  1. ;
  1. ;
  1. INSTALLD(AUTSTAL) ;EP - Determine if patch AUTSTAL was installed, where
  1. ; AUTSTAL is the name of the INSTALL. E.g "AG*6.0*11".
  1. ;
  1. NEW AUTY,DIC,X,Y
  1. S X=$P(AUTSTAL,"*",1)
  1. S DIC="^DIC(9.4,",DIC(0)="FM",D="C"
  1. D IX^DIC
  1. I Y<1 D IMES Q 0
  1. S DIC=DIC_+Y_",22,",X=$P(AUTSTAL,"*",2)
  1. D ^DIC
  1. I Y<1 D IMES Q 0
  1. S DIC=DIC_+Y_",""PAH"",",X=$P(AUTSTAL,"*",3)
  1. D ^DIC
  1. S AUTY=Y
  1. D IMES
  1. Q $S(AUTY<1:0,1:1)
  1. ;
  1. ;
  1. IMES ;
  1. D MES^XPDUTL($$CJ^XLFSTR("Patch """_AUTSTAL_""" is"_$S(Y<1:" *NOT*",1:"")_" installed.",IOM))
  1. Q
  1. ;
  1. ;
  1. SORRY(X) ;
  1. KILL DIFQ
  1. I X=3 S XPDQUIT=2 Q
  1. S XPDQUIT=X
  1. W *7,!,$$CJ^XLFSTR("Sorry....FIX IT!",IOM)
  1. Q