LEX2068P ;ISL/KER - LEX*2.0*68 Pre/Post Install ;12/08/2009
 ;;2.0;LEXICON UTILITY;**68**;Sep 23, 1996;Build 1
 ;               
 ; Global Variables
 ;    ^LEXM(
 ;               
 ; External References
 ;    None
 ;               
 Q
POST ; Post-Install
 ;            
 ; From IMP in the Environment Check
 ;            
 ;      LEXBUILD   Build Name - LEX*2.0*nn
 ;      LEXPTYPE   Patch Type - Remedy or Quarterly
 ;      LEXFY      Fiscal Year - FYnn
 ;      LEXQTR     Quarter - 1st, 2nd, 3rd, or 4th
 ;      LEXIGHF    Name of Host File - LEX_2_nn.GBL
 ;      LEXLREV    Revision - nn
 ;      LEXREQP    Required Builds - build;build;build
 ;            
 N LEXEDT,LEXPTYPE,LEXLREV,LEXREQP,LEXBUILD,LEXIGHF,LEXFY,LEXQTR,LEXB,LEXCD,LEXSTR,LEXLAST,LEXOK S LEXOK=0 D IMP
 S LEXEDT=$G(^LEXM(0,"CREATED")) D:LEXOK>0 LOAD
 Q
LOAD ; Load Data
 ;             
 ;      LEXSHORT   Send Short Message
 ;      LEXMSG     Flag to send Message
 ;            
 N LEXSHORT,LEXMSG S LEXSHORT="",LEXMSG=""
 S LEXSTR=$G(LEXPTYPE) S:$L($G(LEXFY))&($L($G(LEXQTR))) LEXSTR=LEXSTR_" for "_$G(LEXFY)_" "_$G(LEXQTR)_" Quarter"
 S U="^",LEXB=$G(^LEXM(0,"BUILD")) Q:LEXB=""  Q:$G(LEXBUILD)=""
 D:LEXB=LEXBUILD EN^LEXXGI
LQ ; Load Quit
 D KLEXM
 Q
 ;             
KLEXM ; Subscripted Kill of ^LEXM
 H 2 N DA S DA=0 F  S DA=$O(^LEXM(DA)) Q:+DA=0  K ^LEXM(DA)
 N LEX S LEX=$G(^LEXM(0,"PRO")) K ^LEXM(0)
 Q
 ;            
PRE ; Pre-Install              (N/A for this patch)
 Q
 ;            
CON ; Conversion of data       (N/A for this patch)
 Q
IMP ; Call IMP in Environment Check
 K LEXBUILD,LEXFY,LEXIGHF,LEXLREV,LEXPTYPE,LEXQTR,LEXREQP N LEXF
 S LEXF=$P($T(+1)," ",1) S:$E(LEXF,$L(LEXF))="P" LEXF=$E(LEXF,1,($L(LEXF)-1)) Q:'$L(LEXF)
 S LEXF="IMP^"_LEXF Q:'$L($T(@LEXF))  D @LEXF S:$L(LEXBUILD) LEXOK=1
 Q
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HLEX2068P   1838     printed  Sep 23, 2025@19:40:22                                                                                                                                                                                                    Page 2
LEX2068P  ;ISL/KER - LEX*2.0*68 Pre/Post Install ;12/08/2009
 +1       ;;2.0;LEXICON UTILITY;**68**;Sep 23, 1996;Build 1
 +2       ;               
 +3       ; Global Variables
 +4       ;    ^LEXM(
 +5       ;               
 +6       ; External References
 +7       ;    None
 +8       ;               
 +9        QUIT 
POST      ; Post-Install
 +1       ;            
 +2       ; From IMP in the Environment Check
 +3       ;            
 +4       ;      LEXBUILD   Build Name - LEX*2.0*nn
 +5       ;      LEXPTYPE   Patch Type - Remedy or Quarterly
 +6       ;      LEXFY      Fiscal Year - FYnn
 +7       ;      LEXQTR     Quarter - 1st, 2nd, 3rd, or 4th
 +8       ;      LEXIGHF    Name of Host File - LEX_2_nn.GBL
 +9       ;      LEXLREV    Revision - nn
 +10      ;      LEXREQP    Required Builds - build;build;build
 +11      ;            
 +12       NEW LEXEDT,LEXPTYPE,LEXLREV,LEXREQP,LEXBUILD,LEXIGHF,LEXFY,LEXQTR,LEXB,LEXCD,LEXSTR,LEXLAST,LEXOK
           SET LEXOK=0
           DO IMP
 +13       SET LEXEDT=$GET(^LEXM(0,"CREATED"))
           if LEXOK>0
               DO LOAD
 +14       QUIT 
LOAD      ; Load Data
 +1       ;             
 +2       ;      LEXSHORT   Send Short Message
 +3       ;      LEXMSG     Flag to send Message
 +4       ;            
 +5        NEW LEXSHORT,LEXMSG
           SET LEXSHORT=""
           SET LEXMSG=""
 +6        SET LEXSTR=$GET(LEXPTYPE)
           if $LENGTH($GET(LEXFY))&($LENGTH($GET(LEXQTR)))
               SET LEXSTR=LEXSTR_" for "_$GET(LEXFY)_" "_$GET(LEXQTR)_" Quarter"
 +7        SET U="^"
           SET LEXB=$GET(^LEXM(0,"BUILD"))
           if LEXB=""
               QUIT 
           if $GET(LEXBUILD)=""
               QUIT 
 +8        if LEXB=LEXBUILD
               DO EN^LEXXGI
LQ        ; Load Quit
 +1        DO KLEXM
 +2        QUIT 
 +3       ;             
KLEXM     ; Subscripted Kill of ^LEXM
 +1        HANG 2
           NEW DA
           SET DA=0
           FOR 
               SET DA=$ORDER(^LEXM(DA))
               if +DA=0
                   QUIT 
               KILL ^LEXM(DA)
 +2        NEW LEX
           SET LEX=$GET(^LEXM(0,"PRO"))
           KILL ^LEXM(0)
 +3        QUIT 
 +4       ;            
PRE       ; Pre-Install              (N/A for this patch)
 +1        QUIT 
 +2       ;            
CON       ; Conversion of data       (N/A for this patch)
 +1        QUIT 
IMP       ; Call IMP in Environment Check
 +1        KILL LEXBUILD,LEXFY,LEXIGHF,LEXLREV,LEXPTYPE,LEXQTR,LEXREQP
           NEW LEXF
 +2        SET LEXF=$PIECE($TEXT(+1)," ",1)
           if $EXTRACT(LEXF,$LENGTH(LEXF))="P"
               SET LEXF=$EXTRACT(LEXF,1,($LENGTH(LEXF)-1))
           if '$LENGTH(LEXF)
               QUIT 
 +3        SET LEXF="IMP^"_LEXF
           if '$LENGTH($TEXT(@LEXF))
               QUIT 
           DO @LEXF
           if $LENGTH(LEXBUILD)
               SET LEXOK=1
 +4        QUIT