HLP142 ;OIFO-O/RJH - HL*1.6*142 POST-INSTALL ROUTINE ;03/16/2009 16:39
 ;;1.6;HEALTH LEVEL SEVEN;**142**;OCT 13, 1995;Build 17
 ;Per VHA Directive 2004-038, this routine should not be modified.
 ;
 ; check "ORLANDO VAMC" entry in Institution file (#4),
 ; and "ORLANDO.DOMAIN.EXT" entry in Domain file (#4.2)
 ;
 N HLPARAM,HLSITE
 ;
 S HLPARAM=$$PARAM^HLCS2
 S HLSITE("DEFAULT-PROCESSING-ID")=$P(HLPARAM,"^",3)
 ;
 I HLSITE("DEFAULT-PROCESSING-ID")="P" D
 . D MES^XPDUTL("Checking environment ...")
 . I '$O(^DIC(4,"D",675,0)) D
 .. S XPDQUIT=2
 .. D BMES^XPDUTL("'ORLANDO VAMC' entry with station number as 675 does not exist in Institution")
 .. D MES^XPDUTL("file.")
 . I '$O(^DIC(4.2,"B","ORLANDO.DOMAIN.EXT",0)) D
 .. S XPDQUIT=2
 .. D BMES^XPDUTL("'ORLANDO.DOMAIN.EXT' entry does not exist in Domain file, patch XM*999*172")
 .. D MES^XPDUTL("must be installed first.")
 . I $G(XPDQUIT) D BMES^XPDUTL("Aborting installation...")
 Q
 ;
POST ; post install
 ;
 D POST1
 D POST2
 ; D ENDPST
 Q
 ;
POST2 ;
 ; deal with VAORL entry in file #870.
 ; Is VAORL entry in the HL LOGICAL LINK (#870) file?
 ; If yes, continue, If no, quit.
 ;
 ;find ien of VAORL
 N HLLINK
 S HLLINK=$$VAORL()
 Q:'HLLINK
 ;
 ; check and update fields of VAORL
 D UPDATE2
 Q
 ;
VAORL() ;
 ; for VA-VIE entry
 ;
 N HLLLK
 S HLLLK=+$$FIND1^DIC(870,"","X","VAORL")
 ;
 ; if no VAORL entry, abort install
 I HLLLK=0 D
 . D BMES^XPDUTL(" 'VAORL' logical link failed to come in with this patch.")
 . D MES^XPDUTL(" Log a Remedy ticket for assistance before proceeding.")
 . S XPDABORT=1
 ;
 Q HLLLK
 ;
UPDATE2 ;
 ;update the following fields for logical link, VAORL:
 ; - DNS Domain (#.08)
 ; - Autostart (#4.5)
 ; - Institution (#.02)
 ;
 N HLDOM
 N HLPARAM,HLSITE
 N HLJ
 N DIE,DR,X
 ;
 S HLDOM="HL7.ORLANDO.DOMAIN.EXT"
 S HLPARAM=$$PARAM^HLCS2
 S HLSITE("DEFAULT-PROCESSING-ID")=$P(HLPARAM,"^",3)
 S HLSITE("INSTITUTION IEN")=$P(HLPARAM,"^",4)
 S HLSITE("STATION NUMBER")=$P(^DIC(4,HLSITE("INSTITUTION IEN"),99),"^")
 ;
 D BMES^XPDUTL(" Updating 'VAORL' logical link ...")
 F  L +^HLCS(870,HLLINK):3 Q:$T  H 1
 ; update AUTOSTART and DNS domain field if this is production
 ; account, MAILMAN DOMAIN fields should be updated by KIDS.
 ;
 I HLSITE("DEFAULT-PROCESSING-ID")="P",(HLSITE("STATION NUMBER")'=675) D
 . ; find ien of institution file (#4) with station number as 675
 . N ORLIEN,OTHER
 . S ORLIEN=$O(^DIC(4,"D",675,0))
 . ; if the ien with station number as 675 is pointed to by
 . ; other link, remove it.
 . I ORLIEN S OTHER=$O(^HLCS(870,"C",ORLIEN,0))
 . I ORLIEN,OTHER,(ORLIEN'=OTHER) D
 .. K ^HLCS(870,"C",ORLIEN)
 .. S $P(^HLCS(870,OTHER,0),"^",2)=""
 . S DIE="^HLCS(870,",DA=HLLINK,DR="4.5///1;.02///^S X=ORLIEN"
 . ;
 . I ($L($P(^HLCS(870,HLLINK,0),"^",8),".")'>2) D
 .. ; the API FILE^DIE does not implement input transform
 .. ; for updating TCP/IP ADDRESS field
 .. S DR=DR_";.08///^S X=HLDOM"
 . D ^DIE K DIE,DA,DR
 ;
 ; ORLANDO VAMC site should have VAORL entry as multi-listener. 
 I (HLSITE("STATION NUMBER")=675) D
 . N IP
 . ; remove data from AUTOSTART field
 . S $P(^HLCS(870,HLLINK,0),"^",6)=""
 . ; remove data from PERSISTENT field
 . S $P(^HLCS(870,HLLINK,400),"^",4)=""
 . ; remove data from EXCEED RE-TRANSMIT ACTION field
 . S $P(^HLCS(870,HLLINK,200),"^",10)=""
 . ; remove data from DNS DOMAIN field
 . S $P(^HLCS(870,HLLINK,0),"^",8)=""
 . K ^HLCS(870,"DNS","HL7.ORLANDO.DOMAIN.EXT")
 . K ^HLCS(870,"DNS2","HL7.ORLANDO.DOMAIN.EXT")
 . ; remove data from TCP/IP ADDRESS field
 . S IP=$P(^HLCS(870,HLLINK,400),"^")
 . I IP D
 .. S $P(^HLCS(870,HLLINK,400),"^")=""
 .. K ^HLCS(870,"IP",IP)
 . ; check TCP/IP SERVICE TYPE
 . I $P(^HLCS(870,HLLINK,400),"^",3)'="M" D
 .. S $P(^HLCS(870,HLLINK,400),"^",3)="M"
 .. K ^HLCS(870,"E","C",HLLINK)
 .. S ^HLCS(870,"E","M",HLLINK)=""
 . ;
 . ; find ien of institution file (#4) with station number as 675
 . N ORLIEN,OTHER
 . S ORLIEN=$O(^DIC(4,"D",675,0))
 . ; if the ien with station number as 675 is pointed to by
 . ; other link, remove it.
 . I ORLIEN S OTHER=$O(^HLCS(870,"C",ORLIEN,0))
 . I ORLIEN,OTHER,(OTHER'=HLLINK) D
 .. K ^HLCS(870,"C",ORLIEN)
 .. S $P(^HLCS(870,OTHER,0),"^",2)=""
 . ;
 . ; update institution field
 . I HLSITE("INSTITUTION IEN"),HLSITE("DEFAULT-PROCESSING-ID")="P" D
 .. I '$D(^HLCS(870,"C",HLSITE("INSTITUTION IEN"),HLLINK)) D
 ... S ^HLCS(870,"C",HLSITE("INSTITUTION IEN"),HLLINK)=""
 ... S $P(^HLCS(870,HLLINK,0),"^",2)=HLSITE("INSTITUTION IEN")
 . ;
 . ; check TEST account of ORLANDO
 . I HLSITE("DEFAULT-PROCESSING-ID")'="P" D
 .. I $P(^HLCS(870,HLLINK,400),"^",2)=5000 D
 ... S $P(^HLCS(870,HLLINK,400),"^",2)=5025
 .. I $P(^HLCS(870,HLLINK,400),"^",8)=5001 D
 ... S $P(^HLCS(870,HLLINK,400),"^",8)=5026
 ;
 L -^HLCS(870,HLLINK)
 ;
ENDPST2 ;
 ; no update of DNS domain field for non-production account
 ;
 I HLSITE("DEFAULT-PROCESSING-ID")'="P",(HLSITE("STATION NUMBER")'=675) D
 . D MES^XPDUTL("")
 . D MES^XPDUTL(" Because this is not a production account, the 'MAILMAN DOMAIN', 'DNS DOMAIN'")
 . D MES^XPDUTL(", 'TCP/IP ADDRESS' and 'AUTOSTART' fields won't be updated.")
 Q
 ;
POST1 ;
 ; update data fields for local I.E. entry, VA-VIE.
 ;
 ; Is VA-VIE entry in the HL LOGICAL LINK (#870) file?
 ; If yes, continue, If no, quit.
 ;
 ;find ien of VA-VIE
 N HLLINK
 S HLLINK=$$VAVIE()
 Q:'HLLINK
 ;
 ; get domain of VIE server of this site
 N HLDOM
 S HLDOM=$$VIEDOMNM^HLMA3()
 ;
 ; update DNS Domain field of VA-VIE
 D UPDATE
 D OPTION
 Q
 ;
OPTION ;
 ; Changes the "SYNONYM" from "FM" to "FL" for item, "HL FILER 
 ; MONITOR" [HL FILER MONITOR],in option "Filer and Link Management
 ; Options" [HL MENU FILER LINK MGT]
 ;
 N DIC,X,DA,DR,DIE
 S DIC="^DIC(19,",DIC(0)="X",X="HL FILER MONITOR"
 D ^DIC
 S DA("SUB")=+Y
 S X="HL MENU FILER LINK MGT"
 D ^DIC
 S DA(1)=+Y
 S DA=$O(^DIC(19,DA(1),10,"B",DA("SUB"),0))
 S DIE="^DIC(19,"_DA(1)_",10,",DR="2///FL"
 D ^DIE
 Q
VAVIE() ;
 ; for VA-VIE entry
 ;
 N HLLLK
 S HLLLK=+$$FIND1^DIC(870,"","X","VA-VIE")
 ;
 ; if no VA-VIE entry, abort install
 I HLLLK=0 D
 . D BMES^XPDUTL(" 'VA-VIE' logical link failed to come in with this patch.")
 . D MES^XPDUTL(" Log a Remedy ticket for assistance before proceeding.")
 . S XPDABORT=1
 ;
 Q HLLLK
 ;
UPDATE ;
 ;update the following fields for logical link, VA-VIE:
 ; - DNS Domain (#.08)
 ; - Autostart (#4.5)
 ;
 N HLPARAM,HLSITE
 N HLJ
 N DIE,DR,X
 ;
 S HLPARAM=$$PARAM^HLCS2
 S HLSITE("DEFAULT-PROCESSING-ID")=$P(HLPARAM,"^",3)
 ;
 D BMES^XPDUTL(" Updating 'VA-VIE' logical link ...")
 F  L +^HLCS(870,HLLINK):3 Q:$T  H 1
 ; update DNS domain field if this is production account
 ; I HLSITE("DEFAULT-PROCESSING-ID")="P",$D(HLDOM) D
 I HLSITE("DEFAULT-PROCESSING-ID")="P" D
 . S DIE="^HLCS(870,",DA=HLLINK,DR="4.5///1"
 . I $D(HLDOM),($L($P(^HLCS(870,HLLINK,0),"^",8),".")'>2) D
 .. ; S HLJ(870,HLLINK_",",4.5)=1
 .. ; S HLJ(870,HLLINK_",",.08)=HLDOM
 .. ; the API FILE^DIE does not implement input transform
 .. ; for updating TCP/IP ADDRESS field
 .. ; D FILE^DIE("","HLJ")
 .. S DR=DR_";.08///^S X=HLDOM"
 . D ^DIE K DIE,DA,DR
 ;
 L -^HLCS(870,HLLINK)
 ;
 ; check the updated data of DNS domain field for production account
 I HLSITE("DEFAULT-PROCESSING-ID")="P" D
 . I $L($P(^HLCS(870,HLLINK,0),"^",8),".")'>2 D
 .. D MES^XPDUTL("")
 .. D MES^XPDUTL(" Failed to update the DNS Domain field for logical link VA-VIE.")
 .. D MES^XPDUTL(" In order to make the link 'VA-VIE' work, data need to be entered in fields")
 .. D MES^XPDUTL(" 'DNS DOMAIN'(field #.08) and/or 'TCP/IP ADDRESS'(field #400.01).")
 ; no update of DNS domain field for non-production account
ENDPST1 ;
 I HLSITE("DEFAULT-PROCESSING-ID")'="P" D
 . D MES^XPDUTL("")
 . D MES^XPDUTL(" Because this is not a production account, the 'DNS DOMAIN', 'TCP/IP ADDRESS'")
 . D MES^XPDUTL(" and 'AUTOSTART' fields won't be updated.")
 Q
 ;
ENDPST ; quit
 D BMES^XPDUTL(" Execution of post-install routine has been completed.")
 Q
 ;
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HHLP142   8126     printed  Sep 23, 2025@19:35:33                                                                                                                                                                                                      Page 2
HLP142    ;OIFO-O/RJH - HL*1.6*142 POST-INSTALL ROUTINE ;03/16/2009 16:39
 +1       ;;1.6;HEALTH LEVEL SEVEN;**142**;OCT 13, 1995;Build 17
 +2       ;Per VHA Directive 2004-038, this routine should not be modified.
 +3       ;
 +4       ; check "ORLANDO VAMC" entry in Institution file (#4),
 +5       ; and "ORLANDO.DOMAIN.EXT" entry in Domain file (#4.2)
 +6       ;
 +7        NEW HLPARAM,HLSITE
 +8       ;
 +9        SET HLPARAM=$$PARAM^HLCS2
 +10       SET HLSITE("DEFAULT-PROCESSING-ID")=$PIECE(HLPARAM,"^",3)
 +11      ;
 +12       IF HLSITE("DEFAULT-PROCESSING-ID")="P"
               Begin DoDot:1
 +13               DO MES^XPDUTL("Checking environment ...")
 +14               IF '$ORDER(^DIC(4,"D",675,0))
                       Begin DoDot:2
 +15                       SET XPDQUIT=2
 +16                       DO BMES^XPDUTL("'ORLANDO VAMC' entry with station number as 675 does not exist in Institution")
 +17                       DO MES^XPDUTL("file.")
                       End DoDot:2
 +18               IF '$ORDER(^DIC(4.2,"B","ORLANDO.DOMAIN.EXT",0))
                       Begin DoDot:2
 +19                       SET XPDQUIT=2
 +20                       DO BMES^XPDUTL("'ORLANDO.DOMAIN.EXT' entry does not exist in Domain file, patch XM*999*172")
 +21                       DO MES^XPDUTL("must be installed first.")
                       End DoDot:2
 +22               IF $GET(XPDQUIT)
                       DO BMES^XPDUTL("Aborting installation...")
               End DoDot:1
 +23       QUIT 
 +24      ;
POST      ; post install
 +1       ;
 +2        DO POST1
 +3        DO POST2
 +4       ; D ENDPST
 +5        QUIT 
 +6       ;
POST2     ;
 +1       ; deal with VAORL entry in file #870.
 +2       ; Is VAORL entry in the HL LOGICAL LINK (#870) file?
 +3       ; If yes, continue, If no, quit.
 +4       ;
 +5       ;find ien of VAORL
 +6        NEW HLLINK
 +7        SET HLLINK=$$VAORL()
 +8        if 'HLLINK
               QUIT 
 +9       ;
 +10      ; check and update fields of VAORL
 +11       DO UPDATE2
 +12       QUIT 
 +13      ;
VAORL()   ;
 +1       ; for VA-VIE entry
 +2       ;
 +3        NEW HLLLK
 +4        SET HLLLK=+$$FIND1^DIC(870,"","X","VAORL")
 +5       ;
 +6       ; if no VAORL entry, abort install
 +7        IF HLLLK=0
               Begin DoDot:1
 +8                DO BMES^XPDUTL(" 'VAORL' logical link failed to come in with this patch.")
 +9                DO MES^XPDUTL(" Log a Remedy ticket for assistance before proceeding.")
 +10               SET XPDABORT=1
               End DoDot:1
 +11      ;
 +12       QUIT HLLLK
 +13      ;
UPDATE2   ;
 +1       ;update the following fields for logical link, VAORL:
 +2       ; - DNS Domain (#.08)
 +3       ; - Autostart (#4.5)
 +4       ; - Institution (#.02)
 +5       ;
 +6        NEW HLDOM
 +7        NEW HLPARAM,HLSITE
 +8        NEW HLJ
 +9        NEW DIE,DR,X
 +10      ;
 +11       SET HLDOM="HL7.ORLANDO.DOMAIN.EXT"
 +12       SET HLPARAM=$$PARAM^HLCS2
 +13       SET HLSITE("DEFAULT-PROCESSING-ID")=$PIECE(HLPARAM,"^",3)
 +14       SET HLSITE("INSTITUTION IEN")=$PIECE(HLPARAM,"^",4)
 +15       SET HLSITE("STATION NUMBER")=$PIECE(^DIC(4,HLSITE("INSTITUTION IEN"),99),"^")
 +16      ;
 +17       DO BMES^XPDUTL(" Updating 'VAORL' logical link ...")
 +18       FOR 
               LOCK +^HLCS(870,HLLINK):3
               if $TEST
                   QUIT 
               HANG 1
 +19      ; update AUTOSTART and DNS domain field if this is production
 +20      ; account, MAILMAN DOMAIN fields should be updated by KIDS.
 +21      ;
 +22       IF HLSITE("DEFAULT-PROCESSING-ID")="P"
               IF (HLSITE("STATION NUMBER")'=675)
                   Begin DoDot:1
 +23      ; find ien of institution file (#4) with station number as 675
 +24                   NEW ORLIEN,OTHER
 +25                   SET ORLIEN=$ORDER(^DIC(4,"D",675,0))
 +26      ; if the ien with station number as 675 is pointed to by
 +27      ; other link, remove it.
 +28                   IF ORLIEN
                           SET OTHER=$ORDER(^HLCS(870,"C",ORLIEN,0))
 +29                   IF ORLIEN
                           IF OTHER
                               IF (ORLIEN'=OTHER)
                                   Begin DoDot:2
 +30                                   KILL ^HLCS(870,"C",ORLIEN)
 +31                                   SET $PIECE(^HLCS(870,OTHER,0),"^",2)=""
                                   End DoDot:2
 +32                   SET DIE="^HLCS(870,"
                       SET DA=HLLINK
                       SET DR="4.5///1;.02///^S X=ORLIEN"
 +33      ;
 +34                   IF ($LENGTH($PIECE(^HLCS(870,HLLINK,0),"^",8),".")'>2)
                           Begin DoDot:2
 +35      ; the API FILE^DIE does not implement input transform
 +36      ; for updating TCP/IP ADDRESS field
 +37                           SET DR=DR_";.08///^S X=HLDOM"
                           End DoDot:2
 +38                   DO ^DIE
                       KILL DIE,DA,DR
                   End DoDot:1
 +39      ;
 +40      ; ORLANDO VAMC site should have VAORL entry as multi-listener. 
 +41       IF (HLSITE("STATION NUMBER")=675)
               Begin DoDot:1
 +42               NEW IP
 +43      ; remove data from AUTOSTART field
 +44               SET $PIECE(^HLCS(870,HLLINK,0),"^",6)=""
 +45      ; remove data from PERSISTENT field
 +46               SET $PIECE(^HLCS(870,HLLINK,400),"^",4)=""
 +47      ; remove data from EXCEED RE-TRANSMIT ACTION field
 +48               SET $PIECE(^HLCS(870,HLLINK,200),"^",10)=""
 +49      ; remove data from DNS DOMAIN field
 +50               SET $PIECE(^HLCS(870,HLLINK,0),"^",8)=""
 +51               KILL ^HLCS(870,"DNS","HL7.ORLANDO.DOMAIN.EXT")
 +52               KILL ^HLCS(870,"DNS2","HL7.ORLANDO.DOMAIN.EXT")
 +53      ; remove data from TCP/IP ADDRESS field
 +54               SET IP=$PIECE(^HLCS(870,HLLINK,400),"^")
 +55               IF IP
                       Begin DoDot:2
 +56                       SET $PIECE(^HLCS(870,HLLINK,400),"^")=""
 +57                       KILL ^HLCS(870,"IP",IP)
                       End DoDot:2
 +58      ; check TCP/IP SERVICE TYPE
 +59               IF $PIECE(^HLCS(870,HLLINK,400),"^",3)'="M"
                       Begin DoDot:2
 +60                       SET $PIECE(^HLCS(870,HLLINK,400),"^",3)="M"
 +61                       KILL ^HLCS(870,"E","C",HLLINK)
 +62                       SET ^HLCS(870,"E","M",HLLINK)=""
                       End DoDot:2
 +63      ;
 +64      ; find ien of institution file (#4) with station number as 675
 +65               NEW ORLIEN,OTHER
 +66               SET ORLIEN=$ORDER(^DIC(4,"D",675,0))
 +67      ; if the ien with station number as 675 is pointed to by
 +68      ; other link, remove it.
 +69               IF ORLIEN
                       SET OTHER=$ORDER(^HLCS(870,"C",ORLIEN,0))
 +70               IF ORLIEN
                       IF OTHER
                           IF (OTHER'=HLLINK)
                               Begin DoDot:2
 +71                               KILL ^HLCS(870,"C",ORLIEN)
 +72                               SET $PIECE(^HLCS(870,OTHER,0),"^",2)=""
                               End DoDot:2
 +73      ;
 +74      ; update institution field
 +75               IF HLSITE("INSTITUTION IEN")
                       IF HLSITE("DEFAULT-PROCESSING-ID")="P"
                           Begin DoDot:2
 +76                           IF '$DATA(^HLCS(870,"C",HLSITE("INSTITUTION IEN"),HLLINK))
                                   Begin DoDot:3
 +77                                   SET ^HLCS(870,"C",HLSITE("INSTITUTION IEN"),HLLINK)=""
 +78                                   SET $PIECE(^HLCS(870,HLLINK,0),"^",2)=HLSITE("INSTITUTION IEN")
                                   End DoDot:3
                           End DoDot:2
 +79      ;
 +80      ; check TEST account of ORLANDO
 +81               IF HLSITE("DEFAULT-PROCESSING-ID")'="P"
                       Begin DoDot:2
 +82                       IF $PIECE(^HLCS(870,HLLINK,400),"^",2)=5000
                               Begin DoDot:3
 +83                               SET $PIECE(^HLCS(870,HLLINK,400),"^",2)=5025
                               End DoDot:3
 +84                       IF $PIECE(^HLCS(870,HLLINK,400),"^",8)=5001
                               Begin DoDot:3
 +85                               SET $PIECE(^HLCS(870,HLLINK,400),"^",8)=5026
                               End DoDot:3
                       End DoDot:2
               End DoDot:1
 +86      ;
 +87       LOCK -^HLCS(870,HLLINK)
 +88      ;
ENDPST2   ;
 +1       ; no update of DNS domain field for non-production account
 +2       ;
 +3        IF HLSITE("DEFAULT-PROCESSING-ID")'="P"
               IF (HLSITE("STATION NUMBER")'=675)
                   Begin DoDot:1
 +4                    DO MES^XPDUTL("")
 +5                    DO MES^XPDUTL(" Because this is not a production account, the 'MAILMAN DOMAIN', 'DNS DOMAIN'")
 +6                    DO MES^XPDUTL(", 'TCP/IP ADDRESS' and 'AUTOSTART' fields won't be updated.")
                   End DoDot:1
 +7        QUIT 
 +8       ;
POST1     ;
 +1       ; update data fields for local I.E. entry, VA-VIE.
 +2       ;
 +3       ; Is VA-VIE entry in the HL LOGICAL LINK (#870) file?
 +4       ; If yes, continue, If no, quit.
 +5       ;
 +6       ;find ien of VA-VIE
 +7        NEW HLLINK
 +8        SET HLLINK=$$VAVIE()
 +9        if 'HLLINK
               QUIT 
 +10      ;
 +11      ; get domain of VIE server of this site
 +12       NEW HLDOM
 +13       SET HLDOM=$$VIEDOMNM^HLMA3()
 +14      ;
 +15      ; update DNS Domain field of VA-VIE
 +16       DO UPDATE
 +17       DO OPTION
 +18       QUIT 
 +19      ;
OPTION    ;
 +1       ; Changes the "SYNONYM" from "FM" to "FL" for item, "HL FILER 
 +2       ; MONITOR" [HL FILER MONITOR],in option "Filer and Link Management
 +3       ; Options" [HL MENU FILER LINK MGT]
 +4       ;
 +5        NEW DIC,X,DA,DR,DIE
 +6        SET DIC="^DIC(19,"
           SET DIC(0)="X"
           SET X="HL FILER MONITOR"
 +7        DO ^DIC
 +8        SET DA("SUB")=+Y
 +9        SET X="HL MENU FILER LINK MGT"
 +10       DO ^DIC
 +11       SET DA(1)=+Y
 +12       SET DA=$ORDER(^DIC(19,DA(1),10,"B",DA("SUB"),0))
 +13       SET DIE="^DIC(19,"_DA(1)_",10,"
           SET DR="2///FL"
 +14       DO ^DIE
 +15       QUIT 
VAVIE()   ;
 +1       ; for VA-VIE entry
 +2       ;
 +3        NEW HLLLK
 +4        SET HLLLK=+$$FIND1^DIC(870,"","X","VA-VIE")
 +5       ;
 +6       ; if no VA-VIE entry, abort install
 +7        IF HLLLK=0
               Begin DoDot:1
 +8                DO BMES^XPDUTL(" 'VA-VIE' logical link failed to come in with this patch.")
 +9                DO MES^XPDUTL(" Log a Remedy ticket for assistance before proceeding.")
 +10               SET XPDABORT=1
               End DoDot:1
 +11      ;
 +12       QUIT HLLLK
 +13      ;
UPDATE    ;
 +1       ;update the following fields for logical link, VA-VIE:
 +2       ; - DNS Domain (#.08)
 +3       ; - Autostart (#4.5)
 +4       ;
 +5        NEW HLPARAM,HLSITE
 +6        NEW HLJ
 +7        NEW DIE,DR,X
 +8       ;
 +9        SET HLPARAM=$$PARAM^HLCS2
 +10       SET HLSITE("DEFAULT-PROCESSING-ID")=$PIECE(HLPARAM,"^",3)
 +11      ;
 +12       DO BMES^XPDUTL(" Updating 'VA-VIE' logical link ...")
 +13       FOR 
               LOCK +^HLCS(870,HLLINK):3
               if $TEST
                   QUIT 
               HANG 1
 +14      ; update DNS domain field if this is production account
 +15      ; I HLSITE("DEFAULT-PROCESSING-ID")="P",$D(HLDOM) D
 +16       IF HLSITE("DEFAULT-PROCESSING-ID")="P"
               Begin DoDot:1
 +17               SET DIE="^HLCS(870,"
                   SET DA=HLLINK
                   SET DR="4.5///1"
 +18               IF $DATA(HLDOM)
                       IF ($LENGTH($PIECE(^HLCS(870,HLLINK,0),"^",8),".")'>2)
                           Begin DoDot:2
 +19      ; S HLJ(870,HLLINK_",",4.5)=1
 +20      ; S HLJ(870,HLLINK_",",.08)=HLDOM
 +21      ; the API FILE^DIE does not implement input transform
 +22      ; for updating TCP/IP ADDRESS field
 +23      ; D FILE^DIE("","HLJ")
 +24                           SET DR=DR_";.08///^S X=HLDOM"
                           End DoDot:2
 +25               DO ^DIE
                   KILL DIE,DA,DR
               End DoDot:1
 +26      ;
 +27       LOCK -^HLCS(870,HLLINK)
 +28      ;
 +29      ; check the updated data of DNS domain field for production account
 +30       IF HLSITE("DEFAULT-PROCESSING-ID")="P"
               Begin DoDot:1
 +31               IF $LENGTH($PIECE(^HLCS(870,HLLINK,0),"^",8),".")'>2
                       Begin DoDot:2
 +32                       DO MES^XPDUTL("")
 +33                       DO MES^XPDUTL(" Failed to update the DNS Domain field for logical link VA-VIE.")
 +34                       DO MES^XPDUTL(" In order to make the link 'VA-VIE' work, data need to be entered in fields")
 +35                       DO MES^XPDUTL(" 'DNS DOMAIN'(field #.08) and/or 'TCP/IP ADDRESS'(field #400.01).")
                       End DoDot:2
               End DoDot:1
 +36      ; no update of DNS domain field for non-production account
ENDPST1   ;
 +1        IF HLSITE("DEFAULT-PROCESSING-ID")'="P"
               Begin DoDot:1
 +2                DO MES^XPDUTL("")
 +3                DO MES^XPDUTL(" Because this is not a production account, the 'DNS DOMAIN', 'TCP/IP ADDRESS'")
 +4                DO MES^XPDUTL(" and 'AUTOSTART' fields won't be updated.")
               End DoDot:1
 +5        QUIT 
 +6       ;
ENDPST    ; quit
 +1        DO BMES^XPDUTL(" Execution of post-install routine has been completed.")
 +2        QUIT 
 +3       ;