LEX2041P ; ISL/FJF - Pre/Post Install ; 09/09/2006
;;2.0;LEXICON UTILITY;**41**;Sep 23, 1996;Build 34
;
; External References
; DBIA 10086 HOME^%ZIS
; DBIA 2052 $$GET1^DID
; DBIA 2055 PRD^DILFD
; DBIA 10014 EN^DIU2
; DBIA 10141 BMES^XPDUTL
; DBIA 10141 MES^XPDUTL
;
Q
;
POST ; LEX*2.0*41 Post-Install
N LEXEDT,LEXMUMPS
S LEXEDT=$G(^LEXM(0,"CREATED"))
;
;-----------------------------
; Save Changes
D SCHG
;
;-----------------------------
; Load Data into Files
D LOAD
;
;-----------------------------
; Data Conversion
D CON
;
;-----------------------------
; Re-Index Files - N/A for LEX*2.0*41
;
;
;-----------------------------
; Send a Install Message
D MSG
;
Q
;-----------------------------
;
LOAD ; Load Data from ^LEXM into LEX Files
N LEXB,LEXBUILD,LEXCD,LEXIGHF,LEXLAST,LEXLREV,LEXSHORT,LEXMSG
D IMP^LEX2041
S U="^",LEXB=$G(^LEXM(0,"BUILD"))
Q:LEXB="" Q:LEXBUILD=""
S LEXCD=+$$CPD^LEX2041
I LEXCD,LEXB=LEXBUILD D D KLEXM Q
.S X="Data for patch "_LEXBUILD_" has already been installed"
.W:'$D(XPDNM) !!,X
.D:$D(XPDNM) BMES^XPDUTL(X)
.S X=""
.W:'$D(XPDNM) !
.D:$D(XPDNM) MES^XPDUTL(X)
I 'LEXCD,LEXB=LEXBUILD D
.S LEXSHORT=1,LEXMSG=1
.D TASK^LEXXGI
Q
;
MSG ; Send Installation Message to G.LEXICON
Q:+($G(DUZ))=0!($$NOTDEF^LEX2041($G(DUZ)))
D HOME^%ZIS
N DIFROM,LEXLREV,LEXLAST,LEXBUILD,LEXIGHF,LEXSHORT
S LEXSHORT=1
D IMP^LEX2041 ;,POST^LEXXFI
Q
;
SCHG ; Save Change File Changes
N LEXI,LEXFI,LEXFIL,LEXRT
S LEXFI=0 F S LEXFI=$O(^LEXM(LEXFI)) Q:+LEXFI=0 D
.S LEXI=0 F S LEXI=$O(^LEXM(LEXFI,LEXI)) Q:+LEXI=0 D
..N LEXCF,LEXIEN,LEXMUMPS
..S LEXMUMPS=$G(^LEXM(LEXFI,LEXI)),LEXRT=$P(LEXMUMPS,"^",2)
..S:LEXMUMPS["^LEX("!(LEXMUMPS["^LEXT(") LEXFIL=+($P(LEXRT,"(",2))
Q
;
KLEXM ; Subscripted Kill of ^LEXM
N DA S DA=0 F S DA=$O(^LEXM(DA)) Q:+DA=0 K ^LEXM(DA)
K ^LEXM(0)
Q
PRE ; LEX*2.0*41 Pre-Install (N/A for patch 41)
Q
;
CON ; Conversion of data (N/A for patch 41)
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HLEX2041P 2104 printed Dec 13, 2024@02:04:05 Page 2
LEX2041P ; ISL/FJF - Pre/Post Install ; 09/09/2006
+1 ;;2.0;LEXICON UTILITY;**41**;Sep 23, 1996;Build 34
+2 ;
+3 ; External References
+4 ; DBIA 10086 HOME^%ZIS
+5 ; DBIA 2052 $$GET1^DID
+6 ; DBIA 2055 PRD^DILFD
+7 ; DBIA 10014 EN^DIU2
+8 ; DBIA 10141 BMES^XPDUTL
+9 ; DBIA 10141 MES^XPDUTL
+10 ;
+11 QUIT
+12 ;
POST ; LEX*2.0*41 Post-Install
+1 NEW LEXEDT,LEXMUMPS
+2 SET LEXEDT=$GET(^LEXM(0,"CREATED"))
+3 ;
+4 ;-----------------------------
+5 ; Save Changes
+6 DO SCHG
+7 ;
+8 ;-----------------------------
+9 ; Load Data into Files
+10 DO LOAD
+11 ;
+12 ;-----------------------------
+13 ; Data Conversion
+14 DO CON
+15 ;
+16 ;-----------------------------
+17 ; Re-Index Files - N/A for LEX*2.0*41
+18 ;
+19 ;
+20 ;-----------------------------
+21 ; Send a Install Message
+22 DO MSG
+23 ;
+24 QUIT
+25 ;-----------------------------
+26 ;
LOAD ; Load Data from ^LEXM into LEX Files
+1 NEW LEXB,LEXBUILD,LEXCD,LEXIGHF,LEXLAST,LEXLREV,LEXSHORT,LEXMSG
+2 DO IMP^LEX2041
+3 SET U="^"
SET LEXB=$GET(^LEXM(0,"BUILD"))
+4 if LEXB=""
QUIT
if LEXBUILD=""
QUIT
+5 SET LEXCD=+$$CPD^LEX2041
+6 IF LEXCD
IF LEXB=LEXBUILD
Begin DoDot:1
+7 SET X="Data for patch "_LEXBUILD_" has already been installed"
+8 if '$DATA(XPDNM)
WRITE !!,X
+9 if $DATA(XPDNM)
DO BMES^XPDUTL(X)
+10 SET X=""
+11 if '$DATA(XPDNM)
WRITE !
+12 if $DATA(XPDNM)
DO MES^XPDUTL(X)
End DoDot:1
DO KLEXM
QUIT
+13 IF 'LEXCD
IF LEXB=LEXBUILD
Begin DoDot:1
+14 SET LEXSHORT=1
SET LEXMSG=1
+15 DO TASK^LEXXGI
End DoDot:1
+16 QUIT
+17 ;
MSG ; Send Installation Message to G.LEXICON
+1 if +($GET(DUZ))=0!($$NOTDEF^LEX2041($GET(DUZ)))
QUIT
+2 DO HOME^%ZIS
+3 NEW DIFROM,LEXLREV,LEXLAST,LEXBUILD,LEXIGHF,LEXSHORT
+4 SET LEXSHORT=1
+5 ;,POST^LEXXFI
DO IMP^LEX2041
+6 QUIT
+7 ;
SCHG ; Save Change File Changes
+1 NEW LEXI,LEXFI,LEXFIL,LEXRT
+2 SET LEXFI=0
FOR
SET LEXFI=$ORDER(^LEXM(LEXFI))
if +LEXFI=0
QUIT
Begin DoDot:1
+3 SET LEXI=0
FOR
SET LEXI=$ORDER(^LEXM(LEXFI,LEXI))
if +LEXI=0
QUIT
Begin DoDot:2
+4 NEW LEXCF,LEXIEN,LEXMUMPS
+5 SET LEXMUMPS=$GET(^LEXM(LEXFI,LEXI))
SET LEXRT=$PIECE(LEXMUMPS,"^",2)
+6 if LEXMUMPS["^LEX("!(LEXMUMPS["^LEXT(")
SET LEXFIL=+($PIECE(LEXRT,"(",2))
End DoDot:2
End DoDot:1
+7 QUIT
+8 ;
KLEXM ; Subscripted Kill of ^LEXM
+1 NEW DA
SET DA=0
FOR
SET DA=$ORDER(^LEXM(DA))
if +DA=0
QUIT
KILL ^LEXM(DA)
+2 KILL ^LEXM(0)
+3 QUIT
PRE ; LEX*2.0*41 Pre-Install (N/A for patch 41)
+1 QUIT
+2 ;
CON ; Conversion of data (N/A for patch 41)
+1 QUIT