XOBUM ;; ld,mjk/alb - Foundations Manager ; 07/27/2002 13:00
;;1.6;Foundations;;May 08, 2009;Build 15
;Per VHA directive 2004-038, this routine should not be modified.
;
EN ; -- main entry point for XOBU FOUNDATIONS MAIN ListMan Template
; Option: XOBU SITE SETUP MENU on Operations Management menu [XUSITEMGR]
;
DO EN^VALM("XOBU FOUNDATIONS MAIN")
QUIT
;
HDR ; -- header code
NEW Y,X
SET Y=$GET(^XOB(18.01,1,0))
SET VALMHDR(1)=" <<< VistALink Parameters >>>"
SET VALMHDR(2)=""
SET X=" "
SET X=X_"VistALink Version: "_$PIECE($TEXT(XOBUM+1),";",3)
SET X=X_" "
SET X=X_"Heartbeat Rate: "_$PIECE(Y,U,2)
SET X=X_" "
SET X=X_"Latency Delta: "_$PIECE(Y,U,3)
SET VALMHDR(3)=X
SET VALMHDR(4)=""
SET VALMHDR(5)=" <<< VistALink Listener Status Log >>>"
QUIT
;
INIT ; -- init variables and list array
DO CLEAR
QUIT
;
BUILD ; -- init variables and list array
NEW I,XOBI,XOB0,X,XOBDATA,XOBOS,XOBROOT,XOBTXT
DO KILL
;
SET VALMCNT=0
SET XOBROOT=$NAME(XOBDATA("DILIST","ID"))
DO LIST^DIC(18.04,"",".01;.02;.03;.04;.05;.06","","","","","","","",$NAME(XOBDATA))
SET XOBI=0
FOR SET XOBI=$ORDER(@XOBROOT@(XOBI)) QUIT:'XOBI DO
. SET VALMCNT=VALMCNT+1
. SET X=""
. SET X=$$SETFLD^VALM1(VALMCNT,X,"ID")
. SET X=$$SETFLD^VALM1($GET(@XOBROOT@(XOBI,.01)),X,"BOX")
. SET X=$$SETFLD^VALM1($GET(@XOBROOT@(XOBI,.02)),X,"PORT")
. SET X=$$SETFLD^VALM1($GET(@XOBROOT@(XOBI,.03)),X,"STATUS")
. SET X=$$SETFLD^VALM1($GET(@XOBROOT@(XOBI,.05)),X,"DATE")
. SET X=$$SETFLD^VALM1($GET(@XOBROOT@(XOBI,.06)),X,"CONFIG")
. DO SET^VALM10(VALMCNT,X,VALMCNT)
. SET ^TMP("XOB LISTENERS","IDX",$JOB,VALMCNT)=VALMCNT_"^"_+$GET(XOBDATA("DILIST",2,XOBI))
;
QUIT:VALMCNT
;
;-- supported Kernel API to get OS version
SET XOBOS=$$VERSION^%ZOSV(1)
QUIT:XOBOS'["VMS"&(XOBOS'["DSM")
SET XOBOS=$SELECT(XOBOS["VMS":"VMS",1:"DSM")
;
;-- display text for VistaLink TCPIP enabled (Cache/VMS or DSM)
FOR I=1:1 SET XOBTXT=$PIECE($TEXT(@XOBOS+I),";;",2) QUIT:XOBTXT="$END$" DO
. SET VALMCNT=VALMCNT+1
. DO SET^VALM10(VALMCNT,$$SETSTR^VALM1(XOBTXT,"",12,65))
QUIT
;
HELP ; -- help code
SET X="?" DO DISP^XQORM1 WRITE !!
QUIT
;
EXIT ; -- exit code
DO KILL
QUIT
;
KILL ; -- kill off list location
KILL ^TMP("XOB LISTENERS",$JOB)
QUIT
;
EXPND ; -- expand code
QUIT
;
START ; -- start a listener
; -- Protocol: XOBV LISTENER START
NEW XOBOK
DO FULL^VALM1
IF $$START^XOBUM1() DO
. SET VALMSG="Refresh to see 'RUNNING' status"
ELSE DO
. DO PAUSE^VALM1
DO REFRESH
QUIT
;
BOX ; -- start this BOX-VOl default configuration
; -- Protocol: XOBV LISTENER BOX-VOL
IF $$BOX^XOBUM1() SET VALMSG="Refresh to see 'RUNNING' status"
DO REFRESH
QUIT
;
STOP ; -- stop a listener
; -- Protocol: XOBV LISTENER STOP
NEW Y,X,DATA,ENTRY,LOGDA,XOBOK
DO FULL^VALM1
DO EN^VALM2(XQORNOD(0),"S")
SET ENTRY=+$ORDER(VALMY(""))
IF 'ENTRY GOTO STOPQ
;
SET DATA=$GET(^TMP("XOB LISTENERS","IDX",$JOB,ENTRY))
DO SELECT^VALM10(+DATA,1)
;
SET LOGDA=+$PIECE(DATA,U,2)
SET XOBOK=$$STOP^XOBUM1(LOGDA)
IF XOBOK SET VALMSG=">>> Listener may take up to 60 seconds to stop <<<"
IF 'XOBOK DO ERROR(XOBOK)
DO SELECT^VALM10(+DATA,0)
;
STOPQ ;
DO REFRESH
QUIT
;
PARMS ; -- maintain site parameters
; -- Protocol: XOBU SITE PARAMETERS
NEW XOBOK
DO FULL^VALM1
SET XOBOK=$$PARMS^XOBUM1()
IF 'XOBOK DO ERROR(XOBOK)
;
; -- Add users to VISTALINK PERSON file (#18.09)
; SET XOBOK=$$ADDPERS^XOBUM1()
; IF 'XOBOK DO ERROR(XOBOK)
;
DO HDR
DO REFRESH
QUIT
;
CFG ; -- maintain listener configurations
; -- Protocol: XOBV LISTENER CONFIG
NEW XOBOK
DO FULL^VALM1
SET XOBOK=$$CFG^XOBUM1()
IF 'XOBOK DO ERROR(XOBOK)
DO REFRESH
QUIT
;
CP ; -- add connector proxy
; -- Protocol: XOBV LISTENER CONNECTOR PROXY
NEW XOBOK
DO FULL^VALM1
SET XOBOK=$$CP^XOBUM1()
IF 'XOBOK DO ERROR(XOBOK)
DO REFRESH
QUIT
;
CLEAR ; -- clean up log entries of non-listeners
; -- Protocol: XOBV LISTENER LOG CLEAR
DO WAIT^DICD WRITE !
DO CLEARLOG^XOBVTCP
DO REFRESH
QUIT
;
REFRESH ; -- refresh display
; -- Protocol: XOBU FOUNDATIONS MAIN REFRESH
DO BUILD
SET VALMBCK="R"
QUIT
;
SS ; -- display M os system status
; -- Protocol: XOBU FOUNDATIONS SYSTEM STATUS
DO FULL^VALM1
IF $DATA(^%ZOSF("SS")) DO
. XECUTE ^%ZOSF("SS")
ELSE DO
. WRITE !,"Error: ^%ZOSF(""SS"") node is not defined."
DO PAUSE^VALM1
DO REFRESH
QUIT
;
ERROR(XOBOK) ;
WRITE !,$PIECE(XOBOK,U,2)
DO PAUSE^VALM1
QUIT
;
NOYET ; -- not yet available
WRITE !!,"Action is under construction.",!
DO PAUSE^VALM1
SET VALMBCK="R"
QUIT
;
VMS ; -- text for Cache/VMS TCPIP listener
;;
;;If this screen shows no running listener(s), it is likely that
;;the VistALink listener(s) for this system are managed by the
;;TCP/IP utility at the VMS system level and are already running.
;;
;;The following TCP/IP command will show the status of all
;;listener services with names starting with vlink:
;; $ tcpip show service vlink*
;;Please contact IRM site staff for additional information
;;regarding the VistALink listener(s) such as port number(s).
;;$END$
DSM ; -- text for VMS/DSM TCPIP disclaimer
;;
;;This Foundations Manager screen cannot be used to manage
;;VistALink listeners under DSM.
;;
;;For DSM, use the VMS TCP/IP utility to manage VistALink
;;listeners. For example, the following TCP/IP command will
;;show the status of all listener services with names
;;starting with vlink:
;;
;; $ tcpip show service vlink*
;;$END$
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HXOBUM 5689 printed Oct 16, 2024@17:55:44 Page 2
XOBUM ;; ld,mjk/alb - Foundations Manager ; 07/27/2002 13:00
+1 ;;1.6;Foundations;;May 08, 2009;Build 15
+2 ;Per VHA directive 2004-038, this routine should not be modified.
+3 ;
EN ; -- main entry point for XOBU FOUNDATIONS MAIN ListMan Template
+1 ; Option: XOBU SITE SETUP MENU on Operations Management menu [XUSITEMGR]
+2 ;
+3 DO EN^VALM("XOBU FOUNDATIONS MAIN")
+4 QUIT
+5 ;
HDR ; -- header code
+1 NEW Y,X
+2 SET Y=$GET(^XOB(18.01,1,0))
+3 SET VALMHDR(1)=" <<< VistALink Parameters >>>"
+4 SET VALMHDR(2)=""
+5 SET X=" "
+6 SET X=X_"VistALink Version: "_$PIECE($TEXT(XOBUM+1),";",3)
+7 SET X=X_" "
+8 SET X=X_"Heartbeat Rate: "_$PIECE(Y,U,2)
+9 SET X=X_" "
+10 SET X=X_"Latency Delta: "_$PIECE(Y,U,3)
+11 SET VALMHDR(3)=X
+12 SET VALMHDR(4)=""
+13 SET VALMHDR(5)=" <<< VistALink Listener Status Log >>>"
+14 QUIT
+15 ;
INIT ; -- init variables and list array
+1 DO CLEAR
+2 QUIT
+3 ;
BUILD ; -- init variables and list array
+1 NEW I,XOBI,XOB0,X,XOBDATA,XOBOS,XOBROOT,XOBTXT
+2 DO KILL
+3 ;
+4 SET VALMCNT=0
+5 SET XOBROOT=$NAME(XOBDATA("DILIST","ID"))
+6 DO LIST^DIC(18.04,"",".01;.02;.03;.04;.05;.06","","","","","","","",$NAME(XOBDATA))
+7 SET XOBI=0
+8 FOR
SET XOBI=$ORDER(@XOBROOT@(XOBI))
if 'XOBI
QUIT
Begin DoDot:1
+9 SET VALMCNT=VALMCNT+1
+10 SET X=""
+11 SET X=$$SETFLD^VALM1(VALMCNT,X,"ID")
+12 SET X=$$SETFLD^VALM1($GET(@XOBROOT@(XOBI,.01)),X,"BOX")
+13 SET X=$$SETFLD^VALM1($GET(@XOBROOT@(XOBI,.02)),X,"PORT")
+14 SET X=$$SETFLD^VALM1($GET(@XOBROOT@(XOBI,.03)),X,"STATUS")
+15 SET X=$$SETFLD^VALM1($GET(@XOBROOT@(XOBI,.05)),X,"DATE")
+16 SET X=$$SETFLD^VALM1($GET(@XOBROOT@(XOBI,.06)),X,"CONFIG")
+17 DO SET^VALM10(VALMCNT,X,VALMCNT)
+18 SET ^TMP("XOB LISTENERS","IDX",$JOB,VALMCNT)=VALMCNT_"^"_+$GET(XOBDATA("DILIST",2,XOBI))
End DoDot:1
+19 ;
+20 if VALMCNT
QUIT
+21 ;
+22 ;-- supported Kernel API to get OS version
+23 SET XOBOS=$$VERSION^%ZOSV(1)
+24 if XOBOS'["VMS"&(XOBOS'["DSM")
QUIT
+25 SET XOBOS=$SELECT(XOBOS["VMS":"VMS",1:"DSM")
+26 ;
+27 ;-- display text for VistaLink TCPIP enabled (Cache/VMS or DSM)
+28 FOR I=1:1
SET XOBTXT=$PIECE($TEXT(@XOBOS+I),";;",2)
if XOBTXT="$END$"
QUIT
Begin DoDot:1
+29 SET VALMCNT=VALMCNT+1
+30 DO SET^VALM10(VALMCNT,$$SETSTR^VALM1(XOBTXT,"",12,65))
End DoDot:1
+31 QUIT
+32 ;
HELP ; -- help code
+1 SET X="?"
DO DISP^XQORM1
WRITE !!
+2 QUIT
+3 ;
EXIT ; -- exit code
+1 DO KILL
+2 QUIT
+3 ;
KILL ; -- kill off list location
+1 KILL ^TMP("XOB LISTENERS",$JOB)
+2 QUIT
+3 ;
EXPND ; -- expand code
+1 QUIT
+2 ;
START ; -- start a listener
+1 ; -- Protocol: XOBV LISTENER START
+2 NEW XOBOK
+3 DO FULL^VALM1
+4 IF $$START^XOBUM1()
Begin DoDot:1
+5 SET VALMSG="Refresh to see 'RUNNING' status"
End DoDot:1
+6 IF '$TEST
Begin DoDot:1
+7 DO PAUSE^VALM1
End DoDot:1
+8 DO REFRESH
+9 QUIT
+10 ;
BOX ; -- start this BOX-VOl default configuration
+1 ; -- Protocol: XOBV LISTENER BOX-VOL
+2 IF $$BOX^XOBUM1()
SET VALMSG="Refresh to see 'RUNNING' status"
+3 DO REFRESH
+4 QUIT
+5 ;
STOP ; -- stop a listener
+1 ; -- Protocol: XOBV LISTENER STOP
+2 NEW Y,X,DATA,ENTRY,LOGDA,XOBOK
+3 DO FULL^VALM1
+4 DO EN^VALM2(XQORNOD(0),"S")
+5 SET ENTRY=+$ORDER(VALMY(""))
+6 IF 'ENTRY
GOTO STOPQ
+7 ;
+8 SET DATA=$GET(^TMP("XOB LISTENERS","IDX",$JOB,ENTRY))
+9 DO SELECT^VALM10(+DATA,1)
+10 ;
+11 SET LOGDA=+$PIECE(DATA,U,2)
+12 SET XOBOK=$$STOP^XOBUM1(LOGDA)
+13 IF XOBOK
SET VALMSG=">>> Listener may take up to 60 seconds to stop <<<"
+14 IF 'XOBOK
DO ERROR(XOBOK)
+15 DO SELECT^VALM10(+DATA,0)
+16 ;
STOPQ ;
+1 DO REFRESH
+2 QUIT
+3 ;
PARMS ; -- maintain site parameters
+1 ; -- Protocol: XOBU SITE PARAMETERS
+2 NEW XOBOK
+3 DO FULL^VALM1
+4 SET XOBOK=$$PARMS^XOBUM1()
+5 IF 'XOBOK
DO ERROR(XOBOK)
+6 ;
+7 ; -- Add users to VISTALINK PERSON file (#18.09)
+8 ; SET XOBOK=$$ADDPERS^XOBUM1()
+9 ; IF 'XOBOK DO ERROR(XOBOK)
+10 ;
+11 DO HDR
+12 DO REFRESH
+13 QUIT
+14 ;
CFG ; -- maintain listener configurations
+1 ; -- Protocol: XOBV LISTENER CONFIG
+2 NEW XOBOK
+3 DO FULL^VALM1
+4 SET XOBOK=$$CFG^XOBUM1()
+5 IF 'XOBOK
DO ERROR(XOBOK)
+6 DO REFRESH
+7 QUIT
+8 ;
CP ; -- add connector proxy
+1 ; -- Protocol: XOBV LISTENER CONNECTOR PROXY
+2 NEW XOBOK
+3 DO FULL^VALM1
+4 SET XOBOK=$$CP^XOBUM1()
+5 IF 'XOBOK
DO ERROR(XOBOK)
+6 DO REFRESH
+7 QUIT
+8 ;
CLEAR ; -- clean up log entries of non-listeners
+1 ; -- Protocol: XOBV LISTENER LOG CLEAR
+2 DO WAIT^DICD
WRITE !
+3 DO CLEARLOG^XOBVTCP
+4 DO REFRESH
+5 QUIT
+6 ;
REFRESH ; -- refresh display
+1 ; -- Protocol: XOBU FOUNDATIONS MAIN REFRESH
+2 DO BUILD
+3 SET VALMBCK="R"
+4 QUIT
+5 ;
SS ; -- display M os system status
+1 ; -- Protocol: XOBU FOUNDATIONS SYSTEM STATUS
+2 DO FULL^VALM1
+3 IF $DATA(^%ZOSF("SS"))
Begin DoDot:1
+4 XECUTE ^%ZOSF("SS")
End DoDot:1
+5 IF '$TEST
Begin DoDot:1
+6 WRITE !,"Error: ^%ZOSF(""SS"") node is not defined."
End DoDot:1
+7 DO PAUSE^VALM1
+8 DO REFRESH
+9 QUIT
+10 ;
ERROR(XOBOK) ;
+1 WRITE !,$PIECE(XOBOK,U,2)
+2 DO PAUSE^VALM1
+3 QUIT
+4 ;
NOYET ; -- not yet available
+1 WRITE !!,"Action is under construction.",!
+2 DO PAUSE^VALM1
+3 SET VALMBCK="R"
+4 QUIT
+5 ;
VMS ; -- text for Cache/VMS TCPIP listener
+1 ;;
+2 ;;If this screen shows no running listener(s), it is likely that
+3 ;;the VistALink listener(s) for this system are managed by the
+4 ;;TCP/IP utility at the VMS system level and are already running.
+5 ;;
+6 ;;The following TCP/IP command will show the status of all
+7 ;;listener services with names starting with vlink:
+8 ;; $ tcpip show service vlink*
+9 ;;Please contact IRM site staff for additional information
+10 ;;regarding the VistALink listener(s) such as port number(s).
+11 ;;$END$
DSM ; -- text for VMS/DSM TCPIP disclaimer
+1 ;;
+2 ;;This Foundations Manager screen cannot be used to manage
+3 ;;VistALink listeners under DSM.
+4 ;;
+5 ;;For DSM, use the VMS TCP/IP utility to manage VistALink
+6 ;;listeners. For example, the following TCP/IP command will
+7 ;;show the status of all listener services with names
+8 ;;starting with vlink:
+9 ;;
+10 ;; $ tcpip show service vlink*
+11 ;;$END$