- 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 Feb 18, 2025@23:30:08 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